2012-07-25 110 views
3

我在R中使用函数else时遇到了一些困难。 当我输入?else时,我没有得到关于函数else的任何帮助。R中的函数“else”

当我运行下面的程序:

i=1 

if(i>1){print("aa")} 

else{print("bb")} 

else没有工作。有人能告诉我原因吗?

回答

6

得到帮助型

?'else' 

看看在帮助该段

请注意,这是一个常见的错误是忘记把括号({..})在你的语句,如,if(..)或for(...)之后。特别是,您不应该在}和其他之间有一个换行符,以避免在键盘或通过源输入if ... else构造时出现语法错误。因此,防御性编程的一种(有点极端的)态度总是使用大括号,例如if子句。

if(i>1){print("aa") 
}else{print("bb")} 

if(i>1){print("aa")}else{print("bb")} 

大概会为你工作。

i=1 

{ 
if(i>1){print("aa")} 
else{print("bb")} 
} 

也可以工作。关键是让分析器知道需要更多的输入。

+0

谢谢!这真是一个荒谬的错误。 – PepsiCo 2012-07-25 02:30:20

+1

最好远离一条衬里,除非它只是一个简短的结果,例如一个简单的结果。如果(a == 1){doSth()}否则坚持以下语法:http://ideone.com/sl56C – Hansi 2012-07-25 09:01:30