- 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 remove rows in an R data frame using row names?
There are a lot of ways to subset an R data frame and sometimes we need to do it by removing rows. In general, the rows are removed by using the row index number but we can do the same by using row names as well. This can be done by storing the row names that should be removed in a vector and then removing through subsetting with single square brackets as shown in the below examples.
Example
Consider the below data frame:
> x<-rnorm(20,1,0.04) > y<-rnorm(20,100,4) > row.names(df)<-LETTERS[1:20] > df
Output
x y A 0.9454799 96.62077 B 0.9642909 101.54903 C 1.0294169 97.17593 D 0.9877072 98.98962 E 1.0182932 92.32761 F 1.0351041 103.04182 G 0.9613700 90.65195 H 1.0240703 99.63975 I 0.9424871 97.11730 J 0.9876748 108.07684 K 1.0652311 102.14823 L 1.0196251 93.51378 M 0.9752639 100.57394 N 0.9890722 101.37151 O 0.9873279 100.37910 P 0.9564027 96.94806 Q 0.9456446 103.40934 R 0.9617322 94.89198 S 0.9956141 86.43256 T 1.0253881 101.52844
Making vector of row names that needs to be removed:
Example
> row_names_df_to_remove<-c("A","B","C","D","E")
Removing the specified row names:
Example
> df[!(row.names(df) %in% row_names_df_to_remove),]
Output
x y F 1.0351041 103.04182 G 0.9613700 90.65195 H 1.0240703 99.63975 I 0.9424871 97.11730 J 0.9876748 108.07684 K 1.0652311 102.14823 L 1.0196251 93.51378 M 0.9752639 100.57394 N 0.9890722 101.37151 O 0.9873279 100.37910 P 0.9564027 96.94806 Q 0.9456446 103.40934 R 0.9617322 94.89198 S 0.9956141 86.43256 T 1.0253881 101.52844
Let’s have a look at another example:
Example
> set.seed(3247) > x1<-rpois(20,1) > x2<-rpois(20,5) > df1<-data.frame(x1,x2) > df1
Output
x1 x2 1 3 5 2 1 8 3 3 3 4 0 6 5 2 2 6 1 6 7 0 1 8 2 2 9 1 3 10 0 4 11 3 1 12 0 4 13 0 5 14 1 4 15 1 3 16 1 7 17 2 3 18 0 0 19 1 3 20 0 5
Example
> row.names.df1<-c(1:5) > df1[!(row.names(df1) %in% row.names.df1),]
Output
x1 x2 6 1 6 7 0 1 8 2 2 9 1 3 10 0 4 11 3 1 12 0 4 13 0 5 14 1 4 15 1 3 16 1 7 17 2 3 18 0 0 19 1 3 20 0 5
- Related Articles
- How to remove column names from an R data frame?
- How to remove empty rows from an R data frame?
- How to remove multiple rows from an R data frame using dplyr package?
- How to sort an R data frame column without losing row names?
- How to remove last few rows from an R data frame?
- How to remove underscore from column names of an R data frame?
- How to remove rows that contains all zeros in an R data frame?
- How to remove a common suffix from column names in an R data frame?
- How to divide data frame rows in R by row minimum?
- How to divide data frame rows in R by row maximum?
- How to remove duplicates in series from each row in an R data frame?
- How to change the column names and row names of a data frame in R?
- How to multiply row values in a data frame having multiple rows with single row data frame in R?
- How to delete rows in an R data frame?
- How to add rows in an R data frame?

Advertisements