R :使用 ggplot2 部分显示置信区间(使用 geom_smooth())

2023-11-25

我有以下简单的 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")

The output looks like this: enter image description here

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

Notes:

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

对于置信区间的前三段,范围的顶端至少部分超出界限(界限为 [-1, 1],而不是轴上稍微扩大的范围)。ggplot的默认行为是不显示任何部分超出范围的对象。您可以通过添加来修复此问题oob=scales::rescale_none to 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R :使用 ggplot2 部分显示置信区间(使用 geom_smooth()) 的相关文章

  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 如何从shiny中将数据下载到多张纸上?

    我们如何将数据从 Shiny 下载到多个工作表并命名每个工作表 例如下面 ginberg将mtcars数据保存在sheet1中 我们可以将头部 mtcars 保存在sheet2中吗 另外 我们可以对这些工作表进行不同的命名吗 例如sheet
  • 为什么 \K 似乎消耗了基本 R 的 gsub 中的一个字符

    这是一个示例字符串 bcadefgh 我希望我能匹配除了 cad 具有以下模式 wa w K w 如果我想替换所有不是的东西 cad 我可以用gsub 像这样gsub wa w K w bcadefgh perl TRUE 但是这输出 ca
  • Python 散点图。标记的大小和样式

    我有一组数据想要显示为散点图 我希望将每个点绘制为大小的正方形dx x 0 5 0 1 0 3 y 0 2 0 7 0 8 z 10 15 12 dx 0 05 0 2 0 1 scatter x y c z s dx marker s 问
  • 更改计划的开始日期以优化资源

    我有很多工作需要在特定的时间间隔执行 然而 我们每天完成这项工作的资源有限 因此 我正在尝试优化开始时间日期 开始时间日期只能向前移动 不能向后移动 以便每天使用的资源与我们的预算更加不相似 这些函数在下面的示例中使用 Function t
  • Matlab:如何在没有颜色分级的情况下绘图?

    我的朋友制作了一个脚本来处理大量数据并绘制各种图表 但是当他运行脚本时 图表根据图例具有不同的颜色 当我这样做时 所有图表都相似 颜色渐变从黑色到红色的 见图 为什么不同以及如何获得不同颜色的图表 带有颜色分级图的 2D 绘图 figure
  • R Tidytext 和 unnest_tokens 错误

    对 R 非常陌生 已经开始使用 tidytext 包 我正在尝试使用参数来填充unnest tokens函数 这样我就可以进行多列分析 所以而不是这个 library janeaustenr library tidytext library
  • 如何动态访问数据帧列表中的特定属性

    我有一个数据 它是数据框的列表 我正在尝试访问列表中每个数据帧内的特定属性 可以提取特定属性DP UniqueId使用下面的代码 gt attr new data A AA SpotfireColumnMetaData DP UniqueI
  • 在 R 中使用 nls 重新创建研究

    我正在学习如何在 R 中使用 nls 函数 但遇到了一些问题 我现在只是试图重新创建研究论文中发现的曲线 该模型拟合了 1987 年崩盘前股市走势的曲线 我定义了一个函数func 如下 func lt function a b tc t a
  • 使用 R 交互式更改 Plotly 图像中的轴刻度(线性/对数)

    Goal 创建交互式下拉菜单 按钮来更新 R 中 Plotly 图形的轴比例 Issue 有很多关于创建的文档buttons https plot ly r custom buttons and 对数图 https plot ly r lo
  • 使用函数参数作为 R 中新数据框的名称

    这很简单 但我已经搜索并未能找到这个小问题的解决方案 我想使用函数的参数作为新数据框的名称 例如 assign dataset lt function dataname x lt c 1 2 3 y lt c 3 4 5 dataname

随机推荐