R 中方差分析箱线图的事后标签

2023-11-25

如果我有一些数据并进行方差分析和事后测试,如何制作自动添加事后分类的箱线图,而不必在 R 之外编辑图形?

例如,以下是一些入门数据:

install.packages("reshape", dependencies=T)
library(reshape)

x <- rnorm(30)
y <- rnorm(30)+1
z <- rnorm(30)+0.5

data.1 <- data.frame(x, y, z)
data.2 <- melt(data.1)

以下是运行简单单向方差分析和所有计划外比较事后测试的代码:

linear.model <- lm(value~variable, data=data.2)
anova(linear.model)

# Analysis of Variance Table
# Response: value
#           Df Sum Sq Mean Sq F value   Pr(>F)   
# variable   2 10.942  5.4710  5.8628 0.004087 **
# Residuals 87 81.185  0.9332     

TukeyHSD(aov(linear.model))

# Tukey multiple comparisons of means
# 95% family-wise confidence level
# Fit: aov(formula = linear.model)
# $variable
          # diff        lwr        upr     p adj
# y-x  0.8344105  0.2396705 1.42915051 0.0034468
# z-x  0.2593612 -0.3353788 0.85410126 0.5539050
# z-y -0.5750493 -1.1697893 0.01969078 0.0602975

此时,我想将 x 分类到“a”组中,将 y 分类到“b”组中,将 z 分类到“a,b”组中。我可以制作箱线图,但是如何用字母对其进行注释?

boxplot(value~variable, data=data.2)

如果您不介意使用 ggplot2 包,我将按以下方式制作该图:

首先,使用文本标签向数据框 (data.2) 添加一列:

data.2$posthoc[data.2$variable == "x"] <- "a"
data.2$posthoc[data.2$variable == "y"] <- "b"
data.2$posthoc[data.2$variable == "z"] <- "a,b"

安装并加载 ggplot2 包:

install.packages("ggplot2", dependencies=T)
library(ggplot2)

为了理解该图的代码,我将分步骤构建它。首先绘制三组中每组的均值:

qplot(data=data.2,
    x = variable,
    y = value,
    stat = "summary",
    fun.y = "mean",
    geom = c("point")
    )

接下来,添加文本标签:

qplot(data=data.2,
    x = variable,
    y = value,
    stat = "summary",
    fun.y = "mean",
    label = posthoc,
    vjust = -12,
    geom = c("point", "text")
    )

最后,添加箱线图几何图形并稍微清理一下:

qplot(data=data.2,
    x = variable,
    y = value,
    stat = "summary",
    fun.y = "mean",
    label = posthoc,
    vjust = -12,
    ylim = c(-1, 3.5),
    geom = c("point", "text"),
    main="ggplot2 ANOVA boxplot"
    ) + 
    geom_boxplot(aes(fill=posthoc)) + 
    theme_bw()

