I am trying a simple toin coss simulation, of say 200 coin tosses. The idea
is to have a data frame like so:
Experiment# Number_Of_Heads
1 104
2 96
3 101
So I do:
d <-data.frame(exp_num=c(1,2,3)); /* Just 3 experiments to begin with */
d$head_ct <-sum(sample(0:1,200,repl=TRUE));
d;
exp_num head_ct
1 1 85
2 2 85
3 3 85 /* the same scalar value is
applied to all the rows */
So I tried using "within", and "for", and making the
"sum( " as a
function, and I end up with the same...I get the same constant value. But
what I want of course is different "samples"....
--
View this message in context:
http://r.789695.n4.nabble.com/Coin-Toss-Simulation-tp2994088p2994088.html
Sent from the R help mailing list archive at Nabble.com.
try this:
n <- 3
data.frame(Exp = seq_len(n),
Heads = rbinom(n, 200, 0.5))
I hope it helps.
Best,
Dimitris
On 10/13/2010 7:28 PM, Shiv wrote:>
> I am trying a simple toin coss simulation, of say 200 coin tosses. The idea
> is to have a data frame like so:
> Experiment# Number_Of_Heads
> 1 104
> 2 96
> 3 101
>
> So I do:
>
> d<-data.frame(exp_num=c(1,2,3)); /* Just 3 experiments to begin with
*/
> d$head_ct<-sum(sample(0:1,200,repl=TRUE));
> d;
> exp_num head_ct
> 1 1 85
> 2 2 85
> 3 3 85 /* the same scalar value is
> applied to all the rows */
>
> So I tried using "within", and "for", and making the
"sum( " as a
> function, and I end up with the same...I get the same constant value. But
> what I want of course is different "samples"....
>
>
>
--
Dimitris Rizopoulos
Assistant Professor
Department of Biostatistics
Erasmus University Medical Center
Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands
Tel: +31/(0)10/7043478
Fax: +31/(0)10/7043014
Web: http://www.erasmusmc.nl/biostatistiek/
Shiv wrote:> I am trying a simple toin coss simulation, of say 200 coin tosses. The idea > is to have a data frame like so: > Experiment# Number_Of_Heads > 1 104 > 2 96 > 3 101 > > So I do: > > d <-data.frame(exp_num=c(1,2,3)); /* Just 3 experiments to begin with */ > d$head_ct <-sum(sample(0:1,200,repl=TRUE));/* */ is not a valid comment in R, and you don't need ';' either :) Just try evaluating the right hand side so that the R interpreter prints the result. This is just calling sample once, and therefore you only get one number, 85 in your case.> d; > exp_num head_ct > 1 1 85 > 2 2 85 > 3 3 85 /* the same scalar value is > applied to all the rows */ > > So I tried using "within", and "for", and making the "sum( " as a > function, and I end up with the same...I get the same constant value. But > what I want of course is different "samples"....Look at ?replicate or just use ?rbinom directly d <-data.frame(exp_num = 1:3) d$head_ct <- rbinom(nrow(d), 200, prob = 0.5)> > >