2017-12-28 21 views
-2

私は1つの列が年の日付を表し、他の列の観測値が海抜(mm)。時系列上のスムージング平均を計算する

私は10年平滑平均を計算する必要があります。

ここではいくつかの偽のデータ:

x = rnorm(1:100) #annual sea leavel rise 
date = seq(1801,1900) #years from 1801 to 1900 

df = data.frame(date,x) #create data.frame 

は助けることができる任意のRの機能はありますか? 平滑化された平均は移動平均と同じですか?任意のヘルプおよび/または提案

答えて

1

移動平均ため

おかげでちょうど広く気候科学で使用される平滑化平均値の最も単純なケースです。非常に便利な方法かもしれR フィルタ機能が

# sample data 
x <- rnorm(1:100) 
date <- seq(1801,1900) 
df <- data.frame(date,x) 
# coefficients for moving average are the simplest ones 
f10 <- rep(1/10,10) 
df[,"x_10ma"] <- filter(df$x, f10, sides = 1) 
# fast check 
plot(x = df$date, y = df$x, col="red") 
points(x = df$date, y = df$x_10ma,col="blue") 

より高度な平滑化オプションが提供されている場合、あなたの問題を解決するには、例えば「TTR」または「スムーズな」パッケージ。