[rant] Mi manca anche la reputazione di mettere la mia risposta a cui appartiene. E non c'è nessun pulsante che lo indichi. Solo un grande schermo pieno di nulla che si desidera cliccare su. La rilevabilità negativa fa schifo. Fa schifo a Eclipse e fa schifo anche qui. [/ rant]
Sto trovando rj frustrante sotto Ubuntu. Sul mio sistema, con ogni aggiornamento di Ubuntu con una nuova versione di R, devo ricominciare da capo questa procedura.
Una volta ho provato a utilizzare un carattere tilde (~) nel nome di un percorso all'interno di un campo di configurazione Eclipse. Questo fallì silenziosamente.
La mia configurazione attuale è la seguente. Nel mio file ~/.Renviron:
R_LIBS_USER=~/etc/R/amd64/2.11
Una volta che rJava funziona, qui è presente una directory rJava. Solo così non mi faccio impazzire, in ~/etc/R/README ho messo una nota che la mia attuale configurazione R è controllata da ~ /.Renviron
In qualche modo ad un certo punto ho finito con problemi di permessi dove
R CMD javareconf
stava venendo a mancare. Una volta frustrato, ho eseguito stupidamente questo problema con sudo
per ovviare a questo problema e ho riscontrato problemi di autorizzazione sui file generati. Stupido! La correzione corretta era di rendere tutti i file leggibili nel mondo /etc/R
. Forse javareconf è importante solo se hai problemi con il tuo Java predefinito. In precedenza, stavo gestendo il JRE di Sun. Dal 10.10 sono in esecuzione icedtea6 e sembra funzionare correttamente. Una volta è stata la cosa giusta per far funzionare di nuovo la mia configurazione.
Una volta che ho il diritto vincolante Java, da linea di comando R:
install.packages("rJava")
Ho avuto problemi con i permessi di file in esecuzione in passato. Penso che sia stato risolto rendendo tutti i file leggibili nel mondo /etc/R
.
Il seguente è un utile diagnostica per vedere se questo ha funzionato, da qualsiasi console R:
> system.file("jri",package="rJava")
[1] "/home/allan/etc/R/amd64/2.11/rJava/jri"
Se non sembra proprio sotto Eclipse, c'è anche qualche debug di avvio disponibili, se ci sono voluti per sempre prima ho notato questo nei documenti di Statet.
Ho creato una configurazione di esecuzione della console R per R 2.11 debug
Nella scheda JRE aggiungere -Dde.walware.rj.verbose=true
. Nella scheda Comune, fare clic su Allocate additional Error Log Consoles
.
Le opzioni di configurazione principali sono le seguenti. Scheda principale, Launch Type: RJ
. Nella scheda R_Config, è necessario selezionare un'installazione R configurata, oppure crearne/modificarne una se non ne hai una che funzioni. Il mio è Name=R, Location=/usr/lib64/R
Nella scheda Ambiente ho R_LIBS_USER=/home/USER/etc/R/amd64/2.11
in base a come ho impostato le cose sopra. Non usare il carattere tilde (~) qui!
Se finisci per scherzare con questo problema tanto quanto ho fatto, finisci per uccidere un sacco di console morte. Nella scheda Principale ho aggiunto l'opzione di programma --no-save
. Non penso che questo faccia nulla, dal momento che non posso terminare la mia console premendo CTRL-D. Nella scheda R_Console, ho aggiunto il seguente R frammento:
q <- function(save = "no", status = 0, runLast = TRUE){
.Internal(quit(save, status, runLast))
#<environment: namespace:base>
}
Questo elimina il fastidioso "Salva area di lavoro" richiesta quando l'uccisione di un console R con il quadrato rosso (che è simbolico?) Il mio lavoro corrente include anche un progetto C, quindi la mia console R viene costantemente visualizzata sotto una console C-Build vuota. Fastidioso come tutto l'inferno! Non l'ho ancora risolto, ma ho scoperto che all'interno di una finestra di codice Statet la combinazione di tasti CTRL-R C porta la console R in alto.
Con la mia configurazione R 2.11 debug
ottengo una console aggiuntiva denominata /usr/lib/jvm/java-6-openjdk/bin/java
. Dovrai spelezionare il menu a discesa della console per trovarlo. Quanto segue è un frammento proveniente da una corretta inizializzazione:
CONFIG: JR library path:
/home/allan/etc/R/amd64/2.11
/usr/local/lib64/R/site-library
/usr/lib64/R/library
10-Dec-2010 7:56:47 AM org.rosuda.rj.JRClassLoader addClassPath
FINE: Added '/home/allan/etc/R/amd64/2.11/rJava/java' to classpath of URL loader
Molto più Spoo, poi finalmente:
10-Dec-2010 7:56:48 AM de.walware.rj.server.jriImpl.RosudaJRIServer start
INFO: R engine started successfully. New Client-State: 'Connected'.
sembra buono, giusto?Ma ecco nella console R:
[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.
Ignorare il bastardo mentendo! Il mio rj sta funzionando bene. Non ho idea del perché questo messaggio di errore persista.
Ogni volta in giro per il blocco con questo problema, un nuovo fantastico pezzo di ghiaia finisce nella mia sneaker.
Non so se ho coperto tutto, ma per ora ho scritto abbastanza. Forse se ci sono commenti tornerò e riempirò gli spazi vuoti.
Nota: trovato un plugin Eclipse per la commutazione della console tramite tastiera qui: Eclipse: Keyboard shortcut for switching between consoles?
Grazie. I tuoi commenti mi hanno dato un colpo nella giusta direzione. Ero stupido, il comando è semplicemente eseguito in Terminal R CMD INSTALL --no-test-load rj _ *. Tar.gz * installazione di libreria '/Library/Frameworks/R.framework/Resources/library' * montaggio * * fonte pacchetto 'rj' ... ** ** R Inst ** pacchetto preparazione lazy loading ** aiuto Nessun pagine man trovato nel pacchetto 'RJ' *** installazione di indici di aiuto ** indici dei pacchetti edificio ... * FATTO (rj) – user441706
@ user441706 - contento che cominciato ad andare nella direzione giusta, mi dovrei aver detto che il comando deve essere eseguito dalla finestra del terminale su un Mac o in Linux, o da un prompt DOS su una macchina Windows. In bocca al lupo! – Chase
OK - tutto funziona e ho 'SWEAVEd' il mio primo documento in Eclipse! Si pensi che non è stato proprio il piano a leggere un file csv:> df <-read.csv (file.choose(), header = T) Errore in file.choose(): scelta file annullata ma se ho spostato il file nello spazio di lavoro, allora: df <-read.csv ("/ Users/mfar_1/Documents/workspace/MF2/test.csv") sceglierà di non funzionare all'interno di Eclipse? – user441706