首页 > 解决方案 > 如何将对象强制转换为 R 中的类

问题描述

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

在包手册中这样写: coerce signature(from = "matrix", to = "markovchain"): coercing to markovchain objects from matrix one

根据我所读到的内容,我尝试使用它似乎最正确:

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实际上是矩阵数组而不是单个矩阵。

非常感谢!

标签: rclassobjectcoercion

解决方案


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


推荐阅读