我正在使用R中的包循环来拟合一组数据的von Mises分布:
Mises <- mle.vonmises(x = angle, mu = NULL, kappa = NULL, bias = FALSE, control.circular = list())
结果来自类循环。有没有一种方法可以同时提取mu和kappa,使它们成为数字?我需要这样做很多次(我猜使用group_by()
),所以手动写下mu和kappa的显示值不是一个选项。
谢谢你的帮助!
mle.vonmises
的输出是一个list
> str(Mises)
List of 8
$ call : language mle.vonmises(x = x)
$ mu : 'circular' num -0.0264 # it is a numeric value
..- attr(*, "circularp")=List of 6
.. ..$ type : chr "angles"
.. ..$ units : chr "radians"
.. ..$ template: chr "none"
.. ..$ modulo : chr "asis"
.. ..$ zero : num 0
.. ..$ rotation: chr "counter"
$ kappa : num 5.21
$ se.mu : num 0.0654
$ se.kappa : num 0.973
$ est.mu : num 1
$ est.kappa: num 1
$ bias : logi FALSE
- attr(*, "class")= chr "mle.vonmises"
可以用标准提取器提取list
元素。$
或[[
。关于转换为numeric
,mu
已经是numeric
类。
> class(Mises$mu)
[1] "circular" "numeric"
它还包括一些attr
属性,以及在numeric
之上构建的额外类circular
,可以通过使用as.numeric
或as.vector
包装或将属性设置为NULL
来删除
as.numeric(Mises$mu)
#[1] -0.02639894
Mises$kappa
[1] 5.214254
数据library(circular)
x <- rvonmises(n=50, mu=circular(0), kappa=5)
Mises <- mle.vonmises(x)