
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Generate Random Samples from Statistical Distributions in R
To generate random samples from statistical distributions, we use functions like rnorm, rbinom, rexp, rpois for the corresponding distribution based on their names. Using these functions, we can pass their parameters as an argument inside the function. But if we have the parameters saved as a list then generation of random sample is not straight forward, for this we need to use do.call function.
Examples
parameters1<-list(mean=1,sd=0.5) do.call(rnorm,c(list(n=50),parameters1))
Output
[1] 0.7544844 -0.1545844 1.5028693 0.6453996 0.6559957 1.5127857 [7] 0.8576135 0.3896411 1.0906517 0.9305543 1.0028821 1.1926402 [13] 0.8146700 1.3221883 0.8897567 1.1658910 1.5484195 1.2175907 [19] 0.8370342 1.5744038 1.4967519 1.2741985 1.1193659 0.6860470 [25] 1.6803262 0.6998702 2.0936665 1.7663053 0.8821498 0.4867895 [31] 0.6447967 1.1284419 0.8766541 0.8262287 0.5241907 0.9774861 [37] 0.6075478 0.1660290 0.8098867 1.4594983 0.7123265 1.3039822 [43] 0.1910586 0.9722190 1.2597036 1.1505767 1.0528381 0.6796470 [49] 0.5751478 0.4879356
Example
parameters2 <-list(size=20,p=0.5) do.call(rbinom,c(list(n=50),parameters2))
Output
[1] 10 7 10 8 10 9 15 9 8 11 8 14 10 8 11 15 11 10 9 12 8 8 13 9 9 [26] 12 8 5 9 10 10 9 12 10 10 14 12 8 9 14 10 12 9 12 10 13 8 9 7 8
Example
parameters3 <-list(lambda=5) do.call(rpois,c(list(n=50),parameters3))
Output
[1] 10 4 6 7 2 3 4 2 2 11 10 3 8 5 4 5 6 2 4 6 4 7 3 5 4 [26] 3 9 4 5 1 5 6 5 4 8 6 4 4 3 7 9 5 4 12 3 5 2 5 2 3
Example
parameters4 <-list(min=2,max=10) do.call(runif,c(list(n=50),parameters4))
Output
[1] 4.263943 6.670979 7.853661 3.324167 8.931742 7.668593 8.083196 3.176673 [9] 4.864456 7.386660 6.190581 4.798414 3.924246 2.465534 3.892958 9.120623 [17] 8.494619 7.980131 3.239294 2.997937 9.797806 5.489040 5.712133 3.322385 [25] 6.679492 4.166224 3.840775 7.529663 4.262819 8.483185 2.751333 8.576241 [33] 5.419426 8.047098 7.299084 5.556219 7.017169 2.003723 3.737948 7.638978 [41] 3.721332 8.511470 4.462111 7.501941 9.461449 2.926237 3.021646 7.425791 [49] 5.431589 8.675208
Example
parameters5 <-list(rate=1) do.call(rexp,c(list(n=50),parameters5))
Output
[1] 0.048859236 2.470484229 0.034337427 0.573854705 1.107571484 1.158912960 [7] 0.841547703 2.359008139 1.154964259 1.810404878 0.072107441 0.007897424 [13] 0.236585886 2.399940448 0.274251057 1.760241609 0.736572850 0.630162990 [19] 0.897717278 1.151831293 0.941598348 2.968427598 0.037609847 0.358026831 [25] 0.017693759 0.904697679 0.309862433 0.632956278 3.036563054 0.478063371 [31] 1.088025155 0.658501647 0.071082783 0.791328635 0.601896424 2.545756658 [37] 0.664215548 0.800567470 0.506220199 0.056468316 0.604476434 1.233841599 [43] 1.003536777 2.025803985 0.138765325 0.367169829 0.331470285 0.059784917 [49] 0.019685799 3.500006681
Advertisements