1

私はxtsオブジェクトを持っています。各行の平均を取り、それをオブジェクトにマージしたいと思います。元:

require(xts)
obj = xts(matrix(1:100, ncol=2), order.by=seq.Date(from=as.Date("2012-01-01"), by=1, length=50))
another_obj = apply(obj, 1, mean)

これは、名前として日付を含む単なるベクトルになりました。

class(another_obj)
   [1]  "numeric"

これを再び に変換しxtsて名前を として使用し、order.byすべてを obj にマージすることもできますが、これは非常に面倒です。

another_obj = as.xts(another_obj, order.by=as.Date(names(another_obj)))
obj = merge(obj, another_obj)

これを行う正しい方法は何ですか?

4

2 に答える 2

4

これにより、各行の平均を含む列が追加されます

obj <- cbind(obj, rowMeans(obj))

EDITがここで機能している理由を明確にしcbindます:

ここではcbind.xts、 wich is a callを使用していますmerge.xts。したがって、上記は次と同等です。

obj <- merge(obj, rowMeans(obj))
于 2013-03-11T19:43:18.527 に答える
2

このようなことを意味しますか?

   obj <- as.xts(transform(obj, another_obj=rowMeans(obj)))
于 2013-03-11T19:45:07.167 に答える