Мой набор данных состоит из данных от -200 до 100% по оси Y. Используя функцию ylim (0,100), я избавляюсь от отрицательных значений (которые мне нужны), однако при использовании geom_smooth эта функция вычисляет тренд только на основе данных, которые показаны в ggplot.
Есть ли способ сделать тренд, используя полный набор данных, показывая только подмножество данных 0-100% в моем ggplot?
Вот упрощенный пример по запросу;
df1 <- read.table(text = "
Group Sample Percentage
A 185 50
B 185 60
C 185 70
D 185 60
A 159 40
B 159 -20
C 159 50
D 159 45
A 265 -35
B 265 30
C 265 10
D 265 40
A 143 60
B 143 -30
C 143 70
D 143 75
", header = TRUE)
df1$Sample <- factor(df1$Sample)
ggplot() +
theme_light() +
geom_point(data = df1, aes(x = Sample, y = Percentage, color = Group), size = 2) +
geom_smooth(data = df1, aes(x = as.numeric(Sample), y = Percentage, color = Group), method=lm, se=FALSE, fullrange=TRUE) +
ylab("(%)") +
scale_color_manual(values=c('orange2','red','purple','blue'))
Когда я использую ggplot с моим полным набором данных я получаю эти тенденции;
когда я использую;
plot + ylim(0,100)
Я получаю этот график;
Я хотел бы показать тенденции первого графика, но ограничить ось Y, чтобы показывать только точки между 0-100, как это;
Заранее спасибо!