我有一个有 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, .)))