2017-10-06 3 views
0

を満たす値を抽出する:どのようにデータフレームを持っている場合は、例えば一定の基準

D1 <-(DW$Ag, DW$Al, DW$As, DW$Ba) 

*要素

の濃度そして、あなたはshapiro.test を実行し、結果は例えば、以下のとおりです。

   DW.Ag  DW.Al  DW.As  DW.Ba  
statistic 0.9030996 0.5204454 0.9761229 0.9286749 
p.value 0.01000898 8.873327e-09 0.7157865 0.04528581 

あなたはすべてのp値を0.5以下に抽出する必要がありますが、どのようにしますか? は、私が試した:

stat[stat$p.value <= 0.5, ] 
stat[which(lres1$p.value <= 0.5), ] 

(注意:のは、結果の名前がSTAT /リスト含むデータだったとしましょう。..事前に

感謝を

+0

p.valueが.05以下の列を抽出しますか?あるいは、.05以下のp.valuesの名前付きベクトルだけですか? – Tunn

答えて

0

シャピロのためのヘルプページを素早く読み取りテストでは、返されたオブジェクトは、リスト項目は、p値を含む、複数のオブジェクトを含むことを示している。

str(shapiro.test(rnorm(100, mean = 5, sd = 3))) 

をですから、シャピロテストを実行した場合

df <- data.frame(x1 = rnorm(100, mean = 5, sd = 3), x2 = rnorm(100, mean = 5, sd = 3), x3 = rnorm(100, mean = 5, sd = 3), x4 = rnorm(100, mean = 5, sd = 3)) 
list <- lapply(df, shapiro.test) 

str()を使用して結果を検査します。このサンプルデータに対して、4回のテスト実行のp値が見つかります。

str

することは、いくつかのループのコードを使用してそれらを抽出して、あなたは助け

x <- unlist(lapply(list, `[`, 'p.value')) 
x[x <= 0.5] 

希望を行ってもいいです!

+0

Ok - 素晴らしい!それは参考になった - それについてそのように考えなかった。 良い一日を! –

関連する問題