gpt4 book ai didi

r - 从数据帧的每个子集中减去第一个值

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

我想从该子集中的每个值中减去数据帧的每个子集中的最小值,即

A <- c(1,3,5,6,4,5,6,7,10)
B <- rep(1:4, length.out=length(A))
df <- data.frame(A, B)
df <- df[order(B),]

减法会给我:

  A B
1 0 1
2 3 1
3 9 1
4 0 2
5 2 2
6 0 3
7 1 3
8 0 4
9 1 4

最佳答案

我认为您显示的输出不正确。无论如何,根据您的解释,我认为这就是您想要的。这使用 ave 基本函数:

within(df, { A <- ave(A, B, FUN=function(x) x-min(x))})
A B
1 0 1
5 3 1
9 9 1
2 0 2
6 2 2
3 0 3
7 1 3
4 0 4
8 1 4

当然还有其他选择,例如 plyrdata.table

关于r - 从数据帧的每个子集中减去第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991728/

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