- 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 create bins for a continuous vector in R?
To create the bins for a continuous vector, we can use cut function and store the bins in a data frame along with the original vector. The values in the cut function must be passed based on the range of the vector values, otherwise, there will be NA’s in the bin values. For example, if we have a vector that contains 0.55 and we do not use 0 in the cut function then the first bin will be NA. Check out the below examples to understand how to properly do it.
Example1
x1<−rnorm(20,5,2) x1
Output
[1] 3.066708 6.729915 7.706962 7.564306 3.924779 5.400262 2.529380 4.377311 [9] 7.270613 6.135201 5.068060 6.447229 8.603205 4.065874 4.132155 3.060366 [17] 0.953596 2.861802 7.250666 6.928397
Example
df1<−data.frame(x1,bin=cut(x1,c(0,1,2,3,4,5,6,7,8,9),include.lowest=TRUE)) df1
Output
x1 bin 1 3.066708 (3,4] 2 6.729915 (6,7] 3 7.706962 (7,8] 4 7.564306 (7,8] 5 3.924779 (3,4] 6 5.400262 (5,6] 7 2.529380 (2,3] 8 4.377311 (4,5] 9 7.270613 (7,8] 10 6.135201 (6,7] 11 5.068060 (5,6] 12 6.447229 (6,7] 13 8.603205 (8,9] 14 4.065874 (4,5] 15 4.132155 (4,5] 16 3.060366 (3,4] 17 0.953596 [0,1] 18 2.861802 (2,3] 19 7.250666 (7,8] 20 6.928397 (6,7]
Example2
x2<−runif(20,2,5) x2
Output
[1] 2.656399 2.436808 3.704048 3.572767 2.321280 2.982751 4.911949 2.483126 [9] 2.177203 2.797627 4.621546 3.645550 2.888457 2.919597 4.354709 4.251886 [17] 4.862071 3.367629 2.610280 3.063467
Example
df2<−data.frame(x1,bin=cut(x2,c(2,3,4,5),include.lowest=TRUE)) df2
Output
x1 bin 1 3.066708 [2,3] 2 6.729915 [2,3] 3 7.706962 (3,4] 4 7.564306 (3,4] 5 3.924779 [2,3] 6 5.400262 [2,3] 7 2.529380 (4,5] 8 4.377311 [2,3] 9 7.270613 [2,3] 10 6.135201 [2,3] 11 5.068060 (4,5] 12 6.447229 (3,4] 13 8.603205 [2,3] 14 4.065874 [2,3] 15 4.132155 (4,5] 16 3.060366 (4,5] 17 0.953596 (4,5] 18 2.861802 (3,4] 19 7.250666 [2,3] 20 6.928397 (3,4]
Advertisements