Tôi đang cố tạo một gói bằng R trong đó tôi đã tạo nhiều Lớp tùy chỉnh mới. Mỗi lớp là một tập tin khác nhau. Các lớp kế thừa từ một lớp cha và kế thừa các lớp khác.Liên kết nhiều tệp trong khi tạo một gói trong R
Trong khi chạy mã của tôi, tôi gọi mỗi người trong số họ như thế này
source("package/father.R")
source("package/son.R")
source("package/grandson.R")
Định nghĩa đối với một số trong những phương pháp cần thiết cho lớp cháu nghĩa trong lớp Sơn. Tôi sử dụng package.sk() để gọi cho mỗi người trong số họ và tạo ra một gói và nó có vẻ làm việc tốt. Nhưng khi chạy R CMD Check (và khi cố gắng cài đặt vào R), nó ném một lỗi vì hàm cố gắng gọi các tập tin theo thứ tự bảng chữ cái và vì vậy tập tin grandson.R được gọi trước son.R và nó hiển thị và báo lỗi rằng các phương thức chưa được xác định. Nếu tôi đổi tên thành zgrandson.R, R gọi tệp đó là cuối cùng và mọi thứ dường như hoạt động tốt, nhưng điều này rõ ràng không phải là giải pháp cho vấn đề.
Tôi đã đọc hướng dẫn để tạo gói, nhưng tất cả chúng dường như đối phó với các trường hợp đơn giản mà không có kế thừa/gọi các tệp khác trong R. Hy vọng tôi đã tự làm rõ.
làm việc tốt trên bài đăng đầu tiên. –
"Nếu tôi đổi tên thành zgrandson.R, R gọi tệp đó là cuối cùng và mọi thứ dường như hoạt động tốt, nhưng điều này rõ ràng không phải là giải pháp cho vấn đề." Tại sao? Đây chính xác là giải pháp tôi sử dụng và nhiều giải pháp khác nữa (bắt đầu các tập lệnh đầu tiên với thứ gì đó như '00Classes.R'). –
Đó là làm việc tốt, nhưng trông giống như một cách xấu xí/hackish để giải quyết vấn đề: D. Cảm ơn bạn đã cho tôi biết rằng những người khác đang sử dụng cách giải quyết này. Mặc dù tôi tự hỏi nếu vấn đề là với cấu trúc mã của tôi chính nó, như không ai trong số các kịch bản của lập trình viên tốt tôi đã đi qua dường như gọi các tập tin khác. –