dataframe - 显示在合并中丢失的观察
问题描述
假设我想通过两列的键合并两个不同的数据框。
Dataframe One 有 70000 个 obs 的 10 个变量。数据框二有 4500 个 obs 的 5 个变量。
现在,我使用此代码检查了如何从我的新数据框中留下的观察结果。所以我意识到我的数据框 2 中的列现在只有 10 个变量的 4490 obs。没关系。我的问题是:有没有办法从我的数据框 2 中返回我在此过程中丢失的 5 个观察结果。名字就够了。
谢谢 :)
解决方案
我想你可以用dplyr::anti_join
这个。从其文档中:
从 x 中返回所有在 y 中没有匹配值的行,只保留 x 中的列。
您可能必须将数据框TWO
作为x
.
编辑:如评论中所述,其by
参数的语法不同。
例子:
df1 <- data.frame(Name=c("a", "b", "c"),
Date1=c(1,2,3),
stringsAsFactors=FALSE)
df2 <- data.frame(Name=c("a", "d"),
Date2=c(1,2),
stringsAsFactors=FALSE)
> dplyr::anti_join(df2, df1, by=c("Name"="Name", "Date2"="Date1"))
Name Date
1 d 2
推荐阅读
- cordova - Ionic_CordovaError:在 Android Studio 或您的系统上找不到安装的 Gradle 版本以安装 gradle 包装器
- python - 在python中排名
- vue.js - 在 v-for 中使用带有插槽的组件
- java - 有意打开任何文件
- sql-server - SQL Server 用户
- python - Python Tkinter:.csv 中每一行的按钮?
- go - 从本地文件安装 gopkg.in/yaml.v2 (Go)
- c# - 在服务端配置内容类型“application/xml”
- python - 通过 Selenium 和 Webdriver 遍历 find_element_by_xpath() 的元素列表
- android - kotlin 中的 flatMap()