1

reshape2 パッケージを使用してデータを整形し、t-test に使用しています。私にとっては、データを別々の列で視覚化する方が簡単です。「wat」が「spp」内にネストされ、「ins」が水内にネストされた 3 つの治療の組み合わせがあります。私のデモ テーブルには、"tyr"、"esc"、"esc_R" という 3 つの応答変数が含まれています。insが応答にどのように影響するかを見ることに興味があります->「spp」の「tyr」->「Bl」、治療「wat」->高(単なる例)。

ここに私のデータがあります: demo.data

## Use orderBy function to sort data
library(doBy)
demo <- orderBy(~spp+wat+ins, data = demo)
## Create an unique data frame for a specific variable
df.bl.ins.1 <- demo[demo$spp == "Bl", c(1:3, 4)]
df.bl.ins.2 <- df.bl.ins.1[df.bl.ins.1$wat == "High", ]

そして、dcast関数の実行に問題があります。

df.bl.ins.tmp <- dcast(df.bl.ins.2, spp + wat ~ ins, value.var = "tyr")

以下のスレッドで興味深い情報を見つけました

  1. Dasonの提案- ToothGrowth デモ データセットで非常にうまく機能します。残念ながら、テーブルに複数の処理 (2 つ以上) がある場合、解決策は単純ではありませんでした。一意の変数を作成することがこの問題の鍵であるという Maiasaura の提案に同意します。しかし、 function(x) が何をするのか、テーブルでどのように使用するのかを理解するのに苦労しています。

この点でどんな助けでも大歓迎です。

さらに、元のデータ フレームを操作せずに t-test を実行するための別の提案 (デモ) があれば、それを聞いて興奮します。

前もって感謝します。

編集 「tyr」について、私が期待しているものは次のとおりです。次の形式では、t 検定を使用して「いいえ」と「はい」を比較します。

spp wat ins No  Yes
Bl  High    No  0.3036  0.1987
Bl  High    No  0.2577  0.1112
Bl  High    No  NA  0.199
Bl  High    No  0.3299  0.1886
Bl  High    No  0.3301  0.2332
4

1 に答える 1

1

何をしたいのか正確にはわからないかもしれませんが、データに対して線形回帰を直接実行できると思います。このようにして、モデルの係数がゼロかどうかについて t 検定を実行できます。これで十分だと思います。また、独立変数のそれぞれの効果を分解するのにも役立ちます。次に例を示します。

summary(lm(tyr~spp+wat+ins,data=read.table('http://pastebin.com/raw.php?i=sR2MvBBA')))
Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.286386   0.016500  17.356  < 2e-16 ***
sppMan      -0.159514   0.015811 -10.089  1.3e-11 ***
watLow      -0.005501   0.015858  -0.347 0.730861    
insYes      -0.066741   0.015858  -4.209 0.000185 ***

これにより、例で示したグループのみをテストできます。

t.test(tyr~ins,data=df[df$spp=='Bl' & df$wat=='High',])
于 2012-10-19T18:46:33.970 に答える