Я пытаюсь использовать функцию tidyselect
where
с pivot_longer
и получаю сообщение об ошибке, что пакет tidyselect
не поддерживает предикаты. Это казалось несколько неразумным, так что, скорее всего, у меня синтаксическая ошибка. (Я понимаю, что SO не предназначен для отладки кода.) Я думаю, что это помогло бы мне лучше понять, если бы кто-нибудь мог показать мне, как выполнить sh эту задачу.
d <- dplyr::tribble(
~cups, ~glasses,
"YES", "NO",
"NO" , "YES",
"YES", "NO",
"YES", "NO",
"NO" , "YES",
"YES", "NO",
"NO" , "YES",
"NO" , "YES",
"YES", "NO",
"NO" , "YES",
"YES", "NO",
"NO" , "YES",
"abc", "def"
) %>%
mutate(id = row_number())
Это дает желаемый результат.
the_columns_I_want <- c('cups','glasses')
d %>%
pivot_longer(all_of(the_columns_I_want),values_to = 'result', names_to = 'group')
Но я хочу выбрать определенные типы полей.
d %>%
pivot_longer(where(is.character),values_to = 'result', names_to = 'group')
d %>%
select(where(is.character))