簡體   English   中英

如何在循環中執行循環並將其保存在R中的表中

[英]How to do a loop in a loop and save it in a table in r

問題是:如果一位老師在他的35人班上打賭“多少人有相同的生日?”。 如果他輸掉了賭注,則支付2美元;如果贏了賭注,則得到1美元。 他下注1137次。 因此,我做了一個循環來表示這一點。 現在,我想重復此測試1000次並將其保存在向量或表中,以便隨后對它進行推論測試。 如何重復循環?

```{r}

exact=c(seq(1:365), seq(1:365), seq(1:365), seq(1:366))  
bucket=numeric()  
smithbucks=0  
for(i in 1:1137){  
  class=sample(exact, size = 35, replace = TRUE)  
hmmm=sum(duplicated(class))  
if (hmmm > 0) smithbucks = smithbucks +1  
else smithbucks = smithbucks -2}  

```

有很多方法可以做到這一點。 一種簡單的方法是將其放入一個sapply循環中,如下所示:

results <- sapply(1:1000, function(i) {
    exact=c(seq(1:365), seq(1:365), seq(1:365), seq(1:366))  
    smithbucks=0  
    for(i in 1:1137){  
      class=sample(exact, size = 35, replace = TRUE)  
    hmmm=sum(duplicated(class))  
    if (hmmm > 0) smithbucks = smithbucks +1  
    else smithbucks = smithbucks -2}
    return(smithbucks)
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM