gpt4 book ai didi

r - 每次满足条件后添加 +1 (>1)

转载 作者:行者123 更新时间:2023-12-05 00:51:29 24 4
gpt4 key购买 nike

(对不起,真的不知道如何更好地表达这个问题)

我有一列“拥有”,其中包含 1 和 0。我想创建一个新列“want”,每次出现 1 时,0 的值都会增加到 2,然后是 3,然后是 4,依此类推。0 永远不应该是 1。

例子:

data <- data.frame(have = (c('0', '0', '0', '0', '1', '0', '1', '0', '0', '1')), 
want = (c('0', '0', '0', '0', '1', '2', '1', '3', '3', '1')))

最佳答案

你可以这样做:

data <- data.frame(have = (c('0', '0', '0', '0', '1', '0', '1', '0', '0', '1')))  

data$want <- cumsum(as.numeric(data$have)) + 1
data$want[data$want == "1"] <- "0"
data$want[data$have == "1"] <- "1"

data
#> have want
#> 1 0 0
#> 2 0 0
#> 3 0 0
#> 4 0 0
#> 5 1 1
#> 6 0 2
#> 7 1 1
#> 8 0 3
#> 9 0 3
#> 10 1 1

reprex package 创建于 2022-04-06| (v2.0.1)

关于r - 每次满足条件后添加 +1 (>1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71763804/

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