2017-06-27 1 views
0

背景:CSVファイルがDと呼ばれるように私は(あなたのRにそれをロードしてください)私のデータセットを持っている:Rで既にサブセット化されたベクトルから対応する値を見つける?

D = read.csv("https://docs.google.com/uc?id=0B5V8AyEFBTmXWU40TUZGTURQWlU&export=download") 

私は私のデータから2量を取得するには、次の機能を使用します()あなたのRするためにソースしてください:

source("https://docs.google.com/uc?id=0B5V8AyEFBTmXWTk0LWhaMkY2b3M&export=download") 

次のように2つの量が得られる:

b = BF.d.pvalue(t = D$t.value, n1 = D$n1, n2 = D$n2) 
BF = b[1, ] ; p.value = b[2, ] 

サブセット詳細:私は.05より大きいp.valueサブセット化しており、彼らのはBFの対応:

BF.pvalue.05_1_.1_.33 = BF.pvalue.05_1[BF.pvalue.05_1 > 1/10 & BF.pvalue.05_1 <= 1/3] 

質問:1/101/3の間にある、私はさらにBF.pvalue.05_1をサブセット化している

pvalue.05_1 = p.value[p.value > .05] ; 
BF.pvalue.05_1 = BF[p.value > .05]` 

を:今私はどのように対応することがわかります上記のBF.pvalue.05_1_.1_.33の?

答えて

1

これを行う好ましい方法は、データをdataframeに結合してから、subsetコマンドを使用してフィルタリングすることです。

myDf = data.frame(p = p.value, BF = BF) 
head(myDf) 
#    p   BF 
# 1 2.274873e-06 6.241835e+03 
# 2 3.811612e-02 1.736017e+00 
# 3 0.000000e+00 2.592434e+147 
# 4 0.000000e+00 1.982820e+130 
# 5 0.000000e+00 1.315152e+29 
# 6 9.992007e-15 4.442134e+11 

は今、あなたのデータ 行方向をサブセットたび、あなたは p値と BF値の両方にアクセスできます。

firstSubset = subset(myDf, p > .05) 
dim(firstSubset) 
# [1] 175 2 

secondSubset = subset(firstSubset, BF > .1 & BF < 1/3) 
dim(secondSubset) 
# [1] 76 2 

head(secondSubset) 
#   p  BF 
# 28 0.8518770 0.3131790 
# 34 0.9358011 0.2910234 
# 35 0.9302671 0.2911639 
# 52 0.6825720 0.3101911 
# 88 0.7201547 0.2770751 
# 96 0.6472360 0.2868055 

また、あなたは両方の条件simultaniousely

secondSubset = subset(myDf, (BF > .1) & (BF < 1/3) & (p > .05)) 
+0

いや、( 'A' *と* 'B')の否定である(ない' A' *または*ない 'B'を使用することができます)。 –

+0

あなたが( '(p> .05)'と 'BF> .1')を否定すると、あなたは( '(p <.05)'または 'BF <=。1')。あなたがそれをするのはあなた次第です。 –

+0

別の質問がある場合は、新しい質問をしてください。これは私が推測する論理/数学にもっと関連しているかもしれません。だから[この投稿](https://math.stackexchange.com/questions/320678/de-morgans-theorem-for-3-variables)をチェックして、新しい質問を[math.stackexchange.com]に投稿してください(https ://math.stackexchange.com) –

関連する問題