3

私はしばしばこの形式のオブジェクトを扱います:

v <- list(one = c(a = 1, b = 2, c = 3), two = c(a = 10, b = 20, d = 30, c = 40))

そして、これらのベクトルを要素名で外部結合して、次を取得したいと思います。

  index value.x value.y
1     a       1      10
2     b       2      20
3     c       3      40
4     d      NA      30

これを行うコードを書きました。簡単に言えば、ベクターをデータ フレームに変換し、連続するマージによって削減します。しかし、私は車輪を再発明しており、おそらく最適化されたパッケージまたはRベースに含まれているいくつかの機能があるのだろうか. 非常に一般的なタスクのようです。

4

3 に答える 3

2

これがあなたのアプローチよりも簡単になるかどうかはわかりませんがreshape2、 、lapplyおよび as.list を使用できます。melt`dcastだと思います

library(reshape2)
dcast(melt(lapply(v, as.list)), L2 ~L1)
##   L2 one two
## 1  a   1  10
## 2  b   2  20
## 3  c   3  40
## 4  d  NA  30
于 2012-09-06T03:50:26.527 に答える