1

我有来自欧洲中央银行的这个数据集,但它没有以适合导入 R 的方式编码:

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

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

我想知道纠正这种情况的正确方法是什么?

4

1 回答 1

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" 
于 2012-10-12T16:19:22.697 回答