Tôi có sau mẫu data.table
:tập hợp nhiều cột trong data.table
dtb <- data.table(a=sample(1:100,100), b=sample(1:100,100), id=rep(1:10,10))
Tôi muốn kết hợp lại tất cả các cột (a, b, mặc dù họ phải được giữ riêng biệt) bằng cách sử dụng id colSums
, ví dụ . cách chính xác để làm điều này là gì? Sau đây không hoạt động:
dtb[,colSums, by="id"]
Đây chỉ là một mẫu và bảng của tôi có nhiều cột vì vậy tôi muốn tránh xác định tất cả trong số họ trong tên hàm
+1 Đây, bạn hoàn toàn đúng, đây chắc chắn là cách tốt hơn. Tôi luôn nghĩ rằng tôi nên có mọi thứ ở định dạng dài, nhưng khá thường xuyên, như trong trường hợp này, việc tính toán hiệu quả hơn. Bạn nên đánh dấu bạn là câu trả lời đúng. –
ok âm thanh tốt, tôi sẽ thay đổi điều này thành câu trả lời đúng. – Alex
+1 Btw, cú pháp này đã được tối ưu hóa trong phiên bản v1.8.2 mới nhất. Đã từng là một hình phạt tốc độ khi sử dụng 'lapply' trong' j' như thế, nhưng không còn nữa. Các bản sửa đổi cho các điểm wiki 'data.table' đã được thực hiện, và đến điểm 5 là cần thiết. –