Подтвердить что ты не робот

Список всех столбцов, кроме одного в R

Возможный дубликат:
Кадр данных кадры столбцов R

Скажем, у меня есть кадр данных с столбцом c1, c2, c3.

Я хочу перечислить только c1 и c2. Как это сделать?

Я пробовал:

head(data[column!="c3"])
head(data)[,2]
head(data[!"c3"])
4b9b3361

Ответ 1

Вы можете просто индексировать и использовать отрицательный знак, чтобы удалить этот столбец:

data[,-3]

Или вы можете перечислить только первые 2 столбца:

data[,c("c1", "c2")]
data[,1:2]

Не забывайте, что запятая и ссылки на кадры данных работают следующим образом: data [row, column]

Ответ 2

В дополнение к цифровому индексированию tcash21, если OP, возможно, искал отрицательную индексацию по имени. Вот несколько способов, которые я знаю, некоторые из них рискованны, чем другие:

mtcars[, -which(names(mtcars) == "carb")]  #only works on a single column
mtcars[, names(mtcars) != "carb"]          #only works on a single column
mtcars[, !names(mtcars) %in% c("carb", "mpg")] 
mtcars[, -match(c("carb", "mpg"), names(mtcars))] 
mtcars2 <- mtcars; mtcars2$hp <- NULL         #lost column (risky)


library(gdata) 
remove.vars(mtcars2, names=c("mpg", "carb"), info=TRUE) 

Обычно я использую:

mtcars[, !names(mtcars) %in% c("carb", "mpg")] 

потому что я считаю это безопасным и эффективным.