R中的多个If语句

Bla*_*Hat 8 if-statement r

我一直试图弄清楚这一天,但无济于事.我有一个if语句,旨在满足四个可能的条件.

  1. 存在且B不存在
  2. B存在且A不存在
  3. A和B存在
  4. A和B不存在

A,B,C是数据帧.

这是我的代码:

if (!exists("A") & exists("B")) {
  C= B} 
else if (exists("A") & !exists("B")) {
  C= A}
else if (exists("A") & exists("B")) {
  C= rbind(B,A)} 
else {C <- NULL}
Run Code Online (Sandbox Code Playgroud)

我一直在意外的"}"和意外的"其他"上收到错误.我已经遵循了几个例子,但仍面临着这一挑战.任何指针都将非常感激.谢谢.

Mam*_*zal 12

试试这个

if (!exists("A") & exists("B")) {
    C= B
} else if (exists("A") & !exists("B")) {
    C= A
} else if (exists("A") & exists("B")) {
    C= rbind(B,A)
} else {C <- NULL}
Run Code Online (Sandbox Code Playgroud)


小智 8

一个简单的解决方案是使用包含在大括号中的复合语句,将与else标记语句结尾的右大括号放在同一行,如下所示:

if (condition 1) {
    statement 1
} else if (statement 2) {
    statement 2
} else {
    statement 3
}
Run Code Online (Sandbox Code Playgroud)

如果您的if语句不在块中,则该else语句必须出现在与statement 1上面结尾相同的行上.否则,最后的新行statement 1完成if并生成一个语法完整的语句,然后进行评估.

以上或多或少是3.2.1节的引用.在R语言定义中(http://cran.r-project.org/doc/manuals/R-lang.pdf).希望有帮助:)