[[]]和[]之间的R差

时间:2014-06-02 16:21:36

标签: r

我想清楚地了解[]和[[]]之间的区别,我在下面的代码片段中运行。我知道[[]]返回列表的单个成员,而[]返回元素列表。但是,为什么我在运行时会出现错误" all_data [1] = list(5,6)"但是当我跑步时没有错误" all_data [[1]] = list(5,6)"或当我跑#34; all_data [2] = 5"

all_data <- list()
all_data[2]=5
all_data[1]=list(5,6)



all_data[[1]]=list(5,6)
all_data

根据第一个答案的第一个评论,添加一行代码,有助于进一步理解

all_data[1:2] <- list(5,6)

1 个答案:

答案 0 :(得分:5)

all_data[1]=list(5,6)为您提供长度不同的警告(非错误)。您不能将单元素列表设置为双元素列表。这就像尝试x <- 1; x[1] <- 1:2

但是你可以设置列表的一个元素以包含另一个列表,这就是all_data[[1]]=list(5,6)工作的原因。