我已经编写并成功执行了基本的代码行:
if((new.weather.2013) > cut.point.90 | (new.weather.2013) < cut.point.015) {print("Weather is extreme")} else {print("Weather is not extreme")}
我想把它变成一个可重复的功能。我对R来说还是比较陌生的,我很难让它运转起来。这是我到目前为止尝试过的(没有奏效):
weather.test <- function(test.weather)
{
if((test.weather) > cut.point.90 |
(test.weather) < cut.point.015)
return{print ("Weather is extreme")} else
return{print ("Weather is not extreme")}
}
有人能指出我正确的方向吗?
编辑:详细说明,我正在取一个数值,在函数中运行它以确定该值是否是一个极端异常值(即落在切割点之外)。如果它确实超出了这些点,那么它被认为是极端的,我想要返回那个声明。如果它不超出这个极端范围,那就认为是正常的,我想回归“天气不是极端”。如果你看到上面的陈述,那就像我在这里做的那样;我只是想让它成为一个可重复的功能。
答案 0 :(得分:3)
我想你想要
weather.test <- function(test.weather) {
ifelse((test.weather > cut.point.90 |
test.weather < cut.point.015),
"Weather is extreme",
"Weather is not extreme")
}
#test
cut.point.90 = .9
cut.point.015 = .015
weather.test(c(0,.5,1))
ifelse()是可以对向量进行操作的标准if语句的向量化形式