2

数値の data.frame がfooあり、2 つの各列の合計を求めたいとします。

foo <- data.frame(x=1:5,y=4:8,z=10:14, w=8:4)
bar <- combn(colnames(foo), 2, function(x) foo[,x[1]] + foo[,x[2]])
bar
#     [,1] [,2] [,3] [,4] [,5] [,6]
#[1,]    5   11    9   14   12   18
#[2,]    7   13    9   16   12   18
#[3,]    9   15    9   18   12   18
#[4,]   11   17    9   20   12   18
#[5,]   13   19    9   22   12   18

にない列名を除いて、すべて問題ありませんbar。の列名にbarの関連する列を表示する必要fooがあります。たとえば、この例では次のようになります。

colnames(bar) <- apply(combn(colnames(foo),2), 2, paste0,collapse="")
colnames(bar)
#[1] "xy" "xz" "xw" "yz" "yw" "zw"

bar <- combn(...)これは簡単ですが、同じコマンドで列のラベル付けを実行したいと考えています。とにかくありますか?

4

2 に答える 2