0

Pandas は、時系列データを操作するためのツールとして非常に成功していることが証明されています。たとえば、5 分間の平均を実行するには、次のresampleような関数を使用できます。

import pandas as pd
dframe = pd.read_table("test.csv", 
               delimiter=",", index_col=0, parse_dates=True,     date_parser=parse)
## 5  minutes mean
dframe.resample('t', how = 'mean')
## daily mean
ts.resample('D', how='mean')

R でこれを実行するにはどうすればよいですか?

4

3 に答える 3

3

xtsRでは時系列操作に特化したパッケージが使えます。たとえば、次のperiod.applyように関数を使用できます。

library(xts)
zoo.data <- zoo(rnorm(31)+10,as.Date(13514:13744,origin="1970-01-01"))
ep <- endpoints(zoo.data,'days')
## daily mean 
period.apply(zoo.data, INDEX=ep, FUN=function(x) mean(x))

この関数の便利なラッパーがいくつかあります。

apply.daily(x, FUN, ...)
apply.weekly(x, FUN, ...)
apply.monthly(x, FUN, ...)
apply.quarterly(x, FUN, ...)
apply.yearly(x, FUN, ...)
于 2013-04-03T18:13:14.867 に答える
0

R にはデータ フレーム (data.frame) があり、csv ファイルを読み取ることもできます。例えば。

dframe <- read.csv2("test.csv")

日付の場合、colClasses パラメータを使用して列を指定する必要がある場合があります。を参照してください?read.csv2。例えば:

dframe <- read.csv2("test.csv", colClasses=c("POSIXct",NA,NA))

roundその後、またはを使用して日付フィールドを丸めることができるはずですtrunc。これにより、データを目的の頻度に分割できます。

例えば、

dframe$trunc.times <- trunc(dframe$date.field,1,units='mins');
means <- daply(dframe, 'trunc.times', function(df) { return( mean(df$value) ) });

value平均するフィールドの名前はどこにありますか。

于 2013-04-03T18:11:22.550 に答える