Dimitris Rizopoulos wrote:
one approach is the following:

mat <- matrix(rnorm(100*45), 100, 45)
mat[sample(100*45, 50)] <- 0

index <- rowMeans(mat == 0) == 0
mat[index, ]
Dimitris,

You use quite a complicated syntax to get the index. I think the following syntax using apply is more easy to understand:

# Note, MARGIN equal to 1 means loop over rows
# If any member of a row is zero
index = apply(mat == 0, MARGIN = 1, any)
# If all members of a row are zero
index = apply(mat == 0, MARGIN = 1, all)

cheers and hope it helps,
Paul


I hope it helps.

Best,
Dimitris


On 3/9/2010 11:05 AM, ogbos okike wrote:
Hi Everybody,
I have a matrix of about 45 columns. Some of the rows contain zeros. Using
data1<-data[complete.cases(data),], I can remove the "NA" rows. But I am
unable to tackle that of zeros.
Can anybody give me an idea of how to remove rows containing zeros in a
matrix.
Thanks so much
Best
Ogbos

[[alternative HTML version deleted]]

______________________________________________
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.




--
Drs. Paul Hiemstra
Department of Physical Geography
Faculty of Geosciences
University of Utrecht
Heidelberglaan 2
P.O. Box 80.115
3508 TC Utrecht
Phone:  +3130 274 3113 Mon-Tue
Phone:  +3130 253 5773 Wed-Fri
http://intamap.geo.uu.nl/~paul

______________________________________________
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.

Reply via email to