- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
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 nth row from an R data frame?
We can find subsets using many ways in R and the easiest way is to use single-square brackets. If we want to subset a row or a number of consecutive or non-consecutive rows then it can be directly done with the data frame name and the single-square brackets. For example, if we have a data frame called df and we want to subset 1st row of df then we can use df[1,] and that’s it.
Example
Consider the below data frame:
> set.seed(214) > x<-rnorm(20) > y<-rnorm(20,1,0.5) > z<-rnorm(20,2,0.57) > a<-rnorm(20,1,0.27) > b<-rpois(20,2) > c<-rpois(20,8) > q<-rpois(20,5) > w<-rpois(20,1) > df1<-data.frame(x,y,z,a,b,c,q,w) > df1
Output
x y z a b c q w 1 -0.46774980 1.1546101 2.3342540 0.9143609 2 8 6 0 2 0.04088223 0.7590773 2.2095770 0.9712316 1 5 6 2 3 1.00335193 1.7272210 1.7318417 1.1871876 2 8 7 0 4 2.02522505 0.8515016 1.9366870 0.4658958 4 4 3 2 5 0.30640096 1.2055142 2.5719530 0.8469379 4 9 5 1 6 0.42577748 1.6967249 1.5668833 0.9602888 5 7 5 1 7 0.74889267 2.0073967 2.4715450 0.7116510 3 5 5 1 8 0.44645148 1.0209466 1.1198797 1.3250236 2 10 6 1 9 -2.20514180 1.6927716 2.1447475 1.1950635 0 7 5 2 10 1.98181366 1.3930763 2.3038074 1.1096453 2 6 5 1 11 -2.62555247 1.2849028 1.7522339 1.1864803 2 5 2 1 12 -0.72301789 1.0450742 0.2930952 1.1930435 2 8 4 2 13 -0.88306915 0.8239228 2.5604929 0.9686630 1 8 2 0 14 -0.52517037 1.3413851 2.0189895 0.8643248 2 9 4 0 15 -0.94756990 0.2507953 1.1719018 1.0294649 5 10 3 1 16 -0.51916173 1.1889573 2.1277015 0.6870978 3 8 5 0 17 -1.12071138 1.4807661 1.9248328 1.0950342 1 12 4 2 18 0.42359496 1.5472942 1.7000941 0.8440301 1 12 2 2 19 0.46975875 1.4835207 1.2282101 1.0651645 2 6 7 0 20 -0.21269994 0.8056228 1.7694949 0.9686047 5 11 6 0
Subsetting different rows of df1:
Example
> df1[1,]
Output
x y z a b c q w 1 -0.4677498 1.15461 2.334254 0.9143609 2 8 6 0
Example
> df1[2,]
Output
x y z a b c q w 2 0.04088223 0.7590773 2.209577 0.9712316 1 5 6 2
Example
> df1[3,]
Output
x y z a b c q w 3 1.003352 1.727221 1.731842 1.187188 2 8 7 0
Example
> df1[5,]
Output
x y z a b c q w 5 0.306401 1.205514 2.571953 0.8469379 4 9 5 1
Example
> df1[8,]
Output
x y z a b c q w 8 0.4464515 1.020947 1.11988 1.325024 2 10 6 1
Example
> df1[9,]
Output
x y z a b c q w 9 -2.205142 1.692772 2.144747 1.195064 0 7 5 2
Example
> df1[12,]
Output
x y z a b c q w 12 -0.7230179 1.045074 0.2930952 1.193043 2 8 4 2
Example
> df1[15,]
Output
x y z a b c q w 15 -0.9475699 0.2507953 1.171902 1.029465 5 10 3 1
Example
> df1[18,]
Output
x y z a b c q w 18 0.423595 1.547294 1.700094 0.8440301 1 12 2 2
Example
> df1[20,]
Output
x y z a b c q w 20 -0.2126999 0.8056228 1.769495 0.9686047 5 11 6 0
Let’s have a look at another example:
Example
> v1<-rexp(20,1.24) > v2<-rexp(20,3.7) > v3<-runif(20,2,8) > df2<-data.frame(v1,v2,v3) > df2
Output
v1 v2 v3 1 0.20602134 0.06916392 6.107286 2 0.29568560 0.36353986 3.529261 3 0.12250478 0.18168857 4.524547 4 2.37228009 0.20580564 6.795179 5 0.51194665 0.03005732 3.208580 6 0.25267457 0.12722097 2.184198 7 0.03742423 0.01711751 4.135536 8 0.45572624 0.29921997 6.046839 9 0.63617201 0.55386034 7.812157 10 0.81699828 0.56160708 4.071993 11 0.26570318 0.06759301 3.625271 12 0.63101790 0.10742853 2.573730 13 0.60664724 0.28611242 4.053965 14 0.79000859 0.09818221 6.257031 15 0.44555943 0.01828257 3.953676 16 1.87292479 0.20373389 3.407394 17 0.17258681 0.20278572 5.874761 18 0.09658603 0.09844967 5.382432 19 0.04970458 0.46433382 7.007515 20 0.31233081 0.06999427 4.855714
Subsetting different rows of df2:
Example
> df2[3,]
Output
v1 v2 v3 3 0.1225048 0.1816886 4.524547
Example
> df2[5,]
Output
v1 v2 v3 5 0.5119466 0.03005732 3.20858
Example
> df2[7,]
Output
v1 v2 v3 7 0.03742423 0.01711751 4.135536
Example
> df2[9,]
Output
v1 v2 v3 9 0.636172 0.5538603 7.812157
Example
> df2[10,]
Output
v1 v2 v3 10 0.8169983 0.5616071 4.071993
Example
> df2[12,]
Output
v1 v2 v3 12 0.6310179 0.1074285 2.57373
Example
> df2[15,]
Output
v1 v2 v3 15 0.4455594 0.01828257 3.953676
Example
> df2[17,]
Output
v1 v2 v3 17 0.1725868 0.2027857 5.874761
Example
> df2[20,]
Output
v1 v2 v3 20 0.3123308 0.06999427 4.855714
- Related Articles
- How to delete a row from an R data frame?
- How to subset non-duplicate values from an R data frame column?
- How to subset row values based on columns name in R data frame?
- How to subset factor columns in an R data frame?
- How to create a new column with a subset of row sums in an R data frame?
- How to subset an R data frame based on small letters?
- How to find row minimum for an R data frame?
- How to subset rows of an R data frame using grepl function?
- How to subset a data frame by excluding a specific text value in an R data frame?
- How to remove duplicates in series from each row in an R data frame?
- How to add a row to a frame from another data frame in R?
- How to reorder the row indices in an R data frame?
- How to change the row order in an R data frame?
- How to subset an R data frame based on numerical and categorical column?
- How to subset an R data frame by specifying columns that contains NA?

Advertisements