定义值的变量限制

variable limit to define values

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

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 < 2时,我们要赋值1,否则使用现有值

如果我们使用ifelse,试试

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

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

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