looping + enviroments в R: присвоение нового имени переменной значению столбца - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь создать среду для хранения информации для каждой строки файла CSV. Мне нужна некоторая помощь в том, чтобы al oop назначал имя переменной в новой среде таким же, как значение указанного столбца c. Меня не волнует столько, сколько его значение, сколько то, что он называется (я изменю значение позже). Как бы я go сделал это?

напр., Допустим, что в csvFile $ Names значение равно «Blargh». Я хочу сделать al oop, который бы создавал переменную dataEnv $ Blargh, которая содержит НИЧЕГО в качестве значения.

То, что у меня есть, что определенно неверно:

dataEnv <-  new.env()
for (value in csvFile$Names) {
  dataEnv$Names <-  c(Names)
}

1 Ответ

2 голосов
/ 15 февраля 2020

Если я правильно понимаю, у вас есть вектор строк символов, Names, и вы хотите создать окружение e, содержащее объекты, соответствующие каждому элементу Names, имеющее этот элемент в качестве имени и содержащее произвольное значение. Используя NULL в качестве этого значения, мы имеем:

Names <- c("Blarg", "foo")
e <- new.env()
for(nm in Names) e[[nm]] <- NULL

или в одной строке:

e <- list2env(Map(function(x) NULL, Names))

или используя компоненты Names как для имен, так и для значений:

e <- list2env(as.list(setNames(Names, Names)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...