Я хотел бы взять список (или отфильтровать) набор столбцов с одинаковыми именами в кадре данных, оценить значение этих столбцов для каждой строки, а затем создать новый столбец с результатом.
Сейчас я использую case_when
, но я не знаю, как предоставить какой-либо подстановочный знак или список определенных столбцов.
Я хотел бы взять список или создать фильтр столбцов, потому что я хочу оценивать несколько столбцов в кадре данных, а не просто несколько. Наличие длинного списка столбцов в case_when
кажется неэффективным, когда имена столбцов очень похожи друг на друга.
# Dummy data
ignore1 <- c(1, 0, 0)
ignore2 <- c(1, 0, 1)
col1 <- c(0, 1, 0)
col2 <- c(0, 1, 1)
col3 <- c(0, 1, 0)
df <- data.frame(ignore1, ignore2, col1, col2, col3)
df %>%
mutate(evaluation = case_when(
col1 == 0| col1 == 0 | col1 == 0 ~ "Failed",
TRUE ~ "Passed"
)
)
Это ожидаемый результат:
ignore1 ignore2 col1 col2 col3 evaluation
1 1 1 0 0 0 Failed
2 0 0 1 1 1 Passed
3 0 1 0 1 0 Failed
, где проходит строка 2, потому что col1
, col2
, col3
all имеют значение 1
.