使用 stat_summary 的标准误差线

2024-01-10

以下代码使用 Hmisc、ddply 和 ggplot 生成带有标准误差条的条形图:

means_se <- ddply(mtcars,.(cyl),
                  function(df) smean.sdl(df$qsec,mult=sqrt(length(df$qsec))^-1))
colnames(means_se) <- c("cyl","mean","lower","upper")
ggplot(means_se,aes(cyl,mean,ymax=upper,ymin=lower,group=1)) + 
  geom_bar(stat="identity") +  
  geom_errorbar()

然而,使用辅助函数(例如mean_sdl)实现上述内容似乎要好得多。例如,以下代码生成具有 95% CI 误差线的图:

ggplot(mtcars, aes(cyl, qsec)) + 
  stat_summary(fun.y = mean, geom = "bar") + 
  stat_summary(fun.data = mean_sdl, geom = "errorbar")

我的问题是如何使用标准错误栏的 stat_summary 实现。问题是,要计算 SE,您需要每个条件的观察数,并且必须在mean_sdl 的乘数中访问它。

如何在 ggplot 中访问此信息?有没有一个简洁的非 hacky 解决方案?


好吧,我不能告诉你如何将乘数按组输入stat_summary.

然而,您的目标似乎是绘制均值和误差线,代表来自平均值的一个标准误差ggplot在绘图之前没有总结数据集。

有一个mean_se函数于ggplot2我们可以用它来代替mean_cl_normal from Hmisc. The mean_se函数的默认乘数为 1,因此如果我们想要标准误差线,则不需要传递任何额外的参数。

ggplot(mtcars, aes(cyl, qsec)) + 
    stat_summary(fun.y = mean, geom = "bar") + 
    stat_summary(fun.data = mean_se, geom = "errorbar")

如果您想使用mean_cl_normal函数来自Hmisc,您必须将乘数更改为 1,以便从平均值中得到一个标准误差。这mult论证是一个论证mean_cl_normal。您需要传递给正在使用的摘要函数的参数需要以列表的形式提供给fun.args争论:

ggplot(mtcars, aes(cyl, qsec)) + 
    stat_summary(fun.y = mean, geom = "bar") + 
    stat_summary(fun.data = mean_cl_normal, geom = "errorbar", fun.args = list(mult = 1))

在 2.0 之前的版本中ggplot2,可以直接传递参数:

