R-“;无法强制类‘&引用;msm.est"’;到一个data.frame“;

R-“;无法强制类‘&引用;msm.est"’;到一个data.frame“;,r,R,我不熟悉R的面向对象设置,所以请轻松:) 我使用的是msm,特别是pmatrix。此函数正常工作,调用时打印矩阵: t=pmatrix.msm(x=fb.msm.tech) t是类msm.est的对象,但我想将其转换为data.frame(或矩阵)。我该怎么做?这将导致一个错误: > data.frame(t) Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ‘"msm.est

我不熟悉R的面向对象设置,所以请轻松:)

我使用的是
msm
,特别是
pmatrix
。此函数正常工作,调用时打印矩阵:

t=pmatrix.msm(x=fb.msm.tech)

t
是类
msm.est
的对象,但我想将其转换为
data.frame
(或矩阵)。我该怎么做?这将导致一个错误:

> data.frame(t)
Error in as.data.frame.default(x[[i]], optional = TRUE) : 
  cannot coerce class ‘"msm.est"’ to a data.frame
下面是关于
t
的一些属性;如果您需要更多信息,请告诉我:

> typeof(t)
[1] "double"

> str(t)
Error in unclass(x)[i, j] : subscript out of bounds

> class(t)
[1] "msm.est"

> methods(class=class(t))
[1] [     print
see '?methods' for accessing help and source code

> dput(t)
structure(c(0.215414272798276, 0.0334946826176258, 0.00750055145168075, 
0.00852221143845429, 0, 0.0177223229119804, 0.642151725588598, 
0.00018437071164374, 0.000217010203854516, 0, 0.612070862567051, 
0.222305955350619, 0.753077002693833, 0.299356094968411, 0, 0.0812707673639357, 
0.024547392341985, 0.157816299874524, 0.577983203836297, 0, 0.0735217743587564, 
0.0775002441011723, 0.081421775268318, 0.113921479552984, 1), .Dim = c(5L, 
5L), .Dimnames = list(c("State 1", "State 2", "State 3", "State 4", 
"State 5"), c("State 1", "State 2", "State 3", "State 4", "State 5"
)), class = "msm.est")

msm.est
对象基本上只是一个带有特殊类的矩阵。您可以删除该类以获取矩阵,然后使用
data.frame()
将矩阵转换为data.frame

data.frame(unclass(t))

msm.est
对象基本上只是一个带有特殊类的矩阵。您可以删除该类以获取矩阵,然后使用
data.frame()
将矩阵转换为data.frame

data.frame(unclass(t))

@MrFlick-问题的更新有效吗?如果没有,我可以提供一个指向实际
t
对象本身的链接;非常感谢。如果您想将您的评论转换为答案,我将接受它。@MrFlick-问题的更新有效吗?如果没有,我可以提供一个指向实际
t
对象本身的链接;非常感谢。如果你想把你的评论转换成答案,我会接受的。