下面是我遇到的问题的MWE.我正在使用Orthodontnlme软件包中的数据集,该软件包包含27个孩子(16个女孩,11个男孩)的4个测量值.为了模拟相关性,我通过指定使用非结构化协方差结构correlation = corSymm(form = ~1|Subject).我允许在不同的测量时间内进行非恒定方差,但我也想允许男孩和女孩的方差 - 协方差参数不同(例如,因为男孩的测量值之间的相关性可能高于女孩).我可以通过指定允许方差参数的这种异质性weights = varIdent(form = ~1|age*Sex),但是有人知道如何允许/指定相关参数的这种异质性吗?
我知道在SAS中可以proc mixed通过group在repeated语句中指定选项来实现这一点(http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_mixed_sect019.htm),但是我还没有找到办法解决这个问题.
提前谢谢了!
library(nlme)
head(Orthodont)
fit <- gls(distance ~ age * Sex, correlation = corSymm(form = ~1|Subject),
weights = varIdent(form = ~1|age*Sex), data = Orthodont, na.action = na.exclude)
Run Code Online (Sandbox Code Playgroud) 下面是我的问题的MWE:我已经使用引导程序(通过引导程序包中的引导功能)为某些功能编写了进度条.
只要我不使用并行处理(res_1core下面),这样就可以正常工作.如果我想通过设置parallel = "multicore"和使用并行处理ncpus = 2,则进度条显示不正确(res_2core如下).
library(boot)
rsq <- function(formula, data, R, parallel = c("no", "multicore", "snow"), ncpus = 1) {
env <- environment()
counter <- 0
progbar <- txtProgressBar(min = 0, max = R, style = 3)
bootfun <- function(formula, data, indices) {
d <- data[indices,]
fit <- lm(formula, data = d)
curVal <- get("counter", envir = env)
assign("counter", curVal + 1, envir = env)
setTxtProgressBar(get("progbar", envir = env), curVal + …Run Code Online (Sandbox Code Playgroud)