[R] 1-pnorm values in a table
Richard.Cotton at hsl.gov.uk
Richard.Cotton at hsl.gov.uk
Thu Mar 6 16:32:30 CET 2008
> 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}}
More information about the R-help
mailing list