【问题标题】:Repeat function on RR上的重复功能
【发布时间】:2018-09-03 20:16:54
【问题描述】:

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

> 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),但有些地方不太对劲。 任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 您实际上不需要使用rep 函数或for 循环。 test &lt;- lapply(1:100, FUN = function(i) rbinom(1000, 36, 0.4)) 会做你想做的事
  • @bouncyball 你说得对,我一直忘记 lapply...非常感谢!

标签: r for-loop rep


【解决方案1】:

你实际上是在寻找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

【讨论】:

    猜你喜欢
    • 2020-10-29
    • 1970-01-01
    • 2016-11-27
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多