创建一个变量,其值为R中另一个变量的名称

时间:2020-01-31 17:44:09

标签: r vector variable-names

在R中,如何创建一个值是另一个变量名称的变量?

例如:我有向量groupers

groupers <- c("Epinephelus.costae", "Epinephelus.marginatus",
              "Mycteroperca.rubra", "Serranus.cabrilla", "Serranus.scriba")

,我想创建一个类似这样的输出:

grp_name <- "groupers"

这似乎是一个简单的操作,但是我不知道向量的名称是如何存储的,因此我不知道如何调用它。

欢呼

2 个答案:

答案 0 :(得分:0)

如果要获取对象名称并将其转换为字符串,请使用以下方法:

grp_name <- deparse(substitute(groupers))
grp_name
# [1] "groupers"

答案 1 :(得分:0)

我想您不仅有一个向量,而且还有多个。因此,您可以将它们组合到数据框中并存储调用函数names()的数据框列的名称:

groupers <- c("Epinephelus.costae", "Epinephelus.marginatus",
              "Mycteroperca.rubra", "Serranus.cabrilla", "Serranus.scriba")
group2 <- c("Epinephelus", "Epinephelus",
              "Mycteroperca", "Serranus", "Serranus")

在向量帧中组合向量:

df <- data.frame(groupers, group2)

将名称存储在新的向量中:

groupnames <- names(df); groupnames
[1] "groupers" "group2"