я сюжет здесь дорожит более длины для хромосомыРазброс участка лесс линия, лесс не показывать линию в данной области
Средней область без точек не содержит данных и не должен получить лесс линия. Как я могу изменить свой код, чтобы остановить лессовую линию над этим регионом? Данные непрерывные, но я мог бы добавить строки, чтобы отметить пробел с некоторым специальным значением или добавить столбец с меткой? но как использовать это в команде?
моя текущая команда:
library(IDPmisc)
# plot settings (edit here)
spanv<-0.05
pointcol1="#E69F00"
pointcol2="#56B4E9"
pointcol3="#009E73"
points=20
linecol="green"
xlabs=paste(onechr, " position", " (loess-span=", spanv, ")", sep="")
data1<-NaRV.omit(data[,c(2,7)]) # keep only x and y for the relevant data
# and clean NA and Inf
ylabs='E/A - ratio'
p1<-ggplot(data1, aes(x=start, y=E.R)) +
ylim(0,5) +
geom_point(shape=points, col=pointcol1, na.rm=T) +
geom_hline(aes(yintercept=1, col=linecol)) +
geom_smooth(method="loess", span=spanv, fullrange=F, se=T, na.rm=T) +
xlab(xlabs) +
ylab(ylabs)
большое спасибо за ответ. Я попробую это (второй выглядит лучше) – splaisan
Первый приятнее, поскольку он включает только 1 вызов 'loess()' и наиболее точно следует за исходным изображением, которое вы показываете. Для отдельных объектов 'data' в' geom_smooth() 'следует понимать, что второй LOESS не должен быть таким же, как и приведение для LOESS, применяемого к полному набору данных (краевые эффекты и т. Д.). Вариант 1 предпочтительнее моего разума, так как это должна быть ** та же ** модель, что и «ggplot()», вы просто рисуете нужные вам биты. –
@splaisan На ум приходит третий вариант. Сделайте как вариант 1, но предскажите для всего диапазона данных. Затем установите любые точки в «пробеле» на «NA». Затем нарисуйте предсказанный вектор точек в одном слое. Это был бы еще один идеальный способ для выбора до выбора вариантов. –