仅从R开始,并且我没有设法将CSV /数据帧放入所需的时间序列中。我已经尝试了所有可以找到的相关解释。
原始数据示例:
date,count
2017-01-01,92
2017-01-02,606
2017-01-03,514
2017-01-04,377
2017-01-05,285
2017-01-06,250
2017-01-07,465
2017-01-08,64
我需要一个时间序列,上面的日期列中的每一天都应与计数列中的已售出计数相符。
预期输出示例:(至少这就是我所理解的每日时间序列的样子。如果我错了,请纠正我)
2017-01-01 2017-01-02 2017-01-03
92 606 514
我尝试通过多种不同方式将其加载到R中,
sold_raw.df=read.csv(file="Daily_sold_all_clients_2017_2018.csv", head=TRUE, stringsAsFactors = FALSE)
或
df <- read.csv("sold.csv", header=TRUE, row.names="date")
然后尝试将它们转换为ts(即使我正在做的教程需要ts,也xts也不起作用)
x=ts(df)
或;
xts(df, order.by=as.Date(rownames(df),"%m/%d/%Y"))
这会导致错误:
Error in xts(df, order.by = as.Date(rownames(df), "%m/%d/%Y")) :
'order.by' cannot contain 'NA', 'NaN', or 'Inf'
和:
ts.dat <- ts(data=df$count, start = 1, frequency = 365)
和:
> ts(df, order.by=as.Date(rownames(df),"%m-%d-%Y"))
Error in ts(df, order.by = as.Date(rownames(df), "%m-%d-%Y")) :
unused argument (order.by = as.Date(rownames(df), "%m-%d-%Y"))
这些行都没有给我我需要的输出。谁能给我一些指导,说明如何读取带有日期和计数的csv并将其转换为时间序列?
答案 0 :(得分:1)
看起来您正在使用与数据集中显示的日期格式不同的日期格式。试试这个:
xts(df, order.by=as.Date(rownames(df),"%Y-%m-%d"))
或者,使用ts
:
ts.dat <- ts(df, start = 1, frequency = 365)
row.names(ts.dat) <- rownames(df)
希望有帮助。