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

Import excel with duplicate columns that end with a number (r xlsx)

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

Thingie1
Thingie1
Thingie2
Thingie2

(我知道这很愚蠢...这是因为我正在组合来自 2 个不同数据库的数据,并且 12 表示调查 1 和调查 2 之间的差异并选择转储输出到 xlsx 文件中。

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

Thingie1
Thingie3
Thingie2
Thingie4

显然,我的 real-world 示例要复杂得多,因此很难识别什么是什么。我想要这样的东西:

Thingie1
Thingie11
Thingie2
Thingie21

现在,我可以通过打开 excel 中的文件并更改那里的列来解决这个问题……这样我就可以解决眼前的问题,但我讨厌破坏我的工作流程……会有一些以更好的方式将此数据导入 R 本身的方法?

我认为您应该使用 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"