Tôi có tệp csv trong đó tên cột bao gồm dấu cách và ký tự đặc biệt.fread từ gói data.table khi tên cột bao gồm dấu cách và ký tự đặc biệt?
fread
nhập chúng bằng dấu ngoặc kép - nhưng làm cách nào để thay đổi hành vi này? Một lý do là tôi có tên cột bắt đầu bằng một khoảng trắng và tôi không biết cách xử lý chúng.
Mọi con trỏ sẽ hữu ích.
Chỉnh sửa: Ví dụ.
> packageVersion("data.table")
[1] ‘1.8.8’
p2p <- fread("p2p.csv", header = TRUE, stringsAsFactors=FALSE)
> head(p2p[,list(Principal remaining)])
Error: unexpected symbol in "head(p2p[,list(Principal remaining"
> head(p2p[,list("Principal remaining")])
V1
1: Principal remaining
> head(p2p[,list(c("Principal remaining"))])
V1
1: Principal remaining
gì tôi đã mong đợi/muốn là tất nhiên, những gì một tên cột mà không sản lượng không gian:
> head(p2p[,list(Principal)])
Principal
1: 1000
2: 1000
3: 1000
4: 2000
5: 1000
6: 4130
Tôi sẽ cố gắng con đường tiểu/gsub. Cảm ơn. – Rico
Bạn có thể muốn cập nhật câu trả lời của bạn với điều này. 'Thông điệp cảnh báo: Trong tên <-. Data.table (* tmp *, value = value): Cú pháp giá trị colnames (x) <- bản sao chép toàn bộ bảng. Điều này là do <- trong R chính nó. Vui lòng thay đổi thành tên đặt (x, cũ, mới) mà không sao chép và nhanh hơn. Xem trợ giúp ('setnames'). Bạn có thể bỏ qua cảnh báo này một cách an toàn nếu bất tiện thay đổi ngay bây giờ. Thiết lập tùy chọn (warn = 2) biến cảnh báo này thành lỗi, vì vậy bạn có thể sử dụng traceback() để tìm và thay đổi tên của bạn <- calls.' – Rico
Điểm tuyệt vời và tôi sửa đổi câu trả lời để phản ánh điều đó. –