在R中匹配两个数据库
我有两个数据库,每个数据库有17列和3238行第一个数据库和3330行第二个数据库。 首先,我从excel中读取数据:在R中匹配两个数据库,r,merge,dataframe,R,Merge,Dataframe,我有两个数据库,每个数据库有17列和3238行第一个数据库和3330行第二个数据库。 首先,我从excel中读取数据: seis <- read.csv("periodo_6.csv",header=TRUE,sep=";",row.names=NULL) siete <- read.csv("periodo_7.csv",header=TRUE,sep=";",row.names=NULL) 我已经为每个数据库创建了一个标识符 attach(seis) ids <- pas
seis <- read.csv("periodo_6.csv",header=TRUE,sep=";",row.names=NULL)
siete <- read.csv("periodo_7.csv",header=TRUE,sep=";",row.names=NULL)
我已经为每个数据库创建了一个标识符
attach(seis)
ids <- paste(PROVINCIA,CANTON,PARROQUI,ZONA,SECTOR,sep="")
seis <- cbind(seis,ids)
attach(siete)
ids <- paste(PROVINCIA,CANTON,PARROQUI,ZONA,SECTOR,sep="")
siete <- cbind(siete,ids)
现在我想提取具有相同ID的行。我已经用合并函数证明了
uno <- merge(seis,siete,by="ids",all=FALSE)
然而,我得到了许多具有相同ID的行的组合
然后我尝试了匹配函数,但得到了两个不同的结果
d <- na.omit(seis$ids[match(seis$ids,siete$ids)])
d <- na.omit(siete$ids[match(seis$ids,siete$ids)])
这里有一种格式,你应该用它来提供代码。看看那是什么。如果没有更多关于你的数据和你遇到的具体问题的信息,任何人都不可能提供帮助。具体地说,我得到了许多具有相同ID的行的组合,这是相当模糊的。最好是使您的示例可复制,以便我们可以自己运行您的代码。由于您获得了许多具有相同ID的行组合,因此很可能ID在一个或两个数据集中不是唯一的。使用seis键入,lengthuniqueids==lengthids,使用seite键入。如果其中一个是假的,那就是你的问题。