导入具有错误组织标头的数据集

时间:2012-10-12 15:31:18

标签: r

我有来自欧洲中央银行的this dataset,但它没有以适当的方式编码导入R:

尝试使用read.csv导入时出现以下错误:

Error in read.table(file = file, header = header, sep = sep, quote = quote, : 
  more columns than column names

我想知道纠正这个问题的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用skip参数在前几行中不读取,这会引起您的问题:

europeanCB <- read.csv("path/to/data.csv", skip = 4)

尽管如此,您可能仍希望对列名进行一些清理。目前,它们看起来像这样:

head(names(europeanCB))
[1] "Period.Unit."          "X.Australian.dollar.." "X.Bulgarian.lev.."  
[4] "X.Brazilian.real.."    "X.Canadian.dollar.."   "X.Swiss.franc.."  

一点gsub()可以快速解决这个问题:

names(y) <- gsub("X\\.|\\.$|\\.\\.$", "", names(y))
head(names(y))
[1] "Period.Unit"       "Australian.dollar" "Bulgarian.lev"   "Brazilian.real"   
[5] "Canadian.dollar"   "Swiss.franc"