【发布时间】:2020-01-08 13:34:17
【问题描述】:
我正在尝试设置数据来运行生存模型。数据是时间序列的。重要的列是名称、BeginningDateofStudy 和DeathDate。我想做的是使用 CASE 语句,如果这个人已经死了,那么只有他们的最后一行被赋予 1 的值。
例如,如果人 A 有一个BeginningDateofStudy = 01/07/2019 和他们的DeathDate = 01/08/2020,那么他们将有 12 行数据(每个月 1 行)并且只有创建的新列才会报告第 12 行等于 1,直到 12 的其他行等于 0。
实际上,我对如何处理这个问题感到很困惑。到目前为止,我已经尝试按名称返回最大行号,但我也没有运气。我尝试过的最好的尝试可能是:
MAX(row_number()) over(partition by name order by name, processdate desc) as MaxRow
【问题讨论】:
-
样本数据和期望的结果会有很大帮助——一个合适的数据库标签。
标签: sql r sql-server case survival-analysis