如何通过某些变量折叠数据框,并取其他变量的平均值
我需要通过一些变量来总结数据框,而忽略其他变量。这有时被称为崩溃。例如,如果我有一个像这样的数据框:
Widget Type Energy
egg 1 20
egg 2 30
jap 3 50
jap 1 60
然后通过 Widget 折叠,并使用 Energy 作为因变量 Energy~Widget,将产生
Widget Energy
egg 25
jap 55
在 Excel 中最接近的功能可能是“数据透视表”,我已经弄清楚如何在 python 中执行此操作( http://alexholcombe。 wordpress.com/2009/01/26/summarizing-data-by-combinations-of-variables-with-python/),这是一个 R 使用 doBy 库做一些非常相关的事情的示例( http://www.mail-archive.com/[email protected]/msg02643.html),但是有没有一种简单的方法可以实现上述操作呢?更好的是,ggplot2 库中是否内置了任何东西来创建跨某些变量崩溃的绘图?
I need to summarize a data frame by some variables, ignoring the others. This is sometimes referred to as collapsing. E.g. if I have a dataframe like this:
Widget Type Energy
egg 1 20
egg 2 30
jap 3 50
jap 1 60
Then collapsing by Widget, with Energy the dependent variable, Energy~Widget, would yield
Widget Energy
egg 25
jap 55
In Excel the closest functionality might be "Pivot tables" and I've worked out how to do it in python ( http://alexholcombe.wordpress.com/2009/01/26/summarizing-data-by-combinations-of-variables-with-python/), and here's an example with R using doBy library to do something very related ( http://www.mail-archive.com/[email protected]/msg02643.html), but is there an easy way to do the above? And even better is there anything built into the ggplot2 library to create plots that collapse across some variables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于熟悉 SQL 的人来说,操作数据帧的另一种方法可以是 sqldf 包中的 sqldf 命令。
For those familiar with SQL, another way to manipulate dataframes can be the sqldf command in the sqldf package.
@Jyotirmoy 提到这可以使用
plyr
库来完成。 样子:这就是它的
@Jyotirmoy mentioned that this can be done with the
plyr
library. Here is what that would look like:which gives
使用
aggregate
来总结一个因素:要获得更大的灵活性,请查看
tapply
函数和plyr
包。在 ggplot2 中使用 stat_summary 进行总结
Use
aggregate
to summarize across a factor:For more flexibility look at the
tapply
function and theplyr
package.In
ggplot2
usestat_summary
to summarize