我收到此错误:
错误:"其他"中意外的"其他"
从这个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)
这有什么问题?
当我查看R函数时,我经常会发现以下结构:
f <- function(exp=T) {
if (exp)
a <- 1
else
a <- 2
}
f()
f(F)
Run Code Online (Sandbox Code Playgroud)
这将运行没有错误.但是执行内部函数代码会引发错误,因为R可能假定语句在第一次赋值后完成,a <- 1并且无法处理以下其他内容.
exp=T
if (exp)
a <- 1
else
a <- 2
Run Code Online (Sandbox Code Playgroud)
现在,这对我来说很有意义,但我仍然想了解为什么执行代码的行为在函数内部或外部执行时会有所不同.