我收到此错误:
错误:"其他"中意外的"其他"
从这个if, else声明:
if (dsnt<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE) }
else {
if (dst<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE) }
else {
t.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE) } }
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
seb*_*n-c 79
你需要重新排列大括号.您的第一个语句已完成,因此R将其解释为此类并在其他行上生成语法错误.您的代码应如下所示:
if (dsnt<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else if (dst<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else {
t.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
}
Run Code Online (Sandbox Code Playgroud)
更简单地说,如果你有:
if(condition == TRUE) x <- TRUE
else x <- FALSE
Run Code Online (Sandbox Code Playgroud)
然后R读取第一行,因为它完整,完整地运行.当它到达下一行时,它会变成"Else?还有什么?" 因为这是一个全新的陈述.要让R将else解释为前面if语句的一部分,你必须使用大括号告诉R你还没有完成:
if(condition == TRUE) {x <- TRUE
} else {x <- FALSE}
Run Code Online (Sandbox Code Playgroud)
我建议稍微阅读一下语法.看这里.
if (dsnt<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else if (dst<0.05) {
wilcox.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
} else
t.test(distance[result=='nt'],distance[result=='t'],alternative=c("two.sided"),paired=TRUE)
Run Code Online (Sandbox Code Playgroud)