Создайте переменную со значением, которое является именем другой переменной в R - PullRequest
0 голосов
/ 31 января 2020

В R, как вы можете создать переменную, значение которой является именем другой переменной?

Например: у меня есть вектор groupers:

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

и я Я хотел бы создать вывод, который будет выглядеть так:

grp_name <- "groupers"

Это похоже на простую операцию, но я не знаю, как хранится имя вектора, и поэтому я не могу понять, как это назвать.

Ура

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Я полагаю, у вас есть не только один вектор, но несколько. Таким образом, вы можете собрать их в кадре данных и сохранить имена столбцов данных, вызывающих функцию 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"
0 голосов
/ 31 января 2020

Если вы хотите взять имя объекта и преобразовать его в символьную строку, используйте это:

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