我有一个包含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.,))
,但是它不起作用。欢迎任何指导。
答案 0 :(得分:3)
这是使用基数R的一种方法
df[df < 0.05] <- 0
答案 1 :(得分:1)
使用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, .)))
答案 2 :(得分:1)
dplyr:
df <- mutate_all(df, funs(ifelse(. < 0.5, 0, .)))
基本R:
df[df < 0.05] <- 0