在R中将日期转换为数字
Converting a date to numeric in R
我有数据,其中一列的日期格式为 YYYY-MM-DD,另一列为数字。
包:
library(forecast)
library(ggplot2)
library(readr)
运行 str(my_data)
生成以下内容:
spec_tbl_df [261 x 2] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
$ date : Date[1:261], format: "2017-01-01" "2017-01-08" ...
$ popularity: num [1:261] 100 81 79 75 80 80 71 85 79 81 ...
- attr(*, "spec")=
.. cols(
.. date = col_date(format = ""),
.. popularity = col_double()
.. )
- attr(*, "problems")=<externalptr>
我想对此做一些时间序列分析。当运行第一行代码为这个decomp <- stl(log(my_data), s.window="periodic")
我一直 运行 进入以下错误:
Error in Math.data.frame(my_data) :
non-numeric-alike variable(s) in data frame: date
最初我的日期格式是 MM/DD/YYYY 格式,所以我觉得我...几乎没有接近。我又在学习 R,但是我已经有一段时间没有上过正式的课程了。我在这里进行了初步搜索,但找不到任何我认为有用的东西(我只是一个业余爱好者。)
您目前有一个 data.frame
(或其 tibble
变体)。那还没有时间意识。你可以做这样的事情
library(ggplot2)
ggplot(data=df) + aes(x=date, y=popularity) + geom_line()
按日期正确获取基本线图。
您将不得不更仔细地查看程序包 forecast
以及您想要用于预测或建模的函数示例。 xts
之类的软件包可以帮助您,即
library(xts)
x <- xts(df$popularity, order.by=df$date)
plot(x) # plot xts object
除了绘图之外,您还可以了解时间和日期的滞后、引导和子集。剩下的更多取决于你想做什么......你没有告诉我们太多。
最后,如果您想将日期转换为数字(自 1970 年 1 月 1 日起),as.numeric(df$date))
会很快;但使用时间感知操作通常更好(但有你现在看到的学习曲线......)
我有数据,其中一列的日期格式为 YYYY-MM-DD,另一列为数字。
包:
library(forecast)
library(ggplot2)
library(readr)
运行 str(my_data)
生成以下内容:
spec_tbl_df [261 x 2] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
$ date : Date[1:261], format: "2017-01-01" "2017-01-08" ...
$ popularity: num [1:261] 100 81 79 75 80 80 71 85 79 81 ...
- attr(*, "spec")=
.. cols(
.. date = col_date(format = ""),
.. popularity = col_double()
.. )
- attr(*, "problems")=<externalptr>
我想对此做一些时间序列分析。当运行第一行代码为这个decomp <- stl(log(my_data), s.window="periodic")
我一直 运行 进入以下错误:
Error in Math.data.frame(my_data) :
non-numeric-alike variable(s) in data frame: date
最初我的日期格式是 MM/DD/YYYY 格式,所以我觉得我...几乎没有接近。我又在学习 R,但是我已经有一段时间没有上过正式的课程了。我在这里进行了初步搜索,但找不到任何我认为有用的东西(我只是一个业余爱好者。)
您目前有一个 data.frame
(或其 tibble
变体)。那还没有时间意识。你可以做这样的事情
library(ggplot2)
ggplot(data=df) + aes(x=date, y=popularity) + geom_line()
按日期正确获取基本线图。
您将不得不更仔细地查看程序包 forecast
以及您想要用于预测或建模的函数示例。 xts
之类的软件包可以帮助您,即
library(xts)
x <- xts(df$popularity, order.by=df$date)
plot(x) # plot xts object
除了绘图之外,您还可以了解时间和日期的滞后、引导和子集。剩下的更多取决于你想做什么......你没有告诉我们太多。
最后,如果您想将日期转换为数字(自 1970 年 1 月 1 日起),as.numeric(df$date))
会很快;但使用时间感知操作通常更好(但有你现在看到的学习曲线......)