我做:
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
但我想使用'bye'作为NAME(因为'bye'是在测试变量中写的) 我该怎么办?
答案 0 :(得分:8)
我认为这里不需要eval
或assign
;他们的使用通常(虽然并非总是如此)表明你正在以艰难的方式做事,或者至少采用非R-ish的方式。
> 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 :(得分:1)
我想这会是你正在寻找的答案吗?
assign('test','bye')
z<-list(c(1:10))
names(z)<-test