まず、data.frameは表示されません。 a
とc
はベクターのようです。私は、これらの両方のベクトルの長さが271で、最後の11項目を無視したいとします。したがって、これらのアイテムを先に投げることができます:
a2 <- a[1:260]
c2 <- c[1:260]
ここで、サブセットのインデックスを決定する長さ260のベクトルを作成することができます。 (そここれを行うには多くの方法がありますが、私はこの方法が理解しやすいと思います。)
indices <- as.numeric(cut(1:260, 20))
indices #just to show the output
はおそらく、リストに出力を格納する必要があります。次のコードは、やはり最も効率的ではありませんが、理解しやすいものです。私は願っています
result2 <- lapply(1:20, function(i) t.test(a2[which(indices == i)],
c2[which(indices == i)],
alternative = c("two.sided"),
mu = 0, paired = TRUE, var.equal = TRUE,
conf.level = 0.95))
result[[1]] # ...
:あなたはまた、通常より短く、より効果的かつビットですlapply
を使用することができます(それは、260のデータポイントのために重要ではありません)-loop for
に代わるものとして
result <- list()
for (i in 1:20){
result[[i]] <- t.test(a2[which(indices == i)], c2[which(indices == i)],
alternative = c("two.sided"),
mu = 0, paired = TRUE, var.equal = TRUE,
conf.level = 0.95)
}
result[[1]] #gives the results of the first t-test (items 1 to 20)
result[[2]] # ...
それはあなたの質問に答える。
ごめんなさい、私はデータフレームが大きすぎて乱雑であると考えました。 AとCはデータフレームの列を表します ありがとうございました! – Emilia