我正在尝试读取国际银行(BIS)提供的csv文件。 所讨论的数据是每半年的数据矩阵(因此,我们每年有2个数据矩阵)。 该csv文件包含每年的所有这些矩阵。
当我尝试用R读取它时,我获得了一个巨型列向量,其中包含行中的所有数据。在我看来,这个文件真是一团糟。
这是右上角的文件BIS,您将找到下载选项
使用Rstudio的任何人都可以尝试这样做吗? 我不知道如何正确读取此文件。 谢谢
(2)这是dput(head(x))的输出
NETCOREAPP3_0
答案 0 :(得分:4)
就像@camille所说的那样,您必须在读取数据之前跳过一些行。
library(readr)
df <- read_csv("table-d6.csv", skip = 6)
对我来说,它为我提供了一个527行58列的文件(当我使用Excel打开它时看起来很相似)
PS:有关使用read.table()打开的信息,请参见@Cettt响应。它的工作原理基本相同。我观察到的唯一区别是readr
中的函数似乎正确理解了日期:
> tail(colnames(df))
[1] "31/12/2016" "30/06/2017" "31/12/2017" "30/06/2018" "31/12/2018"
[6] "30/06/2019"
答案 1 :(得分:2)
您可以简单地将read.table
用于以下设置。请注意,文件名为table-d6.csv
,该文件应位于您的工作目录中。
x <- read.table("table-d6.csv", skip = 6, nrow = -1, sep = ",", dec = ".",
stringsAsFactors = FALSE, header = TRUE)
某些列引用日期。由于列名不允许以数字开头,因此R在这些列名前放置X
。因此,您有名为X30.06.2018
的列。