如何在2个数字之间替换R中的列值

时间:2014-08-23 19:00:47

标签: r analytics

我已将简单的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之间的值的替换

2 个答案:

答案 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