19

我有一个包含多列的数据框。现在,我想去掉 row.names 列(第 1 列),因此我尝试选择所有其他列。

例如,

newdata <- olddata[,2:10]

最后一列是否有默认符号,所以我不必计算所有列?我试过了

newdata <- olddata[,2:]

但它没有用。

4

4 回答 4

19

我认为最好专注于想要摆脱一列数据而不是想要选择其他每一列。您可以按照@Arun 的建议执行此操作:

olddata[,-1]

或者:

olddata$ColNameToDelete <- NULL
于 2013-03-10T19:58:06.980 回答
15

你可以得到最后一列ncol()

 newdata <- olddata[,2:ncol(olddata)]
于 2018-10-11T15:00:37.707 回答
5

为了建立 Freeman 的答案,Tidyverse 允许点作为管道数据对象的替代品,这对于通过重复引用对象来简化代码很有用。

library(tidyverse)

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

或者

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

于 2020-04-27T02:57:05.323 回答
0

我正在使用这个选择从一开始就没有一列或多列的所有列:

newdata = olddata[ , 2:dim(olddata)[2]] # from column 2 to the last one (the original question)
newdata = olddata[ , 5:dim(olddata)[2]] # from column 5 to the last one (example of more columns)
于 2021-11-22T02:32:39.170 回答