R - Ambiente di lavoro
R
Ambiente di lavoro
Directory di lavoro
- Nella directory di lavoro sono scritti i seguenti file utilizzati da RStudio:
- ".RData" --> oggetti dell'ambiente di lavoro (finestra "Environment").
- ".Rhistory" --> contiene tutti i comandi dati a RStudio (finestra "History").
# Leggere la directory di lavoro.
getwd()
[1] "C:/Users/carlo/Documents/Projects R/Examples/Parte 1"
# Scrivere la directory di lavoro.
setwd("C:\\Users\\carlo\\Documents\\Projects R")
Help in linea
- L'ambiente RStudio ha integrato un help in linea.
- Per avere l'aiuto su una qualsiasi funzione, dare il comando help() indicando la funzione.
help("grep")
- L'aiuto appare nella finestra "Help" di RStudio.
- Per ottenere gli argomenti di una funzione, dare il comando args() indicando la funzione.
args("grep")
Pacchetti (Packages)
- R possiede già una serie di librerie e funzioni. È possibile installare ulteriori pacchetti (packages) per eseguire compiti specifici. Al momento ne esistono alcune migliaia.
- I pacchetti possono essere installati e rimossi.
- Ecco alcuni esempi utilizzando il pacchetto "swirl".
# Installa il pacchetto "swirl".
install.packages("swirl")
# Installa più pacchetti con la funzione c().
install.packages(c("pacchetto1","pacchetto2", "pacchetto3"))
# Installa il pacchetto "swirl" con tutte le dipendenze.
install.packages("swirl", dependencies = TRUE)
# Rimuove il pacchetto "swirl".
remove.packages("swirl")
- Una volta che si è installato un pacchetto, per poter essere utilizzato va caricato nella memoria della sessione di lavoro con l'apposita funzione library() o require().
# Carica nella memoria della sessione di lavoro, il pacchetto "swirl".
# Le funzioni library() e require() sono equivalenti.
library(nome.pacchetto)
require(nome.pachetto)
# Per scaricare un pacchetto dalla memoria della sessione di lavoro.
detach("swirl")
- Naturalmente i pacchetti vengono aggiornati dai programmatori. Per verificare la presenza di aggiornamenti ed eventualmente aggiornarli, utilizzare il comando successivo.
# Aggiorna i pacchetti (senza domandare se applicare l'aggiornamento)
update.packages(ask = TRUE)
- Per ottenere l'elenco dei pacchetti installati o quello dei pacchetti disponibili, utilizzare i comandi successivi.
# Elenco dei pacchetti installati.
View(installed.packages())
# Elenco pacchetti disponibili.
View(available.packages())
- Per ottenere invece l'elenco dei pacchetti caricati nella sessione di lavoro, utilizzare il comando search().
# Elenco dei pacchetti caricati.
search()
[1] ".GlobalEnv" "tools:rstudio" "package:stats" "package:graphics"
[5] "package:grDevices" "package:utils" "package:datasets" "package:methods"
[9] "Autoloads" "package:base"
- La maggior parte dei pacchetti si trova sul sito CRAN: https://cran.r-project.org.
- Tutto quanto descritto riguardo l'installazione e il caricamento dei pacchetti, può essere ottenuto direttamente in RStudio, nella finestra "Packages".
Pacchetti con la stessa funzione
- Nel caso che due o più pacchetti abbiano una funzione con lo stesso nome, per identificare a quale funzione ci si riferisce, utilizzare la sintassi seguente con il nome del pacchetto, l'operatore '::' e il nome della funzione.
package::function()
Problema nell'installazione di pacchetti
- Installando un pacchetto (nel mio caso "xlsx"), RStudio ha dato il seguente messaggio:
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/carlo/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
- Come si vede, nel messaggio è indicata anche la directory dove installare Rtools.
- L'installazione del pacchetto quindi non è andata a buon fine, anche caricando il pacchetto con library(), RStudio dà l'errore:
Error: package or namespace load failed for ‘xlsx’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JAVA_HOME cannot be determined from the Registry
- Ho risolto così.
- Primo, installando Rtools dal sito https://cran.r-project.org/bin/windows/Rtools/.
- L'installazione va fatta nella cartella indicata nel messaggio sopra riportato.
- Inoltre:
- ho selezionato il tipo di installazione raccomandata;
- ho impostato "Add rtoolsto system PATH".
- Dopo questa installazione il Warning non si è presentato, ma restava l'errore nel caricamento del pacchetto in memoria.
- Questo errore è stato risolto installando il runtime di Java (nel mio caso la versione a 64 bit).