R 上的重复函数

Repeat function on R

所以我的问题如下:我正在尝试整理一个列表,其中每个条目都是在负二项分布下模拟的多个值的向量。我正在尝试使用此代码:

> test <- list()
> for(i in 1:100) {
+   test[[i]] <- rep(rnbinom(n=1000, size=36, prob=0.4), times = i, each =1)
+ }

但是,我得到了一个列表,其中条目的大小增加了。像这样:

int [1:1000] 33 82 44 33 58 45 63 ...
int [1:2000] 51 48 28 76 49 71 52 ...
int [1:3000] 59 53 65 72 38 41 48 ...

等等。在这种情况下,我希望每个条目都具有相同的大小 (n=1000),但有些地方不太对劲。 任何帮助将不胜感激,谢谢!

您实际上是在寻找 replicate:

replicate(3,rnbinom(n=10, size=36, prob=0.4),F)
# [[1]]
# [1] 67 31 84 57 61 62 49 62 57 54
# 
# [[2]]
# [1] 53 45 39 54 66 51 41 56 42 68
# 
# [[3]]
# [1] 62 57 58 43 35 50 47 51 62 50