2010-08-18 66 views
3

我一直在玩R中的merge命令,並試圖找出如何使用SUFFIX參數。在線文檔在解釋它方面做得並不好。R中的合併命令

我希望做的是進口一些CSV文件:

data1<-read.csv("fileA", header=T) 
data2<-read.csv("fileB", header=T) 

然後使用合併命令來合併它們。但是,我想要一些變量真正地合併,而其他變量保持相同的名稱來標記它們來自的文件。因此,例如,如果在我的兩個電子表格中都存在「NAME」變量,那麼我希望它們按正常方式合併,但是如果出現「GRADE」變量,它將更改爲GRADE.fileA和GRADE .fileB。我已經能夠獲得GRADE.x和GRADE.y,但我更喜歡這些變量的更多有用的標籤。任何幫助,將不勝感激。謝謝。

回答

2

我認爲這應該工作:

merged.df <- merge(data1, data2, by='NAME', suffixes=c('.fileA', '.fileB')) 
3

我猜你沒有明確指定merge中的by參數。你想要這樣的東西嗎?

> NAME <- sample(letters,10) 
> data1 <- data.frame(NAME,grade=sample(letters[1:4],10,TRUE)) 
> data2 <- data.frame(NAME,grade=sample(letters[1:4],10,TRUE)) 
> merged <- merge(data1,data2,by="NAME",suffixes=c(".fileA",".fileB")) 
> merged 
    NAME grade.fileA grade.fileB 
1  d   a   c 
2  e   d   d 
3  f   b   a 
4  j   c   c 
5  l   b   a 
6  o   a   c 
7  p   d   d 
8  q   d   a 
9  t   a   b 
10 x   d   c