2012-11-12 6 views
3

Я запускаю непараметрическую регрессию с использованием пакета np (npreg) и пытаюсь построить мои результаты для переменной интереса x1, содержащей все остальные переменные в своих средствах/режимах.Частичный регрессионный график результатов из пакета np

library("np") 

y <- rnorm(100) 
x1 <- rnorm(100,10,30) 
x2 <- rbinom(100,1,0.5) 
x3 <- rbinom(100,1,0.5) 

model.np <- npreg(y ~ x1 + x2 + x3) 
plot(model.np) 

Участки - это именно то, что я хочу, но я не могу понять, как их создавать отдельно «вручную». В частности, мне нужен только первый (из трех) выходных графиков.

ответ

2

Видимо, подробный ответ можно найти в файле справки для npplot-подпрограммы, где plot.behavior является решающим аргументом.

Для моего примера, построение только x1-граф может быть сделано с помощью:

nlmodel.plot <- plot(model.np, plot.behavior="data") 

y.eval <- fitted(nlmodel.plot$r1) #fit partial regression model for r1=airnoise 
y.se <- se(nlmodel.plot$r1) #grab SE from botstrap 
y.lower.ci <- y.eval + logp.se[,1] #lower CI 
y.upper.ci <- y.eval + logp.se[,2] #upper CI 

x1.eval <- nlmodel.plot$r1$eval[,1] #grab x1 values saved in plot$r1 

plot(x1,y) 
lines(x1.eval,y.eval) 
lines(x1.eval,y.lower.ci,lty=3) 
lines(x1.eval,y.upper.ci,lty=3) 
+0

что logp.se? – kirk

+0

Я думаю, что 'logp.se' должно быть' y.se' – js86

Смежные вопросы