Có cách nào để chọn tất cả các cột của một khung dữ liệu ngoại trừ cột có tên cụ thể không: nó sẽ là số tương tự của df[,-1]
, ngoại trừ việc sử dụng tên cột thay vì chỉ mục?bỏ chọn một cột theo tên, R
Trả lời
Bạn có thể thực hiện việc này bằng cách sử dụng đặt trước vector. Đầu tiên, tạo một tập dữ liệu giả:
R> dd = data.frame(A = 1:3, B = 1:3, C=1:3, D=1:3)
Sau đó sử dụng các nhà điều hành !
để đảo ngược lựa chọn:
R> dd[ ,!(colnames(dd) == "A")]
B C D
1 1 1 1
2 2 2 2
3 3 3 3
Ngoài ra, bạn có thể có:
Một phiên bản hơi ngắn hơn (lịch sự của @Tomas):
dd[ , names(dd) != "A"]
Để đối phó với nhiều cột (biếu không của @Tyler)
dd[ ,!(colnames(dd) %in% c("A", "B"))]
Người ta có thể sử dụng which()
chức năng để xác định các cột để được loại bỏ.
dd <- data.frame(A = 1:5, B = 1:5, C=1:5)
dd[, -which(names(dd) == "A")]
hoặc tích cực
dd[, which(names(dd) != "A")]
Tuy nhiên, nếu không có cột có tên là "A", bạn sẽ nhận được một khung dữ liệu với 0 cột và nrow(dd)
hàng. Vì vậy, nó sẽ là tốt để kiểm tra sự tồn tại của một cột có tên là "A".
if(any(names(dd) == "A")) {
dd[, which(names(dd) != "A")]
}
Chức năng subset
đã cho phép loại hình này của cú pháp, từ các ví dụ trên trang trợ giúp:
subset(airquality, Day == 1, select = -Temp)
Đối với việc không chọn nhiều cột, bạn có thể sử dụng gói dplyr. Ví dụ:
dd = data.frame(A = 1:3, B = 1:3, C=1:3, D=1:3)
library(dplyr)
newdd <- select(dd, -A,-C)
đây là một cách khác ngoài những gì @csgillespie đề xuất.
- 1. R - trật tự một data.frame theo tên cột AS CHARACTER
- 2. Tạo tên cột tốt R
- 3. Tên và tên cột hàng trong R
- 4. DataRow: Chọn giá trị ô theo tên cột đã cho
- 5. Chọn MySQL, cột có cùng tên từ nhiều bảng, sắp xếp theo một cột khác có cùng tên
- 6. Đổi tên hàng và cột trong R
- 7. tên cột Sắp xếp lại trong R
- 8. Làm thế nào để thả các cột theo mẫu tên trong R?
- 9. Nhận số lượng cột trong R được đặt tên cột
- 10. đổi tên cột đầu ra bằng gói plyr trong R
- 11. Chọn cột gấu trúc theo vị trí
- 12. Chọn một cột trong SQL không có trong nhóm theo
- 13. Máy chủ SQL tìm kiếm một cột theo tên
- 14. chọn một bảng có các tên cột khác nhau
- 15. Phần tiếp theo chọn quá nhiều cột
- 16. Máy chủ sql chọn cột theo số
- 17. Tự động chọn các cột khung dữ liệu sử dụng $ và một vectơ tên cột
- 18. Chọn các cột có tên cột cụ thể trong PostgreSQL
- 19. MySQL chọn tên cột như lĩnh vực
- 20. jquery, checkbox, bỏ chọn theo giá trị
- 21. FQL chọn tên cột "AS" bí danh
- 22. R lặp trên cột dataframe
- 23. cột Lựa chọn trong khung R dữ liệu dựa trên những * không * trong một vector
- 24. SQL: chọn riêng biệt của một cột trong khi bỏ qua các cột khác
- 25. sql chọn với tên cột như
- 26. Chọn một hàng trong một DataGridView và có mũi tên trên tiêu đề hàng theo
- 27. Đặt khung dữ liệu theo hai cột trong R
- 28. chọn các cột được chỉ định bởi một vector ngẫu nhiên trong R
- 29. Chọn các cột không liên tiếp trong bảng R
- 30. Đổi tên các cột trong nhiều khung dữ liệu, R