2010-12-02 18 views
5

**ply関数ldplyの行/列出力名をplyrパッケージから指定したいとします。例えば** ply関数の出力行/列の名前をplyrから変更する方法はありますか?

私はdata.frameに変換し、私が今持っていることは

q <- ldply(foo, signif, 2) 
colnames(dq)[1] <- c('id', 'q1', 'q2','q3') 
rownames(dq) <- dq$id 
ある signif()

foo <- list(var.a = runif(3), var.b = runif(3), var.c=runif(3)) 

で有効桁数を切り捨てるたいこと、foo、リストを持っています

簡単な方法がありますか?

plyrを使用してrowscolsの名前を変更する方法は、これまでの2つの質問にありますが、私の質問は異なると思います。名前を別の関数と同時に記述することができますか(またはこれを正しく実行していれば)?これは価値のある機能要求ですか?

答えて

6

あなたがどこかに名前を与える必要があり、どちらかの機能に

R> ldply(foo, function(l) c(a=signif(l[1], 2), b=signif(l[2], 2), 
+       c=signif(l[3], 2))) 
    .id a b c 
1 var.a 0.50 0.72 0.27 
2 var.b 0.82 0.38 0.24 
3 var.c 0.13 0.27 0.81 
R> 

に例えばとして内部と呼ばれているか、呼び出しの後でした。

私が頻繁に使用するもう1つのオプションは、匿名ワーカー関数で1行data.frameを明示的に作成することです。 *dply()らは、これらを単に単一のdata.frameに照合しました。それは私の味のために十分に機能します。

+0

オプション2の例を投稿してもよろしいですか?それは役に立つと思われますが、私はそれがどのように機能するか直感的に理解していません。ありがとう。 – kmm

+0

ここで私の古い答えを見てください:http://stackoverflow.com/questions/3277326/group-by-in-r-ddply-with-weighted-meanそして一般的に、 "[r] someterm" StackOverflowのRタグ内で 'someterm'を探します。私はちょうど 'ddply'のためにやったし、最初の2つのヒットは勝者だった。 –

+0

ありがとうございます。私はSOを同様の答えで探すことは考えていませんでした。 – kmm

関連する問題