【发布时间】:2021-06-01 18:20:33
【问题描述】:
我目前有这个 dplyr 脚本来选择某些数据点。在第一个选择语句中,我收集了所有需要的列。在汇总语句中,我正在创建一些需要的操作(基本上是串联)。在我的最终选择动词中,我希望选择 ONLY 最终选择语句中的内容。但是,当我查看我的数据框时,它仍然包含在汇总动词中使用的列,尽管它们没有在最终选择版本中被选中。我想删除这些列。下面是剩余但想要排除的列的屏幕截图(红色)
data <- qc_sales %>%
mutate(Call_For_Price = ifelse(CFP_FLG == 1, "TRUE", "FALSE")) %>%
filter( STR_NBR != '8119'
, Opened_Quote_Flag == 1
, LWK_TY_LY_FLG == 'TY'
, MVNDR_NBR %in% c('60031167', '60688509', '60074051', '60148060', '60086898', '60080204')
, !SUB_DEPT_NBR %in% c('0025','0028')) %>%
select( QUOTE_DT
, COM_ORDER_NBR
, STR_NBR
, ST_CD
, BRANCH_NM
, MKT_NBR
, MKT_NM
, ASSC_FRST_NM
, ASSC_LAST_NM
, MAIN_STR_PHN_NBR
, MVNDR_NBR
, MVNDR_NM
, SUB_DEPT_NBR
, SUB_DEPT_DESC
, PROD_DESC
, ADD_PROD_DESC
, Manufacturer_Model_NBR
, Call_For_Price
, QUOTE_DLRS) %>%
group_by(QUOTE_DT
, COM_ORDER_NBR
, STR_NBR
, ST_CD
, BRANCH_NM
, MKT_NBR
, MKT_NM
, ASSC_FRST_NM
, ASSC_LAST_NM
, MAIN_STR_PHN_NBR
, MVNDR_NBR
, MVNDR_NM
, SUB_DEPT_NBR
, SUB_DEPT_DESC
, PROD_DESC
, ADD_PROD_DESC
, Manufacturer_Model_NBR
, Call_For_Price
) %>%
summarise(Quote_Dollars =sum(QUOTE_DLRS)
, Sub_Dept = MAX(CONCAT(SUB_DEPT_NBR,'-', SUB_DEPT_DESC))
, Market_Nbr_Nm = MAX(CONCAT(MKT_NBR,'-', MKT_NM))
, Associate_Name = MAX(CONCAT(ASSC_FRST_NM,'-', ASSC_LAST_NM))
, MVNDR = MAX(CONCAT(MVNDR_NBR,'-', MVNDR_NM))) %>%
select( QUOTE_DT
, COM_ORDER_NBR
, STR_NBR
, ST_CD
, BRANCH_NM
, MAIN_STR_PHN_NBR
, Market_Nbr_Nm
, Associate_Name
, MAIN_STR_PHN_NBR
, Sub_Dept
, MVNDR
, PROD_DESC
, ADD_PROD_DESC
, Manufacturer_Model_NBR
, Call_For_Price
, Quote_Dollars) %>%
arrange(desc(Quote_Dollars)) %>%
collect()
换句话说,如果突出显示的列没有在第二个选择动词中被选中,我不明白为什么它们会包含在我的数据框中。我以为dplyr中的操作顺序基本上是降序的
【问题讨论】: