【发布时间】:2021-04-13 04:59:14
【问题描述】:
我不明白为什么以下两个命令会产生相同的输出:
rep(list(rnorm(2)), 2) %>% str
list(rnorm(2), rnorm(2)) %>% str
List of 2
$ : num [1:2] 0.207 -0.293
$ : num [1:2] 0.207 -0.293
List of 2
$ : num [1:2] 0.0342 -1.1086
$ : num [1:2] 2.186 -0.165
第一个命令不应该生成一个“元列表”,其中包含两个列表,每个列表都包含一个数字向量?因为我告诉复制函数:“复制包含数字向量的列表两次”。那么为什么它只复制列表的内容两次,而不复制列表本身呢?
并以此为基础:我将如何创建一个“元列表”来复制一个列表 n 次?
【问题讨论】:
-
你想要
replicate(2, list(rnorm(2)), simplify=FALSE)代替吗? -
是的!这就是我期望
rep(list(rnorm(2)), 2) %>% str会做的事情。为什么rep()会产生不同的输出?
标签: r