如何将对象强制转换为R中的类

时间:2018-06-07 14:30:08

标签: r class object coercion

我正在尝试使用我已下载的新软件包,它要求我将对象(矩阵)更改为软件包的类(如果我理解正确的话):

在包装手册中写道: 强制签名(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实际上是一个矩阵数组而不是单个矩阵。

非常感谢!

1 个答案:

答案 0 :(得分:0)

代码as(from="Markov.dgf",to="markovchain",strict=TRUE,ext)不起作用的原因是,正如您所指出的,“ Markov.dgf”不是矩阵对象,而是属于另一个R类。实际上,强制方法仅针对markovchain软件包中的特定类编写。如果您经常使用“ Markov.dgf”之类的对象,则可以考虑自己编写一个强制方法。您可以浏览一下包源代码中的classesAndMethod.R文件,以找到有关这方面合理的强制方法示例。