gpt4 book ai didi

r - 在有条件的数据框中结转值(value)

转载 作者:行者123 更新时间:2023-12-01 23:42:33 24 4
gpt4 key购买 nike

我有一个看起来像这样的表:

Price        Discount
$30 0
$39 0
$31 0
$20 1
$20 1
$20 1
$39 0
$28 0

我想改变一个现行价格列,该列将在整个折扣期内显示折扣期之前的价格,结果如下:

Price        Discount      PrevailingPrice
$30 0 $30
$39 0 $39
$31 0 $31
$20 1 $31
$20 1 $31
$20 1 $31
$29 0 $29
$28 0 $28

在 excel 中,我只会告诉它获取列中的先前值,但您无法获取正在通过 mutate 构建的列中的值。我已经盯着这个看了好几个小时了。我很困惑。

最佳答案

在基础 R 中你可以这样做:

df$prevailingPrice = with(df, Price[(!Discount)*seq(Price)+ Discount*cumsum(!Discount)])

Price Discount prevailingPrice
1 $30 0 $30
2 $39 0 $39
3 $31 0 $31
4 $20 1 $31
5 $20 1 $31
6 $20 1 $31
7 $39 0 $39
8 $28 0 $28

关于r - 在有条件的数据框中结转值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64796489/

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