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.