PACKAGES

magrittr | dplyr | tidyverse | rlang | expss | janitor | pryr | Hmisc | car | ggplot2 | ggthemes | ggpubr | scales | haven | writexl | RColorBrewer | pals | campfin

R

Le procedure del modulo stats sono implementate in R e sono accessibili attraverso l’oggetto r. Nei Parametri di configurazione è presente una sezione dedicata alla configurazione di R.

Avvertimento

Per l’esecuzione delle procedure contenute in questo modulo deve essere installato il software di analisi statistica R.

Installazione

  1. Installare R: l’ultima versione supportata è la 4.1.3 [1]
  2. Installare RTools (necessario nel caso occorra compilare delle librerie)
  3. Installare RStudio (opzionale ma estremamente consigliato)
  4. Impostare, se necessario, il percorso alla cartella di installazione di R (r_path) nel file ptabs2.yml (Vedi pTabs2 - Parametri di configurazione)
  5. Impostare, se necessario, il percorso alle cartelle delle librerie di R (r_library_add_folders) nel file ptabs2.yml (Vedi pTabs2 - Parametri di configurazione)
  6. Eseguire, in uno script di pTabs2, r.install

Packages e r.install

r.install installa le librerie (packages) necessarie per la procedura che si sta eseguendo. Se nello script non viene utilizzata nessun’altra procedura del modulo Stat, verranno installate solo le librerie di base. Le librerie specifiche delle diverse procedure verranno installate solo se si esegue la procedura.

pTabs deve avere i diritti di scrittura nella cartella delle librerie di R. Se necessario configurare il parametro r_library_add_folders. In alternativa installare manualmente in R, o meglio in RStudio, i packages citati in testa a questa pagina e nella pagina dell’analisi che si intende eseguire.

La cartella delle librerie definita automaticamente da R sarà probabilmente C:/Users/[nome_utente]/R/win-library/[numero_versione].
Se si è utilizzato RStudio per installare delle librerie, probabilmente saranno invece in C:/Users/[nome_utente]/Documents/R/win-library/[numero_versione], dato che questo è un percorso accessibile avviando RStudio come utente non amministratore, come normalmente avviene.
In RStudio è possibile verificare il percorso di installazione delle librerie in Tools ‣ Install Packages... o lanciando il comando .libPaths().
Si consiglia pertanto di impostare in ptabs2.yml questa cartella. In questo modo le stesse librerie saranno disponibili sia per RStudio, sia per pTabs2. Per esempio:

1
2
:r_library_add_folders:
- C:/Users/Stefano/Documents/R/win-library/4.0

Attenzione

Nel tempo la disponibilità delle librerie compilate varia. Nell’eventalità che anche dopo aver utilizzato la funzione r.install si verifichino errori tipo:

Error : package or namespace load failed for...
 there is no package called 'nome_libreria'

Installare la libreria indicata direttamente in RStudio con l’istruzione:

install.packages("nome_libreria")

o tramite il menu: Tools ‣ Install Packages...

ed eventualmente rispondere alla domanda: Do you want to install from sources the packages which need compilations?

r.print!

r.print! stampa le istruzioni R eseguite nella finestra di log.

r.eval o r >

r.eval string o r > string esegue le istruzioni specificate.

1
2
3
4
5
6
7
r > "library(MASS)"

r.eval <<EOF
  full.model <- lm(Fertility ~., data = swiss)
  step.model <- stepAIC(full.model, direction = "both", trace = FALSE)
  summary(step.model)
EOF

r.pull o r <

r.pull object o r < object carica l’oggetto indicato.

1
p r < "step.model$coefficients"

r.library

r.library libraryname carica la libreria.

r.as_tibble

r.as_tibble esporta i dati delle variabili indicate da pTabs a R attraverso un file csv. I dati vengono caricati in R come data frame tibble.

Argomenti:

  • varlist: l’elenco delle variabili da esportare
  • :file => filename: il nome del file csv
  • :temp => true|false: utilizza un file temporaneo (default: false)
  • :df => name: il nome del data frame R (default df)
  • :as_factor => true|false: esporta le variabili con codici etichettati (livelli) come variabili factor (default: false)
  • :rownames => varname: il nome della variabile da usare come etichetta delle righe
  • :abbr => num|[num1, num2]: abbrevia ciascuna parola delle etichette dei livelli al numero di caratteri indicato; un eventuale secondo valore viene unilizzato per controllare la lunghezza complessiva dell’etichetta
1
r.as_tibble :ser_no, :peso, :sesso, :area, :d1, :d2, :d5, s(:d7_,10), :file => "demo"

r.get_tbl

r.get_tbl legge un data frame da R e lo carica in pTabs.

Argomenti:

  • name: il nome del data frame
  • :by_row => true|false: true legge if dataframe per riga e restituisce un Array multiplo; false legge un data frame per colonna e restituisce un Hash (default: false)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
p r.get_tbl("summ")
# {"term"=>["(Intercept)", "agriculture", "education", "catholic", "infant_mortality"],
#  "estimate"=>[62.10131155515377, -0.15461748754467536, -0.9802638289535369, 0.12466639316170179, 1.0784421701176758],
#  "std.error"=>[9.604886107319402, 0.06818992114053504, 0.14813667908194947, 0.028893503791418657, 0.38186620966134366],
#  "statistic"=>[6.4655958291717255, -2.267453678763151, -6.617293131103967, 4.314685891391531, 2.8241361577241606],
#  "p.value"=>[8.491980690265548e-08, 0.02856967993759828, 5.139985008817171e-08, 9.503030348101796e-05, 0.0072203782155452504]}

p r.get_tbl("summ", :by_row => true)
# [["term", "estimate", "std.error", "statistic", "p.value"],
#  ["(Intercept)", 62.10131155515377, 9.604886107319402, 6.4655958291717255, 8.491980690265548e-08],
#  ["agriculture", -0.15461748754467536, 0.06818992114053504, -2.267453678763151, 0.02856967993759828],
#  ["education", -0.9802638289535369, 0.14813667908194947, -6.617293131103967, 5.139985008817171e-08],
#  ["catholic", 0.12466639316170179, 0.028893503791418657, 4.314685891391531, 9.503030348101796e-05],
#  ["infant_mortality", 1.0784421701176758, 0.38186620966134366, 2.8241361577241606, 0.0072203782155452504]]

r.get_data

r.get_data carica un data frame presente nell’ambiente globale di R o in un package in pTabs.

Argomenti:

  • name: il nome del data frame
  • package: il nomde del package che contiene il data frame
1
2
r.get_data "turf_ex_data", "turfR"
spss.save "turf_ex_data"
1
2
r > "df <- read.table('https://raw.githubusercontent.com/zonination/perceptions/master/probly.csv', header=TRUE, sep=',')"
r.get_data("df")

r.get_data!

r.get_data! carica un data frame presente nell’ambiente globale di R o in un package in pTabs w lo assegna a un workspace con lo stesso nome del data frame.

r.seed

r.seed imposta il seed della generazione dei numeri casuali in R.

Argomenti:

  • num: un numero da impostare come seed
1
r.seed 1234

Note

[1]Con le versioni 4.2 attualmente esiste un problema di codifica dei caratteri.
E’ comunque possibile installare più versioni di R sul proprio computer e indicare quale debba utilizzare pTabs2.