我知道以前曾针对其他情况问过这个问题,但是没有一个答案与我的情况相符。我一直在努力,但是没有使它适用于我的代码。我相信有一个简单的解决方案,感谢您的帮助。
我的数据如下:
start <- as.POSIXct("2018-05-18 00:00")
tseq <- seq(from = start, length.out = 1440, by = "10 mins")
Measurings <- data.frame(
Time = tseq,
Temp = sample(10:37,1440, replace = TRUE, set.seed(seed = 10)),
Variable1 = sample(1:200,1440, replace = TRUE, set.seed(seed = 187)),
Variable2 = sample(300:800,1440, replace = TRUE, set.seed(seed = 333))
)
Measurings$heat25 <- ifelse(Measurings$Temp >= 25 ,"summer", "normal")
Measurings$heat30 <- ifelse(Measurings$Temp > 30 ,"heat", "normal")
这有效,我需要使用“列”来根据温度值选择数据。 现在,我需要一个新列来指示温度是否在25°C和30°C之间。我希望能够结合这样的测试参数:
Measurings$summer <- ifelse(Measurings$Temp >= 25 && < 30, "summer", "rest"))
但是我得到一个错误。
如何简单地添加新列以指示Temp
是否在25°C和30°C之间?
感谢您的帮助!
答案 0 :(得分:0)
您需要稍微修改代码
Measurings$summer <- ifelse(Measurings$Temp >= 25 & Measurings$Temp < 30, "summer", "rest"))
您只需使用单个&
运算符即可进行矢量化操作