說,我有N個相同的(相同的行數和列)dataframes:應用功能在多個dataframes每個小區中的R
set.seed(2)
df1 <- data.frame(replicate(100,rnorm(100)))
df2 <- data.frame(replicate(100,rnorm(100)))
dfN <- data.frame(replicate(100,rnorm(100)))
我要應用一個函數(在這種情況下t.test()
)跨每個 N個數據幀的「單元」,以便返回的是一個單獨的數據幀,它包含每個執行的單元測試的值。從本質上講,我想利用每一個數據幀的第一個單元格,
one <- df1[1,1]
two <- df2[1,1]
Nth <- dfN[1,1]
執行這些細胞t.test()
,
first.cell.each <- cbind.data.frame(one,two,Nth)
t.test(first.cell.each, mu=0)
並重復所有細胞(在這種情況下10000)。
編輯:澄清
@ZheyuanLi,我的道歉,我應該更清楚。在行數和列數方面相同。 – DrPineapple
您正在使用錯誤的數據結構。將data.frames合併到一個數組中並使用apply。 – Roland
您現在可以使用新的'tidyr'軟件包來合併多個數據框並將其數據組合起來。請參閱https://blog.rstudio.org/2014/07/22/introducing-tidyr/ – smci