R anova boxplot with labels

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 中方差分析箱线图的事后标签 的相关文章

  • 分组和计数以获得接近值

    我想计算每country的次数status is open以及次数status is closed 然后计算closerate per country Data customer lt c 1 2 3 4 5 6 7 8 9 country
  • 在 Shiny 应用程序中过滤数据时,长度为 1 的字符向量除了第一个元素之外的所有元素都将被忽略错误

    我有以下闪亮的应用程序 library shiny library rhandsontable library shinydashboard library ggplot2 library dplyr setwd C Users Marc
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 从 R 到 C 处理列表并访问它

    我想使用从 R 获得的 C 列表 我意识到这个问题与此非常相似 使用 call 在 R 和 C 之间传递数据帧 https stackoverflow com questions 6658168 passing a data frame f
  • 将 read.csv 与符号链接文件一起使用

    我正在尝试做什么 我的源文件非常大 我想避免将其复制到其他文件夹中 我决定创建一个指向大文件的符号链接并想使用read csv读取文件 文件夹结构 项目1 数据 源文件 csv 项目2 数据 别名到源文件 csv 什么地方出了错 读取源文件
  • 使用starts_with() 将 NA 替换为 0

    我正在尝试替换我的一组特定列的 NA 值tibble 这些列都以相同的前缀开头 所以我想知道是否有一种简洁的方法来使用starts with 函数从dplyr包可以让我做到这一点 我已经看到了有关 SO 的其他几个问题 但是它们都需要使用特
  • R:根据元素长度从向量中删除元素

    如何根据字符串的字符数或长度从字符串向量中删除元素 df lt c asdf fweafewwf af aewfawefwef awefWEfawefawef gt df 1 asdf fweafewwf af aewfawefwef aw
  • 访问 R 工作区中的数据[重复]

    这个问题在这里已经有答案了 我是自学 R 的 可能有一些非常基本的东西我可能不熟悉 如果是这样我道歉 我正在尝试访问外部来源提供给我的数据 它作为一个工作空间出现 我的流程如下 gt ls 1 2003OHT HR gt attach 20
  • 如何使用 sprintf 函数在字符中添加前导“0”而不是空格?

    我正在尝试使用sprintf函数为字符添加前导 0 并使所有字符长度相同 然而我得到的是领先空间 My code a lt c 12 123 1234 sprintf 04s a 1 12 123 1234 我试图得到什么 1 0012 0
  • 将不同的 grViz 组合成一个图

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 在seaborn中对箱线图x轴进行排序

    我的数据框round data看起来像这样 error username task path 0 0 02 n49vq14uhvy93i5uw33tf7s1ei07vngozrzlsr6q6cnh8w 39 png 1 0 10 n49vq
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • R闪亮:使用闪亮的JS从数据表中获取信息

    我想读出所有列名称以及它们在数据表中显示的顺序 由于不同的原因 我无法使用 stateSave 等选项 我对 JS 没有什么把握 但我确信用它可以完成 所以我需要你帮助我 我尝试过类似的代码片段 datatable data callbac
  • 在 Seaborn 中为 python 创建箱线图 FacetGrid

    我正在尝试在seaborn中为4个箱线图创建一个4x4 FacetGrid 每个箱线图根据虹膜数据集中的虹膜种类分为3个箱线图 目前 我的代码如下所示 sns set style whitegrid iris vis sns load da
  • 在 R 中导入 csv 文件时如何保留前导零?

    当我写一个 csv来自 R 的文件 其中我的组名称以前导零值开头 前导零被保留 但是当我导入 csv前导零被删除 组名称被转换为整数 当我导入一个组时 如何保留组名称中的前导零 csvR 中的文件 Example df lt data fr
  • 在 R 中使用逻辑 grep 抓取文本

    下午好 谢谢你帮我解答这个问题 我有兴趣抓取一组超过 5000 个 URL 的列表 我使用 lapply 和 readLines 使用下面的示例代码提取这些网页的文本 multipleURL lt c http dailymed nlm n
  • 通过 r markdown 中的循环创建代码片段

    如同如何使用R中的knitr创建一个包含代码块和文本的循环 https stackoverflow com questions 36373630 how to create a loop that includes both a code
  • 通过 Shiny 中的串扰将 Plotly 与 DT 结合使用

    我正在编写一个应用程序来将 csv 文件读取为闪亮的并将散点图与 DT 表链接起来 我几乎遵循了 Plotly 网站上 DT 数据表上的示例 https plot ly r datatable https plot ly r datatab
  • 按组计算连续行中的值之间的差异

    这是我的一个df 数据框 group value 1 10 1 20 1 25 2 5 2 10 2 15 我需要按组计算连续行中的值之间的差异 所以 我需要一个结果 group value diff 1 10 NA because the
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p

