Given all these NA formatting replies - I have a question of my own. I too have an object like foo.dat from the pervious posts:
foo.dat <- cbind(c(NA, 1, 2, 3, 4, 5), c(NA, NA, 0, 10 ,20, 30)) > foo.dat [,1] [,2] [1,] NA NA [2,] 1 NA [3,] 2 0 [4,] 3 10 [5,] 4 20 [6,] 5 30 and I have vector I want to subtract from each column of foo.dat say: foo.subtract <- c(0.1, 0.2, 0.3, 0.4, 0.5) I want to perform the subtraction from foo.dat but preserve the structure of the data. I.e., [,1] [,2] [1,] NA NA [2,] 0.9 NA [3,] 1.8 -0.1 [4,] 2.7 9.8 [5,] 3.6 19.7 [6,] 4.5 29.6 The final formatting of foo.dat has to be intact - I can't just shove the NAs to the bottom. I tried to order the data in an apply function but couldn't make it work. Thanks, Andy -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Tim Sharac Sent: Wednesday, February 12, 2003 1:42 PM To: [EMAIL PROTECTED] Subject: [R] Matrix formatting 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