1
我想合併兩個數據集。兩者具有相同的ID,具有不同結果的相同行合併data.frames導致錯誤
data<-read.table(file="file.profile", header=T)
data$PHENO<-data$PHENO-1
data$ID<-paste(data$FID,":",data$IID, sep="")
> head(data)
FID IID PHENO CNT CNT2 SCORE ID
1 FID1 10 0 10000 100 0.01 FID1:10
2 FID2 10 0 10000 100 0.01 FID2:10
> cov<-read.table(file="cov.txt", header=T)
> cov$ID<-paste(cov$FID,":",cov$IID, sep="")
> head(cov)
FID IID COV1 COV2 COV3 COV4 COV5 COV6 COV7 PHENO ID
1 FID1 10 0 0 0.101 0.10 0.22 2 179 222 FID1:10
2 FID2 10 0 0 0.102 0.10 0.23 2 176 222 FID2:10
> data<-merge(cov,data,by.x="ID", by.y="ID", all=T)
> head(data)
ID FID.x IID.x COV1 COV2 COV3 COV4 COV5 COV6 COV7 PHENO.x
1 FID1:10 FID1 10 0 0 0.101 0.10 0.22 2 179 222
2 FID2:10 FID2 10 0 0 0.102 0.10 0.23 2 176 222
FID.y IID.y PHENO.y CNT CNT2 SCORE
FID1 10 0 10000 100 0.01
FID2 10 0 10000 100 0.01
爲什麼我將「.x」和「.y」添加到我的列中?我怎樣才能避免這種情況?
非常感謝
但我試圖合併它使用一個特定列作爲參考,doesn;噸幫助?你有一個建議如何避免前綴.x/.y列名? – nbn
@Guest你可以使用'unique','setdiff'等來對子列進行子集合並然後'merge' – akrun
好吧,謝謝Steven和akrun,它使用uniq列名。 – nbn