R 中均值的分组条形图

2023-12-06

我有一个数据集(学习者),其中包含学生测试成绩(学习者$literacy_total)、他们的年级(即1、2、3、...、12年级)和他们的性别(学习者$性别)。我想创建一个条形图,其中 x 轴上有成绩,y 轴上有平均分数,每个成绩有两列(一列用于男性,一列用于女性),这样我可以看到男孩/女孩的表现在每个年级。我可以使用以下代码轻松创建每个年级的总体平均值图:

fig.dist <- split(learner$literacy_total, learner$learner_grade)
fig.mean <- sapply(fig.dist, mean, na.rm = TRUE)
barplot(fig.mean)

但是我如何将这些分组,以便对于每个年级,我可以分别看到男孩/女孩的平均测试成绩。

在其他问题中,我看到过对类别进行分组或用图表表示平均值的代码,但我正在努力解决如何将两者放在一起的问题。


要扩展@detroyejr的答案,请考虑tapply它按各种因子对向量进行切片并应用诸如mean每个子集返回一个命名向量或矩阵。

但是,为了与原始整体平均条形图对齐,请转置tapply结果与t()男/女用rownames1-12年级为colnames。然后使用beside=TRUE对于未堆叠的酒吧。

gender.mean <- t(tapply(learner$literacy_total,
                        list(learner$learner_grade, learner$gender), mean))

barplot(gender.mean, col=c("darkblue","red"), beside=TRUE, legend=rownames(gender.mean))

用随机数据进行演示:

set.seed(888)
learner <- data.frame(
  learner_grade = replicate(50, sample(seq(12), 1, replace=TRUE)),
  gender = replicate(50, sample(c("MALE", "FEMALE"), 1, replace=TRUE)),
  literacy_total = abs(rnorm(50)*100)
)

gender.mean <- t(tapply(learner$literacy_total, 
                        list(learner$learner_grade, learner$gender), mean))

barplot(gender.mean, col=c("darkblue","red"), beside=TRUE, legend=rownames(gender.mean))

Bar Plot Output

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

R 中均值的分组条形图 的相关文章

  • R 脚本自动化时的不同结果

    以下命令对 pdf 文件执行 Ghostscript 这pdf file变量包含该 pdf 的路径 bbox lt system paste C gs gs8 64 bin gswin32c exe sDEVICE bbox dNOPAUS
  • R 中带有文件名的 For 循环

    我有一个文件列表 例如 nE pT sbj01 e2 2 csv nE pT sbj02 e2 2 csv nE pT sbj04 e2 2 csv nE pT sbj05 e2 2 csv nE pT sbj09 e2 2 csv nE
  • LaTex 中与 knit 和 xtable 交叉引用的问题

    我目前正在与 R Studio 合作 使用 LaTex 中的 R knitr 生成 PDF 文档 在这些文档中 我想在文本中引用的表格中展示我的部分结果 我使用 R 中的 xtable 包生成这些表 它运行良好并为我提供了正确的表 到目前为
  • par(mfrow=c(1,2)) 不显示并排密度图[重复]

    这个问题在这里已经有答案了 par mfrow c 1 2 plot 1 12 log y plot 1 2 xaxs i 然而 当我尝试做并排密度图时 图会单独输出 load the stud recs dataset library U
  • 替换列表列表中的元素

    The applyR 中的函数是简化 for 循环以获得输出的好方法 是否有一个等效的函数可以帮助人们在替换向量的值时避免 for 循环 通过示例可以更好地理解这一点 Take this list for example x list li
  • R 根据事件更新值

    我最近发布了这个问题 该问题已经与我在笔记本电脑上本地使用的 Mysql 数据库相关 由于我在 Mysql 中没有找到问题的解决方案 其他人似乎也没有找到解决方案 所以我想再次发布它 但现在与 R 相关 我使用带有 RMysql 包的数据库
  • 基于服务器中的条件逻辑呈现闪亮的用户输入

    我正在尝试设置一个闪亮的导航栏面板页面 其中用户控制我根据一组单选按钮中所做的初始选择来显示更改 我直接在 ui 中渲染单选按钮 然后在 Server r 中的 观察到的 逻辑控制结构内构建条件控件 弹出错误是因为我的初始 if 语句计算结
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • 计算例如具有多列 data.frames 的列表中的平均值

    我有几个 data frames 的列表 每个 data frame 有几列 通过使用mean mylist first dataframe a我可以得到这个 data frame 中 a 的平均值 但是我不知道如何计算列表中存储的所有 d
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • 在 R 中创建一个运行计数变量?

    我有一个足球比赛结果的数据集 我希望通过创建一组类似于世界足球 Elo 公式的运行评级来学习 R 我遇到了麻烦 在 Excel 中看似简单的事情在 R 中并不完全直观 例如 4270 个观察中的前 15 个具有必要的变量 date t 1
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • 将阴影区域添加到五分位数之间的直方图中

    All 我有一个包含 2 个直方图的图表 其中我还绘制了代表第 20 40 60 和 80 个百分位数的线条 下面的代码使用虚拟数据重现了类似的图表 data lt rbind data frame x rnorm 1000 0 1 g o

