0

嗨,我是 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

但是,我不确定我是否使用了正确的数据类型(而且绝对不是正确的语法),因为我尝试过的所有操作要么只为列表创建一个索引,要么为一个项目创建多个索引。

这不是家庭作业。这甚至不应该是一个问题,但我找不到解决方案。

4

1 回答 1

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"

如果您想修改该项目,这不是您想要的。

于 2013-04-23T01:32:56.597 回答