I do something like this as part of a missing value plot where I 'flush' the rows with most missing spots to the bottom and the columns with the most missing values to the right. In this manner I can visually see how much data I will retain (by looking at the area) if I decide to truncate rows/columns by missing value criterion. You might find this code useful in rearranging your matrix:
na.mat <- 1*is.na(data) spots.na.per.row <- rowSums(na.mat)/ncol(data) # calculates the percentage missing by row spots.na.per.column <- colSums(na.mat)/nrow(data) data.re <- data[ order(spots.na.per.row), order(spots.na.per.column) ] -----Original Message----- From: Jerome Asselin [mailto:[EMAIL PROTECTED]] Sent: Thursday, February 13, 2003 5:06 AM To: Tim Sharac; [EMAIL PROTECTED] Subject: Re: [R] Matrix formatting Would this do what you want? Cheers, Jerome > foo.dat <- cbind(c(NA, 1, 2, 3, 4, 5), c(NA, NA, 0, 10 ,20, 30)) > apply(foo.dat,2,function(x) x[order(as.logical(x))]) [,1] [,2] [1,] 1 0 [2,] 2 10 [3,] 3 20 [4,] 4 30 [5,] 5 NA [6,] NA NA On Wednesday 12 February 2003 12:42, Tim Sharac wrote: > Content-Length: 918 > Status: R > X-Status: N > > Hi R-users: > > I have a data formatting question. I have a data set that looks > something like this: > > foo.dat <- cbind(c(NA, 1, 2, 3, 4, 5), c(NA, NA, 0, 10 ,20, 30)) > > What I have: > > [,1] [,2] > [1,] NA NA > [2,] 1 NA > [3,] 2 0 > [4,] 3 10 > [5,] 4 20 > [6,] 5 30 > > > I want to line up the columns by the first value that is not NA. Like > so: > > [,1] [,2] > [1,] 1 0 > [2,] 2 10 > [3,] 3 20 > [4,] 4 30 > [5,] 5 NA > [6,] NA NA > > Question is: Is there an elegant way to do this without a for loop? > > I tried doing this with na.omit and na.exclude without success. > > The real data is many hundreds of columns and many thousands of rows. > > Thanks in advance, Tim > > Sign up for Internet Service under $10 dollars a month, at > http://isp.BlueLight.com > > ______________________________________________ > [EMAIL PROTECTED] mailing list > http://www.stat.math.ethz.ch/mailman/listinfo/r-help ______________________________________________ [EMAIL PROTECTED] mailing list http://www.stat.math.ethz.ch/mailman/listinfo/r-help ______________________________________________ [EMAIL PROTECTED] mailing list http://www.stat.math.ethz.ch/mailman/listinfo/r-help