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

Create a variable with a value that is the name of another variable in R

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

例如:我有向量 groupers:

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

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

grp_name <- "groupers"

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

干杯

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

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

我想你不仅有一个向量,还有多个向量。所以你可以 assemble 它们在一个数据框中,并存储调用函数 names():

的数据框列的名称
groupers <- c("Epinephelus.costae", "Epinephelus.marginatus",
              "Mycteroperca.rubra", "Serranus.cabrilla", "Serranus.scriba")
group2 <- c("Epinephelus", "Epinephelus",
              "Mycteroperca", "Serranus", "Serranus")

Assemble 数据框中的向量:

df <- data.frame(groupers, group2)

将名称存储在新向量中:

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