我正在尝试使用我已下载的新软件包,它要求我将对象(矩阵)更改为软件包的类(如果我理解正确的话):
在包装手册中写道: 强制签名(from =“matrix”,to =“markovchain”):强制转换为矩阵中的markovchain对象
根据我所读到的内容,我尝试使用它的其他内容似乎最正确:
as(from="Markov.dgf",to="markovchain",strict=TRUE,ext)
我收到了一个错误:
Error in as(from = "Markov.dgf", to = "markovchain", strict = TRUE, ext) :
unused arguments (from = "Markov.dgf", to = "markovchain")
如果有人可以解释我是否正在尝试做正确的事情,以及为什么我会收到错误,我将非常感激。另外,我不知道在这种情况下这是否很重要,但Markov.dgf
实际上是一个矩阵数组而不是单个矩阵。
非常感谢!
答案 0 :(得分:0)
代码as(from="Markov.dgf",to="markovchain",strict=TRUE,ext)
不起作用的原因是,正如您所指出的,“ Markov.dgf”不是矩阵对象,而是属于另一个R类。实际上,强制方法仅针对markovchain软件包中的特定类编写。如果您经常使用“ Markov.dgf”之类的对象,则可以考虑自己编写一个强制方法。您可以浏览一下包源代码中的classesAndMethod.R文件,以找到有关这方面合理的强制方法示例。