gpt4 book ai didi

r - 按条件将数据框的一列与另一列分开

转载 作者:行者123 更新时间:2023-12-02 05:49:45 25 4
gpt4 key购买 nike

我有一个包含 2 列的数据框,如下所示:

cond  val
1 5
2 18
2 18
2 18
3 30
3 30

我想以这种方式更改 val 中的值:

   cond  val
1 5 # 5 = 5/1 (only "1" in cond column)
2 6 # 6 = 18/3 (there are three "2" in cond column)
2 6
2 6
3 15 # 15 = 30/2
3 15

如何实现这一目标?

最佳答案

基础 R 解决方案:

# method 1:
mydf$val <- ave(mydf$val, mydf$cond, FUN = function(x) x = x/length(x))
# method 2:
mydf <- transform(mydf, val = ave(val, cond, FUN = function(x) x = x/length(x)))

给出:

  cond val
1 1 5
2 2 6
3 2 6
4 2 6
5 3 15
6 3 15

关于r - 按条件将数据框的一列与另一列分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304474/

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