将数据帧转换为r

时间:2018-12-05 00:08:07

标签: r dataframe time-series

我目前正在尝试将data.frame转换为时间序列。数据框如下所示:

Data Frame

我要做的就是能够将文档数据绘制为时间的函数,并对其进行统计检验。

任何帮助将不胜感激!

这是我的代码当前的样子:

x=aggregate( doc ~ mo + yr , B , mean )
x$Date <- as.yearmon(paste(x$yr, x$mo), "%Y %m")
df_ts <- xts(x, order.by = x$Date)
keeps <- "doc"
df_ts <- df_ts[ , keeps, drop = FALSE]
df_ts_1 <- as.ts(df_ts, start = head(index(df_ts), 1), end = 
tail(index(df_ts), 1))

我遇到的问题是月份和年份不是按顺序排列的,因此当我尝试应用as.tf函数时,数据无法正确填写。

1 个答案:

答案 0 :(得分:0)

使用最后在“注释”中可重复定义的DF将数据帧读入一个Zoo对象,将Date列转换为yearmon类,并使用ggplot2进行绘制。如果存在重复的日期(示例数据中没有重复的日期),则将aggregate = mean参数添加到read.zoo

library(ggplot2)
library(zoo)

z <- read.zoo(DF[c("Date", "doc")], FUN = as.yearmon, format = "%b %Y")
autoplot(z) + scale_x_yearmon()

这也可以:

tt <- as.ts(z)
plot(na.approx(tt), ylab = "tt")

注意

将来请不要使用图像。这次我重新输入了前三行。

DF <- data.frame(month = c("02", "10", "12"), year = c(1998, 2000, 2000),
 doc = c(1.55, 2.2, 0.96), Date = c("Feb 1998", "Oct 2000", "Dec 2000"),
 stringsAsFactors = FALSE)