为了研究模式,我试图在1年的时间内为PNB(Nifty Index)计算plot
股票价格(时间序列)。附件是CSV
格式的股票价格数据
但是当我尝试使用CSV
从zoo (xts) package
文件转换此数据的类时,
注意:xts是zoo包的子集。
d<-xts(f$Close.Price,order.by=as.Date(f$Date),format="%m/%d/%y")
charToDate(x)出错:
character string is not in a standard unambiguous format
where f is the dataframe which is the reading the .csv file
我还尝试使用以下命令的日期变量,并给出了以下错误,
s&lt; -as.Date(f $ Date,format =“%d /%m /%Y”) 小号 [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [29] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [57] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [85] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [113] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [141] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [169] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [197] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [225] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA [253] NA
我的日期是NA。 换句话说,我无法将f $ Date的类转换为“ts”类。 请帮我将数据转换成正确的格式。
答案 0 :(得分:0)
尝试使用lubridate
:
library(lubridate)
df <- read.csv("stockdata.csv", header = T, stringsAsFactors = F)
df$timedata <- mdy(df$timedata)
mdy()
会采用可疑日期的矢量&#39;。您可以使用ymd()
,mdy()
,dmy()
等指定日期的排列方式。查看lubridate
的文档了解更多信息。
希望这有帮助。