簡體   English   中英

從apply函數提取p值

[英]p.value extraction from an apply-function

我只想從apply函數中提取p值。 我在幾列(AD)上進行了幾項統計檢驗(shapiro檢驗,kruskal-Vallis和ANOVA)。 它可以自動運行,但是我總是得到整個列表作為結果。

我的data.frame被稱為data1。

b <-apply(data1 [,c(“ A”,“ B”,“ C”,“ D”)],2,shapiro.test); b

如果將$ p.value或$ p.val添加到函數中,則結果顯示為“ NULL”(“零”)。

b <-apply(data1 [,c(“ A”,“ B”,“ C”,“ D”)],2,shapiro.test)$ p.val

b $ p.val NULL

在這件事上有人可以幫助我嗎?

SR

apply您將獲得shapiro.test對象的列表。 要將列表中的值提取到data.frame中,您可以:

b<-apply(data1[,c("A", "B","C","D")],2,shapiro.test)
do.call(rbind,lapply(b,function(v){v$p.value}))

這會給你一個data.frame一個p.value每行。

使用mtcars構建可重現的示例:

b<-apply(mtcars[,c("disp","hp","drat","wt","qsec")],2,shapiro.test)
do.call(rbind,lapply(b,function(v){v$p.value}))

其產生的data.frame p.value值。

          [,1]
disp 0.02080657
hp   0.04880824
drat 0.11006076
wt   0.09265499
qsec 0.59351765

暫無
暫無

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

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