r - R sumif 基于多个条件
问题描述
我正在尝试根据其他列值的总和或平均值而不是按计数创建汇总表。
Amount Age ActualResult Prediction
100 20 Pass Pass
200 24 Pass Pass
300 30 Pass Fail
400 34 Pass Fail
500 40 Fail Pass
600 44 Fail Pass
700 50 Fail Fail
800 54 Fail Fail
我可以使用以下代码按计数获取表格:
table(data$ActualResult,data$Prediction)
Predict Pass Predict Fail
Actual Pass 2 2
Actual Fail 2 2
但我不知道如何按金额总和或平均年龄获得表格:按金额:
Predict Pass Predict Fail
Actual Pass 300 700
Actual Fail 1100 1500
按平均年龄:
Predict Pass Predict Fail
Actual Pass 22 32
Actual Fail 42 52
我将使用什么代码按金额和平均年龄创建表格?
解决方案
这是一种tidyverse
方法,将您的数据用作df
:
library(tidyverse)
# sum of Amount
sum_amount <-
df %>%
group_by(ActualResult, Prediction) %>%
summarize(sum = sum(Amount)) %>%
pivot_wider(names_from = "Prediction",
values_from = "sum",
names_prefix = "Predict")
# average Age
avg_age <-
df %>%
group_by(ActualResult, Prediction) %>%
summarize(avg = mean(Age)) %>%
pivot_wider(names_from = "Prediction",
values_from = "avg",
names_prefix = "Predict")
推荐阅读
- excel - 从一个单元格中减去一个值的函数也从另一个单元格中减去该值
- javascript - 第一个相关数据验证下拉菜单工作正常,随后返回“未定义”
- java - 使用 Java Spring JPA 和 crud 更新数据库记录
- java - 当指定的应用程序在前台时运行代码
- php - 在 Woocommerce 单一产品页面中移动库存可用性位置
- android - 如何阻止 Flowable 发射更多项目
- swift - WatchOS 上的 SwiftUI 应用程序中是否可以进行基于页面的导航?
- c# - WPF generic.xaml 找不到文件
- php - 当某些输入可能丢失时,将真值表转换为 PHP 代码
- c - -pthreads 库的不同行为