1

時間の経過とともに車両の価格をプロットしようとしています。レギュラーを入れたいです。スパークラインのマーカーとしての車両の番号。私のデータは次のようになります。

> head (x[c(1,2,3,4)])
   samp.date      idx price  reg.date
1 2012-11-15  xxxxxxb  27490  2010-3-1
2 2012-11-15  yyyyxxm  28990  2010-9-1
3 2012-11-15  zzzzzxxv 25980  2010-9-1
4 2012-11-15  aaaaaz   31995  2011-1-1
5 2012-11-15  aaaaaar  33995  2011-3-1
6 2012-11-15  aaaaxxc  30980  2011-3-1

任意の idx について、多くのサンプル日付 (samp.date) が存在する可能性があり、価格は上下する可能性があります。そのため、geom_text を使用して、ggplot 行にラベルを付けるために、最後のサンプル日付とそのサンプル日付の価格 (+/- いくつかのファッジ ファクター) を使用したいと思います。しかし、正しい座標を引き出すことができないようです。私は ddply (plyr から) を使用するのに適切なツールだと思います。

ddply (x, .(idx), function (x) { return (c(tail(x$samp.date, 1), as.numeric (tail (x$price, 1))))})

しかし、これは x$price の値を強制的に日付にします:

          idx         V1         V2
 1    aaaaaau 2013-05-19 2082-03-24
 2    abbbbbb 2013-05-19 2082-03-24
 3    accccco 2013-03-17 2054-11-06
 4    adddddo 2013-05-19 2068-07-15

y座標はV2でもいいのかもしれませんが、日付より数字の方が嬉しいです。ddply への関数が data.frame ではなくマトリックスを返さなければならないという問題はありますか? もしそうなら、返されたさまざまな次元のさまざまなクラスを取得するにはどうすればよいですか?

このように、または他の方法で返されるさまざまなタイプ/クラスを取得できますか?

4

1 に答える 1

0

の関数はddplyデータ フレームを返す場合があります。実際、推奨される方法は次のとおりです。

ddply(x, .(idx), function (x) { 
        data.frame(date=tail(x$samp.date, 1),
                   price=as.numeric(tail(x$price, 1)))
      })
于 2013-05-29T20:23:10.223 に答える