Hi Carrie, It works just fine in this case because you have the same number of 0's and 1's within each strata. If that would not be the case, option 1 would not work. That's why I provided you a second option.
Best, Jorge On Thu, Jun 3, 2010 at 7:24 PM, Carrie Li <> wrote: > Thanks! Jorge > Just one more question I don't get it even after checking help > For option, why just using with(d,...), ifelse works on stratum indexed by > x automatically ? > Since in with, we didn't specify the stratum is indexed by x, what if you > have another categorical variable in the data ? > Thanks again! > > > > > On Thu, Jun 3, 2010 at 12:21 PM, Jorge Ivan Velez < > jorgeivanve...@gmail.com> wrote: > >> Hi Carrie, >> >> Here are two options: >> >> # Option 1 >> d <- data.frame(x, t) >> y <- with(d, ifelse(t == 0, rbinom(2, 1, 0.2), rbinom(3, 1, 0.8))) >> y >> >> # Option 2 -- more general case, e.g. you do not know >> # how many 0's and 1's you have within each strata >> spd <- with(d, split(d, x)) >> do.call(c, lapply(spd, function(comp) >> with(comp, ifelse(t == 0, rbinom(sum(t==0), 1, 0.2), >> rbinom(sum(t!=0), 1, 0.8))))) >> >> HTH, >> Jorge >> >> >> On Thu, Jun 3, 2010 at 11:49 AM, Carrie Li <> wrote: >> >>> Dear R-helpers, >>> >>> I would like to generate a binary random variable within a stratum's >>> stratum. Here is a simple example. >>> >>> >>> ## x is the first level strata index, here I have 3 strata. >>> x=c(rep(1,5), rep(2,5), rep(3,5)) >>> >>> ## within x, there is a second strata indexed by t=0 and t=1 >>> t=rep(c(0,0,1,1,1),3) >>> >>> >>> ## and within strata i and t=0 and t=1, I generate the random binomial >>> variable respectively, and save in y >>> y=rep(NA, length(x)) >>> for (i in 1:3) >>> { >>> y[(x==i)&(t==0)]=rbinom(2, 1, 0.2) >>> y[(x==i)&(t==1)]=rbinom(3, 1, 0.8) >>> } >>> >>> >>> My question: is there any way to avoid the for loop, since I have the >>> first >>> level strata has thousands of strata. (Within each x stratum, the t only >>> has >>> 2 levels, 0 and 1 ) >>> >>> Thanks for any help! >>> >>> Carrie >>> >>> [[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. >>> >> >> > [[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.