【发布时间】:2015-01-21 06:23:21
【问题描述】:
我想在每个列表中创建一些列表,如下所示:
A = list()
B = list()
C = list()
D = list()
A$X = list()
A$Y = list()
A$Z = list()
# ...
D$X = list()
D$Y = list()
D$Z = list()
我没有输入一个长列表,而是使用下面的代码,但它并不完全有效:
strVar = LETTERS[1:4]
strGrp = LETTERS[24:26]
for (i in 1:length(strVar)) {
assign(strVar[i],list())
for (j in 1:length(strGrp)) {
# Option 1: Doesn't work and work to make it work along the line
assign(paste0(strVar[i],'[[\'',strGrp[j],'\']]'),list())
# Option 2: Does work but want to avoid using eval(parse)
eval(parse(text=paste0(strVar[i],'$',strGrp[j],'=list()')))
}
}
选项 1 给出了一个名为 A[['X']] 的变量,而选项 2 给出了一个列表变量 A,在 A 中,有我想要的变量 X、Y 和 Z。
我对选项 1 做错了什么?非常感谢。
【问题讨论】:
-
如果一个答案适合你,你能关闭这个话题吗?或者说为什么一个答案不令人满意?
-
@ColonelBeauvel:谢谢!抱歉,我该如何关闭话题?
-
如果答案适合您,您可以检查与答案相关的标记!这会对已回答类别中的问题进行排名。