ndata <- data.frame(x2 = rnorm(nn <- 200))
ndata <- transform(ndata,
y1 = rnorm(nn, mean = 1-3*x2, sd = exp(1+0.2*x2)),
y2 = rnorm(nn, mean = 1+2*x2, sd = exp(1+ 2*x2)^0.5),
y3 = rnorm(nn, mean = 1+2*x2, sd = exp(1+ 2*x2)^0.5))
fit1 <- vglm(y1 ~ x2, normal1(zero = NULL), ndata, trace = TRUE)
coef(fit1, matrix = TRUE)
fit2 <- vglm(cbind(y2, y3) ~ x2, data = ndata, trace = TRUE,
normal1(var = TRUE, parallel = TRUE,
apply.parint = TRUE, zero = NULL))
coef(fit2, matrix = TRUE)
# Generate data from N(mu = theta = 10, sigma = theta) and estimate theta.
theta <- 10
ndata <- data.frame(y = rnorm(100, m = theta, sd = theta))
fit3 <- vglm(y ~ 1, normal1(lsd = "identity"), ndata,
constraints = list("(Intercept)" = rbind(1, 1)))
fit4 <- vglm(y ~ 1, normal1(lsd = "identity", parallel = TRUE,
apply.parint = TRUE, zero = NULL), ndata)
coef(fit3, matrix = TRUE)
coef(fit4, matrix = TRUE) # Same as fit3
Run the code above in your browser using DataLab