嗨,我是R的新手,对于一个学校项目,我正在尝试创建一个列表列表,我可以通过索引访问并附加到。像
这样的东西aList[1] = A, B, C
aList[1] returns [1] A, B, C
aList[1] += D
aList[1] returns [1] A, B, C, D
aList[2] = 1, 2, 3
aList[2] returns [2] 1, 2, 3
aList returns [1] A, B, C, D
[2] 1, 2, 3
但是,我不确定我是否正在使用正确的数据类型(并且绝对不是正确的语法),因为我尝试过的所有内容只是生成列表的单个索引或者生成一个项目的多个索引。 / p>
这不是作业。这甚至不应该是一个问题,但我找不到解决方案。
答案 0 :(得分:1)
R
中的列表与向量分开 - 向量中的每个项目只能是数字或字符串等基本类型,而列表可以包含向量或其他列表。听起来你想要创建一个向量列表。这可以这样做:
> aList = list(c("A", "B", "C"), c(1, 2, 3))
> aList[[1]]
[1] "A" "B" "C"
> aList[[1]] = c(aList[[1]], "D")
> aList[[1]]
[1] "A" "B" "C" "D"
> aList[[2]]
[1] 1 2 3
> aList
[[1]]
[1] "A" "B" "C" "D"
[[2]]
[1] 1 2 3
请注意,您通常使用双括号访问列表,例如[[1]]
。如果使用单括号访问列表,您将获得列表的子集:
[[1]]
[1] "A" "B" "C" "D"
如果您想要修改该项目,那么这不是您想要的。