
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
Split a Vector by Equal and Different Number of Elements in R
To split a vector by equal and different number of elements, we can use split function along with rep function. The rep function will define the repetition of the divisions for equal as well as different number of elements. For example, if a vector say x contains fifty values then splitting of x with different number of elements as 20, 10, 10, 5, 5 this can be done by using the command split(x,rep(1:5,c(20,10,10,5,5))).
Example1
> x1<-rnorm(20) > x1
Output
[1] 1.30316414 -0.80488291 0.23170812 -0.07318560 -0.73388857 -0.85952329 [7] -0.88713465 -0.26618866 1.45634603 0.31282735 1.39285785 0.32501145[13] -1.72088389 -0.20699097 -0.37173907 0.03042574 -1.88779297 -1.49188883
[19] 1.76346672 -0.78819850
Example
> split(x1,rep(1:5,c(4,4,4,4,4)))
Output
$`1` [1] 1.3031641 -0.8048829 0.2317081 -0.0731856 $`2` [1] -0.7338886 -0.8595233 -0.8871347 -0.2661887 $`3` [1] 1.4563460 0.3128273 1.3928578 0.3250114 $`4` [1] -1.72088389 -0.20699097 -0.37173907 0.03042574 $`5` [1] -1.8877930 -1.4918888 1.7634667 -0.7881985
Example2
> x2<-rnorm(80) > x2
Output
[1] 1.11014501 -0.30485929 1.19911840 1.01925016 -2.74900977 -0.65568943 [7] 1.23454821 -0.91710842 2.25818571 0.11509990 0.60064320 -0.99898231 [13] -0.90873904 0.68738377 0.50206863 0.71867815 -0.17149018 -0.19056878 [19] -0.26320262 0.11085357 -0.87968483 1.10847267 -0.88684214 0.25501541 [25] 0.17070674 0.87421060 -0.51739525 -0.15134489 -0.84236650 0.50036499 [31] -1.07865023 -0.14798676 0.26203826 1.16376336 -0.98983205 2.49089629 [37] 0.29128935 1.27024917 0.49313043 0.90345654 0.36708891 1.16796991 [43] -0.82016835 0.30527505 -1.07100642 0.42140017 0.49116119 -1.70181435 [49] 0.85880415 -1.72676868 0.69970268 0.72310038 -0.55340423 -1.93115027 [55] -0.66841699 1.12353618 0.58422511 0.49507549 -0.48937123 -0.45051950 [61] -0.68090745 0.13435125 -0.51724884 1.24981341 0.13391069 0.12207344 [67] 0.20733945 0.74509319 0.31462239 1.07309023 -1.26986929 0.42222945 [73] 0.19691607 -0.15895825 0.39972349 -1.35150483 0.66675370 -0.05661676 [79] 0.64220780 0.20113633
Example
> split(x2,rep(1:8,c(10,10,10,10,10,10,10,10)))
Output
$`1` [1] 1.1101450 -0.3048593 1.1991184 1.0192502 -2.7490098 -0.6556894 [7] 1.2345482 -0.9171084 2.2581857 0.1150999 $`2` [1] 0.6006432 -0.9989823 -0.9087390 0.6873838 0.5020686 0.7186782 [7] -0.1714902 -0.1905688 -0.2632026 0.1108536 $`3` [1] -0.8796848 1.1084727 -0.8868421 0.2550154 0.1707067 0.8742106 [7] -0.5173952 -0.1513449 -0.8423665 0.5003650 $`4` [1] -1.0786502 -0.1479868 0.2620383 1.1637634 -0.9898321 2.4908963 [7] 0.2912894 1.2702492 0.4931304 0.9034565 $`5` [1] 0.3670889 1.1679699 -0.8201684 0.3052750 -1.0710064 0.4214002 [7] 0.4911612 -1.7018144 0.8588042 -1.7267687 $`6` [1] 0.6997027 0.7231004 -0.5534042 -1.9311503 -0.6684170 1.1235362 [7] 0.5842251 0.4950755 -0.4893712 -0.4505195 $`7` [1] -0.6809075 0.1343513 -0.5172488 1.2498134 0.1339107 0.1220734 [7] 0.2073394 0.7450932 0.3146224 1.0730902 $`8` [1] -1.26986929 0.42222945 0.19691607 -0.15895825 0.39972349 -1.35150483 [7] 0.66675370 -0.05661676 0.64220780 0.20113633
Example3
> x3<-rpois(100,5) > x3
Output
[1] 3 7 3 1 6 2 7 6 7 7 3 4 4 7 2 3 4 9 5 8 6 3 5 4 4 [26] 5 9 7 2 4 5 6 7 5 4 6 5 5 7 5 2 2 6 3 6 5 2 5 3 6 [51] 4 5 6 0 9 4 4 3 4 5 2 7 4 9 4 7 7 2 6 5 8 4 4 2 9 [76] 3 7 8 5 3 4 5 6 7 4 7 7 6 4 6 1 7 7 4 6 5 5 5 11 1
Example
> split(x3,rep(1:5,c(10,25,25,20,20)))
Output
$`1` [1] 3 7 3 1 6 2 7 6 7 7 $`2` [1] 3 4 4 7 2 3 4 9 5 8 6 3 5 4 4 5 9 7 2 4 5 6 7 5 4 $`3` [1] 6 5 5 7 5 2 2 6 3 6 5 2 5 3 6 4 5 6 0 9 4 4 3 4 5 $`4` [1] 2 7 4 9 4 7 7 2 6 5 8 4 4 2 9 3 7 8 5 3 $`5` [1] 4 5 6 7 4 7 7 6 4 6 1 7 7 4 6 5 5 5 11 1
Advertisements