为什么 ifelse() 与 R 中的 if(){}else{} 不同

Why ifelse() works different than if(){}else{} in R

有谁知道为什么下面的代码使用 if(){}else{} 结构有效:

if(T){
     y = 1
     }else{y = 0}

但下面使用 ifelse 的会引发错误:

> ifelse(T, y = 1, y = 0)
Error in ifelse(T, y = 1, y = 0) : 
  formal argument "yes" matched by multiple actual arguments

你应该这样使用ifelse(而不是ifelse(...)中的赋值)

y <- ifelse(T,1,0)