Заменить столбцы меньше порога на 0 - PullRequest
0 голосов
/ 09 октября 2018

У меня есть фрейм данных с 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.,)), но он не работает.Любое руководство приветствуется.

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Используя 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, .)))
0 голосов
/ 09 октября 2018

dplyr:

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

база R:

df[df < 0.05] <- 0
0 голосов
/ 09 октября 2018

Вот один из способов использования базы R

  df[df < 0.05] <- 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...