我想在R中创建一个包,其中我创建了很多新的自定义类。每个班级都在不同的文件中。类从父类继承并继承到其他类。链接多个文件,同时在R中创建一个包
在运行我的代码我叫他们每个人喜欢这个
source("package/father.R")
source("package/son.R")
source("package/grandson.R")
对于一些通过在子类中定义的孙子类所需的方法定义。我使用package.skeleton()来调用它们并创建一个包,它似乎工作正常。但是当运行R CMD Check(以及试图安装到R时)时,它会抛出一个错误,因为该函数试图按字母顺序调用文件,所以文件grandson.R在son.R之前调用,它显示并显示错误该方法尚未定义。如果我将名称更改为zgrandson.R,R将该文件称为最后一个,并且一切看起来都很好,但这显然不是问题的解决方案。
我已经阅读了关于创建包的教程,但是他们都似乎处理了R中没有继承/调用其他文件的简单情况。希望我已经说清楚了。
第一篇文章很不错。 –
“如果我将名称更改为zgrandson.R,R将该文件称为最后一个文件,并且所有内容似乎都可以正常工作,但显然这不是解决问题的办法。”为什么?这正是我使用的解决方案以及其他许多方法(以'00Classes.R'开始第一个脚本)。 –
这工作正常,但看起来像这样一个丑陋/ hackish方式来解决问题:D。感谢您告诉我其他人也在使用此解决方法。虽然我不知道这个问题是否与我的代码结构本身有关,因为我经历过的好程序员的脚本似乎都没有调用其他文件。 –