Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R-日期分配问题-如何更正?_R_Forecasting_Tidyverse - Fatal编程技术网

R-日期分配问题-如何更正?

R-日期分配问题-如何更正?,r,forecasting,tidyverse,R,Forecasting,Tidyverse,我在分配值时遇到问题。 这看起来很奇怪,因为在我将相同的命令应用到另一个数据集之后,它就可以工作了 下面是一些屏幕截图: 数据集#1 步骤1:加载数据集1并使用ts函数。 步骤2:基于数据集1创建一个新对象,并重新设置日期格式。(创建错误) 数据集#2 步骤1:加载数据集1并使用ts函数。 步骤2:基于数据集1创建一个新对象,并重新设置日期格式。(正确创建) 下面是上面显示的正确代码的代码: # Load required libraries library(forecast) libr

我在分配值时遇到问题。 这看起来很奇怪,因为在我将相同的命令应用到另一个数据集之后,它就可以工作了

下面是一些屏幕截图:

数据集#1 步骤1:加载数据集1并使用ts函数。

步骤2:基于数据集1创建一个新对象,并重新设置日期格式。(创建错误)

数据集#2 步骤1:加载数据集1并使用ts函数。

步骤2:基于数据集1创建一个新对象,并重新设置日期格式。(正确创建)

下面是上面显示的正确代码的代码:

# Load required libraries
library(forecast)
library(lubridate)
library(tidyverse)
library(scales)
library(ggfortify)

# Load historical SLA definitions
bwi <- read.csv(file="C:/Users/nsoria/Documents/Data Science/SLA Prediction/TEC_BWI.csv", header=TRUE, sep=';', dec=",")

# Create time series object
ts_bwi <- ts(bwi$SLA, frequency = 12, start = c(2015,1))

############################################ STL Model Algorithm
# Pull out the seasonal, trend, and irregular components from the time series
model_stl <- stl(ts_bwi, s.window = "periodic")

############################################ ARIMA Model Algorithm
# Pull out the seasonal, trend, and irregular components from the time series
#model_arima <- auto.arima(ts_bwi)

# Predict the next 5 month of SLA (STL)
pred <- forecast(model_stl, h = 5)

# Predict the next 5 month of SLA (ARIMA)
#pred <- forecast(model_arima, h = 5)

# Convert pred from list to data frame object
df1 <- fortify(pred) %>% as_tibble()

# Convert ts decimal time to Date class
df1$Date <- as.Date(date_decimal(df1$Index), "%Y-%m-%d")
#加载所需的库
图书馆(预测)
图书馆(lubridate)
图书馆(tidyverse)
图书馆(比例尺)
图书馆(GGF)
#加载历史SLA定义

bwi它在做你要求它做的事

“错误”
df1$Index
已经是日期。你不需要把它转换成任何东西。当你这样做的时候,特别是你这样做的时候,有趣的事情就会发生

date\u decimal
函数需要一个类似于
2015.123
的数字,并给出“2015-02-14 21:28:48 UTC”

如果你做了一些疯狂的事情,比如:

date_decimal(as.Date("2015-01-01"))
然后它首先将
视为.Date(“2015-01-01”)
视为它实际的数字(16436,即自1970-01-01以来的天数),然后它会给出
16436-01-01
,(即正是您要求的。)

你的解决方案是注意到你已经有了一个日期,所以没有什么可以转换成日期


此外,您的代码会向您发出警告。不要忽视警告。

谢谢。正如您所说,删除日期的小数部分实际上是有效的。对我来说,这看起来很奇怪,因为有相似的数据,它适用于另一个案例。关于时区,我正在努力解决这个问题。