【发布时间】:2020-10-26 11:21:22
【问题描述】:
我有一个包含 60 个参与者的许多数字变量的数据框。每个参与者都有每个变量的两个值(干预前和干预期间)。我想在这个数据框中的每个变量上运行配对 t.test
####data frame look like
Log.Name fat protein carbs
before R 19 32 134
during R 21 43 167
before R 32 14 322
during R 25 32 213
before R 42 34 201
during R 34 23 305
我尝试了不同的方法
qw<- matrix(lapply(names(new.averages)[-1], function(x){
t.test(new.averages[new.averages$Log.Name =="before R", x],
new.averages[new.averages$Log.Name=="during R", x], mu=0, alt="two.sided", paired = F)$p.value}))
这不起作用,但如果我将配对更改为 False,它会起作用!但如果 Paired=True 则会出现以下错误
( t.test.default 中的错误(new.averages[new.averages$Log.Name == "before R", : 没有足够的'x'观察)
lapply(new.averages[-1], function(x) t.test(x ~ new.averages$Log.Name, paired=F)$p.value)
当paired=F时这个也可以,但是当paired=F时,它会出现以下错误
complete.cases(x, y) 中的错误:并非所有参数的长度都相同
当我运行个人配对 t.test 时,它可以工作,但是我会花几个小时做很多测试,而我应该一键完成!!
有什么想法吗?
【问题讨论】:
-
欢迎来到 SO。您能否格式化您的代码以使其更具可读性?这将有助于其他人理解您的问题。内联代码使用反引号,代码块使用三重反引号。
标签: r