gpt4 book ai didi

R:根据另一列从行中减去值

转载 作者:行者123 更新时间:2023-12-01 22:57:01 25 4
gpt4 key购买 nike

我有一个数据集如下:

Group    Type   Income
A X 1000
A Y 500
B Y 2000
B X 1500
C X 700
D Y 600

我需要如下输出:

Group    Diff
A 500
B -500
C 700
D -600

我能想到的一种方法是将数据与类型 X 和 Y 分开,然后将 X 或 Y 不存在的组的收入添加为 0,然后合并数据,例如每个组都有一个名为 IncomeX 的列另一个名为 IncomeY,然后减去两列。

有更简单的方法吗?

最佳答案

我会这样做:(使用dplyrreshape2包)

library("dplyr")
library("reshape2")

t <- read.table(text = "Group Type Income
A X 1000
A Y 500
B Y 2000
B X 1500
C X 700
D Y 600", header = TRUE)

t %>%
dcast(Group ~ Type, value.var = "Income", fill = 0) %>%
mutate(Diff = X - Y) %>%
select(Group, Diff)

# Group Diff
# 1 A 500
# 2 B -500
# 3 C 700
# 4 D -600

dcast 更改表的格式,mutate 创建新列。

关于R:根据另一列从行中减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40218632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com