gpt4 book ai didi

sql - 发现不良信用后取消所有交易

转载 作者:行者123 更新时间:2023-12-02 16:22:04 25 4
gpt4 key购买 nike

下面是一个交易记录的小数据集,有 ID,当月的 DATE,虚拟变量是否为 Bad_Credit。我想在信用不良开始后取消所有交易。OUTPUT 列表示正确的结果,即第 1、2、3、5、6、8、10 行。

这只是一个示例,可能有数千行。 SQL、R、SPSS 都可以。谢谢。

<表类="s-表"><头>日期IDBad_CREDIT输出<正文>12A1115A1118A012B0010B1120B015C0015C111D009E11

最佳答案

您可以按IDDATE安排数据,如果第一个值,则为每个ID分配0 Bad_CREDIT 为 0。

library(dplyr)

df %>%
arrange(ID, DATE) %>%
group_by(ID) %>%
mutate(OUTPUT = as.integer(!(first(Bad_CREDIT) == 0 & row_number() == 1)))

# DATE ID Bad_CREDIT OUTPUT
# <int> <chr> <int> <int>
# 1 12 A 1 1
# 2 15 A 1 1
# 3 18 A 0 1
# 4 2 B 0 0
# 5 10 B 1 1
# 6 20 B 0 1
# 7 5 C 0 0
# 8 15 C 1 1
# 9 1 D 0 0
#10 9 E 1 1

数据

df <- structure(list(DATE = c(12L, 15L, 18L, 2L, 10L, 20L, 5L, 15L, 
1L, 9L), ID = c("A", "A", "A", "B", "B", "B", "C", "C", "D",
"E"), Bad_CREDIT = c(1L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 1L)),
row.names = c(NA, -10L), class = "data.frame")

关于sql - 发现不良信用后取消所有交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65298717/

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