Ngoài việc lập chỉ mục số của tcash21 nếu OP có thể đang tìm kiếm chỉ mục phủ định theo tên. Dưới đây là một vài cách tôi biết, một số là rủi ro hơn người khác sử dụng:
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)
Nói chung tôi sử dụng:
mtcars[, !names(mtcars) %in% c("carb", "mpg")]
vì tôi cảm thấy nó an toàn và hiệu quả.
Nguồn
2012-10-13 00:07:38
Về câu cuối cùng của bạn, bạn không thực sự cần dấu phẩy khi làm việc với các khung dữ liệu, vì chúng là các danh sách. –
Chắc chắn, nhưng nếu bạn định đưa ra nhận xét đó ít nhất là một ví dụ về cách không sử dụng dấu phẩy hay danh sách truy cập. – tcash21
ví dụ 'x [1,2]' = 'x [[2]] [[1]]' – tcash21