我有来自欧洲中央银行的this dataset,但它没有以适当的方式编码导入R:
尝试使用read.csv导入时出现以下错误:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
more columns than column names
我想知道纠正这个问题的正确方法是什么?
答案 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"