
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
Subset Data Table Object Using a Range of Values in R
To subset a data.table object using a range of values, we can use single square brackets and choose the range using %between%. For example, if we have a data.table object DT that contains a column x and the values in x ranges from 1 to 10 then we can subset DT for values between 3 to 8 by using the command DT[DT$x %between% c(3,8)].
Example1
Loading data.table package and creating a data.table object −
library(data.table) x1<-rnorm(20) x2<-rnorm(20,100,3.25) dt1<-data.table(x1,x2) dt1
Output
x1 x2 1: 0.06546822 102.83348 2: 1.05756760 99.28015 3: 0.09397791 97.36582 4: -0.44478256 96.22510 5: -0.17392089 99.56077 6: 0.32834773 95.85831 7: -0.04563975 104.88298 8: 0.95807930 95.31325 9: 1.25349243 101.72948 10: 0.47676550 96.76459 11: -1.26790256 98.76222 12: -1.36220203 97.91117 13: -1.31999499 102.81730 14: 1.69391374 96.00380 15: -0.10801512 101.69544 16: -1.13463486 108.11833 17: -0.13885823 102.34798 18: -0.54403332 99.68874 19: 0.55865944 97.33505 20: 0.76511431 96.53975
Subsetting rows of dt1 for values 0.5 to 1 of x1 −
dt1[dt1$x1 %between% c(0.5,1)]
x1 x2 1: 0.9580793 95.31325 2: 0.5586594 97.33505 3: 0.7651143 96.53975
Example2
y1<-rpois(20,5) y2<-rpois(20,2) dt2<-data.table(y1,y2) dt2
Output
y1 y2 1: 7 1 2: 3 2 3: 1 5 4: 4 2 5: 5 3 6: 4 1 7: 3 2 8: 5 0 9: 5 2 10: 7 4 11: 5 4 12: 6 2 13: 6 4 14: 6 2 15: 5 2 16: 1 1 17: 3 1 18: 2 4 19: 4 0 20: 4 1
Subsetting rows of dt1 for values 2 to 6 of y2 −
dt2[dt2$y2 %between% c(2,6)]
y1 y2 1: 3 2 2: 1 5 3: 4 2 4: 5 3 5: 3 2 6: 5 2 7: 7 4 8: 5 4 9: 6 2 10: 6 4 11: 6 2 12: 5 2 13: 2 4
Advertisements