ggplot(mtcars, aes(cyl, qsec)) + 
  stat_summary(fun.y = mean, geom = "bar") + 
  stat_summary(fun.data = mean_cl_normal, geom = "errorbar", mult = 1) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 stat_summary 的标准误差线 的相关文章

  • 如何上下移动字符串并从中删除相似的字符串?

    我问了一个可能不太清楚的问题 所以我尝试用一 种可以理解的方式来解释它 这是我的数据 我的数据看起来像这样 看起来像这样 V1 V2 V3 1 Q9UNZ5 Q9Y2W1 2 Q9ULV4 Q6QEF8 3 Q9UNZ5 4 Q9H6F5
  • 配置 fix() 和 edit() 以从 R/RStudio 在 Notepad++ 中打开

    当我在 RStudio 或 RGUI 中执行此操作时 fix SomeFunction 或使用edit 我可以在记事本中看到该函数的代码 有什么方法可以更改此设置 以便代码预览在 Notepad 中打开 而不是在普通的旧记事本中打开 同样
  • 如何使用 ggplot2 对曲线下的区域进行着色

    我一直在尝试使用 ggplot2 生成类似于此 R 图形的绘图 xv lt seq 0 4 0 01 yv lt dnorm xv 2 0 5 plot xv yv type l polygon c xv xv lt 1 5 1 5 c y
  • 在 R 中使用深度网络和 MNIST 数据读取手写数字第 3 部分

    我尝试编写一个基于深度网络的程序来读取手写数字 我在 Youtube 上找到了一个代码 https www youtube com watch v 5bso 5X7Zu4 https www youtube com watch v 5bso
  • 从受密码保护的站点读取信息

    我一直在 R 教程中使用 readLines 从网站上抓取信息 我现在希望从我自己的网站提取数据 特别是 awstats 数据 但是该域受密码保护 有没有一种方法可以通过用户名和密码传递我需要的特定 awstats 数据的 url url
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • 行方向变异的有效方法

    我有两个数据框 dfUsers and purchases使用以下代码生成 set seed 1 library data table dfUsers lt data table user letters 1 5 startDate sam
  • XLConnect 无法确定 JAVA_HOME 错误

    感谢您的帮助 我正在尝试运行 XLconnect 但收到此错误消息 gt library XLConnect lib loc C Users 1144143929 Documents R win library 2 15 Error onL
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • 按组复制数据框

    我有以下数据框 df structure list Group c 1 1 1 1 2 2 2 2 2 2 3 3 3 index c 1 2 3 4 1 2 3 4 5 6 1 2 3 row names c NA 13L class c
  • Shiny :针对所有错误显示一条消息

    我在 R 的 Shiny 中有一个应用程序 我想处理消息 以便用户看不到发生了什么错误 我知道通过 tags style type text css shiny output error visibility hidden shiny ou
  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 构造奎因(自我复制功能)

    有没有人构建过 quine 生成自己源文本的副本作为其完整输出的程序 http www nyx net gthompso quine htm http www nyx net gthompso quine htm 在 R 中 quine 标
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • R ggplot2 分面保持比率但覆盖/定义输出图大小

    我目前正在使用 ggplot2 来比较不同组的统计数据 每个组属于不同的区域 这是通过运行 R 脚本的 Web 应用程序 tikiwiki CMS 插件 R 完成的 每个区域我可以有 2 到 30 个或更多组 相同的 R 脚本针对唯一网页中
  • 如何使用 Facet R 添加线条[重复]

    这个问题在这里已经有答案了 所以我有一个多面图 我希望能够向其中添加随每个面而变化的线 这是代码 p lt ggplot mtcars aes x wt geom histogram bins 20 aes fill factor cyl
  • 如何将 Shiny 中生成的反应图传递到 Rmarkdown 以生成动态报告

    简而言之 我希望能够通过单击按钮从我的闪亮应用程序生成动态 Rmarkdown 报告文件 pdf 或 html 为此 我想我将使用 Shiny 的参数化报告 但不知何故 我无法将单个谜题转移到所需的目标 使用此代码 我们可以在 R Shin
  • ggplot 按因子和梯度颜色

    我正在尝试绘制一个对两个变量 一个因子和一个强度 进行着色的图 我希望每个因素都是不同的颜色 并且我希望强度是白色和该颜色之间的渐变 到目前为止 我已经使用了诸如对因子进行分面等技术 将颜色设置为两个变量之间的相互作用 并将颜色设置为因子并
  • 在 R 中读入原始二进制数据并将其转换为整数

    我有一个二进制文件 其中包含编码为不同长度 主要是 2 4 字节 的有符号或无符号整数的数值 为了处理这些数据 我将文件的所需部分读取为raw向量与readBin 然后尝试将其转换为十进制 问题是 R的内置函数有限制 我不太明白 比如没有l

