如何将聚合与列名列表一起使用

2023-12-30

你如何抽象aggregate在函数中通过传递条件和值列表来总结?

# This works fine:
x <- data.frame(cond1 = sample(letters[1:3], 500, replace=TRUE), 
                cond2 = sample(LETTERS[1:7], 500, replace = TRUE), 
                cond3 = sample(LETTERS[1:4], 500, replace = TRUE), 
                value1 = rnorm(500), 
                value2 = rnorm(500))

aggregate(cbind(value1,value2) ~ cond1 + cond2, data = x, FUN=sum)

需要创建列名称列表:(显示 3 个选项)然后调用该函数:

c1 <- c("cond1","cond2","cond3"); v1 <- c("value1","value2")
c1 <- c("cond2","cond3");         v1 <- c("value2")
c1 <- c("cond3");                 v1 <- c("value1")

aggregate(cbind(v1) ~ c1, data = x, FUN=sum)

我已经审查了许多替代方案,但尚未发现这种抽象的关键。


您可以使用替代接口aggregate,它不使用公式:

c1 <- c("cond1","cond2","cond3")
v1 <- c("value1","value2")
aggregate(x[v1],by=x[c1],FUN=sum)

   cond1 cond2 cond3     value1      value2
1      a     A     A -3.3025839 -0.98304649
2      b     A     A  0.6326985 -3.08677485
3      c     A     A  3.6007853  2.23962265
4      a     B     A -0.5247620 -0.94644740
5      b     B     A  0.9242562  2.48268452
6      c     B     A  6.9215712  0.31512645
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将聚合与列名列表一起使用 的相关文章

随机推荐

  • 使用 RSpec 通过 gets 测试用户输入

    我是使用 RSpec 和 Ruby 进行单元测试的新手 我有一个关于如何测试我的代码是否使用gets方法 但不提示用户输入 这是我要测试的代码 这里没什么疯狂的 只是一个简单的衬里 我的文件 rb My name gets 这是我的规格 r
  • C++ chrono::duration_cast 始终输出“0 秒”

    这是我在这里提出的第一个问题 我也是 C 的新手 但我会尽力尽可能具体 请告诉我我是否含糊不清 我试图测量排序方法 合并排序 使用 chrono 和uration cast 对给定整数数组进行排序所需的时间 这是有问题的代码片段 auto
  • Javafx 弹出窗口在失去焦点时不会隐藏在其他应用程序后面

    所以我的问题 正如标题中所述 某种程度上 是关于 Javafx 即 2 2 弹出窗口某些方面的行为 大多数时候 你会得到一个弹出窗口 你给它一个窗口作为它的父窗口 你给它一些场景 它往往会相对独立地运行 这一切都很好 但是 就我而言 我需要
  • 如何在 Google App Engine 上对静态网页进行正则表达式?

    我有一个静态网站 我希望上传到 Google Apps 我在正则表达式方面遇到问题 需要一些帮助 要么解释我做错了什么 要么向我指出可能有帮助的资源 以下是我到目前为止所做的事情 网站结构 my static site not my rea
  • 多个dex文件定义了Landroid/support/design/widget/CoordinatorLayout$1;

    每当我想运行我的项目时 我都会收到以下错误 错误 任务执行失败 app transformClassesWithDexForDebug com android build api transform TransformException c
  • 错误:文件名 try.xlsx 在 excel_reader2.php 中不可读

    我想在 php 中读取上传的 Excel 文件 所以我下载了excel reader2 php 来自以下链接 link https code google com p php excel reader downloads list 当我将其
  • Context.startServiceAsUser() 在哪里?

    亲爱的所有 Android 专家 目前 我获取了一个开源 Android 项目 wso2 代理 该项目需要在 Context 类中使用 API startServiceAsUser 然而 android studio无法识别这个API 我该
  • 我可以在不使用 eval 的情况下编写这个宏吗?

    我正在尝试编写一个宏来捕获 Clojure 中的编译时错误 具体来说 我想捕获调用尚未针对该数据类型实现的协议方法时抛出的异常 并且clojure lang Compiler CompilerException被抛出 到目前为止我有 def
  • nf_conntrack_helper_register返回错误

    在内核中 如果我想重新启动我的 conntrack 寄存器 nf conntrack helper unregister sip i j redefinition of the sip i j parameters nf conntrack
  • 递归函数接受方案中的列表

    我是计划新手 这是我的第一个函数式语言 递归地实现几乎所有事情对我来说似乎都很尴尬 尽管如此 能够实现具有单个整数输入的阶乘和斐波那契问题的函数 但是 当您的函数有列表输入时该怎么办 假设这个练习 功能 ret10 提取并以列表形式返回所有
  • 如何从 MacOS 的照片库获取所有 PHAsset

    我想使用以下命令解析 MacOS 照片库中的所有图像PHAsset https developer apple com documentation photos phasset language objc 然而 我发现的所有示例仅适用于 i
  • 如何使用 jquery $.get() 发送参数

    我正在尝试执行 jquery GET 并且我想发送一个参数 这是我的功能 function var availableProductNames get manageproducts do option 1 function data ava
  • 如何在 Java 中生成相当于 Python 示例的 HMAC?

    我正在考虑实现一个应用程序Twitter 通过 Oauth 授权 http apiwiki twitter com Authentication在爪哇 第一步是获取请求令牌 http apiwiki twitter com Twitter
  • 比较 EL 中的字符串[重复]

    这个问题在这里已经有答案了 我向 JSP 提供一个 User 对象 并希望将用户的属性与给定的字符串进行比较 我现在正在做的事情如下
  • Ruby,混合实例变量和方法

    我有两个文件 一个带有模块ToMix module ToMix module var modulevar def self mix function puts mix function SELF module var end def mix
  • 尝试解密时出现错误密钥 CryptographicException

    我使用命令创建以下文件 makecert n CN TEST CER sv Test pvk r sky echange pe test cer pvk2pfx pvk Eltapk pvk spc test cer pfx test pf
  • 对浮点数进行四舍五入 bash

    好的 所以我正在尝试对输入进行四舍五入17 92857 这样它就可以得到输入17 929在bash中 到目前为止我的代码是 read input echo scale 3 input bc l 但是 当我使用它时 它不会四舍五入 而是返回1
  • SELECT 字段列表中的 CONCAT() 函数

    我正在使用 CodeIgniter 的活动记录功能 但无法选择我感兴趣的数据 我想要被选中的是 CONCAT t field1 t field2 AS finalValue 所以我添加这个 this gt db gt select CONC
  • 使用 Gson 序列化的 RealmObjects 的组合继承

    出于各种原因 我正在考虑将 Realm 作为数据库解决方案 但目前最大的问题是 Nougat 中抛出的 TransactionTooLargeException 已经做到了这一点 所以我必须基于 ActiveAndroid 重新设计我当前的
  • 如何将聚合与列名列表一起使用

    你如何抽象aggregate在函数中通过传递条件和值列表来总结 This works fine x lt data frame cond1 sample letters 1 3 500 replace TRUE cond2 sample L