Yes  the matrix is symmetric 
Gabor provided a partial solution:
Try this:

ix <- na.action(na.omit(replace(M, upper.tri(M), 0)))
M[-ix, -ix]

However this removes all rows containing an NA in the lower half of the matrix 
- even if the corresponding column has also been removed

I I have revised the example to show this.

thanks all for you help

in the below case I would like to retain row and column 
[c(1:5,7,8,10:12),c(1:5,7,8,10:12)]
M<-matrix(sample(144),12,12)
M[10,9]<-NA
M<-as.matrix(as.dist(M))
N=M
#the above rows are to create the symmetric matrix M and a copy N
M[6,]<-NA
M[,6]<-NA
#above two rows - make corresponding row and column NA
print (M)
ix <- na.action(na.omit(replace(M, upper.tri(M), 0)))
M<-M[-ix, -ix]
print (M)

print ("however what I would like to retain is the maximum amout of data while 
removing rows or columns containing NA  ie:")
print(N [c(1:5,7,8,10:12),c(1:5,7,8,10:12)])

-- 
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com

thanks to all
On 21/05/2012, at 1:10 AM, peter dalgaard wrote:

> 
> On May 20, 2012, at 16:37 , Bert Gunter wrote:
> 
>> Your problem is not well-defined. In your example below, why not
>> remove rows 1,2,6, and 10, all of which contain NA's? Is the matrix
>> supposed to be symmetric?
YES

>> Do NA's always occur symmetrically?
YES
> 
> ...and even if they do, how do you decide whether to remove row/col 9 or 
> row/col 10 in the example? (Or, for that matter, between (1 and 2) and 6. In 
> that case you might chose to remove the smallest no. of row/cols but in "9 
> vs. 10", the situation is completely symmetric.) 
> 
>> 
>> You either need to rethink what you want to do or clarify your statement of 
>> it.
>> 
>> -- Bert
>> 
>> On Sun, May 20, 2012 at 7:17 AM, Nevil Amos <nevil.a...@monash.edu> wrote:
>>> I have some square matrices with na values in corresponding rows and
>>> columns.
>>> 
>>> M<-matrix(1:2,10,10)
>>> M[6,1:2]<-NA
>>> M[10,9]<-NA
>>> M<-as.matrix(as.dist(M))
>>> print (M)
>>> 
>>>   1 2 3 4 5 6 7 8 9 10
>>> 1   0  2 1 2 1 NA 1 2  1  2
>>> 2   2  0 1 2 1 NA 1 2  1  2
>>> 3   1  1 0 2 1  2 1 2  1  2
>>> 4   2  2 2 0 1  2 1 2  1  2
>>> 5   1  1 1 1 0  2 1 2  1  2
>>> 6  NA NA 2 2 2  0 1 2  1  2
>>> 7   1  1 1 1 1  1 0 2  1  2
>>> 8   2  2 2 2 2  2 2 0  1  2
>>> 9   1  1 1 1 1  1 1 1  0 NA
>>> 10  2  2 2 2 2  2 2 2 NA  0
>>> 
>>> 
>>> How do I remove just the row/column pair( in this trivial example row 6 and
>>> 10 and column 6 and 10) containing the NA values?
>>> 
>>> so that I end up with all rows/ columns that are not NA - e.g.
>>> 
>>> 1 2 3 4 5 7 8 9
>>> 1 0 2 1 2 1 1 2 1
>>> 2 2 0 1 2 1 1 2 1
>>> 3 1 1 0 2 1 1 2 1
>>> 4 2 2 2 0 1 1 2 1
>>> 5 1 1 1 1 0 1 2 1
>>> 7 1 1 1 1 1 0 2 1
>>> 8 2 2 2 2 2 2 0 1
>>> 9 1 1 1 1 1 1 1 0
>>> 
>>> 
>>> if i use na omit I lose rows 1,2,6, and 9
>>> which is not what I want.
>>> 
>>> thanks
>>> --
>>> Nevil Amos
>>> Molecular Ecology Research Group
>>> Australian Centre for Biodiversity
>>> Monash University
>>> CLAYTON VIC 3800
>>> Australia
>>> 
>>>       [[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.
>> 
>> 
>> 
>> -- 
>> 
>> Bert Gunter
>> Genentech Nonclinical Biostatistics
>> 
>> Internal Contact Info:
>> Phone: 467-7374
>> Website:
>> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm
>> 
>> ______________________________________________
>> 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.
> 
> -- 
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Email: pd....@cbs.dk  Priv: pda...@gmail.com
> 
> 
> 
> 
> 
> 
> 
> 


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

Reply via email to