首页 > 解决方案 > 对列进行排序并创建一个新列

问题描述

我有一个带有 ID 和诊断日期和程序日期的数据框。同一个 ID 有多个诊断日期和多个手术日期。我想使用 ID 和诊断日期创建一个名为 next date 的新列。例如我的数据看起来像这样

ID         Diagnosis date      Procedure date   Next Date
 1         2008-03-01           2009-04-05      2009-05-06
 1         2009-05-06           2008-03-02      2010-08-09
 1         2010-08-09           2015-08-09      2010-08-09
 1         2010-08-09           2013-07-08      2010-08-09
 2         2005-06-09           2009-09-02      2009-09-08
 2         2009-09-08           2010-06-05      2009-09-08

我想根据诊断日期获得一个名为 Next Date 的单独列,并据此对程序日期进行排序。因为程序日期应该在诊断日期之后。

标签: r

解决方案


假设您的数据框名为“ data

new <- data[order(as.Date(data$Diagnosis_Date, format="%Y-%m-%d")),]

推荐阅读