如何在 R 的列中将 -1 和 0 之间的值舍入为 0?

问题描述 投票:0回答:2

我正在处理 R 中的一些数据,我想更改数据框中某列中的一些数据。我们将此列称为“等离子体”,其中有大量正值,但也有相当多的负值。我现在不想担心比 -1 更负的值。

相反,在处理这些异常值之前,我想首先将等离子列中 -1 和 0 之间的任何值舍入到 0。

我该如何实现这个目标?谢谢您的帮助!

我对代码很陌生,我确信我可以在网上找到一些关于将负值变成零的东西,但我不太确定在一系列数字之间将这些值更改为 0。

r dataframe if-statement conditional-statements rounding
2个回答
1
投票
p <- mydf$plasma
mydf$plasma <- ifelse(p>(-1) & p<0, 0, p)

0
投票

在匹配位置使用

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)
© www.soinside.com 2019 - 2024. All rights reserved.