“else”错误中出现意外的“else”

2024-04-02

我收到此错误:

错误:“else”中出现意外的“else”

由此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)       } }

这有什么问题吗?


您需要重新排列大括号。您的第一个语句已完成,因此 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)       
} 

更简单地说,如果您有:

if(condition == TRUE) x <- TRUE
else x <- FALSE

然后 R 读取第一行,并且因为它是完整的,所以完整地运行它。当它到达下一行时,它会变成“否则?否则什么?”因为这是一个全新的声明。要让 R 将 else 解释为前面 if 语句的一部分,您必须使用大括号来告诉 R 您尚未完成:

if(condition == TRUE) {x <- TRUE
 } else {x <- FALSE}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“else”错误中出现意外的“else” 的相关文章

随机推荐