On Jun 2, 2011, at 11:35 AM, Petr Savicky wrote:
On Thu, Jun 02, 2011 at 11:23:28AM -0400, Jim Silverton wrote:
Hi,
Can someone tell me how to remove rows of zeros from a matrix?
For example if I have the following matrix,
0 0
0 1
2 8
0 0
4 56
I should end up with
0 1
2 8
4 56
Hi.
Try the following
a <- matrix(c(0, 0, 2, 0, 4, 0, 1, 8, 0, 56), ncol=2)
a[rowSums(a != 0) != 0, ]
To avoid removing rows where non-zero elements do sum to 0 one could
use the only slightly longer test that first converts "a" to logical:
a <- matrix(c(1, 0, 2, 0, 4, -1, 1, 8, 0, 56), ncol=2)
a[ rowSums(a==0) != ncol(a), ]
[,1] [,2]
[1,] 1 -1
[2,] 0 1
[3,] 2 8
[4,] 4 56
--
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.