10 players who each make 40% of their shots each take 30 shots. How many backets do they each make?
rbinom(n=10, size=30, prob=0.4)
## [1] 11 15 9 11 14 16 15 15 14 18
Some players are better than others, they are 40% shooters on average with a standard deviation of 5 %.
rnorm(n=100, mean=0.40, sd=0.05)
## [1] 0.4440038 0.3651479 0.4123930 0.3999424 0.3993643 0.3388571 0.3681843
## [8] 0.3752247 0.3419311 0.4385092 0.4135477 0.4140178 0.3730673 0.5054087
## [15] 0.2829367 0.3596850 0.3322353 0.3384827 0.4920135 0.4136655 0.4544551
## [22] 0.3579968 0.3580950 0.4271052 0.4565711 0.3655248 0.3439137 0.4007733
## [29] 0.4402507 0.4465687 0.3466826 0.3737520 0.3594777 0.4332497 0.4254871
## [36] 0.4225875 0.4169181 0.4444662 0.4613900 0.4472454 0.3465262 0.4277357
## [43] 0.4086766 0.3197746 0.3855136 0.4426350 0.3654720 0.2697927 0.3661719
## [50] 0.4149335 0.3731542 0.4261691 0.4392884 0.4195529 0.4433126 0.3318474
## [57] 0.3606937 0.4372995 0.3462484 0.3462939 0.3900211 0.3846965 0.4016969
## [64] 0.4317606 0.3314890 0.4393572 0.4884608 0.3743950 0.4029838 0.3644443
## [71] 0.4756343 0.3208928 0.3572225 0.3552854 0.3646650 0.3817395 0.3480536
## [78] 0.4176711 0.3862278 0.4418344 0.3619479 0.4868925 0.4488607 0.4956785
## [85] 0.3818908 0.4385648 0.3194440 0.4193343 0.3818305 0.5236523 0.5028345
## [92] 0.4570983 0.4641486 0.4624120 0.4265905 0.4203320 0.3554540 0.3764435
## [99] 0.3865626 0.4154735
Create an imaginary sample of 100 shooters and let each of these imaginary shooters take 30 shots.
rbinom(n=100, size=30, prob=rnorm(n=100, mean=0.40, sd=0.05))
## [1] 7 7 13 10 16 14 17 13 11 8 13 13 10 12 11 9 13 13 9 21 10 7 13 16 13
## [26] 12 12 15 12 17 9 18 12 16 12 14 9 14 11 10 11 7 14 12 12 17 11 6 13 11
## [51] 9 14 13 12 13 11 6 12 10 12 9 17 15 12 14 11 10 12 10 5 14 16 12 16 8
## [76] 15 12 9 14 5 9 7 16 10 15 11 12 12 10 17 19 10 9 13 11 10 9 13 17 11
hist(rbinom(n=100, size=30, prob=rnorm(n=100, mean=0.40, sd=0.05)))
hist(rbinom(n=100, size=30, prob=rnorm(n=100, mean=0.40, sd=0.05)),
breaks = seq(0.5, 50.5, 1))
100 sets of 10 shooters each taking 50 shots (50,0000 shots taken altogether!)
results <- replicate(100, rbinom(n=10, size=50, prob=0.4))
apply(results, 1, max)
## [1] 29 28 27 28 27 27 30 27 29 27
apply(results, 1, mean)
## [1] 19.55 19.94 20.37 20.40 19.51 20.12 19.88 19.44 20.36 20.11
apply(results, 1, sd)
## [1] 3.841230 3.093884 3.119360 3.592922 3.073165 3.482365 3.774663 3.294685
## [9] 3.477257 2.856483
apply(results, 2, max)
## [1] 24 23 24 26 25 24 26 24 28 23 24 25 25 26 28 25 24 24 26 27 29 27 29 27 27
## [26] 26 25 27 24 26 25 23 24 26 23 24 22 28 25 23 23 22 23 25 24 26 25 25 25 25
## [51] 27 25 25 22 24 30 24 24 27 26 24 23 27 26 26 26 25 23 22 25 27 23 26 27 26
## [76] 22 29 26 27 26 25 22 23 25 22 24 27 24 28 22 27 26 26 24 24 24 26 27 28 24
apply(results, 2, mean)
## [1] 20.1 18.4 20.1 21.0 19.9 20.9 18.9 19.0 20.5 19.4 19.8 18.5 21.3 19.3 19.3
## [16] 19.1 19.8 20.2 21.0 18.8 21.6 21.0 20.3 20.1 18.4 21.7 19.6 21.8 20.7 21.1
## [31] 19.4 19.8 18.4 19.8 18.7 20.3 18.5 19.8 21.2 17.8 20.5 19.1 20.2 19.8 21.8
## [46] 19.6 19.9 19.3 20.6 19.1 20.0 19.2 20.1 19.9 21.2 20.7 19.1 19.1 20.5 20.3
## [61] 19.4 19.1 19.2 19.2 20.9 17.6 19.4 18.4 19.6 20.8 20.2 19.8 20.0 22.0 21.2
## [76] 19.5 20.9 19.6 21.3 21.3 20.5 19.9 16.7 19.8 18.7 19.9 20.0 20.8 20.6 19.1
## [91] 20.4 20.9 21.0 19.7 21.1 20.7 20.8 21.2 19.7 20.6
apply(results, 2, sd)
## [1] 2.469818 2.796824 3.247221 4.216370 2.846050 2.078995 4.840799 3.055050
## [9] 4.648775 3.306559 2.485514 3.535534 2.945807 4.498148 4.372896 3.984693
## [17] 2.573368 2.043961 3.590110 3.910101 2.875181 3.741657 5.165054 3.900142
## [25] 3.717825 2.945807 3.977716 3.765339 3.335000 4.794673 3.098387 2.573368
## [33] 3.306559 3.489667 2.359378 2.668749 2.415229 4.131182 2.973961 3.326660
## [41] 1.957890 2.960856 2.440401 3.011091 2.347576 4.247875 3.695342 3.056868
## [49] 2.951459 3.813718 3.091206 3.190263 3.281260 1.663330 3.084009 5.313505
## [57] 2.282786 4.280446 3.064129 2.626785 4.168666 2.378141 3.457681 3.881580
## [65] 3.695342 5.420127 2.913570 3.339993 2.118700 2.699794 3.735714 2.658320
## [73] 4.082483 3.496029 2.820559 2.321398 4.012481 4.005552 3.465705 3.056868
## [81] 3.308239 1.911951 4.547282 3.457681 3.591657 3.107339 3.231787 3.489667
## [89] 3.596294 2.378141 4.695151 2.923088 3.055050 2.750757 2.766867 2.002776
## [97] 3.392803 3.583915 4.571652 2.412928
sd(apply(results, 2, mean))
## [1] 0.9927902
sd(apply(results, 1, mean))
## [1] 0.3677197
letters <- c("A", "B", "C")
sample(letters, size=2)
## [1] "B" "C"
sample(letters, size=2, replace=TRUE)
## [1] "A" "B"
results <- replicate(100, sample(letters, size=2, replace=TRUE))
"A" %in% results
## [1] TRUE
apply(results, 2, function(x) "A" %in% x)
## [1] FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE
## [13] FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE
## [25] TRUE TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE TRUE TRUE TRUE
## [37] TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE
## [49] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
## [61] TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE
## [73] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE TRUE
## [85] TRUE TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE FALSE TRUE FALSE
## [97] TRUE TRUE TRUE TRUE
sum(apply(results, 2, function(x) "A" %in% x))
## [1] 53
results <- replicate(100, sample(letters, size=2, replace=FALSE))
sum(apply(results, 2, function(x) "A" %in% x))
## [1] 68
vals <- matrix(NA, nrow=100, ncol=2)
for (i in 1:100){
vals[i,] <- sample(letters, size=2, replace=TRUE)
}
head(vals)
## [,1] [,2]
## [1,] "C" "C"
## [2,] "A" "C"
## [3,] "A" "A"
## [4,] "C" "A"
## [5,] "A" "C"
## [6,] "A" "B"
sum(apply(vals, 1, function(x) "A" %in% x))
## [1] 58