【发布时间】:2021-03-05 16:22:26
【问题描述】:
比如说,我有一个包含 3 列的数据框
ID Type Amount
1 4 100
1 4 50
1 1 20
2 4 30
2 1 10
我想在数据框中根据 ID 和 Type 组进行一些计算。例如,我想为数据框的所有 ID 计算 类型 4 的金额总和 - 类型 1 的金额总和,并将其附加到末尾,所以最终的结果会是这样的
ID Type Amount Calculation
1 4 100 (100 + 50) - 20
1 4 50 (100 + 50) - 20
1 1 20 (100 + 50) - 20
2 4 30 30 - 10
2 1 10 30 - 10
有没有简单的方法来实现这个?很简单,因为我想做一些更复杂的计算,但想先搞清楚基础知识。
我试着用dplyr解决这个问题
类似
df %>%
group_by(ID) %>%
sum( Calculation = Amount[Type == 4] - Amount[Type == 1])
这为我的数据框中的所有列提供了相同的值,所以它似乎不起作用..有什么想法吗?
【问题讨论】:
标签: r dataframe dplyr tidyverse data-manipulation