我正在尝试使用cenreg
中NADA
包中的R
函数来运行具有高斯分布的删失回归。该函数使用对数正态分布,但在尝试使用高斯分布时返回错误。
以下是虚拟数据的可重现示例:
## 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'))
这给了我这个错误信息:
eval(expr,envir,enclos)中的错误:object&#39; x&#39;找不到
我正在使用R
版本3.2.3和NADA
版本1.5.6。这是NADA
包的最新版本。
如何使用具有高斯分布的cenreg
函数?
答案 0 :(得分:2)
看起来像一个错误,但这有效:
cenreg(Cen(d$conc, d$cen) ~ d$x + d$group - 1, dist = 'gaussian')