R读入excel文件,合并的单元格作为列标题

时间:2016-07-04 21:48:43

标签: r excel

在生物学测定中,我们经常从同一分子中重复测量,然后使用平均2或3次重复绘制剂量响应曲线。我想在R中读取一个excel文件,其中已经合并了重复的列标题 - 下面的文本示例和link to example file。 readxl包的read_excel函数可以读取文件但取消合并标头单元格并用NA替换空单元格。

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 

感谢。

1 个答案:

答案 0 :(得分: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

我不确切地知道您的电子表格是什么样的,并且根据它可能很难将其从当前表单转换为“列表列”形式。希望这会给你一些想法!