#r #tidyr
Вопрос:
У меня есть набор данных с 2 столбцами: Состояние и Месяц.
Я хочу преобразовать этот набор данных в широкий формат с помощью функции pivot_wider() в r. Я попробовал следующее
Data<- fm %>% group_by(State) %>%
pivot_wider(names_from = "Month", values_from = "Month")
Но, похоже, это не работает. Я знаю, что аргумент values_from неверен, но я хочу знать, что там нужно сделать.
Спасибо вам за вашу помощь
Комментарии:
1. Может просто пригодиться
dplyr::count(fm, State, Month)
, чтобы подсчитать количество случаев.2. Большое вам спасибо!!. Это действительно упрощает набор данных, удивляясь, почему я не подумал об этом раньше
Ответ №1:
Мы можем использовать values_fn
для возврата length
или, если есть NA
элементы, получить количество sum
не-NA элементов
library(dplyr)
fm %>%
pivot_wider(names_from = "Month", values_from = "Month",
values_fn = function(x) sum(!is.na(x)), values_fill = 0)
Комментарии:
1. Спасибо вам за помощь! Я действительно задумывался о ценностях, но у меня не было никакого опыта в этом, поэтому я не мог понять, как это работает.