私はマトリックスを持っています
m <- matrix(c(1, 0, 3, 4, 0, 6), 3)
両方の列の値が実質的に 0 の行を除外して、行列を返す必要があります。
m <- matrix(c(1, 3, 4, 6), 3)
私が試してみました
m[m[, 1] > 0 & m[, 2] > 0]
しかし、これは0だけの行を取り除いた行列の代わりにベクトルを返します。これは単純なはずですが、私は立ち往生しています。
ありがとう、-エリザベス
多くの列がある場合
m
[,1] [,2]
[1,] 1 4
[2,] 0 0
[3,] 3 6
m^2
[,1] [,2]
[1,] 1 16
[2,] 0 0
[3,] 9 36
rowSums(m^2)
[1] 17 0 45
m[rowSums(m^2)>0,]
[,1] [,2]
[1,] 1 4
[2,] 3 6
独自のソリューションに「、」がありません。使用する
m[m[,1]>0 & m[,2]>0,]
そしてそれは動作します:
> m[m[,1]>0 & m[,2]>0,]
[,1] [,2]
[1,] 1 4
[2,] 3 6