(R, dplyr) 选择以相同字符串开头的多列并按组汇总平均值 (90% CI)

2024-04-05

我是 tidyverse 的新手,从概念上讲,我想计算以“ab”开头、按“case”分组的所有列的平均值和 90% CI。尝试了很多方法,但似乎都不起作用,我的实际数据有很多列,所以明确列出它们不是一个选择。

测试数据如下

library(tidyverse)

dat <- tibble(case= c("case1", "case1", "case2", "case2", "case3"), 
              abc = c(1, 2, 3, 1, 2), 
              abe = c(1, 3, 2, 3, 4), 
              bca = c(1, 6, 3, 8, 9))

下面的代码是我在概念上想做的事情,但显然不起作用

dat %>% group_by(`case`) %>% 
  summarise(mean=mean(select(starts_with("ab"))), 
            qt=quantile(select(starts_with("ab"), prob=c(0.05, 0.95))))

我想要得到的是类似下面的东西

case abc_mean abe_mean abc_lb abc_ub abe_lb abe_ub

  <chr>    <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
1 case1      1.5      2.0   1.05   1.95   1.10   2.90
2 case2      2.0      2.5   1.10   2.90   2.05   2.95
3 case3      2.0      4.0   2.00   2.00   4.00   4.00

另一种选择是summarise_at. vars(starts_with("ab"))用于选择列,funs(...)就是运用总结功能。

library(tidyverse)

dat2 <- dat %>% 
  group_by(case) %>% 
  summarise_at(vars(starts_with("ab")), funs(mean = mean(.),
                                             lb = quantile(., prob = 0.05),
                                             ub = quantile(., prob = 0.95))) 
dat2
# # A tibble: 3 x 7
#    case abc_mean abe_mean abc_lb abe_lb abc_ub abe_ub
#   <chr>    <dbl>    <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
# 1 case1      1.5      2.0   1.05   1.10   1.95   2.90
# 2 case2      2.0      2.5   1.10   2.05   2.90   2.95
# 3 case3      2.0      4.0   2.00   4.00   2.00   4.00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(R, dplyr) 选择以相同字符串开头的多列并按组汇总平均值 (90% CI) 的相关文章

