我已将简单的CSV文件导入数据框。在特定列中,我想将15.0下的所有值替换为15.0,所有值都高于25.0 25.0,所有值都介于15.0和25.0之间,20.0。
以下代码段适用于第一项任务,切换方向指示符并将“15”替换为“25”可以很好地完成第二项任务。
ff$temp[ ff$temp<15 ] <- 15
如何用20?
完成15到25之间的值的替换答案 0 :(得分:1)
set.seed(25)
v1 <- sample(5:35, 25, replace=TRUE)
c(15, 20, 25)[cut(v1, breaks=c(-Inf, 15, 25, Inf), labels=FALSE)]
#[1] 20 25 15 25 15 25 20 15 15 15 15 20 25 20 25 15 20 25 20 25 15 20 15 15 15
答案 1 :(得分:1)
您可以使用相同的前提,只需使用第二个逻辑运算符来捕获&#34;之间的&#34;值。
例如,
> ff <- data.frame(temp = c(14, 17, 19, 24, 30))
> within(ff, temp[temp > 15 & temp < 25] <- 20)
# temp
# 1 14
# 2 20
# 3 20
# 4 20
# 5 30