Come utilizzare la funzione get() in r per recuperare oggetti denominati


È possibile utilizzare la funzione get() in R per recuperare oggetti denominati.

Ecco le tre funzioni get() più comuni in R:

1. get() – Ottieni un oggetto

 get(" my_object ")

2. get0() – Recupera un oggetto, utilizzando un messaggio di errore personalizzato se non trovato

 get0(" my_object ", ifnotfound=" does not exist ")

3. mget() – Recupera più oggetti

 mget(c(" my_object1 ", " my_object2 ", " my_object3 "))

Gli esempi seguenti mostrano come utilizzare nella pratica ciascuna funzione.

Esempio 1: utilizzare get() per recuperare un oggetto

Il codice seguente mostra come utilizzare la funzione get() per recuperare un oggetto nome:

 #define vector of values
data1 <- c(4, 5, 5, 6, 13, 18, 19, 15, 12)

#get vector of values
get(" data1 ")

[1] 4 5 5 6 13 18 19 15 12

Se l’oggetto indicato non esiste, questa funzione restituisce un errore:

 #define vector of values
data1 <- c(4, 5, 5, 6, 13, 18, 19, 15, 12)

#attempt to get vector of values
get(" data0 ")

Error in get("data0"): object 'data0' not found

Esempio 2: utilizzare get0() per recuperare un oggetto, utilizzando un messaggio di errore personalizzato

Possiamo anche utilizzare la funzione get0() per recuperare un oggetto denominato in R e utilizzare un messaggio di errore personalizzato se l’oggetto non viene trovato:

 #define vector of values
data1 <- c(4, 5, 5, 6, 13, 18, 19, 15, 12)

#attempt to get vector of values
get0(" data0 ", ifnotfound=" does not exist ")

[1] “does not exist”

Poiché l’oggetto denominato “data0” non esiste, la funzione get0() restituisce il messaggio di errore personalizzato che abbiamo creato.

Esempio 3: utilizzare mget() per recuperare più oggetti

Possiamo usare la funzione mget() per recuperare più oggetti con nome in R:

 #define three vectors
data1 <- c(4, 5, 5, 6, 13, 18, 19, 15, 12)
data2 <- c("A", "B", "C", "D")
data3 <- c(10, 20, 25, 30, 35)

#get all three vectors
mget(c(" data1 ", " data2 ", " data3 "))

$data1
[1] 4 5 5 6 13 18 19 15 12

$data2
[1] “A” “B” “C” “D”

$data3
[1] 10 20 25 30 35

Nota che se provassimo semplicemente a utilizzare la funzione get() , verrebbe restituito solo il primo oggetto nominato:

 #define three vectors
data1 <- c(4, 5, 5, 6, 13, 18, 19, 15, 12)
data2 <- c("A", "B", "C", "D")
data3 <- c(10, 20, 25, 30, 35)

#attempt to get all three vectors
mget(c(" data1 ", " data2 ", " data3 "))

[1] 4 5 5 6 13 18 19 15 12

Risorse addizionali

I seguenti tutorial spiegano come utilizzare altre funzioni comuni in R:

Come utilizzare la funzione c() in R
Come utilizzare la funzione sprintf() in R
Come utilizzare la funzione replace() in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *