R 比较两组内数据的发生率
我有一个带有用户名和组的数据R 比较两组内数据的发生率,r,grouping,repeat,find-occurrences,R,Grouping,Repeat,Find Occurrences,我有一个带有用户名和组的数据 User_Name Group MustafE A fischeta A LosperS1 A MustafE B fischeta B jose B MustafE c fischeta c 我想标记那些不是重复组的客户。。示例-“LosperS1”在A组中但不在B组中,与“jose”在B组中但不在C组中的方式相同,因此在新列中,它们将在B
User_Name Group
MustafE A
fischeta A
LosperS1 A
MustafE B
fischeta B
jose B
MustafE c
fischeta c
我想标记那些不是重复组的客户。。示例-“LosperS1”在A组中但不在B组中,与“jose”在B组中但不在C组中的方式相同,因此在新列中,它们将在B组中标记为否/在C组中标记为否
任何帮助都将不胜感激 下面是一种使用tidyverse获取输出的方法。获取“User_Name”列的不同元素,循环遍历这些元素映射,根据“User_Name”中循环元素的存在情况过滤数据集的行,粘贴与过滤的“Group”相比在“Group”列中找不到的元素,子集第一行切片并右键连接原始数据集。我们使用map_df将最终输出作为单个data.frame而不是data.frame列表
尝试df1%>%distinctUser\u Name%>%pullUser\u Name%>%map\u df~df1%>%filterUser\u Name=.x%>%mutateFlag=toString SetDiffUniquedF1$Group,uniqueGroup%>%slice1%>%select Group%>%right\u joindf1,User\u Name Wesome。。。。正是我想要的。。非常感谢你
library(tidyverse)
df1 %>%
distinct(User_Name) %>%
pull(User_Name) %>%
map_df(~ df1 %>%
filter(User_Name == .x) %>%
mutate(Flag = toString(setdiff(unique(df1$Group),
unique(Group)))) %>%
slice(1) %>%
select(-Group)) %>%
right_join(df1, "User_Name")