随机推荐

  • 在java中将两个excel文件合并为一个工作簿中的两个工作表

    我在文件夹 C DemoFilesExcel demo1 xlsx 和 C DemoFilesExcel demo2 xlsx 中有两个 xlsx 文件 我想创建一个新的 xlsx C DemoFilesExcel merged xlsx
  • python中psutil单个进程的内存使用情况(以字节为单位)

    如何使用psutil库获取Windows平台上单个进程已使用的内存量 我不想知道百分比 我想知道以字节为单位的数量 我们可以用 psutil virtual memory used 要找到整个操作系统的内存使用情况 以字节为单位 但是每个进
  • AngularJS 中范围的继承

    在父控制器范围中 我定义了selectedItem其设置为 x 然后在子范围中 我定义了selectedItem使用 ngModel div div div div div div
  • Curl 请求将图像从本地计算机上传到 ruby​​ on Rails 应用程序

    我有一个用 ruby on Rails 构建的应用程序 我需要向该应用程序发布curl 请求以从本地计算机上传图像 在我的 ruby on Rails 应用程序中 我使用回形针作为图像上传器 现在这个curl请求工作得很好 因为这个curl
  • 如何使用 Python 列表使用 SWIG 在 C++ 中分配 std::vector?

    我有一个简单的 C 类 其中包含一个 std vector 成员和一个将 std vector 作为参数的成员函数 我用 SWIG 包装并从 Python 调用 示例代码如下 编译完成后 我进入Python并执行以下操作 import te
  • 将带有数组的对象转换为带有对象的数组的最佳方法,反之亦然

    将数组对象转换为对象数组的最佳方法是什么 反之亦然 category a b c title e f g code z x v To category a title e code z category b title f code x c
  • 如何仅为特定类配置log4j2.xml日志级别?

    In log4j可以通过以下方式定义日志级别package如下
  • 有没有办法在 Hive 中转置数据

    这是我的桌子 pid high medium low 1 10 8 6 2 20 16 12 3 10 6 4 我想将此数据存储在 Hive 中的另一个表中 格式如下 pid priority value 1 high 10 1 mediu
  • Django 中 null=True 和 Blank=True 有什么区别?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 当我们在Django中添加模型字段时 我们通常会这样写 models CharField max length 100 nul
  • 使用 Google Analytics 将数据显示在我们的网页上?

    在我们的某些页面上 我们会显示一些统计信息 例如今天查看该页面的次数 过去一周查看该页面的次数等 此外 我们还有一个总体统计页面 我们按顺序列出页面 浏览次数最多的 今天 我们只是将这些页面浏览量和事件计数插入到我们的数据库中 我们还通过正
  • 被带有 selenium 和 chromedriver 的网站阻止

    我在尝试使用 chrome 驱动程序和 selenium 访问网站 bet365 com 时遇到一些麻烦 我完全被 阻止 我可以使用普通的 chrome 访问该网站 但是当我尝试使用 chrome 驱动程序时 它不起作用 我之前遇到过这个问
  • 世界时钟网络服务?

    您使用的最可靠的世界时钟网络服务是什么 不幸的是 你可能永远不会得到一个真正准确的原子钟网络服务由于消息 数据包从您的计算机到服务器来回传输的延迟问题 大多数可通过互联网访问的原子钟都使用一种称为网络时间协议其中包括一个抖动缓冲区 专门考虑
  • 如何使用 Dockerfile 在一层中复制多个文件?

    下列Dockerfile包含四个COPY layers COPY README md COPY package json COPY gulpfile js COPY BUILD NUMBER 如何使用一层复制这些文件 尝试了以下方法 COP
  • 所有 com.android.support 库必须使用完全相同的版本[重复]

    这个问题在这里已经有答案了 当我今天将 android studio 从版本 2 2 3 更新到 2 3 时 我突然在依赖项中的第一个编译行的 build gradle 中收到此错误 哪个依赖项首先出现并不重要 但它总是会给我这个错误 所有
  • NODE_PATH 无法识别

    这是我的package json script scripts start NODE PATH NODE PATH shared node dev npm run start webpack dev server progress colo
  • 将图像元数据与 tif 一起保存的最佳方法是什么?

    在我作为研究生的工作中 我捕获显微镜图像并使用 python 将它们保存为原始 tif 我想添加元数据 例如我正在使用的显微镜 的名称 放大倍数和成像激光波长 这些细节对于我如何后期处理图像都很重要 我应该能够用 tif 做到这一点 对吗
  • 如何将输出重定向到文件和标准输出

    在 bash 中 调用foo会在标准输出上显示该命令的任何输出 Calling foo gt output会将该命令的任何输出重定向到指定的文件 在本例中为 输出 有没有办法将输出重定向到文件and它显示在标准输出上吗 您想要的命令名为te
  • 在 .Net 3.5 应用程序中使用 Entity Framework 4.0 [重复]

    这个问题在这里已经有答案了 可能的重复 在 NET 3 5 SP1 上使用 EF 4 是否可以在 NET 3 5 应用程序中使用 Entity Framework v4 0 我的意思是 我可以只引用 EF 4 0 的相关程序集并在我的 NE
  • ssh 登录时的 .bashrc

    当我 ssh 进入运行 Hardy 8 04 的 ubuntu box 时 我的环境变量 bashrc未设置 如果我做一个来源 bashrc 变量设置正确 一切都很好 怎么会 bashrc不是在登录时运行吗 bashrc使用 SSH 登录时
  • R 中方差分析箱线图的事后标签

    如果我有一些数据并进行方差分析和事后测试 如何制作自动添加事后分类的箱线图 而不必在 R 之外编辑图形 例如 以下是一些入门数据 install packages reshape dependencies T library reshape