Организационная структура группы и фильтра в dplyr - PullRequest
0 голосов
/ 25 октября 2019

, когда я организую свой анализ следующим образом:

group_by(transactions.DF,MonthCode) %>% 
   filter(str_detect(transactions.DF$Description,"Innocean")) %>% 
   summarize(monthly.income =  sum(Amount))

Я получаю следующую ошибку: Ошибка: результат должен иметь длину 84, а не 3029

, когда я организую свой анализ следующим образом:

transactions.DF %>% 
    filter(str_detect(transactions.DF$Description,"Innocean")) %>% 
    group_by(.$MonthCode) %>% 
    summarize(monthly.income =  sum(Amount))

Я получил свои результаты.

Я думал, что фильтр поддержит мою структуру группировки и позволит провести анализ

1 Ответ

1 голос
/ 25 октября 2019

Проблема в том, что использование transactions.DF$ в filter разрывает группировку и получает значения из всего столбца вместо значений «Описание» с каждым «Месячным кодом»

library(dplyr)
library(stringr)
transactions.DF %>%
   group_by(MonthCode) %>% 
   filter(str_detect(Description,"Innocean")) %>%
   summarize(monthly.income = sum(Amount))

ПРИМЕЧАНИЕ: objectIdentifier$ не требуется в функциях tidyverse. Он может использоваться в определенных ситуациях, когда мы извлекаем столбец из другого набора данных и проводим некоторое сравнение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...