R заменить данные на NA - PullRequest
       8

R заменить данные на NA

2 голосов
/ 18 апреля 2019

Здесь у меня есть таблица с некоторыми наблюдениями на разных глубинах, где я хотел бы заменить Значение нескольких наблюдений на NA, если Значение Наблюдения 7 отрицательно, но в противном случае оно должно сохранять свое значение. Например, если obs 7 по глубине = 2 является отрицательным (например, -8), замените значения наблюдений 1,2,7 и 9 на NA. В противном случае ничего не делать

worksheet <- some_data%>%
do_some_stuff%
mutate_at(vars(obs7,obs1,obs2,obs9), if_else(obs7<=0,NA, ??)

1 Ответ

4 голосов
/ 18 апреля 2019

Здесь нам нужно только изменить значения в столбце, где «ob7» меньше или равно 0. В этом случае часть «да» будет NA, а «нет» будет данными сам столбец. В Tidyverse это будет представлено как ., так как есть ~

library(tidyverse)
some_data %>%
      mutate_at(vars(obs7, obs1, obs2, obs9), list(~ ifelse(ob7 <= 0, NA, .)))

ПРИМЕЧАНИЕ. Здесь мы используем ifelse вместо if_else, так как if_else относится именно к проверке типов, и из вопроса неясно, какой тип интересующих столбцов. Если столбцы целочисленные, то замените NA на NA_integer_, а если оно двойное, NA_real_ в пределах if_else

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