我正在研究R包並導入某個庫。我正在從導入的庫中繼承一個類。在R中,我如何從包中導入的類中繼承一個對象?
在我的記述文件我有:
...
Imports:
importedPackage
然後,我有一個類聲明:
setClass("mySampleClass",
slots = list(
numUp = "numeric",
numDown = "numeric"
),
contains = "classToExtend"
)
如果我進口importedPackage,我知道我需要從包中引用的功能importedPackage::someFunction()
。我不能這樣做,雖然在我的類聲明中有contains =
部分。眼下,它告訴我,在製作的時候:
Error in reconcilePropertiesAndPrototype(name, slots, prototype, superClasses, :
no definition was found for superclass 「importedPackage::classToExtend」 in the specification of class 「mySampleClass」
我試圖解決這個幾個不同的方式。這似乎是某人之前必須面對的問題,但目前爲止,我無法找到如何正確執行此操作的問題。感謝您提前提供任何幫助。
所以我沒有做很多與S4,所以這是一個猜測,但你嘗試過什麼這個QA第一個答案說? https://stackoverflow.com/questions/37897002/include-an-s4-object-from-an-existing-package-as-a-slot-in-a-new-s4-class。這似乎也許會照顧你的問題呢? – HFBrowning
有趣的是,這個問題是關於我試圖導入的完全相同的包。我已經嘗試過以及它的幾個變種。它看起來像文件,然後構建好,但在構建它之後,它會執行'library(MyLib)'並且看起來很好,但是接下來當我點擊任何地方時它會發生致命錯誤。 –