r 中的 T 检验:如何使用 lapply 函数更改 t 检验的 x 和 y 参数
Posted
技术标签:
【中文标题】r 中的 T 检验:如何使用 lapply 函数更改 t 检验的 x 和 y 参数【英文标题】:T test in r: How to change the x and y arguments of a t-test using a lapply function 【发布时间】:2020-10-18 10:21:54 【问题描述】:我有这个数据框:
我正在使用这种 lapply 方法执行 t_test:
columns = colnames(my_data)[-1]
my_t_test<-lapply(my_data[columns], function(x) t.test(x~my_data$Treatment,alternative='less'))
但似乎 t_test 采用了x=my_data$Control
和y=my_data$Stress
,使得结果毫无意义。由于我正在测试另一种假设,即$Stress
组中的均值差异较小,我希望 x 参数为my_data$Stress
。并且选项是更改为alternative='greater'
,但这是一种糟糕的方法,另一个选项是更改我的数据框中组的顺序,但我正在寻找一种编程解决方案。
有什么建议吗?
【问题讨论】:
你有factor
栏目吗?在这里,您使用的是公式方法。最好是function(x) t.test(val ~ Treatment, data = data.frame(val = x, Treatment = my_data$Treatment))
我觉得你很困惑。如果这是您的数据框在 R 控制台会话中显示的方式,那么列名,即。变量名是“21”、“28”、“35”、...
@akrun,不工作,顺便说一下,我改变了我的数据框的顺序,把压力行放在第一位,但结果是一样的。我很困惑
@DavidLópez 你能用dput
这个例子来测试吗?谢谢
【参考方案1】:
我们可以通过遍历列名向量来对“my_data”的列进行子集化后使用公式方法
lapply(columns, function(nm) t.test(.~ Treatment, my_data[c('Treatment', nm)]))
【讨论】:
以上是关于r 中的 T 检验:如何使用 lapply 函数更改 t 检验的 x 和 y 参数的主要内容,如果未能解决你的问题,请参考以下文章