问题描述
library(R6)
library(MASS)
myClass <- R6Class("myClass",private = list(
..vals = vector(mode = "numeric",2L),..estimate_vals = vector(mode = "numeric",..prevIoUs_estimate_vals = list()
),public = list(
initialize = function() {
private$..vals <- MASS::mvrnorm(1,c(0,0),matrix(c(2,-1,2),ncol = 2,byrow = TRUE,dimnames = list(c("first","second"),c("first","second"))))
}),active = list(
update_estimate = function() {
if (length(private$..prevIoUs_estimate_vals) < 1) {
private$..estimate_vals <- rnorm(n = length(private$..vals),mean = private$..vals,sd = 1.414214)
} else {
####
## private$..estimate_vals <-
## GENERATE DEVIATES THAT ARE AUTOcorrelated WITH private$..prevIoUs_estimate_vals
####
}
private$..prevIoUs_estimate_vals <- append(list(private$..estimate_vals),private$..prevIoUs_estimate_vals)
}
)
)
当一个新对象被初始化时,private
字段 ..vals
会填充一组从多元正态分布中提取的偏差。一旦设置,它们就永远不会改变:
obj <- myClass$new()
然后我使用 private$..vals
绑定 active
估计 update_estimate
中的值:
obj$update_estimate
该函数首先通过查看 length
字段 private
的 ..prevIoUs_estimate_vals
来检查这些值之前是否已经估计过。如果没有,它会估计它们,使用 rnorm
并将 mean
设置为 private$..vals
中的值。如果之前已经估计过它们,我希望从相同的分布中得出一个新的估计值,但要使偏差与 private$prevIoUs_estimate_vals
自相关。无论哪种情况,新的估计值都会附加到先前估计值的 list
中。
这个想法是新的偏差会受到以前的偏差的影响(我认为我将其称为自相关是正确的......)。但我不知道我该怎么做。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)