- 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 subset a 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
- Related Articles
- How to find the percentage of values that lie within a range in column of a data.table object in R?
- How to subset a data.table object in R by specifying columns that contains NA?
- How to subset a data.table object in R by ignoring a value in one of the columns?
- How to multiply corresponding row values in a data.table object with single row data.table object in R?
- How to subset a data.table in R by removing specific columns?
- How to randomize column values of a data.table object for all columns in R?
- How to randomize column values of a data.table object for a set of columns in R?
- How to multiply vector values in sequence with columns of a data.table object in R?
- How to repeat column values of a data.table object in R by number of values in another column?
- How to repeat a whole data.table object in R?
- How to unsplit a split data.table object in R?
- How to convert values greater than a threshold into 1 in column of a data.table object in R?
- How to add a column to data.table object in R?
- How to combine two columns of a data.table object in R?
- How to convert data.table object into a matrix in R?

Advertisements