我有一份家庭清单,以及他们搬入新邮政编码的日期。一小段如下:
ADD0 <- as.Date(c("2008-07-01", "1998-07-01", "2001-11-01", "1997-08-01"), format="%Y-%m-%d")
ADD1 <- as.Date(c(NA, "2001-09-01", "2002-03-01", NA), format="%Y-%m-%d")
ADD2 <- as.Date(c(NA, "1992-09-01", "2001-09-01", "2007-12-01"), format="%Y-%m-%d")
ZIP0 <- as.character(c(30126, 30345, 30068, 30253))
ZIP1 <- as.character(c(NA, 30263, 31064, NA))
ZIP2 <- as.character(c(NA, 30345, 30067,30062))
DF <- data.frame(ADD0, ZIP0, ADD1, ZIP1, ADD2, ZIP2)
> DF
ADD0 ZIP0 ADD1 ZIP1 ADD2 ZIP2
1 2008-07-01 30126 <NA> <NA> <NA> <NA>
2 1998-07-01 30345 2001-09-01 30263 1992-09-01 30345
3 2001-11-01 30068 2002-03-01 31064 2001-09-01 30067
4 1997-08-01 30253 <NA> <NA> 2007-12-01 30062
所以房子 2 在 98 年 7 月、01 年 9 月和 92 年 9 月搬迁。如您所见,我的问题是日期的顺序不一定正确,我需要它们。我能看到的唯一方法是遍历数据集并编写我自己的排序算法,我对此几乎没有经验。效率也很重要,因为我有 45 万次观察。
以前有人做过这种事情吗?有小费吗?有没有我找不到的干净解决方案?