下面的R代码导致**“错误:未找到对象“test””.**
condition <- 1
if(condition == 0)
if(condition == 1)
{
test <- "Pass"
}
print(test)
但是如果我在if条件后添加一个大括号,如下所示,那么它就可以正常工作。
condition <- 1
if(condition == 0){}
if(condition == 1)
{
test <- "Pass"
}
print(test)
我在R中搜索了if condition的结构,发现this page,其中写着花括号是可选的。为什么代码会失败?
2条答案
按热度按时间wlzqhblo1#
这里写着花括号是可选的
if
之后需要有 some 表达式。所以R取它找到的下一个表达式,这恰好是整个后续的if
表达式。所以你的第一个代码被解析,就好像你写了无论如何,你找到的页面是一个质量差的资源,我建议你忘记它;实际上,关于可选的花括号,它实际上是这样说的:
注意花括号是可选的,如果在R中后面没有else条件。
这是假的是否存在
else
(注:根本就没有“else条件”这回事)与大括号是否可选完全无关。页面的其他部分质量也很差。mhd8tkvw2#
为你的原始代码
第一个
if
默认将第二个if
的块作为其语句,等价地,但是由于
condition <- 1
,您永远不会输入内部的if
,因此变量test
根本没有初始化。