簡體   English   中英

如何創建缺少年份的每月時間序列?

[英]How to create a monthly time series with missing years?

我有每月數據幀(stn),我想將其轉換為單列(日期與降雨)時間序列動物園對象,因為它缺少年份。 我想對動物園包裹做一些分析。 有什么幫助嗎?

> head(stn)

  Year   Jan   Feb   Mar   Apr  May Jun Jul Aug Sep Oct   Nov   Dec

1 1990  79.6 168.6 122.6 161.9  0.0   0   0   0   0 0.0  11.2  45.4

2 1991 155.6 173.9 163.2  37.4  0.0   0   0   0   0 0.0   0.0  47.2

3 1995  97.7  84.9 117.1   0.0  3.6   0   0   0   0 0.4   0.0  99.8

4 1996 188.8 155.9 214.3  25.3  0.0   0   0   0   0 0.0   0.0 134.3

5 1997  37.3 202.1  24.4  21.4 39.0   0   0   0   0 0.0 120.2 372.1

6 1998 209.4 175.1 117.4 135.4  5.2   0   0   0   0 0.0   0.0   0.0

我知道重塑或熔化可能是“正確”的方法,但是對於您的數據,由於列是連續的,因此很容易偽造它。

require(zoo)
stn2 <- stn[,-1]                    # Extracts everything but the Year column
stn2 <- as.vector(t(stn2))          # Turns your matrix into one long vector
date <- apply(                      # Make a date column with a character vector.
             cbind(
                   rep( stn$Year,each=12 ),
                   rep( 1:12, times=length(stn$Year) )
             ), 1, paste, collapse="-" )
date <- as.yearmon(date, "%Y-%m")                # Convert it to a yearmon object
stn2 <- data.frame("Date" = date, "Rain" = stn2) # Make a data frame

您可以嘗試使用stn2 <- reshape2::melt(stn, id.vars = Year) ,然后使用此結果merge(stn2,masteryearlist,all=TRUE) ,其中masteryearlist是可以手動創建的。

暫無
暫無

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

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