Как назначить имя столбца списка в виде строки? - PullRequest
2 голосов
/ 14 марта 2012

Я делаю:

assign('test', 'bye')
test
[1] "bye"

Теперь у меня есть вектор внутри 'test '.

Я хотел бы использовать строку внутри переменной 'test' в качестве имени столбца следующего списка:

list(test=c(1:10))
$test
[1]  1  2  3  4  5  6  7  8  9 10

Но я бы хотел использовать 'пока' в качестве ИМЕНИ (потому что 'пока' записано внутри тестовой переменной) Как я могу это сделать?

Ответы [ 2 ]

8 голосов
/ 14 марта 2012

Я не думаю, что eval или assign здесь вообще необходимы; их использование обычно (хотя и не всегда) указывает на то, что вы делаете что-то нелегко или, по крайней мере, не в духе.

> test <- "bye"
> L <- list(1:10)  ## c() unnecessary here too
> names(L) <- test
> L
$bye
 [1]  1  2  3  4  5  6  7  8  9 10

Если вы действительно хотите сделать это в одном выражении, вы можете сделать:

L <- setNames(list(1:10), test)

или

L <- structure(list(1:10), .Names=test)
1 голос
/ 14 марта 2012

Я думаю, это будет ответ, который вы ищете?

assign('test','bye')
z<-list(c(1:10))
names(z)<-test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...