Продолжайте получать ошибку: ожидание единственного значения: [экстент = 2] в итоге - PullRequest
0 голосов
/ 03 апреля 2020

Продолжайте получать эту ошибку при запуске приведенного ниже сценария - с использованием суммирования в пакете dplyr

analysis <- df %>% group_by(Year, Week, YearWeek, Cad.Name, CamName, Abs.ID, Place.Name, Pull.Name) %>% 
  summarise(visits=sum(Visits)) %>%
  group_by(Year, Week, YearWeek, Cad.Name, CamName, Abs.ID, Place.Name) %>% 
  summarise(video=unique(Video.Name),visits=sum(Visits)) %>%
  arrange(Year,Week)

Video.Name - проблема, и перед добавлением суммирования ее нужно добавить в группу перед суммированием. Мне нужно подвести итог по уникальному количеству видео во время моих посещений. Я продолжаю получать эти ошибки:

Error: Expecting a single value: [extent=2].
In addition: Warning messages:
1: Factor `YearWeek` contains implicit NA, consider using `forcats::fct_explicit_na` 
2: Factor `YearWeek` contains implicit NA, consider using `forcats::fct_explicit_na`

1 Ответ

0 голосов
/ 03 апреля 2020

Ошибка должна быть от unique(Video.Name), которая может иметь length больше 1, но summarise возвращает только одну строку для каждой группы. Мы можем обернуть его в list.

library(dplyr)
df %>%
   group_by(Year, Week, YearWeek, Cad.Name, CamName, 
        Abs.ID, Place.Name, Pull.Name) %>% 
   summarise(visits=sum(Visits)) %>%
   group_by(Year, Week, YearWeek, Cad.Name, CamName, Abs.ID, Place.Name) %>% 
   summarise(video=list(unique(Video.Name)),visits=sum(Visits)) %>%
   arrange(Year, Week)
...