2015-09-27 19 views
1

我試圖重複採樣兩個向量,xy,100次,並在每個樣本之後計算t檢驗。然後我想使用broom包將結果組合成一個數據幀。我在做這件事的嘗試如下。不過,我設法做的是在相同的兩個向量上進行100次t檢驗。將t檢驗結果與掃帚結合到一個數據框中

library(plyr); library(broom) 

x <- rnorm(10000, 3, 3) 
y <- rnorm(10000, 5, 3) 


x_sample <- sample(x, size = 20, replace = FALSE) 
y_sample <- sample(y, size = 20, replace = FALSE) 

ldply(1:100, function(x) tidy(t.test(x_sample, y_sample))) 

回答

1

我們可以使用replicatemapply。我們複製samplen次'x'和'y',並做t.test爲相應的list元素使用mapply然後tidy的輸出。

n <- 100 
mapply(function(x,y) tidy(t.test(x,y)), 
     replicate(n, sample(x, size=20, replace=FALSE), simplify=FALSE), 
     replicate(n, sample(y, size=20, replace=FALSE), simplify=FALSE)) 
相關問題