R中的条件值赋值:方法和最佳实践的比较

时间:2019-07-03 20:59:32

标签: r if-statement

假设我想根据其他变量为x分配不同的值。如果只有两个条件,我可以使用ifelse。对于两个以上的条件,我将使用if-else语句。例如,假设我要进行以下分配:

  • x <- 1,如果y > 10 & y <= 20
  • x <- 2,如果y > 20 & y <= 30
  • x <- 3,如果y > 30 & y <= 50

通常,我将以以下方式(方法1)实现此目标:

if (y > 10 & y <= 20) {
  x <- 1
} else if (y > 20 & y <= 30) {
  x <- 2
} else if (y > 30 & y <= 50) {
  x <- 3
} 

但是我最近看到了另一种方式(方法2):

x <- if (y > 10 & y <= 20) {
  1
} else if (y > 20 & y <= 30) {
  2
} else if (y > 30 & y <= 50) {
  3
}

问题:

  • 方法1和方法2之间有什么区别,除了 我应该了解的个人偏好(例如表现)?
  • 如果有的话,两种方法的优缺点是什么?
  • 您还会推荐其他方法吗?

0 个答案:

没有答案