【发布时间】:2025-04-01 01:50:02
【问题描述】:
我在医疗保健行业工作,我正在使用机器学习算法开发一个模型来预测患者何时不会出现在他们的预约中。我正在尝试创建一个新功能,该功能将是每个患者最近连续未出现的总和。我在 * 和其他资源上看了很多,但找不到我要找的东西。例如,如果患者没有显示她最近的两次约会,则新特征列的每一行及其 ID 都将用 2 填充。如果她没有出现 3 次,但出现在她最近的约会中,那么新的列将用 0 填充。
我尝试将 plyr 的 ddply 与 cumsum 一起使用,但它没有给我想要的结果。我用过:
ddply(a, .(ID), transform, ConsecutiveNoshows = cumsum(Noshow))
这是一个示例数据集(“1”表示未出现):
ID Noshow
1 1
1 1
1 0
1 0
1 1
2 0
2 1
2 1
3 1
3 0
3 1
3 1
3 1
这是我想要的结果:
ID Noshow ConsecutiveNoshows
1 1 2
1 1 2
1 0 2
1 0 2
1 1 2
2 0 0
2 1 0
2 1 0
3 1 1
3 0 1
3 1 1
3 1 1
3 1 1
如果有任何帮助,我将不胜感激。谢谢。
【问题讨论】:
标签: r aggregate-functions feature-extraction feature-selection