4

スプレッド シートで体重を追跡していますが、R を使用してエクスペリエンスを改善したいと考えています。R での時系列分析に関する情報を見つけようとしましたが、うまくいきませんでした。

ここにあるデータは次の形式です。

date -> weight  -> body-fat-percentage  -> water-percentage

例えば

10/08/09 -> 84.30 -> 18.20 -> 55.3

私がしたいこと

plot時間に対する加重および指数移動平均

どうすればそれを達成できますか?

4

3 に答える 3

6

を使用して R にデータを読み込みますx <- read.csv(filename)。日付が文字クラスとして、重みが数値として入っていることを確認してください。
次に、以下を使用します。

require(zoo)
require(forecast) # Needed for the ses function
x$date <- as.Date(x$date,"%m/%d/%Y") # Guessing you are using the US date format
x$weight <- zoo(x$weight,x$date) # Allows for irregular dates
plot(x$weight, xlab="Date", ylab="Weight") # Produce time plot
ewma <- as.vector(fitted(ses(ts(x$weight)))) # Compute ewma with parameter selected using MLE
lines(zoo(ewma,x$date),col="red") # Add ewma line to plot
于 2009-10-10T22:20:00.873 に答える
2

不規則な間隔の時系列を処理する必要があるように見えるため、tsはオプションではありません。他の時系列ライブラリの1つを使用します。zooが最も広く使用されていますが、他のいくつかのオプションはtimeSeries、xts、fts、およびそのです。CRANビューをご覧ください:http://cran.r-project.org/web/views/TimeSeries.html

私が今見ることができる1つの課題は、日付形式です。データの最初に日付を再フォーマットするか、Rのformat()関数を使用することをお勧めしますが、時系列パッケージで使用するには、それらをRのDateまたはPOSIXオブジェクトに変換する必要があります。

read.zoo()関数を使用して、ファイルを時系列で読み込むことができます。ビネットもご覧ください。EWMAについては、そこにもいくつかの選択肢があると思います。RmetricsとTTRの両方にバージョンがあります。

コンピューターに着いたら例を投稿します。ちなみに、このテーマに関して利用可能な多くのリソースがあります。この電子ブックをご覧ください:http ://www.rmetrics.org/ebooks/TimeSeriesFAQ.pdf 。

于 2009-10-11T02:35:30.640 に答える
0

この夏に出版されたばかりの R の時系列に関する非常に優れた本があります。

http://www.amazon.com/Introductory-Time-R-Use/dp/0387886974

主題をより深く掘り下げたい場合。

-k

于 2009-11-07T06:45:53.423 に答える