2017-03-06 12 views
-2

私がどのように見える2つのデータフレームがあります。データフレームに新しい行を追加するには?

DF1:

 V1  V2  V3  V4 
rs200140498 chr1 861315 GG 
rs371217242 chr1 861329 AA 
rs200686669 chr1 861349 CC 
rs370046315 chr1 861357 CC 
rs374110379 chr1 861521 GG 
rs74045401 chr1 861530 GG 
rs377418023 chr1 865394 CC 
rs79027658 chr1 865438 CC 
rs202189913 chr1 865488 AA 
rs370992396 chr1 865543 GG 

とDF2:

 V1  V2  V3  V4 
rs200140498 chr1 861315 GG 
rs200686669 chr1 861349 CC 
rs370046315 chr1 861357 CC 
rs74045401 chr1 861530 GG 
rs377418023 chr1 865394 CC 
rs202189913 chr1 865488 AA 
rs370992396 chr1 865543 GG 

そして、私はそのを比較して、新たなデータフレームを取得したい:

  V1  V2  V3  V4 
rs200140498 chr1 861315 GG 
rs371217242 chr1 861329 -- 
rs200686669 chr1 861349 CC 
rs370046315 chr1 861357 CC 
rs374110379 chr1 861521 -- 
rs74045401  chr1 861530 GG 
rs377418023 chr1 865394 CC 
rs79027658  chr1 865438 -- 
rs202189913 chr1 865488 AA 
rs370992396 chr1 865543 GG 

誰も助けてくれますか?

答えて

1

はこれに試してみて:あなただけの違いが必要な場合

library(dplyr) #you need to install and load the dplyr package 

df3 <- left_join(df1,df2, by=c("V1", "V2", "V3")) 
df3 <- df3[,-4] 
View(df3) 

はまた、私はanti_join機能をお勧めします:

df4 <- anti_join(df1,df2, by=c("V1", "V2", "V3")) 
View(df4) 

をそして、あなたは代わりにNA値の--が必要な場合は、これを使用してください:

df3$V4.y <- replace(df3$V4.y, is.na(df3$V4.y), "--") 
関連する問題