Hello,

I'm trying to replace any value within a column where the value is less than 10% of the median of the column with NA.  In other words, if the median of one column is 500, any value in that column that is less than 50 should become NA.

Doing a lot of searches, it seems like I should be using apply.  But when I put the if statement inside like this, I get serious errors:

> test<-apply(gc2,2,function(x){if(x<(0.1*median(x))), NA})
Error: unexpected ',' in "test<-apply(gc2,2,function(x){if(x<(0.1*median(x))),"
> test<-apply(gc2,2,function(x){if(x<(0.1*median(x))) NA})
There were 50 or more warnings (use warnings() to see the first 50)
In if (x < (0.1 * median(x))) x <- NA :
  the condition has length > 1 and only the first element will be used

Trying
> test<-apply(gc2,2,function(x){x[x<(0.1*median(x))]<- NA})
> head(test)
NA.01.N NA.01.T NA.02.N NA.02.T NA.03.N NA.03.T
     NA      NA      NA      NA      NA      NA


I'm sure that I could get it to work if I read each column individually into a vector, calculate the median, replace the values if less than 0.1*median, then rebind it into a new matrix.  However, I'm hoping there is a more elegant way.

Do you have any suggestions?


Thank you for your help.
Rose

 
     =====================================================================
     
     Please note that this e-mail and any files transmitted from
     Memorial Sloan-Kettering Cancer Center may be privileged, confidential,
     and protected from disclosure under applicable law. If the reader of
     this message is not the intended recipient, or an employee or agent
     responsible for delivering this message to the intended recipient,
     you are hereby notified that any reading, dissemination, distribution, 
     copying, or other use of this communication or any of its attachments
     is strictly prohibited.  If you have received this communication in 
     error, please notify the sender immediately by replying to this message
     and deleting this message, any attachments, and all copies and backups
     from your computer.

	[[alternative HTML version deleted]]

