r - 创建一个新的数据框,显示每列的总和
问题描述
我有一个看起来像这样的数据框
Date Food Utility Travel
01 1.2 12.00 0
02 10.52 0 12.50
03 9.24 0 2.7
04 3.25 0 2.7
我想创建一个新的数据框,在第一列中显示支出类型(例如食物、公用事业),然后在另一列中显示总和。我不需要新框架中的日期列,但不想从原始框架中省略它。
我希望有以下输出。
Category Total
Utility 12.00
Food 24.21
Transport 17.9
我尝试为每个类别创建一个新值,然后尝试将它们放在一个数据框中,但它具有转置版本,如果我有很多类别,似乎有点冗长。
解决方案
你可以这样做:
library(tidyverse)
test_data <- read_table2("Date Food Utility Travel
01 1.2 12.00 0
02 10.52 0 12.50
03 9.24 0 2.7
04 3.25 0 2.7")
test_data%>%
select(Food:Travel) %>%
pivot_longer(cols = everything(), names_to = "Category", values_to = "val") %>%
group_by(Category) %>%
summarise(Total = sum(val))
#> # A tibble: 3 x 2
#> Category Total
#> <chr> <dbl>
#> 1 Food 24.2
#> 2 Travel 17.9
#> 3 Utility 12
首先选择你想要的行,然后长,然后按总和总结类别。
推荐阅读
- python - 如何从内存中运行python中的shell脚本?
- javascript - 更改全日历视图不保留事件
- ios - 在 MapKit 中更改 Pin 的颜色 - Swift 4 - Xcode 10 - iOS 12
- ios - 并非所有 Firebase 数据消息都由处于挂起状态的 iOS 应用程序接收
- java - 如何将字符串数组列表转换为布尔数组列表?
- asp.net-boilerplate - 动态过滤器 ASP.NET 样板
- performance - lerna 构建非常缓慢,总是(+30 分钟)
- angularjs - 当窗口变小时隐藏 ui-grid 列
- reactjs - reactjs中的搜索过滤器,说我有一个包含多列和多行的数据数组
- python - Azure 存储 Python SDK:将文件上传到 Azure Blob 存储而不将其写入我的磁盘