- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to randomly split a vector into n vectors of different lengths in R?
To randomly split a vector into n vectors of different lengths, we can use sample function and set the repl argument to TRUE.
For example, if we have a vector called X of size 100 then we can split it randomly into 10 vectors of different lengths by using the below command −
split(X,sample(10,100,repl=TRUE))
Example 1
To randomly split a vector into n vectors of different lengths, use the following code −
x<-rpois(100,5) x
The following vector is created −
[1] 5 8 6 0 7 7 3 2 9 7 2 6 7 3 6 5 6 6 3 5 10 2 7 2 6 [26] 4 4 5 2 5 5 5 6 7 8 9 1 5 5 4 4 3 5 2 4 8 3 9 3 10 [51] 2 6 6 9 1 6 3 5 5 9 5 5 7 5 2 6 4 6 3 7 7 8 6 7 2 [76] 3 1 7 7 3 2 6 5 4 4 9 11 5 4 5 4 4 8 6 4 3 4 6 10 4
To split vector x into ten vectors of different lengths, add the following code to the above snippet −
x<-rpois(100,5) split(x,sample(10,100,repl=TRUE))
Output
If you execute all the above given snippets as a single program, it generates the following output −
$`1` [1] 7 7 5 9 1 6 9 3 7 7 4 5 8 4 $`2` [1] 8 6 6 6 4 5 6 9 1 4 5 3 4 2 1 2 4 $`3` [1] 6 5 6 $`4` [1] 0 3 6 5 2 5 5 2 5 2 7 3 4 3 10 $`5` [1] 2 8 10 6 4 4 $`6` [1] 5 6 7 5 3 2 4 3 9 6 3 7 $`7` [1] 7 6 5 5 6 $`8` [1] 9 6 4 8 4 3 7 6 11 6 4 $`9` [1] 2 5 7 3 5 7 9 4 $`10` [1] 2 7 2 3 10 5 8 5 5
Example 2
To randomly split a vector into n vectors of different lengths, use the following code −
y<-rnorm(50) y
The following vector is created −
[1] -0.65895028 -0.56707992 -1.75246557 2.40114713 0.59733276 -0.30155878 [7] 0.88613249 0.22332336 -0.45062795 1.45375437 0.73950598 -0.39335499 [13] 0.15894151 0.31798103 0.33446413 -0.98776965 -1.15817727 0.63471168 [19] -0.31250471 -0.72164519 -1.42849948 -0.17601294 -0.70228905 0.53074750 [25] -1.35596326 1.14057361 0.14610718 0.72637322 -2.12426937 0.12014845 [31] -0.69264761 -0.46707848 0.28632956 -0.42512666 0.67937220 -0.62717506 [37] 0.49865571 -0.97706141 -0.09706441 -0.43790237 0.29795639 1.18133791 [43] 0.02667289 -1.15689193 -0.24730001 -1.70261107 0.05087556 0.82064067 [49] 0.84783593 -0.37130613
To split vector y into ten vectors of different lengths, add the following code to the above snippet −
y<-rnorm(50) split(y,sample(10,50,repl=TRUE))
Output
If you execute all the above given snippets as a single program, it generates the following output −
$`1` [1] 1.1405736 0.2863296 0.6793722 -1.7026111 0.8478359 $`2` [1] 0.3179810 0.1461072 0.4986557 $`3` [1] 0.22332336 0.73950598 0.15894151 -0.09706441 1.18133791 -1.15689193 [7] -0.24730001 $`4` [1] 2.4011471 0.5973328 0.5307475 -0.9770614 $`5` [1] 0.3344641 -0.3125047 -0.6926476 $`6` [1] -0.56707992 0.88613249 -0.98776965 -0.70228905 -0.43790237 0.05087556 [7] 0.82064067 $`7` [1] -0.6589503 0.6347117 -1.4284995 0.7263732 $`8` [1] -1.75246557 1.45375437 -0.39335499 -0.72164519 -2.12426937 0.12014845 [7] -0.62717506 0.29795639 0.02667289 $`9` [1] -0.450628 -1.158177 -1.355963 $`10` [1] -0.3015588 -0.1760129 -0.4670785 -0.4251267 -0.3713061
- Related Articles
- How to split a vector into smaller vectors of consecutive values in R?\n
- How to create boxplot of vectors having different lengths in R?
- How to split a vector into chunks in R?
- How to split a data frame in R into multiple parts randomly?
- How to split a vector by equal and different number of elements in R?
- How to split a long string into a vector of substrings of equal sizes in R?
- How to cbind vectors of different length without repetition of elements of the smaller vector in R?
- How to split a number into digits in R?
- How to convert a string vector into an integer vector in R?
- How to split comma separated values in an R vector?
- How to convert a vector into matrix in R?
- How to convert matrices stored in a list into vectors in R?
- How to extract all string values from a vector in R with maximum lengths?
- How to generate a repeated values vector with each value in output selected randomly in R?
- How to convert a vector into data frame in R?
