gpt4 book ai didi

r - 通过分组变量从大数据帧中减去小数据帧

转载 作者:行者123 更新时间:2023-12-02 07:08:50 25 4
gpt4 key购买 nike

我有一个非常大的数据集

  mdf <- data.frame (sn = 1:40, var = rep(1:10, 4), block = rep(1:4, each = 10), 
yld = c(1:40))

我有小数据集

blockdf <- data.frame(block = 1:4, yld = c(10, 20, 30, 40)) # block means 

除了 yld 之外,两个数据集中的所有变量都是因子。

我想从每个 mdf$yld 数据集中减去 block 均值 (blockdf$yld),这样 block 效果应该对应于 mdf 数据帧中的 block 。

for example: value 10 will be substracted from all var within 
first block yld in mdf
20 - second block yld in mdf

and so on

请注意,我有时可能会在代表中出现不平衡的 var 数量。所以我想以能够处理不平衡情况的方式编写它

最佳答案

这应该可以解决问题

block_match <- match(mdf$block, blockdf$block)
transform(mdf, yld = yld - blockdf[block_match, 'yld'])

关于r - 通过分组变量从大数据帧中减去小数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074044/

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