我有两个国家数据的数据帧。 df1
有世界上所有的国家。 df2
有一个国家的子集,但在其中的一列中有人口。 我想获取人口数据并将其添加到国家/地区名称匹配的df1
。用匹配的国家名称绑定数据帧
如果df1$Column1 = df2$Column1
(同一个国家的名字),然后用从df2$Column2
(全国人口),其中行是一个给该国匹配信息填充df1$Column2
(当前为空)。
我试图合并两个使用列“姓名”,他们都有为国名:
total <- merge(map,Co2_2x, by="NAME")
列都在那里,但我得到了我的新数据框中空行。
我希望能够对df1(国家)中的这一行和列矩阵位置说出行(国名匹配df2
)和列X(人口数据),然后将它放入在df1
(新的人口列匹配的国名在df1
)该行和列Y矩阵位置” ......必须有一个更简单的方法:-)
这里是我的代码:我想填补map$measure
与国家匹配的Co2_2x$premium
的数据。
library(XML)
library(raster)
library(rgdal)
download.file("http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip",destfile="TM_WORLD_BORDERS_SIMPL-0.3.zip")
unzip("TM_WORLD_BORDERS_SIMPL-0.3.zip",exdir=getwd())
polygons <- shapefile("TM_WORLD_BORDERS_SIMPL-0.3.shp")
polygons
map <- as.data.frame(polygons)
map$Measure <- 0
library(rvest)
Co2 <- read_html("https://en.wikipedia.org/wiki/List_of_countries_by_carbon_dioxide_emissions")
Co2_2x<-Co2 %>%
html_nodes("table") %>%
.[[1]] %>%
html_table()
names(Co2_2x)[2]<-paste("premium")
names(Co2_2x)[1]<-paste("NAME")
total <- merge(map,Co2_2x, by="NAME")
谢谢!
嗨,彼得,欢迎来到SO。你试图解决你的问题是什么?我们必须知道,给予适当的建议。 – Vincent
嗨文森特,我试图合并两个使用他们都有国名的列“名称”。总共< - merge(map,Co2_2x,by =“NAME”)但是我在我的新数据框中得到了空行,但是列都在那里。 –
好的。你能否请你在你的问题而不是在评论中解释这一点? – Vincent