【发布时间】:2022-01-09 03:21:44
【问题描述】:
我有几个数据集,每个数据集都针对一个特定的时间点,每个数据集都包含多个度量值。对于它们中的每一个,我想对每个度量进行一个样本 t 检验,因此跨越所有列。每个度量都有一个不同的 mu 值,我想将结果与之进行比较。我已经尝试创建一个函数来执行此操作,因此我只需将数据集的名称作为参数给它。我创建了一个 mu 值列表。但是,该函数不接受这个,我得到一个错误。 这是一个示例数据集:
t1 <- rnorm(20, 10, 1)
t2 <- rnorm(20, 10, 1)
t3 <- rnorm(20, 10, 1)
test_data <- data.frame(t1, t2, t3)
还有 mu 值和变量的列表:
muvals <- c(24, 51.8, 21.89)
varlist <- c(t1, t2, t3)
这是我对该功能的尝试:
onett <- function(tpoint) {
t.test(tpoint$varlist, mu = muvals)
}
我得到的错误信息是: t.test.default(tpoint$varlist, mu = muvals) 中的错误: 'mu' 必须是单个数字
有没有办法让这个函数工作,或者以其他方式遍历每一列和 mu 值列表?
编辑:每个 mu 值仅适用于一列。所以第一列的第一个值等等。
【问题讨论】:
-
在 R 中有几种很好的循环方式,有些比其他的更整洁!可以准备一个答案,但知道你正在寻找什么样的输出会很有帮助。你想让它打印所有(九个)t检验结果吗?或者将输出存储在某处?
-
是的,如果我可以存储测试的值会很有帮助
标签: r statistics t-test