2013-04-30 18 views
0

這是R的其餘部分我需要幫助以基本格式噸測試在個人列和給定的數據幀

 NAC  cOF3  APir  Pu  Tu  V2.3  mOF3  DGpf 
1 6.314770 6.181188 6.708971 6.052134 6.546938 6.079848 6.640716 6.263770 
2 8.825595 8.740217 9.532026 8.919598 8.776969 8.843287 8.631505 9.053732 
3 5.518933 5.982044 5.632379 5.712680 5.655525 5.580141 5.750969 6.119935 
4 6.063098 6.700194 6.255736 5.124315 6.133631 5.891009 6.070467 6.062815 
5 8.931570 9.048621 9.258875 8.681762 8.680993 9.040971 8.785271 9.122226 
6 5.694149 5.356218 5.608698 5.894171 5.629965 5.759247 5.929289 6.092337 

的數據幀和精簡採取的t檢驗任務的R每列與所有其他列相結合。我還需要p值,我打算通過一些變化來獲得:

#t-test 
test.result = mapply(t.test, select.column, other.columns) 
#store p-values 
p.values = stack(mapply(function(x, y) t.test(x,y)$p.value, select.column, other.columns)) 

還是會AOV()是這樣的分析更好的選擇?

+1

具有常見事後檢驗(例如Tukey's)的ANOVA是更好的替代方法,因爲它可以降低1類錯誤的風險 – Ben 2013-04-30 20:37:35

回答

2
sapply(names(dat), function(x) 
     sapply(names(dat), function(y) t.test(dat[[x]],dat[[y]])$statistic)) 

可以使用函數t.test中列表中返回的任何值。也可能在combn(names(dat), 2)的結果中循環,這將是choose(n,2)矩陣。 (矩形矩陣有明顯的多餘結果)顯然需要對多個測試進行合理的調整。可以使用p.adjust

相關問題