2016-08-02 69 views
0

我有一個包含一個XLSX文件重複列比方說,4列:導入Excel與同號(R XLSX)結束

Thingie1 
Thingie1 
Thingie2 
Thingie2 

(我知道這是愚蠢的......那是因爲我的數據組合從2個不同的數據庫和12表示調查1之間的差,並調查2和選擇轉儲到一個xlsx檔案。

當我導入成R此使用XLSX包,它改變了列標題,以:

Thingie1 
Thingie3 
Thingie2 
Thingie4 

顯然,我的現實世界的例子要複雜得多,然後就變得非常困難,以確定什麼是什麼。我想有這樣的:

Thingie1 
Thingie11 
Thingie2 
Thingie21 

現在,我可以通過打開在Excel文件並更改列有解決這個......所以我可以解決我眼前的問題,但我不喜歡打破我的工作流程。 ..有沒有辦法將這些數據以更好的方式導入到R本身?

+0

看來,read.xlsx()調用data.frame()因爲data.frame(之前是改變列名)將其更改爲「Thingie1」,「Thingie1.1」,這是非常接近你想要什麼。如果列名是相同的所有文件,只需創建你想要的名稱的載體:COLS < - C(「Thingie1」,「Thingie11」。),然後使用名稱(yourdataframe)< - COLS 。 – dcarlson

回答

1

我覺得你應該爲列的適當命名單獨與header=FALSE文件的讀取的第一線(含列名)。然後使用make.unique函數。稍後用header=TRUE讀取整個文件並使用colnames函數設置列名。

x <- c("Thingie1", "Thingie1", "Thingie2", "Thingie2") 
x 
#[1] "Thingie1" "Thingie1" "Thingie2" "Thingie2" 
make.unique(x) 
#[1] "Thingie1" "Thingie1.1" "Thingie2" "Thingie2.1"