r - 使用 r 比较两个数据帧
问题描述
我是 R 新手,对于我的问题有任何问题,请提前道歉。所以,我有两个数据框。
我的第一个数据框有一个人员列表和这些人的种族。如下所示(一小部分实际数据):
数据帧_1:
name ethnicity
Mario Gonzales hispanic
James R. Santi white
A. Williams asian
我的第二个数据框只有一个人员列表。如下所示(一小部分实际数据)。
数据帧_2:
name
Mark Johnson
A. Williams
James R. Santi
Kelly Wu
我正在尝试生成一个数据框,列出数据框 2 中的人及其种族(使用数据框 1 中的给定信息)。所以我想要的输出是一个如下所示的数据框:
想要的_data_frame_1:
name ethnicity
A. Williams asian
James R. Santi white
我还想创建另一个具有在数据框 2 中找到的唯一名称的数据框(在数据框 1 中找不到名称。)如下所示:
想要的_data_frame_2:
name
Mark Johnson
Kelly Wu
非常感谢你的帮助。
解决方案
您可以使用setdiff
.
## Data below
setdiff(input2$name, input1$name)
[1] "Mark Johnson" "Kelly Wu"
数据
input2 = read.table(text="name
'Mark Johnson'
'A. Williams'
'James R. Santi'
'Kelly Wu'",
header=T, stringsAsFactors=F)
input1 = read.table(text="name ethnicity
'A. Williams' asian
'James R. Santi' white",
header=T, stringsAsFactors=F)
推荐阅读
- gremlin - 它不会添加具有正确进出顶点的边
- c# - 比较两个字符串列表时的 cosmosDb SQL API LINQ 优化
- go - 在 cli 中使用进度条
- cognos - 如何使用 Cognos Analytics 为不同的列定义不同的聚合函数(例如:平均值、总和)?
- f# - 为什么 R 类型提供程序在没有类似安装时会抛出异常?
- node.js - Google Cloud Function 无法连接到 Redis
- elasticsearch - 使用 copy_to 突出显示弹性搜索
- apache-zeppelin - Apache Zeppelin,已删除的笔记本
- angular - Angular 5 HTTPClient 基本授权不起作用
- css - 如何使用 bootstrap 4 获得折叠菜单后面的徽章?