2015-07-27 2 views
3

У меня есть продажа данных и другой набор данных. набор данных для продвижения данных содержит сведения о том, когда произошло продвижение по службе. Теперь мне нужно определить данные продаж, связанные с определенной рекламой.динамический фильтр в R

я извлек первый ряд и создали фильтр

promo.filter="product.no==1100001369 & (customer.state==TN | customer.state==AP) & (cgrp==12 | cgrp==13)" 

пытался

promo.sales<-filter(sales, promo.filter) 

и я получаю следующую ошибку

Error: filter condition does not evaluate to a logical vector. 

Как я получить это сделать.

+0

Это 'фильтр' из' dplyr'? – SabDeM

+0

попробуйте 'quote (ваш фильтр)', то есть 'quote (product.no == 1100001369 & (customer.state == TN | customer.state == AP) ...)' – jenesaisquoi

+1

Попробуйте 'filter_ (sales, promo. фильтр) ' –

ответ

3

Попробуйте filter_(sales, promo.filter)


Из non-standard evaluation виньетка:

Каждая функция в dplyr, которая использует NSE также имеет версию, которая использует SE. Существует последовательная схема именования: SE - это имя NSE с _ по адресу конец. Например, версия SE summarise(): summarise_(), Версия SE arrange() - arrange_(). Эти функции работают очень аналогично их кузенам NSE, но входы должны быть «котируются»

Смежные вопросы