先知日期格式R

问题描述

year_month   amount_usd
201501       -390217.24
201502       230944.09
201503       367259.69
201504       15000.00
201505       27000.21
201506       38249.65

df <- structure(list(year_month = 201501:201506,amount_usd = c(-390217.24,230944.09,367259.69,15000,27000.21,38249.65)),class = "data.frame",row.names = c(NA,-6L))

我想将其转换为DD / MM / YYYY格式,以便在先知预测代码中使用。

这是我到目前为止尝试过的。

for (loopitem in loopvec){
  df2 <- subset(df,account_id==loopitem)
  df3 <- df2[,c("year_month","amount_usd")]
  df3$year_month <- as.Date(df3$year_month,format="YYYY-MM",origin="1/1/1970")
  try <- prophet(df3,seasonality.mode = 'multiplicative')
}

fit.prophet(m,df,...)中的错误: 数据框必须具有“ ds”和“ y”列,分别带有日期和值。

解决方法

您需要将日期编号(我只是在使用第一个)粘贴到year_month值,然后可以使用lubridate的ymd()函数将列转换为日期对象。

library(dplyr)
library(lubridate)

mutate_at(df,"year_month",~ymd(paste(.,"01")))

  year_month amount_usd
1 2015-01-01 -390217.24
2 2015-02-01  230944.09
3 2015-03-01  367259.69
4 2015-04-01   15000.00
5 2015-05-01   27000.21
6 2015-06-01   38249.65

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...