gpt4 book ai didi

R : confidence interval being partially displayed with ggplot2 (using geom_smooth())

转载 作者:行者123 更新时间:2023-12-02 19:32:13 26 4
gpt4 key购买 nike

我有以下简单的 R 代码:

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")

输出如下所示: enter image description here

为什么置信区间没有沿整条曲线显示?

注释:

  1. 我不想使用 fullrange=TRUE,因为这只会在当前输出中产生一条蓝色直线,而不是锯齿形。
  2. 我将此图与另一个在 (0,-1] 范围内具有负值的图进行比较,这就是 y 轴具有 limits=c(-1,1) 的原因

最佳答案

对于置信区间的前三段,范围的上限至少部分超出范围(范围为 [-1, 1],而不是轴上稍微扩大的范围)。 ggplot 的默认行为是不显示任何部分超出范围的对象。您可以通过将 oob=scales::rescale_none 添加到 scale_y_continuous 来解决此问题:

library(scales)
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", oob=rescale_none)

关于R : confidence interval being partially displayed with ggplot2 (using geom_smooth()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com