导入excel与重复的列以数字结尾(r xlsx)

我有一个包含4列的xlsx文件:

Thingie1 Thingie1 Thingie2 Thingie2 

(我知道这很愚蠢……这是因为我合并了来自2个不同数据库的数据, 12表示调查1和调查2之间的差异,并select将其转储到xlsx文件中。

当我使用xlsx包将其导入到R中时,它将列标题更改为:

 Thingie1 Thingie3 Thingie2 Thingie4 

显然,我现实世界中的例子要复杂得多,因此很难确定是什么东西。 我想有这样的东西:

 Thingie1 Thingie11 Thingie2 Thingie21 

现在,我可以通过在Excel中打开文件并在那里更改列来解决这个问题…所以我可以解决我眼前的问题,但我讨厌打破我的工作stream程…有没有办法以更好的方式导入这些数据成R本身?

我认为你应该单独阅读header=FALSE文件的第一行(包含列名),使用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"