我正在尝试组合一些数据集。人口普查和儿童家庭都很容易。相同的行数,来自相同的来源。但是,我想将这些合并数据中的变量放在地图上。为了做到这一点,我的印象是 1)我的头脑和 2)我需要我的 shapefile 中的社区与人口普查和儿童家庭的社区相对应,并且 3)这是 100% 可能去做。这就是我正在做的事情。请帮帮我。我迷路了。
人口普查和儿童家庭数据魔术
census<-read.csv(file="Census_Demographics_2010.csv")
childrenfamily<-read.csv(file="ChildrenFamilyHealthWellBeing2010")
mergedData=merge(census,childrenfamily,by.x="CSA2010",by.y="CSA2010",all=TRUE)
newData<-as.matrix(mergedData)
edu<-read.csv(file="Education_and_Youth_2010.csv")
MergedData=merge(mergedData,edu,by.x="CSA2010",by.y="CSA2010",all=TRUE)
newData<-cSplit(MergedData,sep="/","CSA2010","long",type.convert=TRUE)
NewData<-cSplit(newData,sep="-","CSA2010","long",type.convert=TRUE)
nhood<-read.csv("nhood_2010.csv")
nbhd<-as.matrix(nhood)
nbhd<-cSplit(nhood,sep="/","NBRDESC","long",type.convert=TRUE)
nbhds<-cSplit(nbhd,sep="-","NBRDESC","long",type.convert=TRUE)
nhoods<-nbhds[order(nbhds$NBRDESC),]
class(nhoods$NBRDESC)
[1] "factor"
class(newDATA$CSA2010)
[1] "character"
nhoods2$NBRDESC<-as.character(nhoods2$NBRDESC)
class(nhoods2$NBRDESC)
[1] "character"
地图魔术
library(rgdal)
library(maptools)
bmorehoods<-readOGR(dsn="/ladeedah/2010_Census_Neighborhoods",layer="2010_Census_Profile_by_Neighborhood_Statistical_Areas")
library(ggplot2)
data.points<- fortify(model=bmorehoods)
bmore<-ggplot(data.points) + geom_polygon(aes(long, lat, group=group))
所以,我基本上有与 GIS 邻域数据不匹配的邻域数据,我想知道
1)有没有更好的方法来做到这一点?2)为什么,当我尝试合并我的数据时,R 是否参与了这些 shananigans:
mapdata<-merge(nhoods2,NewDATA,by.x="NBRDESC",by.y="CSA2010",all=TRUE)
Error in merge(nhoods2, NewDATA, by.x = "NBRDESC", by.y = "CSA2010", all = TRUE) :
error in evaluating the argument 'y' in selecting a method for function 'merge': Error: object 'NewDATA' not found