Como usar a função get() em r para recuperar objetos nomeados


Você pode usar a função get() em R para recuperar objetos nomeados.

Aqui estão as três funções get() mais comuns em R:

1. get() – Obtenha um objeto

 get(" my_object ")

2. get0() – Recupera um objeto, usando uma mensagem de erro personalizada se não for encontrado

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

3. mget() – Recupera vários objetos

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

Os exemplos a seguir mostram como usar cada função na prática.

Exemplo 1: Use get() para recuperar um objeto

O código a seguir mostra como usar a função get() para recuperar um objeto de 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 o objeto nomeado não existir, esta função retornará um erro:

 #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

Exemplo 2: Use get0() para recuperar um objeto, usando uma mensagem de erro personalizada

Também podemos usar a função get0() para recuperar um objeto nomeado em R e usar uma mensagem de erro personalizada se o objeto não for encontrado:

 #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”

Como o objeto denominado “data0” não existe, a função get0() retorna a mensagem de erro personalizada que criamos.

Exemplo 3: Use mget() para recuperar vários objetos

Podemos usar a função mget() para recuperar vários objetos nomeados em 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

Observe que se simplesmente tentássemos usar a função get() , apenas o primeiro objeto nomeado seria retornado:

 #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

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em R:

Como usar a função c() em R
Como usar a função sprintf() em R
Como usar a função replace() em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *