You might want to look at the help page for:
?mean
and pay close attention to the na.rm= argument/
On Jul 15, 2009, at 12:51 PM, Amit Patel wrote:
Hi
I am using the following script to average a set of data 0f 62
columns into 31 colums. The data consists of values of ln(0.01) or
-4.60517 instead of NA's. These need to be averaged for each row
(i.e 2 values being averaged). What I would I need to change for me
to meet the conditions:
1. If each run of the sample has a value, the average is
given
2. If only one run of the sample has a value, that value
is given (i.e. no
averaging)
3. If both runs have missing values, NA is given.
I have tried changing (na.strings = NA) to (na.strings =
-4.60517) but this causes all the pairs with even one NA return an
NA value. I would prefer not to use for loops as this would slow the
script down considerably.
#SCRIPT STARTS
rm(list=ls())
setwd(C:/Documents and Settings/Amit Patel)
#na.strings makes na's readable
zz - read.csv(Pr9549_LabelFreeData_ByExperimentAK.csv,strip.white
= TRUE, na.strings = NA)
ix - seq(from=2,to=62, by=2)
averagedResults - (zz[,ix] + zz[,ix+1])/2
averagedResults - cbind(zz[,1],averagedResults )
colnames(averagedResults) - c(PCI,G1-C1,G1-C2,G1-C3,G1-
C4,G1-C5,G1-C6,G1-C7,G1-C8,
G2-C9,G2-C10,G2-C11,G2-C12,G2-C13,G2-C14,G2-C15,G2-
C16,
G3-C17,G3-C18,G3-C19,G3-C20,G3-C21,G3-C22,G3-C23,
G4-C24,G4-C25,G4-C26,G4-C27,G4-C28,G4-C29,G4-C30,G4-
C31)
write.csv(averagedResults, file = Pr9549_averagedreplicates.csv,
row.names = FALSE)
#SCRIPT ENDS
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
__
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.