我试图阅读Purchases from April 2016 onward中包含的名为 etfreit.zip 的压缩文件夹。
在压缩文件夹中是一个名为 2016.xls 的文件,由于它包含空行和日文文本,因此难以阅读。
我尝试过从R读取xls的各种方法,但是我一直在收到错误。这是我试过的代码:
download.file("http://www3.boj.or.jp/market/jp/etfreit.zip", destfile="etfreit.zip")
unzip("etfreit.zip")
data <- read.csv(text=readLines("2016.xls")[-(1:10)])
我试图跳过前10行,因为我只想读取xls文件中的数据。代码只在它运行的范围内工作,但数据看起来真的很奇怪。
非常感谢在R中正确阅读电子表格以进行分析的任何帮助。
答案 0 :(得分:0)
我认为这里发生了不止一种奇怪的事情,但我在({}} gdata
包中取得了一些成功:
data = gdata::read.xls("2016.xls")
顺便说一句,将xls文件视为csv很少有效。实际上它根本不应该工作:)为你的数据类型找出一个合适的导入函数然后使用它,不要假设read.csv
除了csv之外还要关注其他任何事情(正常)。
根据您的评论:我不确定您的意思&#34;未正确对齐&#34;,但这里有一些代码可以清理数据,并为您提供数字变量而不是因素(注意我使用tidyr
表示):
data2 = data[-c(1:7), -c(1, 6)]
names(data2) = c("date", "var1", "var2", "var3")
data2[, c(2:4)] = sapply(data2[, c(2:4)], tidyr::extract_numeric)
# Optionally convert the column with factor dates to Posixct
data2$date = as.POSIXct(data2$date)
另外,请注意我只删除了7个上行 - 这似乎是包含日语标题的数据部分。
答案 1 :(得分:0)
&#34;奇数&#34;使用jailbreakr
包读取异常的Excel表格。它仍在开发中,但看起来很不错: