-1
我從Excel中讀取數據文件導入到R的文件的格式,像這樣一個data.table:與曖昧列名處理data.table
COL_1_STUFF COL_2_STUFF COL_3_STUFF
ID EST MOE PCT EST MOE PCT EST MOE PCT
也就是說,對於每個變量( COL
s),有一個估計值,一個誤差範圍和給定的百分比。
麻煩的是由read.xlsx2
,我使用導入像這樣的文件,該文件創建:
data <- as.data.table(read.xlsx2(
"file.xlsx", sheetIndex = 1L, colIndex = c(1L, 4L, 7L), startRow = 2L))
的問題是,read.xlsx2
相同的列名分配給了一堆東西 - 進口看起來是這樣的:
ID EST EST EST
即使我設置header = FALSE
,我很容易得到這樣的
X1 X2 X2 X2
爲了規避這一點,我已經做了以下後續導入:
data[ , c("col1_est", "EST") := .(EST, NULL)]
data[ , c("col2_est", "EST") := .(EST, NULL)]
data[ , c("col3_est", "EST") := .(EST, NULL)]
這令我奇怪的方式來處理這個問題;任何人都可以提出一個替代方法嗎?
也許你可以嘗試將你的Excel文件轉換爲csv並使用data.table的fread來將數據讀入R. – KFB
聽起來好像你正在處理多行標題。你想要什麼樣的輸出? – A5C1D2H2I1M1N2O1R2T1
@KFB讓我想起了這些,但我想找到一個不涉及到的解決方案 - 對我來說不是這樣,但我可以想象有人擁有大量像我一樣格式化的文件,尋找一個程序化解決方案 – MichaelChirico