我刚刚完成了我在 CRAN 上使用了几年的 R 包的一些小更新(有一段时间没有更新了)。我的包在我的本地机器和 winbuilder 上通过了检查,但它刚刚从 CRAN 返回并显示消息
checking whether package 'riverdist' can be installed ... WARNING
Found the following significant warnings:
Warning: S4 exports specified in 'NAMESPACE' but not defined in package 'riverdist'
Run Code Online (Sandbox Code Playgroud)
我使用 roxygen2 来构建我的包 NAMESPACE 并且没有我知道的任何 S4 导出。
也许这可能与 R 版本 4.0.0 的变化有关?
如果有人遇到此错误,我很想听听您是如何解决它的。谢谢!
这可能不重要,但我一直很好奇一段时间。
在 JAGS/BUGS 中构建模型时,我最初被教导使用pow()函数处理幂变换(例如tau <- pow(sigma, -2),在正态分布中从标准偏差转换为精度参数),但很多时候,我最终会使用简单的算术运算符代替.
我的问题是: 是否有程序上或句法上的好处pow(),还是仅仅是美学问题?
通过初步探索,这里有一个很好的、长期的玩具简单线性回归,指定了两种方式。我正在使用 JAGS,使用 R2jags 包在 R 中调用。
# first some fake data
N <- 1000
x <- 1:N
y <- x + rnorm(N)
# model 1
cat('model {
for (i in 1:N) {
y[i] ~ dnorm(y.hat[i], tau)
y.hat[i] <- a + b * x[i]
}
a ~ dnorm(0, .0001)
b ~ dnorm(0, .0001)
tau <- pow(sigma, -2) ### this is the only difference
sigma ~ dunif(0, …Run Code Online (Sandbox Code Playgroud)