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.