如何使用 r 中的 get() 函数检索命名对象
您可以使用 R 中的get()函数来检索命名对象。
以下是 R 中三个最常见的get()函数:
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 中的其他常用函数: