有谁能告诉我我的代码有什么问题?当我尝试测试时,我无法获得输出。
Ttest<-function(x,y){
ifelse(shapiro.test(x)$p > 0.05 & shapiro.test(y)$p > 0.05 & var.test(x,y)$p>0.05,
t.test(x,y, var.equal=T, na.rm=T),
ifelse(shapiro.test(x)$p > 0.05 & shapiro.test(y)$p > 0.05 & var.test(x,y)$p<=0.05,
t.test(x,y, var.equal=F, na.rm=T), wilcoxon.test(x,y, na.rm=T)))
}
R输出:
Ttest(A,B)
logical(0)
答案 0 :(得分:3)
我不确定将所有内容都放入函数中的好处。不过,在我看来,您的问题可能与
有关 var.test(x,y)$p>0.05
应该是
var.test(x,y)$p.value>0.05
您只需使用$p
var.test
就可以获得p值。 shapiro.test
如果我执行以下操作......
a<-c(1,3,6,2,4,6,1,4,7,8,4)
b<-c(6,4,7,4,5,7,3,8,6,4,7,8)
Ttest(a,b)
您的输出是
[[1]] t -1.836405