Использование предложения фильтра в группе R по функциям - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь получить количество телефонных номеров за каждый день с помощью группировки по группам, но я хочу считать только те телефоны, которые действительны, как я могу установить это условие в параметре фильтра?(Может быть, другое решение?)

Данные состоят из таблицы с 4 столбцами:

  • CreatedDate
  • Calculation_id__c
  • Acc_Phone__c (номер телефона)
  • Acc_PhoneHLRStatus__c (статус о телефоне отсутствует)

Время от времени данные имеют некоторые значения N / A во всех, кроме первого столбца.Идея состоит в том, чтобы посчитать, сколько вычислений, телефонных номеров, действительных / недействительных телефонных номеров в день.Мне удалось подсчитать количество непустых строк на основе различных столбцов, но мне нужно добавить предложение WHERE в мою группу по выражению, которое будет принимать только действительные / недействительные номера телефонов.Этот код работает:

grouped_SF_hlr_status <- declaredSalesDF %>% 
  group_by(CreatedDate) %>% 
  count(Acc_Phone__c) %>%

Но этот код выдает ошибку:

grouped_SF_hlr_status <- declaredSalesDF %>% 
  group_by(CreatedDate) %>% 
  count(Acc_Phone__c) %>%
  filter(Acc_PhoneHLRStatus__c == 'komórkowy(poprawny)')

Сообщение об ошибке:

Error in filter_impl(.data, quo) : 
  Evaluation error: object 'Acc_PhoneHLRStatus__c' not found.

Я не уверен, чтосинтаксис в порядке, я не знаком с использованием R, спасибо всем за вашу помощь!

1 Ответ

0 голосов
/ 31 декабря 2018

Я полагаю, это потому, что когда вы count(), данные видоизменяются так, что в них отображается переменная, которую вы рассчитываете (Acc_Phone__c), и частота этой переменной.Я думаю, что если вы проверите grouped_SF_hlr_status после запуска вашего первого фрагмента кода, это то, что вы найдете.Другие переменные теряются, потому что они больше не имеют смысла, учитывая, что отдельные случаи, на которые они ссылаются, были сгруппированы вместе.

В этом случае, так как вас интересуют только действительные числа, вам следует отфильтровать перед подсчетом.Попробуйте переключить строки вашего кода, чтобы фильтр шел первым.

grouped_SF_hlr_status <- declaredSalesDF %>% 
  filter(Acc_PhoneHLRStatus__c == 'komórkowy(poprawny)') %>%
  group_by(CreatedDate) %>% 
  count(Acc_Phone__c)

(Я не могу проверить, работает ли это без ваших данных, но логически это мне кажется правильным. Дайте мне знать, если это показывает какую-либо ошибку ...)

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