我想在另一列内的特殊代码之后,在两列值之间执行bartlett.test,我想在所有组上应用此函数并将其运行到Rmarkdown中,并将所有结果存储到数据中。帧。因此,这是我的数据的一个简短示例(我的第一列中有更多组)。
structure(list(moda = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L), .Label = c("BS1", "HW1", "PG"), class = "factor"),
t0 = c(1.5, 1.5, 2, 1, 1.5, 1.2, 1, 2.4, 1.3, 1.4, 1.7, 2,
1.8, 2.3, 2.5, 2.5, 1.5, 1.5, 2, 2.1, 1.8, 1.3, 2, 1.5, 2,
3.5, 1.5, 1.7), t14 = c(1.5, 1.5, 2, 1, 1.5, 1.2, 1, 2.4,
1.3, 1.4, 5, 7, 2.5, 6.5, 5.4, 5, 6, 5.7, 7, 3.5, 4.7, 4.5,
5.9, 5, 6, 7, 6, 5.5)), class = "data.frame", row.names = c(NA,
-28L))
result_list <- by(data1, data1$moda, function(sub_data) {
res <- t.test(sub_data$t0, sub_data$t14, mu=0, alt="two.sided",
paired = TRUE, conf.level = 0.95)
output <- c(t_stat=unname(res$estimate), p_value=res$p.value)
})
result_matrix <- do.call(rbind, result_list)
result_matrix
有人给了进行t.test的方式,但是我知道执行bartlett.test。也许我可以通过wilcox.test了解它是如何工作的。
t.test between two columns following a specific code on a third column