unexpected uncaught traduccion syntaxerror significa rejection que missing end argument after r if-statement

uncaught - Inesperado ''else'' en el error "else"



unhandled rejection(syntaxerror): unexpected end of input (2)

Me sale este error:

Error: inesperado ''else'' en "else"

De esta declaración 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) } }

¿Qué está mal con esto?


Necesita reorganizar sus llaves. Su primera afirmación está completa, por lo que R la interpreta como tal y produce errores de sintaxis en las otras líneas. Tu código debe verse así:

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

Para decirlo de manera más simple, si tienes:

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

Luego R lee la primera línea y, como está completa, la ejecuta en su totalidad. Cuando llega a la siguiente línea, dice "¿De lo contrario? ¿Y qué?" porque es una declaración completamente nueva. Para que R interprete lo demás como parte de la sentencia if anterior, debe tener corchetes para decirle a R que aún no ha terminado:

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


Sugeriría leer un poco sobre la sintaxis. Mira aquí.

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)