df <- structure(list(`a a` = 1:3, `a b` = 2:4), .Names = c("a a", "a b"
), row.names = c(NA, -3L), class = "data.frame")
và các dữ liệu trông giống nhưdplyr: chọn tên cột chứa khoảng trắng
a a a b
1 1 2
2 2 3
3 3 4
Sau cuộc gọi đến chọn
select(df, 'a a')
cho
Error in abs(ind[ind < 0]) :
non-numeric argument to mathematical function
Làm thế nào tôi có thể chọn " aa "và/hoặc đổi tên nó thành thứ gì đó không có dấu cách u hát select
? Tôi biết các phương pháp sau đây:
names(df)[1] <- "a"
select(df, a=1)
select(df, ends_with("a"))
nhưng nếu tôi đang làm việc trên một tập hợp dữ liệu lớn, làm thế nào tôi có thể nhận được một kết hợp chính xác mà không biết numer index hoặc tên cột tương tự?
bạn cũng có thể làm tương tự với 'select':' chọn (df, a = \ 'a a \') ' – Arun
@Arun, Cảm ơn đề nghị của bạn. Nhưng không phải cả hai đổi tên "a a", _and_ chỉ chọn biến này (ngược lại với 'đổi tên')? – Henrik
Henrik, bạn nói đúng. Nhưng 'rename' sẽ sao chép toàn bộ data.frame chỉ để đổi tên các cột. Vì vậy, tôi không sử dụng nó/xem xét nó hiệu quả. Tôi không chắc chắn nếu có một cách như 'setattr' trong' data.table'. Ví dụ: 'setattr (df, 'tên', c (" a "," b "))' đổi tên ở đây bằng tham chiếu. – Arun