-1
我从Excel中读取数据文件导入到R的文件的格式,像这样一个data.table:与暧昧列名处理data.table
COL_1_STUFF COL_2_STUFF COL_3_STUFF
ID EST MOE PCT EST MOE PCT EST MOE PCT
也就是说,对于每个变量( COL
s),有一个估计值,一个误差范围和给定的百分比。
麻烦的是由read.xlsx2
,我使用导入像这样的文件,该文件创建:
data <- as.data.table(read.xlsx2(
"file.xlsx", sheetIndex = 1L, colIndex = c(1L, 4L, 7L), startRow = 2L))
的问题是,read.xlsx2
相同的列名分配给了一堆东西 - 进口看起来是这样的:
ID EST EST EST
即使我设置header = FALSE
,我很容易得到这样的
X1 X2 X2 X2
为了规避这一点,我已经做了以下后续导入:
data[ , c("col1_est", "EST") := .(EST, NULL)]
data[ , c("col2_est", "EST") := .(EST, NULL)]
data[ , c("col3_est", "EST") := .(EST, NULL)]
这令我奇怪的方式来处理这个问题;任何人都可以提出一个替代方法吗?
也许你可以尝试将你的Excel文件转换为csv并使用data.table的fread来将数据读入R. – KFB
听起来好像你正在处理多行标题。你想要什么样的输出? – A5C1D2H2I1M1N2O1R2T1
@KFB让我想起了这些,但我想找到一个不涉及到的解决方案 - 对我来说不是这样,但我可以想象有人拥有大量像我一样格式化的文件,寻找一个程序化解决方案 – MichaelChirico