r - 如何从两个数据框中删除不匹配的数据,以在 R 中创建一个新的数据框
问题描述
我正在创建一个图表,将每个国家的预期寿命年龄和国家养老金年龄相关联。我使用网络抓取包从 2 个维基百科页面抓取 2 个数据集。
其中一个数据集包含“国家”列,另一个数据集包含“国家和地区”列。这是一个问题,因为两个数据集都需要合并,但由于“国家和地区”列中的区域而导致不平衡。
为了解决这个问题,我需要在合并数据集之前删除“国家和地区”中的区域,所以它是平衡的。我需要用“国家”从“国家和地区”中找到不匹配的数据,将其删除,然后用 2 个数据集创建一个数据框。
library(xml2)
library(rvest)
library(stringr)
urlLifeExpectancy <- "https://en.wikipedia.org/wiki/List_of_countries_by_life_expectancy"
extractedLifeData = urlLifeExpectancy %>%
read_html() %>%
html_node(xpath = '//*[@id="mw-content-text"]/div/table[1]') %>%
html_table(fill = TRUE)
urlPensionAge <- "https://en.wikipedia.org/wiki/Retirement_age#Retirement_age_by_country"
extractedPensionData = urlPensionAge %>%
read_html() %>%
html_node(xpath = '//*[@id="mw-content-text"]/div/table[3]') %>%
html_table(fill = TRUE)
解决方案
我们可以使用 join fromdata.table
library(data.table)
setDT(extractedLifeData[c(1, 5, 7)][extractedPensionDate[1:3],
on = .(Country = `Country and regions`)]
推荐阅读
- sql - 如何提取与特定模式匹配的所有字符串并在 SQL 中爆炸为行
- algorithm - 将数组分成两部分(某些元素可以单独保留),使得两部分之和最大
- ios - 使用 LanguageManager-iOS-Lokalise0.1.3 在单击按钮上不会更改 IOS 应用程序语言
- python - 如何将从实时方法调用接收的字节 jpeg 数据转换为可读/可管理的格式
- tensorflow - 从 anaconda 安装中导入 jupyter 和 sypder 中的 tensroflow 时遇到问题
- r - 带有雨果(学术主题)的 R 博客的雨果警告:我需要做些什么吗?
- ios - Firebase 创建动态链接在本机 iOS 中不起作用。但是它似乎在android中工作正常
- react-native-android - 最近我将我的 expo-cli 更新到 3.13.1 版本,突然应用程序无法正常工作
- c# - 使用 WordProcessingDocument 时 Word 文档不显示页眉、页脚和图像
- java - 如何在 CA SDM 中更改变更单子工作流的状态?