この質問は、私がここで作成した前の質問と似ています。行からランダムに値を合計し、Rの2つの列に割り当てます。
私はRに問題があるので、この質問はプログラミングと統計の両方に関するものです。私は両方に非常に新しいです。
1つの列に219件の件名があるdata.frameがあります。残りの列は7で、各行には、実験の2つの条件にさらされたときの特定の被験者の応答時間の違いを表す数値があります。
これはデータがどのように見えるかです(私はhead関数を使用しています、そうでなければ長すぎます):
> head(RTsdiff)
subject block3diff block4diff block5diff block6diff block7diff
1 40002 0.076961798 0.046067460 -0.027012048 0.017920261 0.002660317
2 40004 0.037558511 -0.016535211 -0.044306743 -0.011541667 0.044422892
3 40006 -0.017063123 -0.031156150 -0.084003876 -0.070227149 -0.113382784
4 40008 -0.015204017 -0.009954545 -0.004082353 0.006327839 0.022335271
5 40009 0.006055829 -0.045376437 -0.002725572 0.016443182 0.032848128
6 40010 -0.003017857 -0.034398268 -0.034476491 0.014158824 -0.036592982
block8diff block9dif
1 0.03652273 0.037306173
2 -0.08032784 -0.150682051
3 -0.09724864 -0.060338684
4 -0.04783333 0.006539326
5 -0.01459465 -0.067916667
6 -0.01868126 -0.034409584
私が必要としているのは、すべてのサブジェクト(つまり、すべての行)に対して、3つまたは4つの値をサンプリングし、それらを平均して、新しいベクトル(half1と呼ばれる)に追加するコードです。ベクトルhalf2は、最初の試行でサンプリングされなかった値の平均を持っている必要があります。
したがって、作成したいdata.frameが「RTshalves」と呼ばれるとすると、最初の列はRTsdiffのサブジェクトの同じ列である必要があり、2番目の列は最初の行にランダムに選択された値の平均を持っている必要があります。最初の被験者に対応し、2番目の列には、最初のサンプリングで選択されなかった最初の被験者の値の平均が含まれている必要があります。列2と3の2行目は同じ情報である必要がありますが、今回はサブジェクト2(私のdata.frameのサブジェクト40004)などで、219件のサブジェクトに到達するまで続きます。
最初のサンプルがサブジェクト1の3つの値(block3diff、block5diff、block9diff)をランダムに選択したため、block4diff、block6diff、block7diff、block8diffの値が自動的に残りの半分に対応するとします。次に、(219行の最初の行のみを考慮して)私が期待するものは次のとおりです。
Subject Half1 Half2
40002 0.02908531 0.02579269
誰かがこの背後にある統計に興味があるなら、私はテストの一貫性をチェックするために半分に分割された信頼性テストをしようとしています。理論的根拠は、RT平均の差が効果の信頼できる推定量である場合、1人の参加者のブロックの半分の差をブロックの残りの半分の差と相関させる必要があるということです。
ヘルプは大歓迎です。前もって感謝します。