Dear Alex, Just a _minor_ change in the function "powers": # powers # n is the number of samples # DATA is the ORIGINAL data set powers=function(n,m2,n2,s2,DATA){ outp=Sample(DATA,n) # DATA was 'name' before, which doesn't make sense mymeans=outp$Gmean mysds=outp$Gsd res=t(rbind(mymeans,mysds,n=n)) apply(res,1,Power,m2=m2,n2=n2,s2=s2) }
HTH, Jorge On Fri, Oct 17, 2008 at 4:01 PM, Jorge Ivan Velez <[EMAIL PROTECTED]>wrote: > > Dear Alex, > Try this: > > > > # Data > name=read.table(textConnection(" > X8 X9 X10 X102 X110 X177 X283 X284 X286 X292 X297 X306 X308 X314 > 0 1 0 0 0 1 0 0 0 0 0 0 0 0 > 0 0 0 0 1 0 0 0 0 0 0 0 1 0 > 0 1 0 0 0 0 0 0 0 0 0 0 1 0 > 1 0 0 0 1 0 0 0 0 1 0 0 0 > 0"),header=TRUE) > closeAllConnections() > rownames(name)=paste('s',1:4,sep="") > > # Sample > # Function to estimate both the big mean and big standard deviation > # name is the data set > # n is the number of samples > Sample=function(name, n){ > res=replicate(n,name[,sample(colnames(name),n)],simplify=FALSE) > Means=do.call(rbind,lapply(res,function(x) rowMeans(x))) > rownames(Means)=paste('sample',1:n,sep="") > Gmean=colMeans(Means) > STDs=do.call(rbind,lapply(res,function(x) apply(x,1,sd))) > rownames(STDs)=rownames(Means) > Gsd=sd(STDs) > list(Gmean=Gmean,Gsd=Gsd) > } > > # Power > # mypars is a vector of length three which components > # are n1, s1 and n1 > # m2, s2 and n2 may change > # alfa is "fixed" > Power=function(mypars,m2,s2,n2,alfa=0.05){ > m1=mypars[1] > s1=mypars[2] > n1=mypars[3] > up=abs(m1-m2) > down=sqrt(((s1^2)/(n1))+((s2^2)/(n2))) > z=(-1)*(qnorm(1-(alfa/2))) > fi=z+(up/down) > pow=pnorm(fi) > return(pow) > } > > # powers > # n is the number of samples > # DATA is the ORIGINAL data set > powers=function(n,m2,n2,s2,DATA){ > outp=Sample(name,n) > mymeans=outp$Gmean > mysds=outp$Gsd > res=t(rbind(mymeans,mysds,n=n)) > apply(res,1,Power,m2=m2,n2=n2,s2=s2) > } > > > # ten samples and values for m2, n2 and s2 > powers(n=10,m2=0.12,n2=10,s2=0.15) > > > HTH, > > Jorge > > > On Fri, Oct 17, 2008 at 11:50 AM, Alex99 <[EMAIL PROTECTED]> wrote: > >> >> Hi everyone, >> I have dataset which I make a sample of it couple of times and each time I >> get the mean and standard deviation of each row for each sample. I have a >> function for that, which takes the name of the file and number of times to >> sample and then returns the mean and standard deviation for each row in >> each >> sample. >> >> Sample=function(name, n){ >> res=replicate(n,name[,sample(colnames(name),n)],simplify=FALSE) >> >> Means=do.call(rbind,lapply(res,function(x) rowMeans(x))) >> rownames(Means)=paste('sample',1:n,sep="") >> Gmean=colMeans(Means) >> >> STDs=do.call(rbind,lapply(res,function(x) rowSds(x))) >> rownames(STDs)=paste('sample',1:5,sep="") >> Gsd=sd(STDs) >> >> return(Gmean,Gsd)} >> >> I then need to use the mean and standard deviation from each row to >> calculate the Power for 2 sample means. here is the function I use to do >> it: >> >> Power=function(alfa,m1,m2,s1,s2,n1,n2){ >> up=abs(m1-m2) >> down=sqrt(((s1^2)/(n1))+((s2^2)/(n2))) >> z=(-1)*(qnorm(1-(alfa/2))) >> fi=z+(up/down) >> pow=pnorm(fi) >> return(pow)} >> >> then I need to call the Power function: >> >> Power(.05,57,mi,33,si,200,n) >> >> the alfa,m1,s1 and n1 values are constant but the m2,s2 and n2 values are >> changing. >> n2 is the n used in sample function(which I could input manually) >> m2 should be the grand mean for each row >> s2 is the grand standard deviation for each row >> >> example:this is a sample output for "sample" function: >> $Gmean >> s1 s2 s3 s4 >> 0.08 0.20 0.12 0.20 >> >> $Gsd >> s1 s2 s3 s4 >> 0.2449490 0.2156741 0.2449490 0.2156741 >> my problem is how can I put the corresponding means and standard >> devotions >> together in the power function?I used a for loop, but the problem is >> getting the s1...s4 from Gmean and Gsd >> >> Thanks for your help >> >> >> -- >> View this message in context: >> http://www.nabble.com/function-help-tp20035949p20035949.html >> Sent from the R help mailing list archive at Nabble.com. >> >> ______________________________________________ >> 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. >> > > [[alternative HTML version deleted]] ______________________________________________ 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.