2015-05-20 1 views
2

Я не специалист по R, и я должен кое-что сделать с R ... Но я уложил даже в простые задачи ... Извините, если это основной вопрос но я не видел каких-либо проблем, как у меня здесь, в StackOverflow ...Scatter plot with ggplot и pred() R

Я имеющих плохое время здесь с ggplot2 и предсказывающие() в R.

Если кто-то может помочь мне, что я буду признателен это =]

setwd("/home/kaihami/Desktop/Python/RR_Bioinfo/") 


library("ggplot2") 

data_total <- data.frame(bac, Phylum, Domain, CDS, Total) 

#model (Total) 
modlinear <- lm(Total ~ CDS) 
xmin <- min(logCds2) 
xmax <- max(logCds2) 
predicted <- data.frame(logCds2=seq(xmin, xmax, length.out=length(logCds2))) 
predicted$Total <- predict(modlinear, predicted) 

#Total RR (ln)geom_line(aes(x=x, y=y.hat), col=2) 
ggplot(data_total, aes(x = CDS, y = Total, colour = Domain))+ 
    geom_point(size=3.2, alpha = 0.4) + 
    theme_bw()+theme(axis.line = element_line(colour = "black"), 
        panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        panel.border = element_blank(), 
        panel.background = element_blank(), 
        legend.title=element_blank(), 
        legend.key=element_blank()) + 
    geom_abline(data = predicted) 

с помощью этого кода я получил мой график, который я хочу, с правой оси и значения ...

Но когда я попытался поставить линию регрессии, я получил действительно плохой график, с линией регрессии дислоцированного ... (извините, но я не могу добавлять изображения пока)

Так что я попытался проверить, если мой модель была правильной, и она использовала резюме (modlinear).

Мой вопрос: кто-нибудь знает, как это исправить? Кто-нибудь когда-либо испытывал это?

Другой глупый вопрос ... В чем основное различие между geom_abline и geom_line?

+2

Начать здесь: http://docs.ggplot2.org/current/geom_smooth.html Ищите метод = "lm" и аргумент se, если вы хотите доверительные диапазоны. Это должно заменить большую часть кода вашей модели. – Dennis

ответ

0

geom_abline() Как сказать y = ax + b, и вы указываете наклон и перехват.

geom_line() Участки подгонки. Проверьте сайт docs.ggplot2.org, как прокомментировал @Dennis.

Итак, у вас есть два варианта. Если линия регрессии линейна, используйте geom_abline() и укажите свой наклон и перехват, или, если вы хотите отобразить предсказанные данные, используйте geom_line(data=predicted...) и соответствующие аргументы. Больше смысла?

+0

Спасибо! Я попробую ур советы! – kaihami

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

  • Нет связанных вопросов^_^