У меня есть следующий простой код R:R: доверительный интервал частично выводится с ggplot2 (с использованием geom_smooth())
disciplines <- c("A","C","B","D","E")
# To stop ggplot from imposing alphabetical ordering on x-axis
disciplines <- factor(disciplines, levels=disciplines, ordered=T)
d1 <- c(0.498, 0.521, 0.332, 0.04, 0.04)
d2 <- c(0.266, 0.202, 0.236, 0.06, 0.06)
d3 <- c(0.983, 0.755, 0.863, 0.803, 0.913)
d4 <- c(0.896, 0.802, 0.960, 0.611, 0.994)
df <- data.frame(disciplines, d1, d2, d3, d4)
df.m <- melt(df)
graph <- ggplot(df.m, aes(group=1,disciplines,value,colour=variable,shape=variable)) +
geom_point() +
geom_smooth(stat="smooth", method=loess, level=0.95) +
scale_x_discrete(name="Disciplines") +
scale_y_continuous(limits=c(-1,1), name="Measurement")
Выход выглядит следующим образом:
Почему доверительный интервал не отображаться вдоль всей кривой?
Примечание:
- Я не хочу иметь
fullrange=TRUE
потому, что только дает одну прямой синюю линию вместо зигзагообразной формы в текущем выходе. - Я сравнивая этот участок с другим участком, который имеет отрицательные значения в (0, -1] Диапазон, поэтому ось у имеет
limits=c(-1,1)
)
Это сработало! Спасибо за быстрый ответ. Я смотрел на верхнюю половину оси y, думая, что в этом что-то не так ... но я забыл, что верхний предел был 1,0! Доверительный интервал идет чуть дальше. У меня такое чувство, что ваш ответ спас мне много часов в Googling в моем R-зараженном будущем. –
Обратите внимание, что вам нужно будет явно загрузить пакет 'scale '. – mnel
@ Ноам Росс, в '? Continu_scale' он говорит только« oob: \t Что делать со значениями вне пределов шкалы (за пределами границ)? 'Где я могу узнать больше о« Что делать? » – Henrik