> -----Original Message----- > From: r-help-boun...@r-project.org > [mailto:r-help-boun...@r-project.org] On Behalf Of Bert Gunter > Sent: Tuesday, March 29, 2011 10:07 AM > To: Petr Savicky; cddesjard...@gmail.com > Cc: r-help@r-project.org > Subject: Re: [R] Creating 3 vectors that sum to 1 > > So you want to generate random multinomials ? ... > Just generate random uniforms and divide by their sum! > > z <- runif(3); z/sum(z)
Wouldn't rexp() be better than runif() here? Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > > ## This can easily be modified to generate lots of random multinomial > 3 vectors, e.g. > > z <- matrix( runif(3*100), ncol=3) > z/rowSums(z) ## each row is a random multinomial > > > -- Bert > > > > On Tue, Mar 29, 2011 at 9:34 AM, Petr Savicky > <savi...@praha1.ff.cuni.cz> wrote: > > On Tue, Mar 29, 2011 at 11:20:13AM -0500, Christopher > Desjardins wrote: > >> I have 3 vectors: p1, p2, and p3. I would like each vector > to be any > >> possible value between 0 and 1 and p1 + p2 + p3 = 1. I > want to graph these > >> and I've thought about using scatterplot3d(). Here's what > I have so far. > >> > >> library(scatterplot3d) > >> p1 <- c(1,0,0,.5,.5,0,.5,.25,.25,.34,.33,.33,.8,.1,.1,.9,.05,.05) > >> p2 <- c(0,1,0,.5,0,.5,.25,.5,.25,.33,.34,.33,.1,.8,.1,.05,.9,.05) > >> p3 <- c(0,0,1,0,.5,.5,.25,.25,.5,.33,.33,.34,.1,.1,.8,.05,.05,.9) > >> scatterplot3d(p1,p2,p3) > >> > >> > >> However, I wonder if there is an easy way to create > vectors p1, p2, and p3. > > > > Hi. > > > > The vectors p1, p2 and p3 are not uniquely determined. Try, > for example, > > the following > > > > n <- 16 > > pp <- expand.grid(p1=0:n, p2=0:n, p3=0:n) > > pp <- subset(pp, p1 + p2 + p3 == n) > > p1 <- pp$p1/n > > p2 <- pp$p2/n > > p3 <- pp$p3/n > > > > If n is a power of 2, then p1 + p2 + p3 will be exactly all > ones vector. > > Otherwise, there may be differences within machine rounding error. > > > > Hope this helps. > > > > Petr Savicky. > > > > ______________________________________________ > > 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. > > > > > > -- > Bert Gunter > Genentech Nonclinical Biostatistics > 467-7374 > http://devo.gene.com/groups/devo/depts/ncb/home.shtml > > ______________________________________________ > 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. > ______________________________________________ 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.