> I've read in a csv file (test.csv) which gives me the following table: > > Hin1 Hin2 Hin3 Hin4 Hin5 Hin6 > HAI1 9534.83 4001.74 157.16 3736.93 484.60 59.25 > HAI2 13272.48 1519.88 36.35 33.64 46.68 82.11 > HAI3 12587.71 5686.94 656.62 572.29 351.60 136.91 > HAI4 15240.81 10031.57 426.73 275.29 561.30 302.38 > HAI5 15878.32 10517.14 18.93 22.00 16.91 21.17 > > I would like to find a way of finding the 1-pnorm of each value in > the table based on the mean and sd of the data only in the column in > which the value lies. I can do it using a for loop, but would like > to know if it can be done using e.g. apply or something similar, so > that the whole table is printed out with the 1-pnorm values.
Try: nrows <- 5 mm <- matrix(rnorm(30),nrow=nrows) sd.by.col <- apply(mm,2,sd) mean.by.col <- apply(mm,2,mean) values <- 1-mapply(pnorm, q=as.vector(mm), mean=rep(mean.by.col, nrows)), sd=rep(sd.by.col, nrows))) values <- matrix(values, nrow=5) > p.s. I know I'm asking a lot, but ideally, I'd like to print out > the table with those 1-pnorm values only if they are in the right > hand tail (i.e. >= mean) and if not nothing or NA be written. values[values<.5] <- NA Regards, Richie. Mathematical Sciences Unit HSL ------------------------------------------------------------------------ ATTENTION: This message contains privileged and confidential inform...{{dropped:20}} ______________________________________________ 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.