簡體   English   中英

將數據幀轉換為 r 中的時間序列

[英]Transforming data frame to time series in r

我目前正在嘗試將 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 函數時,數據沒有正確填寫。

在最后的注釋中使用可重復定義的DF將數據框讀入動物園對象,將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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM