Показать количество вхождений в pivot_wider

#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. Спасибо вам за помощь! Я действительно задумывался о ценностях, но у меня не было никакого опыта в этом, поэтому я не мог понять, как это работает.