如何使用 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 中的其他常用函数:

如何在 R 中使用 c() 函数
如何在 R 中使用 sprintf() 函数
如何在R中使用replace()函数

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注