在 R 定义中:
当 if 语句不在块中时,else(如果存在)必须与语句 2 的结尾出现在同一行。否则 statement2 末尾的新行完成 if 并产生一个被评估的语法完整语句。一个简单的解决方案是使用括在大括号中的复合语句,将 else 与标记语句结束的右大括号放在同一行。
(R语言定义)
所以,'else'必须和'}'在同一行。任何一个
a=2
if (length(a)>1){
b<<-rowSums(c[,-(1:2)][,c(T,F)]) } else {b<<-sum(c[seq(3,length(x),2)]) }
或者
a=2
if (length(a)>1){
b<<-rowSums(c[,-(1:2)][,c(T,F)])
} else {b<<-sum(c[seq(3,length(x),2)]) }
但仍然是一个糟糕的代码/标识模式。我会尝试类似的东西
a=2
if (length(a)>1) {
b<<-rowSums(c[,-(1:2)][,c(T,F)])
} else {
b<<-sum(c[seq(3,length(x),2)])
}
以避免进一步的错误,或建议的“ifelse”功能。