【问题标题】:Create a variable with a value that is the name of another variable in R创建一个变量,其值是 R 中另一个变量的名称
【发布时间】:2020-01-31 17:44:09
【问题描述】:

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

例如:我有向量groupers

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

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

grp_name <- "groupers"

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

干杯

【问题讨论】:

  • 为什么需要这个?你说“这似乎是一个简单的操作”,但实际上它极其复杂,而且大多数编程语言根本不支持这一点。 R 可以,但几乎总是有更好的方法。

标签: r vector variable-names


【解决方案1】:

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

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

【讨论】:

  • 完美!谢谢,这正是我想要的。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2016-10-21
    • 2022-01-12
    相关资源
    最近更新 更多