繁体   English   中英

创建一个变量,其值是 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"

我想你不仅有一个向量,而且有几个。 因此,您可以将它们组装在数据框中并存储调用函数names()的数据框列的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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM