变量限制来定义值

时间:2015-08-12 07:37:59

标签: r if-statement with-statement

我有一个简单的问题,所以我们来一些基本的数据

a <- rnorm(100, mean=1, sd = 0.1)
b <- rnorm(100, mean=5, sd = 2)
c <- data.frame(a,b)

现在我想重新定义C $ B,如果它低于限制,用户手动定义它将采用的新变量,如果它高于此限制,则值与之前相同

c$b <- with(c, ifelse(b < 2, 1, # leave as exsiting value #))

所以当b&lt; 2,我们要指定值1,否则使用exisitng值

1 个答案:

答案 0 :(得分:0)

如果我们使用ifelse,请尝试

 c$b <- with(c, ifelse(b < 2, 1, b))

这甚至不需要ifelse。我们可以在'b'列(c$b <2)中获取小于2的逻辑索引,并将这些值分配给1。

c$b[c$b<2] <- 1