2016-03-22 3 views
1

Я пытаюсь использовать функцию cenreg в пакете NADA в R для запуска цензурированной регрессии с распределением по Гауссу. Функция работает с лог-нормальным распределением, но возвращает ошибку, когда я пытаюсь использовать распределение Гаусса.Гауссовское распределение для цензурированной регрессии с cenreg

Вот воспроизводимая пример с фиктивными данными:

## 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 (выражение, Envir, Enclos): объект 'х' не найден

Я пользуюсь R версии 3.2.3 и NADA версии 1.5.6. Это самая последняя версия пакета NADA.

Как использовать функцию cenreg с распределением по Гауссову?

ответ

2

выглядит как ошибка, но это работает:

cenreg(Cen(d$conc, d$cen) ~ d$x + d$group - 1, dist = 'gaussian') 
+0

Да, этот код работает :-). Я через это тоже пробовал, но не должен. BTW, я изначально использовал 'data.table' и получал похожие сообщения об ошибках. –