# RE: [R] NA's?

From: <Bill.Venables_at_csiro.au>
Date: Thu 31 Mar 2005 - 11:42:05 EST

> M <- matrix(1:16, 4, 4)
> is.na(diag(M)) <- TRUE
> M

[,1] [,2] [,3] [,4]

```[1,]   NA    5    9   13
[2,]    2   NA   10   14
[3,]    3    7   NA   15
[4,]    4    8   12   NA
```

> rowSums(M, na.rm = TRUE)

[1] 27 26 25 24
> colSums(M, na.rm = TRUE)

[1] 9 20 31 42

You can also use apply( ) with functions that will accept missing values (and ignore them) for computations on either the rows or the columns.

Hoping for a general mechanism that would somehow signal the diagonal values as values to be "ignored" in a general way is not a possibility. Just as a curiosity, what were you hoping that na.omit(M) would do?

V.

-----Original Message-----
From: r-help-bounces@stat.math.ethz.ch
[mailto:r-help-bounces@stat.math.ethz.ch] On Behalf Of Asha Jayanthi Sent: Thursday, 31 March 2005 11:22 AM
To: r-help@stat.math.ethz.ch
Subject: [R] NA's?

I have a large matrix of data .

The size of the matrix ranges from 100 x 100 to 1000 x 1000

Now i have to do computations on that. And should not consider the diagonal
elements.

I tried setting diag(M) = NA and M = na.omit(M).

But this omits all the rows. I only want to omit that diagonal elements only
but consider the whole row.

diag(M) = 0 seems like a good option but this will affect my result.

How to proceed with this. How to just ignore some specific values. what if i
want to consider only the upper / lower triangular matrix

Asha

R-help@stat.math.ethz.ch mailing list
http://www.R-project.org/posting-guide.html

R-help@stat.math.ethz.ch mailing list