gpt4 book ai didi

write.model() 的 rJAGS 版本?

转载 作者:行者123 更新时间:2023-12-04 02:50:40 25 4
gpt4 key购买 nike

R2WinBUGS 包有一个名为write.model() 的函数。 R 包 rjags 没有我所知道的这样的功能。 write.model 创建一个临时文本文件,WinBUGS 可以将其作为模型读取。

我知道我可以在控制台中输入write.model 来查看函数,但是这个函数似乎调用了我以前从未见过的函数,并且无法在中搜索help()(例如,replaceScientificNotationR 显然是一个函数)。

我看到了This Post描述了一些这样做的方法,但如果可能的话,我宁愿不必使用引号(只是为了保持我的语法突出显示),并且评论建议“复制 write.model 函数”应该是可行的。

有人做过吗?

最佳答案

据推测,您只需加载 R2WinBUGS 即可访问该函数。

但是,一般来说,如果您无法看到某个函数的代码,请尝试使用 getAnywhere

例如,getAnywhere(replaceScientificNotationR) 产生:

A single object matching ‘replaceScientificNotationR’ was found
It was found in the following places
namespace:R2WinBUGS
with value

function (bmodel, digits = 5)
{
env <- new.env()
assign("rSNRidCounter", 0, envir = env)
replaceID <- function(bmodel, env, digits = 5) {
for (i in seq_along(bmodel)) {
if (length(bmodel[[i]]) == 1) {
if (as.character(bmodel[[i]]) %in% c(":", "[",
"[["))
return(bmodel)
if ((typeof(bmodel[[i]]) %in% c("double", "integer")) &&
((abs(bmodel[[i]]) < 0.001) || (abs(bmodel[[i]]) >
10000))) {
counter <- get("rSNRidCounter", envir = env) +
1
assign("rSNRidCounter", counter, envir = env)
id <- paste("rSNRid", counter, sep = "")
assign(id, formatC(bmodel[[i]], digits = digits,
format = "E"), envir = env)
bmodel[[i]] <- id
}
}
else {
bmodel[[i]] <- replaceID(bmodel[[i]], env, digits = digits)
}
}
bmodel
}
bmodel <- deparse(replaceID(bmodel, env, digits = digits),
control = NULL)
for (i in ls(env)) {
bmodel <- gsub(paste("\"", i, "\"", sep = ""), get(i,
envir = env), bmodel, fixed = TRUE)
}
bmodel
}
<environment: namespace:R2WinBUGS>

因此,它是 R2WinBUGS 包中的一个内部函数。或者,您可以下载 package source from CRAN并探索。

关于write.model() 的 rJAGS 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com