r - 数据表 R - 聚合
问题描述
我想在 R 中聚合数据,但是以一种非常通用的方式,将右侧(列)作为字符串存储在对象中。下面是示例表达式
aggregate(PATTERN_ID ~ Year + Week), data, length)
因此,在我的情况下,右侧“年+周”将根据需要进行更改,我想将其作为存储在变量中的字符串传递。我尝试使用评估策略,但没有给出所需的输出。以下是我尝试过的:
exp_aggregate_by = 'Year + Week'
aggregate(PATTERN_ID ~ eval.quoted(parse(text = exp_aggregate_by)), data, length)
人民的任何意见将不胜感激。通过数据表也可以。谢谢
解决方案
创建一个公式,paste
它应该可以工作
data(mtcars)
grp <- 'cyl + gear'
aggregate(formula(paste('mpg ~', grp)), mtcars, length)
对于 OP 的数据集,
aggregate(formula(paste('PATTERN_ID ~', exp_aggregate_by)), data, length)
推荐阅读
- powershell - 在 Powershell 中使用 Import-PfxCertificate 命令安装证书 pfx 文件时找不到私钥
- python - 如何从 Python 字典中检测“丢失”的键?
- node.js - 将猫鼬查询数据保存在数组中
- vue.js - 如何为 Vue Toastify 添加持续时间
- bash - shell(bash)json整数显示为字符串而不是整数
- java - 简化值的静态映射
- ruby-on-rails - 使用 devise 设置 X 天后过期的演示用户
- php - 如何让这个 WordPress 插件更优雅、更快?
- sql - 如何停止节点中的 sql 查询流
- qt - qt串口静态搭建,qt app部署到所有linux系统