Установить строку лесса в R на двоичных данных

Я пытаюсь разместить линию лесса на диаграмме рассеяния двоичной переменной результата с непрерывной переменной-предиктором.

Вот код, который я использую:

    lw1<-loess(y~x, data=df) 
    plot(y~x, data=df, pch=19, cex=0.1)
    lines(df$x, lw1$fitted, col='blue')

и это график, который я получаю: https://bitbucket.org/heatherjbaldwin/akos_open/src/ec2a78d093e6cdf988434c03c1b7c7df145892ba/loessgraph1.png?at=master

Я также попытался упорядочить переменную x:

    j<-order(df$x)
    lines(df$x[j], lw1$fitted, col='blue')

И получите этот график: https://bitbucket.org/heatherjbaldwin/akos_open/src/ec2a78d093e6cdf988434c03c1b7c7df145892ba/loessgraph2%28ordered_x%29.png?at=master

Вот данные: https://bitbucket.org/heatherjbaldwin/akos_open/src/ec2a78d093e6cdf988434c03c1b7c7df145892ba/loesscurvedata.txt?at=master

Буду признателен за любую оказанную помощь.

1 ответ

Решение

С помощью ggplot2 и loess ровнее я получаю это:

ggplot(data=dat,aes(x,y)) + 
     geom_line() + 
     geom_smooth(method='loess')

введите описание изображения здесь

Но я думаю, что вы ищете классификатор здесь.

Другие вопросы по тегам