首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-从for-循环中的所有迭代生成一个矩阵,给出一个向量结果。

R-从for-循环中的所有迭代生成一个矩阵,给出一个向量结果。
EN

Stack Overflow用户
提问于 2012-07-18 21:58:45
回答 1查看 1.8K关注 0票数 0

我正在对来自村庄的20个人进行多次模拟。我有一个有2列的数据集,第一列是观测所属的村庄,第二列是阴性的疟疾测试,1列是阳性的疟疾测试。我想从每个村庄抽样调查20个人,重复100次。

我可以让样本重复,但是我很难从循环中获取结果,并将它们放入一个矩阵或数据框架中。这是我到目前为止的代码。任何帮助都将不胜感激。其他堆栈建议先创建矩阵,然后再添加结果向量,但我不知道如何添加向量。

最后,我想要一个矩阵,把正向量作为循环每一次迭代的一列。

D= read.table("/Users/David/Documents/LQAS data.txt/LQAS data.txt",sep=",",header=TRUE) 头(D) village500疟疾

1 22 0

2 22 0

3 1 1

4 20 0

5 1 0

6 19 0

村庄=分裂(d$疟疾,d$500) 对于(I in 1:100) {+抽样=lapply(村庄,样本,20) +正=lapply(抽样,sum) +}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 11:24:17

我想出了一个很长的方法来做这件事,虽然它肯定不是理想的,有100多个模拟会有点累人。

代码语言:javascript
复制
villages = split(d$malaria, d$village500)

positives = vector("list", 100)

for(i in 1:100) {
    sampled = lapply(villages, sample, 20)
    positives[[i]] = lapply(sampled, sum)
    }

simulations = cbind(positives[[1]], positives[[2]], positives[[3]], positives[[4]], positives[[5]], positives[[6]], positives[[7]], positives[[8]], positives[[9]], positives[[10]], positives[[11]], positives[[12]], positives[[13]], positives[[14]], positives[[15]], positives[[16]], positives[[17]], positives[[18]], positives[[19]], positives[[20]], positives[[21]], positives[[22]], positives[[23]], positives[[24]], positives[[25]], positives[[26]], positives[[27]], positives[[28]], positives[[29]], positives[[30]], positives[[31]], positives[[32]], positives[[33]], positives[[34]], positives[[35]], positives[[36]], positives[[37]], positives[[38]], positives[[39]], positives[[40]], positives[[41]], positives[[42]], positives[[43]], positives[[44]], positives[[45]], positives[[46]], positives[[47]], positives[[48]], positives[[49]], positives[[50]], positives[[51]], positives[[52]], positives[[53]], positives[[54]], positives[[55]], positives[[56]], positives[[57]], positives[[58]], positives[[59]], positives[[60]], positives[[61]], positives[[62]], positives[[63]], positives[[64]], positives[[65]], positives[[66]], positives[[67]], positives[[68]], positives[[69]], positives[[70]], positives[[71]], positives[[72]], positives[[73]], positives[[74]], positives[[75]], positives[[76]], positives[[77]], positives[[78]], positives[[79]], positives[[80]], positives[[81]], positives[[82]], positives[[83]], positives[[84]], positives[[85]], positives[[86]], positives[[87]], positives[[88]], positives[[89]], positives[[90]], positives[[91]], positives[[92]], positives[[93]], positives[[94]], positives[[95]], positives[[96]], positives[[97]], positives[[98]], positives[[99]], positives[[100]])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11550998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档