2013-03-04 33 views
11

Nếu tôi định nghĩa một hàm trong R, tôi có thể lưu đối tượng hàm bằng chức năng lưu. Sau đó, tôi có thể tải đối tượng chức năng đó bằng chức năng tải và sử dụng nó trực tiếp. Tuy nhiên, nếu tôi có một chức năng rcpp, và nếu tôi cố gắng lưu phiên bản đã biên dịch và tải nó trở lại bộ nhớ, tôi không thể sử dụng trực tiếp đối tượng hàm đó nữa. Điều này thậm chí có thể? Lý do tôi hỏi là vì phải mất một lúc để biên dịch hàm, và nếu có cách nào đó để tránh chi phí đó mỗi khi tôi khởi động một môi trường R, điều đó sẽ rất tuyệt vời. Cảm ơn!Rcpp: Lưu chức năng đã biên dịch thành Robj

Trả lời

12

Không, nói chung bạn không thể tuần tự hóa (và do đó lưu) một hàm được biên dịch với cxxfunction() hoặc sourceCpp(). Bạn cần phải biên dịch nó mới, trừ khi bạn đặt nó vào một gói. Đó là lý do tại sao các gói là cách để thực sự cài đặt mã được biên dịch của bạn vượt quá thử nghiệm nhanh chóng.

+2

Niềm vui. Bạn có thể chọn 'chấp nhận' câu trả lời này bằng cách chọn dấu chọn chỉ cho bạn khi người đó yêu cầu. –

Các vấn đề liên quan