сюжетная линия в г - PullRequest
       22

сюжетная линия в г

0 голосов
/ 05 мая 2018
fit_bmi <- glm(df$genhlth_NC ~ poly(df$bmi_NC, 2, raw = TRUE))
plot(df$bmi_NC, df$genhlth_NC, col=rgb(red=0.2, green=0.2, blue=1.0, alpha=0.01))
lines(df$bmi_NC, predict(fit_bmi), col = 'red')

Я хотел создать подобранную линию на своем участке. Тем не менее, я получил странный сюжет с кодом выше. Может ли кто-нибудь помочь мне с этим?

Pic of Weird Plot

1 Ответ

0 голосов
/ 05 мая 2018

Скопированный комментарий: Вам нужно отсортировать x и y по значениям x. Вы также должны научиться использовать формулы без имен data.frame в теле формулы и использовать параметр data для имени dataframe. Донвотер, вероятно, реагировал на отсутствие примера данных, но источник ошибки был совершенно ясен из приведенного графика.

Я проверил мой совет в тексте, ранее известном как «комментарий», с этим кодом, и, кажется, он дает ожидаемый результат:

fit_bmi <- glm(genhlth ~ poly(bmi, 2, raw = TRUE), data=dat)
plot(genhlth ~ bmi, data=dat)
lines(dat$bmi[order(dat$bmi)], predict(fit_bmi)[order(dat$bmi)],lwd=3, col = 'red')

Вот dat -объект, построенный со структурой, которая, я полагаю, похожа на ваш объект данных:

dat <- data.frame(genhlth = sample(1:5, size=100, repl=TRUE,
                                   prob=c(.1, .2, .3, .2, .2) ),
                   bmi = rnorm(100,30,5) )
table(dat$genhlth)
#------------
 1  2  3  4  5 
 6 24 25 30 15 

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...