Я пытаюсь заменить значения в значениях NA на несколько столбцов, если выполняется условие.
Вот пример набора данных:
library(tidyverse)
sample <- tibble(id = 1:6,
team_score = 5:10,
cent_dept_test_agg = c(1, 2, 3, 4, 5, 6),
cent_dept_blue_agg = c(15:20),
num_in_dept = c(1, 1, 2, 5, 100, 6))
Я хочу столбцы, содержащие cent_dept_ . * _ agg быть NA, когда num_in_dept равен 1, поэтому это выглядит так:
library(tidyverse)
solution <- tibble(id = 1:6,
team_score = 5:10,
cent_dept_test_agg = c(NA, NA, 3, 4, 5, 6),
cent_dept_blue_agg = c(NA, NA, 17:20),
num_in_dept = c(1, 1, 2, 5, 100, 6))
Я пытался использовать replace_with_na_at (из пакета nanier ) и na_if (из пакет dplyr ), но я не могу понять это. Я знаю, что мои критерии выбора верны (dplyr :: match ("cent_dept _. * _ Agg"), но я не могу найти решение.
В моем фактическом наборе данных у меня есть много столбцов, которые начинаются с cent_dept и заканчивайте agg, поэтому очень важно, чтобы выбранные пользователи соответствовали компоненту.
Спасибо за помощь!