2
我做的:如何将列表列的名称分配为字符串?
assign('test', 'bye')
test
[1] "bye"
现在,我有内部'测试' 变量的矢量。
我想里面使用“测试”变量中的字符串作为后续列表的列名:
list(test=c(1:10))
$test
[1] 1 2 3 4 5 6 7 8 9 10
但我想用“再见”的名称(因为“再见'写在测试变量里面) 我该怎么做?
我做的:如何将列表列的名称分配为字符串?
assign('test', 'bye')
test
[1] "bye"
现在,我有内部'测试' 变量的矢量。
我想里面使用“测试”变量中的字符串作为后续列表的列名:
list(test=c(1:10))
$test
[1] 1 2 3 4 5 6 7 8 9 10
但我想用“再见”的名称(因为“再见'写在测试变量里面) 我该怎么做?
我不认为eval
或assign
在这里是必要的;他们的使用通常(虽然不总是)表明你正在做一些艰难的事情,或至少是非R的方式。
> 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)
我想这会是你要寻找的答案?
assign('test','bye')
z<-list(c(1:10))
names(z)<-test
对于那些还不知道的人来说,本的第一句话是对“财富(106)”的引用。 '幸运(181)'也是相关的。 :) – 2012-03-14 14:46:03