随机推荐

  • 需要一个工具来检测C代码中的内存泄漏

    是否有一个好的应用程序 具有某种 GUI 用于测试 C 代码中的内存泄漏 我真的很想测试我的作业 程序 但对此非常陌生 我很难使用终端来做事 特别是使用 gdb 进行调试 对我来说 这感觉像是过去的爆炸 我可以使用一些可视化调试器 谢谢您的
  • 在 R 中列出 HTTP/FTP 服务器上的文件

    我正在尝试从 R 获取 HTTP FTP 服务器上的文件列表 以便在下一步中我将能够下载它们 或选择一些符合我的下载标准的文件 我知道可以在网络浏览器 下载管理器 中使用外部程序 这将允许我选择要从当前网页 FTP 下载的文件 但是 我希望
  • Apache Cassandra:无法使用任何种子进行八卦

    我已经构建了Cassandra服务器2 0 3 然后运行它 它正在启动 然后停止并显示消息 X MyProjects cassandra apache cassandra 2 0 3 src bin gt cassandra bat gt
  • 我无法在 heroku 中部署 google oauth 应用程序

    我正在 heroku 中部署 google oauth 应用程序 为此 我必须向 google master 验证应用程序域 但 herkou 应用程序 url 不同 并且 google 网站管理员不接受 任何方法来验证heroku url
  • 使用 Selenium 和 python 保存表

    我正在尝试使用 Selenium 和 Python 来存储表的内容 我的脚本如下 import sys import selenium from selenium import webdriver from selenium webdriv
  • O(log N) 查找和更新的数据结构,考虑小型 L1 缓存

    我目前正在开发一个嵌入式设备项目 在该项目中遇到了性能问题 分析已找到我想要消除的 O N 操作 我基本上有两个数组int A N and short B N 条目于A是唯一的并且受外部约束排序 最常见的操作是检查特定值是否a出现在A 不太
  • 无法使用 firebase 功能将图像上传到 firebase 存储

    这是我的代码 exports uploadImage req res gt const BusBoy require busboy const path require path const os require os const fs r
  • 星号拨号方案中 ${CDR(duration)} 和 ${CDR(billsec)} 之间的区别

    我想获取通话的持续时间 但混淆了要使用哪个变量 CDR 持续时间 or CDR billsec Here https wiki asterisk org wiki display AST CDR Variables不清楚 CDR durat
  • 确定信号频率

    我试图确定在 Matlab 中作为向量给出的信号的频率 知道怎么做吗 use fft Matlab 中的函数 这包含相位和幅度 要获得幅度只能使用abs fft
  • C 函数在文件中的特定位置插入文本而不覆盖现有文本

    我编写了一个程序 它接受一个文件作为输入 每当它找到长度 gt 80的行时 它就会向该文件添加 和 n 使其最大宽度为 80 个字符 问题是 只要长度超过 80 我就使用 fseek 插入 和 n 因此它会覆盖长度超过 80 的该行的两个字
  • Android:Scrollview拉伸背景图像

    所以我试图使我的活动可滚动 当我将相对布局放入滚动视图中时 会发生这种情况 这是上面屏幕截图的代码
  • 即时生成站点地图

    我正在尝试为特定的 asp net 网站即时生成 sitemap xml 我找到了几个解决方案 奇努克网 http sitemap chinookwebs com 切尔沃项目 http web archive org web 2008030
  • Spring MVC 和表单绑定:如果所有字段都为空,如何告诉 Spring 不要实例化子对象?

    我很难理解如果相应表单没有修改表单 bean 的任何字段 如何阻止 Spring 初始化该表单 bean 的子成员对象 例如 我有一个包含字段 地址 的用户对象 我将空的 用户 实例传递给表单 当时 地址 为空 在表单中 我有所有用户的输入
  • 同时通过 2 个不同的声卡播放 2 首音乐

    尝试一些开箱即用的东西 我有一个简单的应用程序 带有一个按钮 按下该按钮时 可以从我的 Android 平板电脑的音频插孔中播放音乐 public void btn1 View view MediaPlayer mp MediaPlayer
  • 如何向 Laravel 4 Forms 添加类

    也许这是一个简单的答案 但我找不到任何与此相关的文档 我已经使用 Laravel 4 设计了一个表单 它似乎运行良好 但现在我需要对其进行样式设置 使用刀片时如何向表单添加类 Form open array url gt foo bar 我
  • 按排序顺序获取树的所有叶子

    对于树结构如下 public class Node implements Comparable
  • URL缩短器可以传递参数吗?

    我使用 bit ly 来缩短我的网址 我的问题 参数未传递 让我解释一下我使用的http bit ly MYiPhoneApps http bit ly MYiPhoneApps它重定向 比方说 到http iphone pp p net
  • 延迟加载或巨大的 CSS-sprite(大小为 9MB)

    条件 这是一个电影网站 约有 1000 张 15kb 的图像 大约 70 的图像将在页面访问时加载 图像的有效期很长 我想我会选择 CSS sprites 因为大多数图像都会被访问者以任何方式加载 但所有图像的 CSS sprite 都是
  • 使用XMPP或WebSocket,为什么用户之间的实时通信需要服务器?

    在底层 都是关于套接字通信的 如果有某种方法可以获取两个用户的IP 为什么不能直接在用户之间建立连接 而必须通过中间的服务器 我的2分钱 没有人强迫我们拥有基于服务器的实时通信模型 事实上 XMPP 有一个扩展名为 无服务器消息传递 htt
  • 使用 stat_summary 的标准误差线

    以下代码使用 Hmisc ddply 和 ggplot 生成带有标准误差条的条形图 means se lt ddply mtcars cyl function df smean sdl df qsec mult sqrt length df