Как использовать функцию get() в r для получения именованных объектов
Вы можете использовать функцию get() в R для получения именованных объектов.
Вот три наиболее распространенные функции get() в R:
1. get() – Получить объект
get(" my_object ")
2. get0() — извлекает объект, используя собственное сообщение об ошибке, если он не найден.
get0(" my_object ", ifnotfound=" does not exist ")
3. mget() – получить несколько объектов
mget(c(" my_object1 ", " my_object2 ", " my_object3 "))
Следующие примеры показывают, как использовать каждую функцию на практике.
Пример 1. Используйте get() для получения объекта
Следующий код показывает, как использовать функцию get() для получения объекта имени:
#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
Если именованный объект не существует, эта функция возвращает ошибку:
#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
Пример 2. Используйте get0() для получения объекта с использованием специального сообщения об ошибке.
Мы также можем использовать функцию get0() для получения именованного объекта в R и использовать собственное сообщение об ошибке, если объект не найден:
#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”
Поскольку объект с именем «data0» не существует, функция get0() возвращает созданное нами специальное сообщение об ошибке.
Пример 3. Используйте mget() для получения нескольких объектов
Мы можем использовать функцию mget() для получения нескольких именованных объектов в 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
Обратите внимание: если бы мы просто попытались использовать функцию get() , был бы возвращен только первый именованный объект:
#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
Дополнительные ресурсы
В следующих руководствах объясняется, как использовать другие распространенные функции в R:
Как использовать функцию c() в R
Как использовать функцию sprintf() в R
Как использовать функцию replace() в R