在R中编写if T语句的if语句

时间:2014-10-01 03:55:35

标签: r

有谁能告诉我我的代码有什么问题?当我尝试测试时,我无法获得输出。

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)

1 个答案:

答案 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