4

.idの結果で通常名前が付けられる列にカスタム名を割り当てる方法はありldplyますか?

> ldply(setNames(1:3, 1:3), function(i) data.frame(j=1/i))
  .id         j
1   1 1.0000000
2   2 0.5000000
3   3 0.3333333

結果を呼び出すことができることはわかってrenameいますが、1 回の呼び出しで実行したいと考えています。助言がありますか?

adply同様の問題に悩まされていることに注意してください。

> adply(as.array(setNames(1:3, 1:3)), 1, function(i) data.frame(j=1/i))
  X1         j
1  1 1.0000000
2  2 0.5000000
3  3 0.3333333

別の関連する質問は、「データ」列の名前を変更する問題に対処していますが、その答えも.id列の解決策を提供していません。

4

2 に答える 2

3

setNamesを使い慣れているように見えるので、「j」と「newname」の割り当てを便利なラッパーに移動できます。

setNames( ldply(setNames(1:3, 1:3), function(i) data.frame(1/i)) , c("newname", "j") )
  newname         j
1       1 1.0000000
2       2 0.5000000
3       3 0.3333333
于 2013-03-21T16:48:53.237 に答える