使用 cenreg 进行删失回归的高斯分布
Gaussian distribution for censored regression with cenreg
我正在尝试使用 R
中 NADA
包中的 cenreg
函数来 运行 具有高斯分布的删失回归。该函数适用于对数正态分布,但 returns 当我尝试使用高斯分布时出现错误。
这是使用虚拟数据的可重现示例:
## Simulate data
d <- data.frame(x = rep(1:10, times = 3))
d$conc <- d$x * 2 + rnorm(30, 0, sd = 0.25)
d$group <- rep(1:3, each = 10)
d$conc <- d$conc + d$group
d$group <- as.factor(d$group)
d$conc[ d$conc < 8] <- 0
d$conc <- d$conc + .01
d$cen <- FALSE
d$cen[ d$conc < 8] <- TRUE
library(NADA)
## Fit model with log-normal distribution
m1 <- with(d, cenreg(Cen(conc, cen) ~ x + group - 1,
dist = 'lognormal'))
m1
## attempt to fit model with Gaussian distribution
m2 <- with(d, cenreg(Cen(conc, cen) ~ x + group - 1,
dist = 'gaussian'))
这给了我这个错误信息:
Error in eval(expr, envir, enclos) : object 'x' not found
我正在使用 R
3.2.3 版和 NADA
1.5.6 版。这是 NADA
软件包的最新版本。
如何使用具有高斯分布的 cenreg
函数?
看起来像一个错误,但这有效:
cenreg(Cen(d$conc, d$cen) ~ d$x + d$group - 1, dist = 'gaussian')
我正在尝试使用 R
中 NADA
包中的 cenreg
函数来 运行 具有高斯分布的删失回归。该函数适用于对数正态分布,但 returns 当我尝试使用高斯分布时出现错误。
这是使用虚拟数据的可重现示例:
## Simulate data
d <- data.frame(x = rep(1:10, times = 3))
d$conc <- d$x * 2 + rnorm(30, 0, sd = 0.25)
d$group <- rep(1:3, each = 10)
d$conc <- d$conc + d$group
d$group <- as.factor(d$group)
d$conc[ d$conc < 8] <- 0
d$conc <- d$conc + .01
d$cen <- FALSE
d$cen[ d$conc < 8] <- TRUE
library(NADA)
## Fit model with log-normal distribution
m1 <- with(d, cenreg(Cen(conc, cen) ~ x + group - 1,
dist = 'lognormal'))
m1
## attempt to fit model with Gaussian distribution
m2 <- with(d, cenreg(Cen(conc, cen) ~ x + group - 1,
dist = 'gaussian'))
这给了我这个错误信息:
Error in eval(expr, envir, enclos) : object 'x' not found
我正在使用 R
3.2.3 版和 NADA
1.5.6 版。这是 NADA
软件包的最新版本。
如何使用具有高斯分布的 cenreg
函数?
看起来像一个错误,但这有效:
cenreg(Cen(d$conc, d$cen) ~ d$x + d$group - 1, dist = 'gaussian')