在R中,查找给定特定列的相邻行
我有一个数据框架,其中列出了客户和类别、产品以及开展外展的部门:在R中,查找给定特定列的相邻行,r,dplyr,R,Dplyr,我有一个数据框架,其中列出了客户和类别、产品以及开展外展的部门: Client | Category | Product | Department Mike S. | Home Goods | Carpet | Sales Mike S. | Outdoor | Shovel | Sales Mike S. | Outdoor | Garden Hose | Marketing Bill T. |
Client | Category | Product | Department
Mike S. | Home Goods | Carpet | Sales
Mike S. | Outdoor | Shovel | Sales
Mike S. | Outdoor | Garden Hose | Marketing
Bill T. | Outdoor | Garden Hose | Marketing
Bill T. | Outdoor | Garden Hose | Sales
Bill T. | Outdoor | Leaf Blower | Sales
Bill T. | Home Goods | Recliner | Marketing
我想提供一个营销电子邮件列表,其中销售人员在类别级别(不是产品)进行了推广,但营销人员没有
以下是所需的输出:
Client | Category | Product | Department
Mike S. | Home Goods | Carpet | Sales
Bill T. | Outdoor | Leaf Blower | Sales
这里有一种方法,可以在每个客户类别组中添加营销和销售外展人员的数量,然后筛选销售人员联系但营销人员没有联系的外展人员
library(dplyr)
my_data %>%
group_by(Client, Category) %>%
mutate(Sales = sum(Department == "Sales"),
Mktg = sum(Department == "Marketing")) %>%
ungroup() %>%
filter(Sales >= 1, Mktg == 0)
结果
# A tibble: 1 x 6
Client Category Product Department Sales Mktg
<chr> <chr> <chr> <chr> <int> <int>
1 Mike S. Home Goods Carpet Sales 1 0
这里有一种方法,可以在每个客户类别组中添加营销和销售外展人员的数量,然后筛选销售人员联系但营销人员没有联系的外展人员
library(dplyr)
my_data %>%
group_by(Client, Category) %>%
mutate(Sales = sum(Department == "Sales"),
Mktg = sum(Department == "Marketing")) %>%
ungroup() %>%
filter(Sales >= 1, Mktg == 0)
结果
# A tibble: 1 x 6
Client Category Product Department Sales Mktg
<chr> <chr> <chr> <chr> <int> <int>
1 Mike S. Home Goods Carpet Sales 1 0
另一个选项是在分组过滤器内使用
all
<代码>所有(部门!=“营销”)将完成以下工作:
库(dplyr)
我的_数据%>%
分组依据(客户、类别)%>%
过滤器(全部(部门)=“营销”))
#>#A tibble:1 x 4
#>#群体:客户,类别[1]
#>客户类别产品部
#>
#>1迈克·S·家居用品地毯销售
#使用的数据
#my_data另一个选项是在分组过滤器内使用all
<代码>所有(部门!=“营销”)
将完成以下工作:
库(dplyr)
我的_数据%>%
分组依据(客户、类别)%>%
过滤器(全部(部门)=“营销”))
#>#A tibble:1 x 4
#>#群体:客户,类别[1]
#>客户类别产品部
#>
#>1迈克·S·家居用品地毯销售
#使用的数据
#我的数据