2011-09-26 15 views
3

Rを使用してデータをプロットしようとしましたが、CSVファイルには1秒ごとに記録された値が含まれています。私はRを1分単位で集計して、1分あたりのデータをplot(TIME,VALUE.)でプロットできるようにしたいと思います。 私のCSVファイルには次のようなものが含まれています。Rを使用してデータを集計する

Store No.,Date,Time,Watt 
33,2011/09/26,09:11:01,0.0599E+03 
34,2011/09/26,09:11:02,0.0597E+03 
35,2011/09/26,09:11:03,0.0598E+03 
36,2011/09/26,09:11:04,0.0596E+03 
37,2011/09/26,09:11:05,0.0593E+03 
38,2011/09/26,09:11:06,0.0595E+03 
39,2011/09/26,09:11:07,0.0595E+03 
40,2011/09/26,09:11:08,0.0595E+03 
41,2011/09/26,09:11:09,0.0591E+03 

私はR.への初心者だと私は任意のヘルプは高く評価されるだろう1分あたりに時間とワット列を集約するトラブルを抱えています。

+5

動物園のパッケージと集計を含む回答のr-helpやStackOverflowを検索します。これは100回も言及されています。または、動物園を設置し、その4つのビネットを読んでください。おそらく、発行された論文の最新版から始まります。 –

+0

実際に私はStackOverflowを検索しようとしましたが、同様の質問が時間列w.r.tを扱うことができませんでした。 2番目の列。 :( –

答えて

5

例で09:12:..いうより09:11:..ことを疑問に示したデータは、私たちは、少なくとも2つの異なる分を持っている店番号が無関係であると仮定すると、最後の3行を変更:ここで

# create test data 

Lines <- "Store No.,Date,Time,Watt 
33,2011/09/26,09:11:01,0.0599E+03 
34,2011/09/26,09:11:02,0.0597E+03 
35,2011/09/26,09:11:03,0.0598E+03 
36,2011/09/26,09:11:04,0.0596E+03 
37,2011/09/26,09:11:05,0.0593E+03 
38,2011/09/26,09:11:06,0.0595E+03 
39,2011/09/26,09:12:07,0.0595E+03 
40,2011/09/26,09:12:08,0.0595E+03 
41,2011/09/26,09:12:09,0.0591E+03" 
cat(Lines, "\n", file = "data.txt") 

# read in aggregating at the same time 

library(zoo) 
library(chron) 
z <- read.zoo("data.txt", header = TRUE, sep = ",", index = 2:3, 
    FUN = paste, FUN2 = function(x) trunc(as.chron(x), "00:01:00"), 
    aggregate = mean)[, -1] 

FUNが適用されますindexで指定された列に移動します。それらを貼り合わせてFUN2FUNの結果に適用され、chron日時が作成されます。 aggregate引数が示さaggregate引数の代わりにaggregate = function(x) tail(x, 1)に変更することができ望まれている内容に応じて

> z 
(09/26/11 09:11:00) (09/26/11 09:12:00) 
      59.63333   59.36667 

:最後にFUN2の同じ値を持つ行は、その後Watt寄付の平均を取って集約されます。

詳細情報と例については、動物園のパッケージを読み込み、?read.zoo?aggregate.zoovignette("zoo-read")とその他のビネットとヘルプファイルを参照してください。

更新:FUN2引数を使用して簡単に簡略化します。わからないが、read.zoo引数 は、この質問に最初に回答された時点では存在していない可能性があります。

+0

ありがとう!私の一日を作った!:)魅力のように働く! –

関連する問題