Select column 2 to last column in R

2020-07-03 08:02发布

问题:

I have a data frame with multiple columns. Now, I want to get rid of the row.names column (column 1), and thus I try to select all the other columns.

E.g.,

newdata <- olddata[,2:10]

is there a default symbol for the last column so I don't have to count all the columns? I tried

newdata <- olddata[,2:]

but it didn't work.

回答1:

I think it's better to focus on wanting to get rid of one column of data and not wanting to select every other column. You can do this as @Arun suggested:

olddata[,-1]

Or:

olddata$ColNameToDelete <- NULL


回答2:

You can get the last column with ncol():

 newdata <- olddata[,2:ncol(olddata)]


回答3:

To build on Freeman's answer, Tidyverse allows dots as replacement for the piped data object, which can be useful to simplify code with repetitive references to the object.

library(tidyverse)

newdata <- olddata %>% select( 2:ncol(.) )

or

newdata <- olddata %>% .[,2:ncol(.)]