:それはt.test
の計算を行っているが、for
以来、ループは常に彼らの暗黙の結果を捨て、あなたはどこにでもそれを格納していません。あなたのベクトルまたはリストを使用しなければならなかった(事前に割り当てられ、常に優れている)ので、のような:
res <- replicate(9, NULL)
for (i in 1:9) {
x <- themeData[themeData$level == i, ]
y <- noThemeData[noThemeData$level == i, ]
res[[i]] <- t.test(x$startTime,y$startTime,
alternative = "less")
}
res[[2]]
これはlist
のためにすべてのテスト「の結果のオブジェクトを」保存されていることに「十分に良い」ことができ後の処理/消費。若干良い方法は、*apply
関数の1つを使用することです。私が思う最初の2つは、ここに直接適用されると思います(lapply
、sapply(..., simplify=FALSE)
)、多少のメリットがありますが、どちらかを選ぶことができます。 (ここでとは違って)テストは長い時間がかかる場合
res <- lapply(c(4, 6, 8), function(thiscyl) {
am0 <- subset(mtcars, am == 0 & cyl == thiscyl)
am1 <- subset(mtcars, am == 1 & cyl == thiscyl)
t.test(am0$mpg, am1$mpg)
})
は、これは特に有益である:あなたがテストを実行し、モデルを維持するので、することができますので、テストを再実行しなくても結果に物事がたくさん。
sapply(res, `[`, "p.value")
# $p.value
# [1] 0.01801712
# $p.value
# [1] 0.187123
# $p.value
# [1] 0.7038727
以上簡潔:
sapply(res, `[[`, "p.value")
# [1] 0.01801712 0.18712303 0.70387268
別の例として、信頼区間、マトリックス中:
t(sapply(res, `[[`, "conf.int"))
# [,1] [,2]
# [1,] -9.8 -1.117892
# [2,] -3.916068 1.032735
# [3,] -2.339549 1.639549
することができますたとえば、場合は、あなただけのp値を望んでいましたたとえば、res[[2]]
という単一のモデルを見てください。しかし、すべてを見る必要がある場合は、ただres
を使用して全体の色域を見ることができます。
res[[2]]
# Welch Two Sample t-test
# data: am0$mpg and am1$mpg
# t = -1.5606, df = 4.4055, p-value = 0.1871
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
# -3.916068 1.032735
# sample estimates:
# mean of x mean of y
# 19.12500 20.56667
今はループ内で何もしません。結果を印刷したいだけですか?ループの中でそれを行います: 'print(t.test(...))' – MrFlick