2017-04-21 71 views
0

好吧,所以我一直試圖從Facebook使用這個包,但由於某種原因,我一直看到這個錯誤。

library(tidyquant) 
library(quantmod) 
library(prophet) 
library(dplyr) 

SPY <-tq_get(get = "stock.prices", "SPY", from = "2016-01-01") 

df<-select(SPY,c(date,close)) 
df$date <- as.Date(as.character(df$date),format="%Y-%m-%d") 
colnames(df)<-c("ds","y") 
m<-prophet(df) 
future<-make_future_dataframe(m,periods=52, freq = "d") 
forecast <- predict(m,future) 
plot(m,forecast) 

當運行繪圖功能,我會看到此錯誤消息:

錯誤as.Date.default(X $日期,格式=「%d /%米/%Y 「):不知道如何將」x $ date「轉換爲」Date「類

我試過使用as.Date函數,strptime函數和格式函數,但它沒用。

forecast$ds<-as.Date(paste(forecast$ds),"%Y-%m-%d") 
forecast$ds<- format(forecast$ds, "%d/%m/%Y") 
forecast$date<-forecast$ds 
m$date<-forecast$ds 

這不起作用

df$newdate<- strptime(as.character(df$ds),"%Y-%m-%d") 
df$newdate<- format(df$newdate, "%d/%m/%Y") 
df$newdate<-as.Date(df$newdate) 
dp<-data.frame(df$newdate,y) 

,這也不能工作。他們是其他類似帖子提供的答案,但我不明白是什麼導致了這個問題。任何幫助,將不勝感激。

+0

嘗試使用'lubridate'軟件包,它具有許多功能,您正在尋找 –

回答

0
library(lubridate) 
df$date <- ymd(df$date) # ymd stands for year, month, date 

library(anydate) 
df$date <- anydate(df$date) 

繪製的作品之後我。