我正在处理 R 中的一些数据,我想更改数据框中某列中的一些数据。我们将此列称为“等离子体”,其中有大量正值,但也有相当多的负值。我现在不想担心比 -1 更负的值。
相反,在处理这些异常值之前,我想首先将等离子列中 -1 和 0 之间的任何值舍入到 0。
我该如何实现这个目标?谢谢您的帮助!
我对代码很陌生,我确信我可以在网上找到一些关于将负值变成零的东西,但我不太确定在一系列数字之间将这些值更改为 0。
p <- mydf$plasma
mydf$plasma <- ifelse(p>(-1) & p<0, 0, p)
在匹配位置使用
ceiling
的方法。
pos <- with(dat, plasma < 0 & plasma > -1)
dat$plasma[pos] <- ceiling(dat$plasma[pos])
dat
plasma
1 -2.074030
2 -2.185377
3 1.069302
4 -1.652238
5 0.000000
6 0.000000
7 -1.182942
8 1.826667
9 0.000000
10 -1.025324
set.seed(42)
dat <- data.frame(plasma = (0.5-runif(10))*5)