Home Forum Statistica con R Installare pacchetto non aggiornato

This topic contains 17 replies and has 2 voices.

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #5100

    pdeninis
    Participant

    Buonasera a tutti,
    ho necessità di usare un pacchetto di cui ho un link:

    https://cran.r-project.org/web/packages/mrt/index.html

    Il pacchetto non è più disponibile nel CRAN, ma il file può essere scaricato dall’archivio.
    Ho provato ad installarlo ma compare questo errore:
    ERROR: a ‘NAMESPACE’ file is required

    Dopo una breve ricerca, credo di aver capito che si tratta di un pacchetto rilasciato quando le specifiche erano relative ad una precedente release di R. A partire dalla 3 (se non erro) è necessario che sia incluso nel pacchetto un file NAMESPACE.

    Ho trovato una risposta in cui si consigliava di provare ad inserire un file NAMESPACE nel pacchetto per poterlo aprire, ma credo fosse riferito ad una versione non windows.
    Consigliava:

    According to the R documentation for writing extensions, all packages destined for version 3.0.0 and later must contain a NAMESPACE file. If you download an R package that gives you the above error, here’s what you should try:

    Untar the package:

    tar -xvf the_package.tar.gz
    Add a NAMESPACE file with the line exportPattern( “.” ):

    cd the_package
    echo ‘exportPattern( “.” )’ > NAMESPACE
    cd ..
    Re-tar the package:

    tar -zcf the_package.tar.gz the_package
    Try and install it again.

    Hope that helps.

    Si può tentare qualcosa del genere da windows?
    Ho provato ad inserire una directory NAMESPACE nel file (scompattato con untar() e ricompattato con tar()) ma evidentemente il file NAMESPACE ha delle precise caratteristiche che io non conosco.

    Grazie

    Paolo

    • This topic was modified 9 months, 2 weeks ago by  pdeninis.
    • This topic was modified 9 months, 2 weeks ago by  pdeninis.
    #5103
    Davide Massidda
    Davide Massidda
    Moderator

    Ciao,
    la questione è piuttosto complicata e penso che sarà difficile uscirne. Per prima cosa però proverei con il seguente tentativo: crea un file di nome NAMESPACE, senza estensione, con all’interno il seguente codice:
    exportPattern("^[[:alpha:]]+")
    Presta bene attenzione che i doppi apici ” siano proprio quelli che vengono comunemente usati in R.
    Butta questo file nella cartella dei sorgenti del pacchetto, quindi prova ad installarlo. E’ un tentativo disperato, ma potrebbe funzionare.

    Nota bene: per installare pacchetti su Windows a partire dai sorgenti ti consiglio di utilizzare devtools (ne avevo parlato anche qui sul blog in una serie di post).

    L’altra alternativa è… installati una vecchia versione di R ;)

    #5104

    pdeninis
    Participant

    Ciao Davide,

    intanto grazie per la rapidissima risposta!

    Ho fatto un primo tentativo: ho messo il file NAMESPACE, con il contenuto da te suggerito, nella directory principale, mrt, accanto ad un file DESCRIPTION e a tre directories che contengono i file di codice, “data”, “man” ed “R”.
    I doppi apici sono quelli copiati da te.

    Il risultato è stato:
    ERROR: cannot extract package from ‘C:/Users/Paolo/Downloads/mrt_0.4.tar.gz’
    Warning messages:
    1: running command ‘”C:/PROGRA~1/R/R-34~1.1/bin/x64/R” CMD INSTALL -l “C:\Users\Paolo\Documents\R\win-library\3.4″ “C:/Users/Paolo/Downloads/mrt_0.4.tar.gz”‘ had status 1
    2: In install.packages(files[tarballs], .libPaths()[1L], repos = NULL, :
    installation of package ‘C:/Users/Paolo/Downloads/mrt_0.4.tar.gz’ had non-zero exit status

    Secondo te dovrei provare a mettere il file in una delle directories con il codice?
    Che alternative ho ai doppi apici copiati dalla tua risposta?

    Paolo

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5107
    Davide Massidda
    Davide Massidda
    Moderator

    Dunque, la posizione del file è corretta, ma probabilmente i doppi apici sono quelli sbagliati, perché ho visto che il modulo per l’inserimento del codice nei post mi ha alterato il simbolo.

    Il carattere di doppio apice che dovresti usare sono le virgolette dritte, ovvero le quinte a partire da sinistra in questa immagine:

    http://www.onicedesign.it/wp-content/uploads/2017/02/11.png

    #5108

    pdeninis
    Participant

    Credo che siano quelle giuste… Blocco note mi dà solo quelle.

    https://www.dropbox.com/s/f3bcrbgvi54wbvy/NAMESPACE.png?dl=0

    Screenshot del contenuto del file…

    #5110
    Davide Massidda
    Davide Massidda
    Moderator

    Sì, sono quelle giuste.

    Comunque, il fatto che l’errore sia questo:
    ERROR: cannot extract package from ‘C:/Users/Paolo/Downloads/mrt_0.4.tar.gz’
    mi fa pensare che il problema sia ancora più a monte… che cosa stai facendo per installarlo?

    #5115

    pdeninis
    Participant

    Pacchetti -> Install package(s) from local files…

    Da lì richiamo C:/Users/Paolo/Downloads/mrt_0.4.tar.gz.

    In questo modo ho già installato anche il pacchetto moments_0.14.tar.gz senza problemi.

    In quella posizione ho ricaricato il file mrt_0.4.tar.gz dopo aver fatto la modifica che mi hai suggerito.

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5117
    Davide Massidda
    Davide Massidda
    Moderator

    Mmm… davvero la procedura in passato ti ha funzionato con il pacchetto moments? E sei sicuro che l’estensione dell’archivio del pacchetto moments non fosse .zip invece che .tar.gz?

    Comunemente, gli archivi .tar.gz contengono i codici sorgente del pacchetto, mentre i .zip contengono i file binari precompilati per Windows. E, a meno di casi particolari (come l’uso di strumenti quali devtools), sotto Windows non è possibile installare un pacchetto dai sorgenti, ma è necessario avere il precompilato.

    Io ero convinto che la procedura che hai usato tu per l’installazione da RStudio, fosse in grado di installare sono pacchetti precompilati e non effettuare un’installazione da sorgente.

    Questo discorso vale sotto Windows, ma non sotto Linux, dove R è in grado di installare tutto direttamente a partire dai sorgenti.

    Per questo, ripeto, a me pare molto strano che tu sia riuscito a installare moments… secondo me dovresti utilizzare devtools, come descritto in questo post. Fermo restando comunque che il pacchetto ha una struttura un po’ obsoleta e potrebbe non funzionare…

    Oppure, ho anche un’altra idea. Se il pacchetto non ha un’architettura complessa, non crea nuovi metodi e nuove classi, ma propone semplicemente una lista di funzioni pronte all’uso, potremmo estrarre il codice delle funzioni e costruire un banalissimo script di comandi da caricare all’occorrenza. In passato, io problemi del genere li ho risolti anche così… aggirandoli!

    #5121

    pdeninis
    Participant

    Mi scuso del ritardo, ma la giornata è stata dedicata alla famiglia.

    Mmm… davvero la procedura in passato ti ha funzionato con il pacchetto moments? E sei sicuro che l’estensione dell’archivio del pacchetto moments non fosse .zip invece che .tar.gz?

    Appena controllato. Il file è un .tar.gz e contiene per lo più script in formato testo.
    Tra parentesi. Il file NAMESPACE al suo interno, peraltro, è questo:

    export( “agostino.test”,
    “anscombe.test”,
    “all.cumulants”,
    “all.moments”,
    “bonett.test”,
    “central2raw”,
    “geary”,
    “jarque.test”,
    “kurtosis”,
    “moment”,
    “raw2central”,
    “skewness” )

    Sono tutti i nomi dei files degli script contenuti nella directory R.
    Dico questo perché un tentativo potrebbe essere di fare altrettanto per il pacchetto mrt?

    Io ero convinto che la procedura che hai usato tu per l’installazione da RStudio, fosse in grado di installare sono pacchetti precompilati e non effettuare un’installazione da sorgente.

    Sono praticamente certo di quello che ho scritto, però se la cosa ti interessa puoi scaricare tu il pacchetto e controllare di persona. (Se lo fai, poi, dammi un feedback, così magari inizio a capirci qualcosa anch’io!)

    Per questo, ripeto, a me pare molto strano che tu sia riuscito a installare moments… secondo me dovresti utilizzare devtools, come descritto in questo post. Fermo restando comunque che il pacchetto ha una struttura un po’ obsoleta e potrebbe non funzionare…

    Appena posso mi guardo devtools.

    Oppure, ho anche un’altra idea. Se il pacchetto non ha un’architettura complessa, non crea nuovi metodi e nuove classi, ma propone semplicemente una lista di funzioni pronte all’uso, potremmo estrarre il codice delle funzioni e costruire un banalissimo script di comandi da caricare all’occorrenza. In passato, io problemi del genere li ho risolti anche così… aggirandoli!

    Questo era quello che speravo di poter fare, se non fossi così nuovo di R…

    Alla fine a me interessa soltanto la funzione itemanal(), e di essa in particolare solo il calcolo di Skewness e Kurtosis con relativi SE fatto attraverso il bootstrap (quindi una parte minima di tutto quello che fa la funzione)

    Certo con il tuo aiuto sarebbe tutt’altra cosa…

    Riguardo alla possibilità di installare moments non so se può essere utile dire che la mia versione di R è la 3.4.1 a 64 bit.

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5126

    pdeninis
    Participant

    moments_0.14.tar.gz viene installato con questo output:

    > utils:::menuInstallLocal()
    * installing *source* package ‘moments’ …
    ** package ‘moments’ successfully unpacked and MD5 sums checked
    ** R
    ** preparing package for lazy loading
    ** help
    *** installing help indices
    ** building package indices
    ** testing if installed package can be loaded
    *** arch – i386
    *** arch – x64
    * DONE (moments)

    Una volta caricato, sembra funzionare:

    > library(moments)
    > skewness(HCAL_CH)
    [1] -0.04101789

    > agostino.test(HCAL_CH)

    D’Agostino skewness test

    data: HCAL_CH
    skew = -0.041018, z = -0.136320, p-value = 0.8916
    alternative hypothesis: data have a skewness

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5129
    Davide Massidda
    Davide Massidda
    Moderator

    Dunque, più avanti vedrò di approfondire la questione sorgenti vs binari, intanto ti passo il pacchetto mrt compilato ex-novo. A me gira! Ho aggiornato la versione alla 0.5. Prova a scaricarlo e dimmi se ti funziona (DOWNLOAD).

    Forse non rispetterà tutti gli standard di R per essere messo sul CRAN, ma intanto per un uso casalingo penso che vada bene.

    #5130

    pdeninis
    Participant

    Non ho parole per ringraziarti!

    Ho scaricato la tua mrt_0.5.zip. Ho provato con
    Pacchetti -> Install package(s) from local files…

    Non dà output però quando chiamo:

    library(mrt)

    inizia ad istallare i pacchetti che gli sono presupposto necessario (boot, Hmisc, lattice, survival, Formula, MBESS e ggplot2).

    Ho fatto un primo tentativo con la funzione sktable e… funziona!!!

    A questo punto cercavo la documentazione per capire come usarlo, ma non riesco a trovarla.
    Io ho avuto notizia dell’esistenza di mrt da questo:

    Wright, D. B., & Herrington, J. A. (2011). Problematic standard errors and confidence intervals for skewness and kurtosis. Behavior research methods, 43(1), 8-17.

    Non so come ringraziarti: sei forte ed anche generoso!!
    A buon rendere per qualsiasi cosa possa fare io per te.

    Ora ci faccio qualche prova e tento di andare a fondo del mio problema.
    Da una prima occhiata infatti sembra che i risultati siano un po’ diversi da quelli ottenibili con rela itemanal(). (A parte la maggior schizzinosità di quest’ultimo, che:

    1 lavora solo solo su matrici di almeno 2 colonne in formato matrice ottenuto da database;
    2 non accetta comandi tipo itemanal(matrix[fattore=="livello"]) – con i quali volevo i valori separati per gruppo sperimentale;
    3 se si splitta il file originario per livelli del fattore, anche se si elimina dalla matrice il vettore che identifica il livello del fattore, continua a dire che una variabile è costante;

    una volta che si riesce a farlo andare dà dei valori altissimi…).

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5132

    pdeninis
    Participant

    Dunque, più avanti vedrò di approfondire la questione sorgenti vs binari

    Ho appena installato anche PMCMR_4.1.tar.gz con le conseuete modalità ed è andato tutto bene.

    Ho aggiornato la versione alla 0.5. Prova a scaricarlo e dimmi se ti funziona (DOWNLOAD).

    Forse non rispetterà tutti gli standard di R per essere messo sul CRAN, ma intanto per un uso casalingo penso che vada bene.

    Per quello che serve a me (funzione sktable()) sta funzionando benissimo. E i risultati sono identici a quelli di SPSS (che pubblica i valori G1 per la Skewness e B2 per la Kurtosis, con i relativi SEs) con in più gli SEs tipo Monte Carlo (calcolati attraverso il bootstrap). Rela -> itemanal() produce valori di Skewness incomprensibili per me, e siccome ci sono soltanto quelli ottenuti con il ricampionamento (bootstrap) non è possibile fare un confronto.
    Il dubbio maggiore deriva dal fatto che il valore anomalo è quello della statistica e non il suo SE, che è compatibile con quelli di mrt. La statistica riporta valori 25 volte maggiori del G2… L’articolo di Wright parlava invece solo degli SEs.

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    #5139
    Davide Massidda
    Davide Massidda
    Moderator

    Bene bene, mi fa piacere che alla fine abbia funzionato! Di fatto, ho semplicemente aggiunto un namespace e ricompilato il pacchetto sotto Windows utilizzando una versione aggiornata di R. Fra l’altro, mi viene anche il dubbio che il namespace non fosse di per sé inutile… la costruzione di pacchetti in R ha dei criteri molto stringenti quando il pacchetto deve essere pubblicato sul CRAN. Ma se ci si accontenta che il pacchetto giri semplicemente in locale sulla propria macchina, allora la strada è più semplice.

    Sinceramente, però, non conosco la teoria che sta dietro le funzioni di mrt e penso di non poterti essere molto d’aiuto in questo…

    #5146

    pdeninis
    Participant

    Grazie Davide,

    sei stato prezioso già così!

    Di fatto, ho semplicemente aggiunto un namespace e ricompilato il pacchetto sotto Windows utilizzando una versione aggiornata di R.

    L’hai fatto con devtools()?

    Sinceramente, però, non conosco la teoria che sta dietro le funzioni di mrt e penso di non poterti essere molto d’aiuto in questo…

    Ripeto, hai già fatto più che tanto!

    Il problema che tento di affrontare è quello di avere stime ed inferenze robuste quando non c’è certezza che le assunzioni di normalità e omoschedasticità tengano. È la mia spina nel fianco da diversi anni. La spinta ad imparare R me l’ha data proprio il fatto che secondo i più soltanto su R sono disponibili funzioni che adottino soluzioni concrete che NON siano l’affidamento sul teorema del limite centrale oppure il ricorso alle tecniche non-parametriche classiche.

    Peraltro recentemente (recentemente secondo i miei standards: purtroppo io sono un… autodidatta) si è diffusa l’avvertenza che i metodi non-parametrici NON possono essere considerati attendibili SE le distribuzioni oggetto di confronto NON sono uguali (anche se possono essere non-normali, per esempio non-simmetriche): quindi si è dimostrata illusoria la convinzione che i metodi non-parametrici possano essere usati tipo black-box e di nuovo si riprospetta il problema di una valutazione soggettiva della forma delle distribuzioni, per la quale io continuo a non sentirmi pronto.

    Sai per caso se in questo blog o in altri gruppi di lavoro ci sono spazi in cui viene trattato questo problema?

    PS Comunque mi sono imbattuto finalmente in un testo che sembra trattare il problema sistematicamente.

    Wilcox R. Introduction to Robust Estimation and Hypothesis Testing

    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
    • This reply was modified 9 months, 2 weeks ago by  pdeninis.
Viewing 15 posts - 1 through 15 (of 18 total)

You must be logged in to reply to this topic.