随机推荐

  • 在多个线程中重用 Tensorflow 会话会导致崩溃

    背景 我有一些复杂的强化学习算法 我想在多个线程中运行 Problem 当尝试打电话时sess run在一个线程中我收到以下错误消息 RuntimeError The Session graph is empty Add operation
  • 为什么渲染属性会多次调用 getter?

    与前面的示例相关 我尝试监视服务器上的 get set 方法 调用它们的时间以及调用频率 所以 我的实际情况是这样的 ManagedBean name selector RequestScoped public class Selector
  • 为什么 HSQLDialect 初始化在 Spring Boot 项目中需要这么长时间?

    我编写了一个 Spring Boot REST api 它连接到具有大量表的旧版 MySQL 数据库 10759 当我启动 Spring Boot 项目时 日志停在一行 表明 HSQLDialect 正在初始化 日志需要几分钟才能恢复工作
  • Terraform:将整个资源组移动到新的 Azure 订阅

    历史上增长的项目及其在 Azure 上的相关基础设施必须进行拆分 幸运的是 它的结构良好 因此很明显我们需要将两个资源组及其附属资源移动到新的 Azure 订阅 我查过了 大部分资源可以移动 https learn microsoft co
  • 在打字稿中导入模块时,绝对路径的根是什么?

    我正在使用打字稿 在 Visual Studio 2015 中 开发一个应用程序 并具有以下基本文件结构 Solution AppProject Scripts framework Utils ts app SomeApp ts tscon
  • 通过socks的Python ssh客户端(代理)

    所以 我需要通过代理socks连接到SSH服务器 我阅读了 paramiko 和twisted conch 文档 但没有在那里找到代理袜子支持 这个套接字包装器允许您使用静态 ssh 隧道 我找到了解决我的问题的通用方法 使用帕里科SSHC
  • OCaml 在运行时编译和加载

    我正在尝试实现类似的目标eval 在 OCaml 中 我有一个string我想从中得到一个 OCaml 函数 目前我正在做以下事情 我将字符串转储到new ml并编译文件 Compile implementation Format std
  • JavaScript AJAX 远程记录器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在平台上开发 JavaScript 应用程序 该平台不支持日志输出 不允许为记录器输出打开新窗口
  • Swift 使用 UnsafePointer 从 UnsafeMutablePointer 获取值

    我正在努力通过contextInfo of typeUnsafeMutablePointer
  • 如何将异常保存在txt文件中?

    public DataTable InsertItemDetails FeedRetailPL objFeedRetPL DataTable GetListID new DataTable try SqlParameter arParams
  • 如何知道 Mongoose 的 upsert 是否创建了新文档?

    我在 node js express js 中有这段代码 var User mongoose model User var usersRouter express Router usersRouter put id function req
  • 升级AGP版本失败

    我无法更新我的项目 当我尝试这样做时 我收到了这条消息 升级助手无法升级此项目 找不到执行将 AGP 版本从 4 1 3 升级到 4 2 0 命令的方法 可能是因为该项目的构建文件使用了升级助手当前不支持的功能 例如 使用定义的常量 在 b
  • 如何在 Treeview 控件中使子节点可见 = false

    我有一个带有树视图控件的窗口窗体 该树视图有一个根节点和 2 个子节点 我的要求是我需要隐藏第一个子节点 是否有可能使特定孩子点头可见为假 是的 您可以从树节点继承并创建您自己的行为 就像这样 public class RootNode T
  • 使用 Angular 6 和 Spring Rest API 下载文件

    我在使用 Angular 6 从 Rest api 下载文件时遇到问题 后端方法 RequestMapping value print id public ResponseEntity
  • 使用python发送消息时出现错误400

    我正在尝试使用 Gmail API 发送电子邮件 我已成功通过身份验证 并且我的计算机上有一个 client secret json 文件 我已经能够使用 Gmail API 网站上的快速入门示例获取标签列表 我已成功将范围重置为 SCOP
  • 如何从蓝牙 LE 设备获取数据

    我有一台支持蓝牙 LE 的蓝牙条形码扫描仪 我试图在扫描时从中获取条形码信息 我可以正常连接onServicesDiscovered被叫到我的BluetoothGattCallback但我不知道从那里该做什么 通过经典的蓝牙连接 您将获得I
  • 使用 Redux 获取数据时如何避免竞争条件?

    我们有一个异步获取对象的操作 我们称之为getPostDetails 它需要一个参数来获取哪个帖子 一个 ID 用户会看到一个帖子列表 可以单击其中一个来获取一些详细信息 如果用户点击 Post 1 我们会发送一个GET POST动作可能看
  • 尝试连接到cleardb时出错

    再次嗨 我想连接到heroku中的cleardb实例 我从heroku配置变量中获取主机名和凭据CLEAR DATABASE URL但我收到以下错误 错误 2003 HY000 无法连接到 us cdbr east 06 cleardb n
  • 为什么我应该开始使用 Google Material Design Lite 而不是 Twitter Bootstrap 或 Foundation

    免责声明 我不想开始任何对抗谷歌粉丝 我只是问 因为我没有找到我的问题的直接答案 也许已经开始使用它的人 或任何谷歌开发人员 可以提供建议 谷歌最近宣布材料设计精简版 1 0 https developers google com web
  • (R, dplyr) 选择以相同字符串开头的多列并按组汇总平均值 (90% CI)

    我是 tidyverse 的新手 从概念上讲 我想计算以 ab 开头 按 case 分组的所有列的平均值和 90 CI 尝试了很多方法 但似乎都不起作用 我的实际数据有很多列 所以明确列出它们不是一个选择 测试数据如下 library ti