でオブジェクトの値を持つ列を追加します。は、私は、この行列を持っている最大周波数
mat=matrix(c(1,1,1,2,2,2,3,4,
4,4,4,4,4,3,5,6,
3,3,5,5,6,8,0,9,
1,1,1,1,1,4,5,6),nrow=4,byrow=TRUE)
print(mat)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 1 1 2 2 2 3 4
[2,] 4 4 4 4 4 3 5 6
[3,] 3 3 5 5 6 8 0 9
[4,] 1 1 1 1 1 4 5 6
と私は私の関数を適用したい行のインデックスを持つサブセット:
subset=c(2,4)
行列 "mat"に新しい列を追加したいと思います。この列には、指定したサブセットに対してのみ、行の最大頻度を持つオブジェクトの値が含まれています。
この場合:行番号1
- 、Iは、行番号2ため
- 、新しい列に空のセルを持っていると思い、私は値を持っていると思います「4」新しい列に
- 行番号3の場合は、新しい列に空のセルがあります。
- 行番号4の場合は、新しい列に値1を設定します。
編集: 答えのコードに感謝します! 今私は交換する必要がありますNAは、他の値を使用して値:私は行列のNA
をreplcaceしたい
subset=c(1,3)
:
mat2=matrix(c(24,1,3,2, 4,4,4,4, 3,2,2,5, 1,3,5,1),nrow=4,byrow=TRUE)
[,1] [,2] [,3] [,4]
[1,] 24 1 3 2
[2,] 4 4 4 4
[3,] 3 2 2 5
[4,] 1 3 5 1
とサブセット: 私は別の行列を持っています(最初のサブセットからの残りの行)を、最大値を持つ行の値のcolnamesで置き換えます。
この場合、最初の行が「1」、3番目が「4」になります。