2016-07-04 53 views
0

在生物分析中,我們經常從同一分子重複測量,然後繪製劑量反應曲線,使用2或3次重複的平均值。我想讀入R一個excel文件,其中複製列標題已合併 - 下面的文本示例和link to example file。 readxl軟件包的read_excel函數可以讀取文件,但取消標題單元並用NAs替換空單元。R在Excel文件中以合併單元格作爲列標題

 
conc   | Sample1 | Sample2 
------------------------------------------- 
10   | 1.5 | 2.5 | 3 | 4 
------------------------------------------- 
100   | 15 | 25 | 30 | 40 
------------------------------------------- 
1000   | 150 | 250 | 300 | 400 

是否有任一保留R中的合併單元佈局或列中交替地讀出,並自動複製/重編集管像下面的方法嗎?

 
conc   | Sample1.1 | Sample1.2 | Sample2.1 | Sample2.2 
-------------------------------------------------------------- 
10   | 1.5 | 2.5 |  3  |  4 
-------------------------------------------------------------- 
100   | 15  | 25  |  30 |  40 
-------------------------------------------------------------- 
1000   | 150 | 250 |  300 |  400 

謝謝。

+0

R不允許重複的列名稱。 – milan

+0

你可以輸入你的讀入數據嗎?並且數據中也沒有重複的列名,因爲您無法使用名稱訪問它們。 – Psidom

+1

在沒有標題的情況下讀取數據可能是最簡單的,然後再添加它們。也就是說,有一個Excel閱讀器包的_lot_:readxl,XLConnect,xlsx,openxlsx等,所以他們中的一個可能有一個參數來處理這種情況。 – alistaire

回答

1

不是一個完整的答案,但它可能有一個列表列,使多個值包含在一個單元格內。這可能與Excel中的「合併列」具有相同的功能。下面是一個例子,只是爲了說明我的意思:

library(data.table) 
new <- data.table("V1" = c(1,2), "V2" = list(c(1,2,5),c(2,3))) 

注意列V2有一個列表中的2個向量(每個向量是連一個獨特的長度,而且每一個可長或短,因爲你需要) 。現在,您可以致電給定的小區中的所有值:

> new$V2[[1]] 
[1] 1 2 5 

或特定複製:

> new$V2[[2]][2] 
[1] 3 

我不知道您的電子表格看起來完全像什麼,並得到它從目前的形式進入「列表欄」表格可能很難取決於此。希望這會給你一些想法!