2016-03-22 5 views
1

Ich versuche, die cenreg-Funktion im NADA-Paket in R zu verwenden, um eine zensierte Regression mit einer Gauß-Verteilung auszuführen. Die Funktion arbeitet mit einer logarithmischen Normalverteilung, gibt jedoch einen Fehler zurück, wenn ich versuche, die Gaußsche Verteilung zu verwenden. HierGauss-Verteilung für zensierte Regression mit Cereng

ist reproduzierbar Beispiel mit Dummy-Daten:

## 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')) 

, die mir diese Fehlermeldung gibt:

Fehler bei eval (ausdr, envir, enclos): Objekt 'x' nicht

gefunden

Ich verwende R Version 3.2.3 und NADA Version 1.5.6. Dies ist die neueste Version des NADA Pakets.

Wie verwende ich die cenreg Funktion mit einer Gauss-Verteilung?

Antwort

2

Sieht aus wie ein Fehler, aber das funktioniert:

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

Ja, dieser Code funktioniert :-). Ich habe das auch probiert, muss aber nicht. Übrigens habe ich ursprünglich eine 'data.table' verwendet und ähnliche Fehlermeldungen erhalten. –

Verwandte Themen