-1

私のデータは次の形式を取ります。

df <- data.frame(year=c(1992:2015), share=c(31.9,   36.8,   38.2,   39.9,   36.3,   36.5,   35.6,   35.2,   34.8,   33.2,   33.5,   34.6,   
                                            36.3,   36.2, 38.1, 37.2,   35.9,   33.2,   36.9,   36.0,   33.9,   33.7,   34.3,   35.1))

データは年間平均値で構成されています。変化が線形であると仮定して、データを四半期の平均値に変換したいと考えています。

を使ってみましたlibrary("tempdisagg")が、うまくいきません。library("splines")また、統計情報を使用して他のアプローチをいくつか試しましたが、役に立ちませんでした。おそらく、日付と時系列の形式を正しく処理していないためです。

明確にするために、予想される出力は次のようになります。

y_q     share
1992q1  values
1992q2  values
1992q3  values
1992q4  values
1993q1  values
1993q2  values
1993q3  values
1993q4  values
1994q1  values
1994q2  values
1994q3  values
1994q4  values

どんな助けでも大歓迎です。

4

2 に答える 2

0

「approx」関数は、出力に必要な値の線形補間を実行できます。

#create sequence of dates
quarter<-seq(as.Date("1992-01-01"), as.Date("2015-01-01"), by="quarter")
#create the linear interploated values
estshare<-approx(df$share, n=length(quarter))
newdf<-data.frame(quaters<-quarter, share<-estshare$y)

この場合、株価は年の初日からのものであると想定しています。平均値である場合は、日付シーケンスの開始日と終了日、「四半期」を年の最初から年の中間に変更することができます。

于 2016-08-17T13:50:35.297 に答える