Tôi có một data.frame (link to file) với 18 cột và 11520 hàng mà tôi thay đổi như thế này:làm thế nào để tăng tốc độ lên mã R này
library(plyr)
df.median<-ddply(data, .(groupname,starttime,fPhase,fCycle),
numcolwise(median), na.rm=TRUE)
theo system.time(), nó mất khoảng này dài để chạy:
user system elapsed
5.16 0.00 5.17
Cuộc gọi này là một phần của webapp, vì vậy thời gian chạy là khá quan trọng. Có cách nào để tăng tốc cuộc gọi này không?
Bạn có thể lưu lại kết quả không? – Shane
'ddply()' là đầu tiên và quan trọng nhất * thuận tiện *. Nếu bạn cần một cái gì đó nhanh chóng, bạn có thể cần phải thực hiện lại logic. –
@Shane: Hiện có 3 * 400 bộ dữ liệu có thể (và tăng hàng ngày) mà người dùng có thể yêu cầu. Không chắc rằng một người dùng sẽ nhấn vào cùng một tập dữ liệu khác. Vì vậy, bộ nhớ đệm sẽ chỉ hữu ích trong một phiên. Vì đầu ra của webapp về cơ bản là một báo cáo được đóng hộp, tôi không nghĩ rằng người dùng thường sẽ yêu cầu nó nhiều hơn một lần. Bạn có triển khai bộ nhớ đệm cho tình huống tôi đã mô tả không? Tôi đã không bao giờ làm điều đó trước đây, vì vậy tôi đang ở một chút mất mát. – dnagirl