You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言生成负二项分布向量列表时元素长度递增问题咨询

解决负二项分布模拟列表的长度问题

嘿,问题根源就在你代码里的rep()函数!你用了times = i参数,这会把每次生成的1000个负二项分布值重复i次,所以第i个列表元素的长度就变成了1000*i,完全偏离了你的需求。

要让每个列表元素都是长度固定为1000的向量,只需要去掉多余的rep()调用就行,直接在循环里生成1000个值:

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

另外,在R里处理这种“生成多个同结构元素的列表”场景,用lapply()会更简洁高效,不需要手动初始化列表和写循环:

test <- lapply(1:100, function(x) {
  rnbinom(n=1000, size=36, prob=0.4)
})

验证结果

你可以用下面的代码检查每个列表元素的长度,确认都是1000:

sapply(test, length)

运行后会返回一个包含100个1000的向量,说明每个元素都符合要求啦。

内容的提问来源于stack exchange,提问作者João Carvalho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:07:18