R语言数据合并
用向量創(chuàng)建數(shù)據(jù)框
id<-c("1","2","3","4") name<-c("談天","輕衣","曉光","余白") is.vector(name) data00=data.frame(id,name) str(data00) head(data00)創(chuàng)建第二個數(shù)據(jù)框
id<-c("5","6","7","8") name<-c("青梅","王五","不二","七殺") is.vector(name) data11=data.frame(id,name) str(data11) head(data11)縱向合并數(shù)據(jù)框data00和data11
mdata<-rbind(data00,data11) head(mdata)其它縱向數(shù)據(jù)框合并
使用dplyr包中的bind_rows()函數(shù)進行合并
library(dplyr) dplyr::bind_rows(data00,data11)字段連接橫向合并(id和name合并成新字段)
data00$合并=paste(data00$id,data00$name,data00$合并, sep = "") head(data00)數(shù)據(jù)字段框的橫向合并(通過相同的元素,橫向合并)
字段數(shù)數(shù)據(jù)框的橫向id關(guān)聯(lián)合并data11和data33合并,有相同的id,進行合并
方法一:merge函數(shù)
merge(x, y, by = intersect(names(x), names(y)),by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,sort = TRUE, suffixes = c(".x",".y"),incomparables = NULL, ...)參數(shù)說明: x,y:用于合并的兩個數(shù)據(jù)框by,by.x,by.y:指定依據(jù)哪些行合并數(shù)據(jù)框,默認值為相同列名的列.all,all.x,all.y:指定x和y的行是否應(yīng)該全在輸出文件.sort:by指定的列是否要排序.suffixes:指定除by外相同列名的后綴.incomparables:指定by中哪些單元不進行合并.例如:
hdata<-merge(data11,data33,by=id) head(hdata) hdata212<-merge(data11,data00,all =T) head(hdata212)方法二:cbind函數(shù)
hdata2<-cbind(data11,data33) head(hdata2)數(shù)據(jù)終極合并:SQL的使用
library(sqldf)data=sqldf("select * from data1 t1,data2 t2 where t1.id=t2.id")案例參考https://blog.csdn.net/tandelin/article/details/100580996
總結(jié)
- 上一篇: 会声会影如何新建html项目,会声会影如
- 下一篇: JavaScript中的LHS和RHS查