r - 比较两组数据的出现情况
问题描述
我有一个包含用户名和组的数据。
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
. 获取distinct
“User_Name”列的元素,遍历这些元素map
(“组”,将第一行 ( ) 和原始数据集作为子集。我们曾经将最终输出作为单个 data.frame 而不是filter
paste
slice
right_join
map_df
list
data.frame
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")
推荐阅读
- modelica - Valve的“初始化”部分中的m_flow_start和m_flow之间的区别 - Modelica
- node.js - 忽略通过 pm2 启动的节点进程中的日志记录警告消息
- express - 发送 POST 请求到 express 路由 - 收到表单数据后,不会触发 res.render
- php - 为什么我的本地 PHP 函数看不到 $test 变量,如何获取它的值?
- unity3d - 如何在 Unity 3D 中选择立方体的表面?
- c++ - 老的GCC不能自动找到新版本的libstdc++?
- node.js - nodejs中带有promise的导出函数
- azure - Azure 警报的激活时间
- javascript - 在反应中删除子组件
- java - 带有流排序和自定义比较器的 java.lang.ClassCastException