【问题标题】:Error when converting csv stock data to xts将 csv 股票数据转换为 xts 时出错
【发布时间】:2017-09-19 14:38:40
【问题描述】:

下面是我试图将 csv 文件转换为 xts 的代码,以便我可以对其进行分析,但似乎没有任何效果。我什至使用了已在此平台上发布的类似问题的答案,但似乎没有任何效果。

toDate <- function(x) as.Date(x, origin = "2015-02-15")
z <- read.zoo("Nasdaq.csv", header = TRUE, sep = ",", FUN = toDate)
x <- as.xts(z)

我得到以下错误:

7. stop("character string is not in a standard unambiguous format") 
6. charToDate(x) 
5. as.Date.character(x, origin = "2015-02-15") 
4. as.Date(x, origin = "2015-02-15") 
3. FUN(...) 
2. processFUN(ix) 
1. read.zoo("Nasdaq.csv", header = TRUE, sep = ",", FUN = toDate) 

【问题讨论】:

  • 如果您发布 dput(z) 的输出,其他人将能够复制您的问题,这将有助于回答问题。
  • 错误信息似乎很清楚——文件中的日期不是标准格式。您将需要提供一种格式,以便它知道如何解释它们。如果没有可重现的示例(缺少输入的 csv 文件),就不能多说。请查看minimal reproducible example

标签: r xts zoo


【解决方案1】:

问题是当您将文件作为动物园读取时。 如果是时间序列,请尝试加载文件,而不是将其转换为 ts。

data <-  read.csv("anyfile.csv")
Y <- ts(data$Y, start = c(2015, 2), end = c(2017, 1), frequency = 12)
my_xts <- as.xts(Y)

【讨论】:

  • 我已经尝试过了,但仍然收到如下错误:as.xts(Y) 中的错误:找不到对象“Y”
  • 如果您可以共享至少一部分数据。 10 行将用于测试。
  • 或将as.Date(x, format, tryFormats = c("%Y-%m-%d", "%Y/%m/%d")) 添加到您的第一行
猜你喜欢
  • 2019-01-22
  • 1970-01-01
  • 2012-03-09
  • 2016-11-23
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多