On Jun 18, 2009, at 1:10 PM, Alexandre Lockhart wrote:


Hello:

My problem is that I have a data frame of means, and a data frame of standard deviations which match up to each mean. I have been trying to create 500 random numbers in a given dataset for each mean/sd combination, but I am only able to generate the last value in each data set to create one dataset (there should be 28 in all). Examining my code, what can I change to generate 28 datasets based on respective mean and sds?

a1<- c (178.07,178.28,178.08,177.74,177.04,178.17,177.58,57.71,59.6,60.92,59.48,59.32,61.59,59.94,28.9,29.82,30.73,25.68,27.93,28.98,29.76,123.48,127.27,127.8,127.2,127.13,126.71,125.5 ) a2<- c (1.69,1.3,1 ,. 18,1.53,1.31,1.35,1.83,1.56,1.12 ,. 74,1.48,1.67,1.53 ,.95,.87,0.03,1.12,1.95,1.22,1.04,1.64,1.83,1,1,1.08,1.35,2.37)

# the expand.grid and apply solutions have much to recommend them
# but your strategy could have worked with a few minor modifications
# initialize an array to hold the results

x <- array( , dim= c(length(a1), length(a2), 500) )

for(i in 1:length(a1)) {
    for(j in 1:length(a2)) {
        x[i,j, ] <-rnorm(500,mean=a1[i],sd=a2[j])
# need to close the loop bodies
     }  }

> str(x)
 num [1:28, 1:28, 1:500] 182 182 180 179 179 .
> head(x)
[1] 182.4004 181.6187 180.3283 179.2654 178.5974 176.3728


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.

Reply via email to