我有一个xlsx文件,其中包含4个列:
Thingie1
Thingie1
Thingie2
Thingie2
(我知道它很愚蠢......因为我正在组合来自2个不同数据库的数据,而1
和2
表示调查1和调查2并选择转储到xlsx文件中。
当我使用xlsx包将其导入R时,它会将列标题更改为:
Thingie1
Thingie3
Thingie2
Thingie4
显然,我的真实世界的例子要复杂得多,然后很难确定什么是什么。我希望有类似的东西:
Thingie1
Thingie11
Thingie2
Thingie21
现在,我可以通过在excel中打开文件并在那里更改列来解决这个问题...所以我可以解决我的问题,但是我讨厌破坏我的工作流程...是否有某种方法可以导入这些数据进入R本身的更好方法是什么?
答案 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"