随机推荐

  • 将 std::cout 重定向到 QTextEdit

    是否可以 更重要的是如何 将输出流重定向到 QTextBox 所以如果我写std cout lt lt test 应用程序中的任何位置它都会被重定向到我定义的文本框吗 我尝试了显而易见的方法 其中 ui textEdit 是指向文本编辑框的
  • 如何限制对 PHP 文件的访问?

    我想限制对我的服务器上的 PHP 文件的访问 该 PHP 文件从 HTTP GET 请求获取数据并将其附加到文件中 简单的 但我不希望执行此 PHP 文件 除非 HTTP 请求是从我开发的智能手机应用程序中生成的 我不想单独验证每个用户的身
  • 如何禁用客户端 GRPC 服务器证书主机名验证?

    目前我正在为 gRPC 客户端设置通道身份验证 如下所示 std shared ptr
  • 在matlab中设置对象数组的对象属性值

    我创建了一个对象数组 我想在向量运算中分配一个属性值 而不使用 for 循环 不幸的是我得到一个错误 问题的简化示例 classdef clsMyClass lt handle properties dblMyProperty1 end m
  • 将四位数年份值转换为 Date 类

    我的数据集中有一个整数列 其中有四位数字的年份值 例如 c 2001 2002 2002 2002 2003 2005 我尝试将四位数年份转换为班级Date using as Date year lt as Date as characte
  • PHP 中是否有 shell_exec 和 proc_open 的替代方案?

    我好像不能用shell exec or proc open在我的共享服务器上 当我尝试使用它时收到的消息是 警告 出于安全原因 第 4 行 home georgee public html admin email php 中的 shell
  • Tkinter 文档与 PEP 8 相矛盾

    PEP 8 states 应避免通配符导入 来自 import 因为它们使命名空间中存在哪些名称变得不清楚 从而使读者和许多自动化工具感到困惑 尽管如此官方文档是矛盾的 要使用 Tkinter 您只需要一个简单的导入语句 import tk
  • 整个应用程序的通用页脚 [Android]

    好吧 我想知道这是否可以做到 我所需要的只是一个常见的页脚 如栏 其中将包含将要显示的广告 我想知道是否有任何方法可以使我的应用程序的这一部分成为通用的 我知道包含标签 但所做的只是在引用它的任何地方添加特定的布局 这样做的作用是 每次我从
  • 来自 x509 中字符缓冲区的 EVP_PKEY (PKCS7)

    我有一个 DER 证书 我正在从中检索 unsigned char 缓冲区中的公钥 如下所示 这是正确的获取方式吗 pStoredPublicKey X509 get pubkey x509 if pStoredPublicKey NULL
  • 32 位浮点数相加。

    关于浮点数 我学到的东西比我想知道的还要多 可以说我需要添加 1 10000000 00000000000000000000000 1 01111000 11111000000000000000000 2的补码形式 第一位是符号 接下来的
  • 以问号开头的 HTML 标签?

    我正在学习谷歌应用程序脚本 并且在this教程中 我看到了一些奇怪的语法 and h1 Messages h1 ul ul
  • HERE Map/MapView 不使用 MapFragment

    有没有办法获得Map or MapView没有放置一个MapFragmet里面一个Layout
  • .NET 垃圾收集在这里无法正常工作?

    我们有一个在 NET 4 0 IIS 7 ASP NET 4 GB 服务器 RAM 上运行的图像转换脚本 用于调整大图像的大小 因此需要大量内存 第一个脚本将内存使用率增加到几乎 100 几乎没有为正在运行的 SQL Server 留下任何
  • 更改 R 中图形的字体

    在我的研究中 我使用 R 生成各种图表 我发现大多数图表都带有各种大小的 Sans Serif 字体 如何将图表中的所有文本 x 标签 y 标签 标题 图例等 更改为统一字体 例如Times New Roman 12pt 粗体 您可以使用外
  • Wildfly 和 Jackson @JsonIgnore 注释

    我对 Wildfly 和 Java EE 的某些部分相当陌生 我有一个使用 RestEasy 在 Wildfly 上运行的休息服务 我的 用户 实体有一个 AccessToken 实体 理想情况下 我希望能够以 JSON 形式发送用户实体
  • 如何获取一组 mysql 总行数的百分比?

    下面我有一个查询 将从用户代理表和 IP 地址链接表中获取站点最常见的用户代理 SELECT count as num string FROM useragent ip left join useragents on useragent i
  • 龙卷风框架(FacebookGraphMixin)

    我想尝试使用 Tornado Framework 将应用程序请求从我的 Facebook 应用程序发送到用户 我正在关注http www tornadoweb org documentation auth html但我不知道如何解决这个错误
  • 在 Node.js 跨平台中下载和解压缩文件的最简单方法?

    只是寻找一个简单的下载和解压解决方案 zip or tar gz任何操作系统上 Node js 中的文件 不确定这是否是内置的 或者我必须使用单独的库 有任何想法吗 只需寻找几行代码 这样当下一个 zip 文件出现时我想在节点中下载 这是理
  • Angular2 Dart - 获取 Angular2 组件内的文本

    我有一个item我在其他组件中使用的组件 项目组件通常如下所示
  • R 中均值的分组条形图

    我有一个数据集 学习者 其中包含学生测试成绩 学习者 literacy total 他们的年级 即1 2 3 12年级 和他们的性别 学习者 性别 我想创建一个条形图 其中 x 轴上有成绩 y 轴上有平均分数 每个成绩有两列 一列用于男性