选择 R 中的第 2 列到最后一列

问题描述 投票:0回答:5

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

例如,

newdata <- olddata[,2:10]

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

newdata <- olddata[,2:]

但是没有成功。

r dataframe multiple-columns
5个回答
22
投票

我认为最好专注于想要删除一列数据并且不想选择所有其他列。您可以按照@Arun 的建议执行此操作:

olddata[,-1]

或者:

olddata$ColNameToDelete <- NULL

15
投票

您可以使用

ncol()
获取最后一列:

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

5
投票

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

library(tidyverse)

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

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


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)

0
投票

在 tidyverse 中有多种 tidy-select 选项。这里有用的是

last_col()

library(dplyr)

olddata |>
  select(2:last_col())
© www.soinside.com 2019 - 2024. All rights reserved.