Я преобразую результаты опроса, включая ответы с несколькими вариантами ответов.Исходные данные выглядят следующим образом:
df <- data_frame(
id = c("a", "b", "c"),
tired = c(T, F, T),
lonely = c(F, F, T),
excited = c(F, T, T)
)
df
# A tibble: 3 x 4
id tired lonely excited
<chr> <lgl> <lgl> <lgl>
1 a TRUE FALSE FALSE
2 b FALSE FALSE TRUE
3 c TRUE TRUE TRUE
Я хотел бы создать новый столбец «чувства», содержащий значения чувств, выраженные респондентом через запятую:
id feelings
<chr> <chr>
1 a tired, excited
2 b excited
3 c tired, lonely, excited
Anпромежуточным шагом будет замена значений ИСТИНА соответствующим именем столбца, чтобы получить:
id tired lonely excited
<chr> <lgl> <lgl> <lgl>
1 a tired excited
2 b excited
3 c tired lonely excited
Для отдельного столбца это просто.Однако, в отличие от примера, в моем фрейме данных много столбцов (10+, обычно не более одного или двух ИСТИННЫХ значений), и поэтому я хотел бы автоматизировать это для нескольких столбцов.Вероятно, одним из решений будет циклическая переброска столбцов и использование поднабора и замены базы, но есть ли для этого элегантный способ dplyr / tidy?
Спасибо за помощь!