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

时间:2016-08-02 15:14:22

标签: r excel r-xlsx

我有一个xlsx文件,其中包含4个列:

Thingie1
Thingie1
Thingie2
Thingie2

(我知道它很愚蠢......因为我正在组合来自2个不同数据库的数据,而12表示调查1和调查2并选择转储到xlsx文件中。

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

Thingie1
Thingie3
Thingie2
Thingie4

显然,我的真实世界的例子要复杂得多,然后很难确定什么是什么。我希望有类似的东西:

Thingie1
Thingie11
Thingie2
Thingie21

现在,我可以通过在excel中打开文件并在那里更改列来解决这个问题...所以我可以解决我的问题,但是我讨厌破坏我的工作流程...是否有某种方法可以导入这些数据进入R本身的更好方法是什么?

1 个答案:

答案 0 :(得分:1)

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