r - R将group_by表转换为新数据框
问题描述
我按这样的数据分组
by_cyl <- mtcars %>% group_by(cyl, gear) %>% summarise(HP = sum(hp))
我想把这张表从
圆柱体 | 齿轮 | 生命值 |
---|---|---|
4 | 3 | |
4 | 4 | 608 |
4 | 5 | 204 |
6 | 3 | 215 |
6 | 4 | 466 |
6 | 5 | 175 |
8 | 3 | 2330 |
8 | 5 | 599 |
以 cyl 作为列,将 gear 作为行
4 | 6 | 8 | |
---|---|---|---|
3 | 97 | 215 | 2330 |
4 | 608 | 466 | - |
5 | 204 | 175 | 599 |
解决方案
这是一个简单的旋转任务,您可以使用tidyr
'spivot_wider()
函数来完成
library(dplyr)
library(tidyr)
mtcars %>%
group_by(cyl, gear) %>%
summarise(HP = sum(hp)) %>%
pivot_wider(gear, names_from = "cyl", values_from = "HP")
# A tibble: 3 x 4
gear `4` `6` `8`
<dbl> <dbl> <dbl> <dbl>
1 3 97 215 2330
2 4 608 466 NA
3 5 204 175 599
推荐阅读
- scala - SBT:如何在 IntegrationTest 中获取所有定义?
- excel - 是否可以在 Excel 数据输入电子表格(VBA?)中不允许特定的空值?
- chart.js - ChartJS:xAxis 标签的完整日期?
- python - 如何在 python 中找到 bokeh.core.property.containers.PropertyValueColumnData 对象的第 n 个元素?
- python-3.x - 我想在特定的父元素(如“列支敦士登”)中查找朋友子元素是否存在
- azure - Azure DevOps REST API:如何获取发布阶段的测试结果?
- javascript - 在 Angular 5 的 post API 中上传表单数据,但它给出了这样的主体 [object FormData]
- php - open_basedir 似乎没有设置基本路径
- python - 无法在 python 脚本中执行 sudo 命令
- python - 如何使用 Python Pandas 创建具有相同数据库的多个数据框