将小于阈值的列替换为 0

  • 本文关键字:替换 小于 阈值 r
  • 更新时间 :
  • 英文 :


我有一个有 200 列的数据帧。我想使用 dplyr 来清理数据,以便每个小于 0.05 的数字都替换为 0。下面粘贴了一个示例df

df
0.07262
0.039885
0.090173
0.124043
0.09201
0.068309
0.146381
0.09127
0.060768
0.111031

这是期望的结果。

df
0.07262
0
0.090173
0.124043
0.09201
0.068309
0.146381
0.09127
0.060768
0.111031

这是我的代码:df2 <- mutate_all(ifelse(<0.05,0.,))但它不起作用。欢迎任何指导。

这是使用基本 R 的一种方法

df[df < 0.05] <- 0

dplyr:

df <- mutate_all(df, funs(ifelse(. < 0.5, 0, .)))

基数 R:

df[df < 0.05] <- 0

使用dplyr,可以在之前定义函数,然后在mutate_all中调用它

smallToZero <- function(x) {if_else(x<.05, 0, x)}
df2 <- 
df %>% 
mutate_all(smallToZero)

您也可以使用 . 作为:

df2 <- 
df %>% 
mutate_all(funs(if_else(.<.05, 0, .)))

最新更新