R if / else in function

时间:2018-05-23 19:09:43

标签: r function if-statement

我试图让以下函数用于缓冲属性,但是我无法在函数中使用if elseif。它给出以下错误:"条件的长度> 1,只使用第一个元素"。我希望有人能提出解决方案或替代方案。

示例:

x <- data.frame(runif(100, 0, 100))
colnames(x) <- "test"

WINSORIZE <- function(x){
  WIN_MEAN <- mean(x)
  WIN_SD <- sd(x)
  WIN_UPPER <- sum(WIN_MEAN + (3 * WIN_SD))
  WIN_LOWER <- sum(WIN_MEAN - (3 * WIN_SD))
  if(x > WIN_UPPER){ 
    WIN_UPPER
  } else if (x < WIN_LOWER) {WIN_LOWER
    } else x
}

WINSORIZE(x$test)

0 个答案:

没有答案