-1
> A <- data.frame(x = c(1,1,2,2), y = c(1,2,1,2), v = c(0.1,0.2,0.3,0.4))
> A
  x y   v
1 1 1 0.1
2 1 2 0.2
3 2 1 0.3
4 2 2 0.4

> B <- dcast(A, x~y)
Using v as value column: use value.var to override.
> B
  x   1   2
1 1 0.1 0.2
2 2 0.3 0.4

plyr を使用してA を B に再形成することは可能ですか?

4

1 に答える 1

3

はい、たとえば、これを行うことができます:

library(plyr)
ddply(A,.(x),function(t)setNames(t$v,t$y))
  x   1   2
1 1 0.1 0.2
2 2 0.3 0.4

編集追加の使用に関するいくつかの説明ddply(ドキュメントを読んで、SOまたはネットで多くの例を参照することをお勧めします):

一般的な構文は次のとおりです。

ddply(data.frame, variable(s), function, optional arguments)
  • data.frame = A
  • 変数 = .(x): を使用します.。プライヤー機能です。この関数は、現在の値ではなく、変数の名前を取得するために使用されます。
  • function = 無名関数 here function(t){....}. ワンライナー関数は必要ありません{

内でddply、私が通常行うことは次のとおりです。

ddply(mydf, .(var), function(t) browser() )

次に、tをリアルタイムで調べます...

于 2013-08-04T21:31:44.773 に答える