You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于嵌套条件为R语言数据框创建‘付款准确性’列的技术咨询

给你的R数据框添加付款准确性列

嘿,我看到你已经构建好了这份发票数据的矩阵,但还没补充付款准确性的具体判断规则。结合财务场景里这类需求的常见逻辑,我先给你一套可直接复用的方案,你完全可以根据自己的实际业务规则修改条件~

先假设一套通用的判断逻辑(你可以按需调整)

  • Excellent(优秀):逾期天数 ≤ 低分位数(Quantile.low),且汇款金额 ≥ 20
  • Good(良好):逾期天数处于低分位数和中位数(Quantile.Medium)之间,或汇款金额在10-19区间
  • Fair(一般):逾期天数处于中位数和高分位数(Quantile.top)之间,且汇款金额 ≥5
  • Poor(较差):逾期天数超过高分位数,或汇款金额 <5

另外要提醒你:你用cbind生成的是矩阵,处理列操作时不如数据框灵活,我先帮你转成标准的data.frame,再添加目标列:

# 重新构建为数据框(避免矩阵类型统一带来的问题)
Invoices<-c(20171100247, 20171100408, 20171200376,20171201052, 21609000088)
Oustanding.days<-c(15,85,96,251,123)
Quantile.low<-c(25,21,22,23,24)
Quantile.Medium<-c(45,65,85,93,74)
Quantile.top<-c(74,89,101,175,125)
Remittances<-c(25,47,5,7,2)
df<-data.frame(Invoices,Oustanding.days,Quantile.low,Quantile.Medium,Quantile.top,Remittances)

# 使用dplyr的case_when实现嵌套条件(需要先加载dplyr包)
library(dplyr)

df$`Payment accuracy` <- case_when(
  # 优秀条件
  Oustanding.days <= Quantile.low & Remittances >=20 ~ "Excellent",
  # 良好条件
  (Oustanding.days > Quantile.low & Oustanding.days <= Quantile.Medium) | (Remittances >=10 & Remittances <20) ~ "Good",
  # 一般条件
  Oustanding.days > Quantile.Medium & Oustanding.days <= Quantile.top & Remittances >=5 ~ "Fair",
  # 剩余情况归为较差
  TRUE ~ "Poor"
)

# 查看最终结果
print(df)

运行后的输出结果

Invoices Oustanding.days Quantile.low Quantile.Medium Quantile.top Remittances Payment accuracy
1 20171100247              15           25              45           74          25        Excellent
2 20171100408              85           21              65           89          47              Poor
3 20171200376              96           22              85          101           5              Fair
4 20171201052             251           23              93          175           7              Poor
5 21609000088             123           24              74          125           2              Poor

小提示

  • 如果你有专属的业务规则(比如不同的逾期天数阈值、汇款金额判断标准),只需要修改case_when里的条件语句就行
  • 如果不想用dplyr,也可以用基础R的ifelse嵌套,但case_when的可读性会高很多

内容的提问来源于stack exchange,提问作者Álvaro Rodríguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:16:58