gpt4 book ai didi

r - 无法将 data.frame 对象转换为 xts 对象 : Gives POSIXlt error. (R)

转载 作者:行者123 更新时间:2023-12-02 08:16:18 25 4
gpt4 key购买 nike

我正在尝试将源自 .csv 的 data.frame 对象转换为 xts 对象。它没有正确转换为 xts 对象,而是给出了错误:

Error in as.POSIXlt.character(x, tz, ...) : character string is not in a standard unambiguous format

我尝试将日期列更改为类日期,但无济于事。这是代码:

library(xts)
mydata <- read.csv("https://sites.google.com/site/jonspinney/home/mba-6693-2017/edhec.csv?attredirects=0&d=1",header=TRUE,sep=",")
mydata$Date <- as.POSIXlt(mydata$Date, format = "%m/%d/%Y")
mydata <- as.xts(mydata)
class(mydata$Date)
class(mydata)

最佳答案

当您在数据框上调用通用函数 as.xts 时,将调用 xts:::as.xts.data.frame。默认情况下,它期望数据框的 row.names 为 DateTime,而 mydata 的第一列为 DateTime,而 row.names(mydata ) 给出 1, 2, 3, 4, ... 这肯定不是 as.POSIXltas.POSIXct 可识别的字符串格式 进行转换。

因为你已经把Date列整理成了DateTime格式(POSIXlt格式),所以可以直接使用xts:

oo <- xts(mydata[-1], mydata[[1]])

str(oo)
#An ‘xts’ object on 1993-12-31/2015-11-30 containing:
# Data: num [1:264, 1:9] 100 100.4 100.5 99.5 97 ...
# - attr(*, "dimnames")=List of 2
# ..$ : NULL
# ..$ : chr [1:9] "CA" "SB" "EM" "EMN" ...
# Indexed by objects of class: [POSIXlt,POSIXt] TZ:
# xts Attributes:
# NULL

class(oo)
#[1] "xts" "zoo"

关于r - 无法将 data.frame 对象转换为 xts 对象 : Gives POSIXlt error. (R),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41647053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com