r - 有没有一种快速的方法可以将数据表转换为数据表列表?
问题描述
我有一个具有此架构的数据表:
date, key_a, key_b, key_c, key_d, value
我想列出一个具有这种结构的列表:
[1]
date, key_a, value
[2]
date, key_b, value
[3]
date, key_c, value
我想将 my 聚合dt
到一个列表中,其中每个条目都dt
在一个单独的键中聚合。
这是我的代码
setDT(dt)
list_of_dts[1] <-
dt[, .(value = sum(value)), .(date, key_a)]
list_of_dts[2] <-
dt[, .(value = sum(value)), .(date, key_b)]
(So on)
有没有更有效的方法来解决这个问题?
解决方案
也许以长格式获取数据,然后对其进行总结:
library(data.table)
setDT(dt)
dt1 <- melt(dt, id.vars = c('date', 'value'))
dt1 <- dt1[, .(value = sum(value)), .(date, variable)]
现在,如果您想要数据框列表,您可以使用split
:
split(dt1, dt1$variable)
推荐阅读
- ms-access - MS Access:带有不等式运算符的左外自连接
- content-security-policy - 为什么一个简单的按钮标签会违反 CSP?
- reactjs - Reactjs+Flow:onChange 抛出错误
- javascript - React:当父组件重新渲染时,子组件是否总是重新渲染?
- c - 用popen在C中读取arecord的输出
- mysql - 设置初始用户并通过 phpmyadmin
- html - 隐藏左侧导航栏后如何使打印样式表的内容全宽
- javascript - 在查看器中定位 html 的最佳方法是什么?
- mysql - 如果将 INT 列更改为 MEDIUMINT,我将节省多少大小?
- java - Wildfly - 未安装的必需服务 - TransactionSynchronizationRegistry