我必须根据另一个文件的日期/时间窗口从一个大文件中提取每个人的数据。我有 ID、开始、结束日期作为我的窗口文件和一个包含各种其他数据的大文件 (FULLDATA),但我们将简化它并说它只有 ID、日期、X、Y、Z。
例如,日期窗口数据文件
ID Start End Date
c1 03/03/03 01:02 03/15/03 12:00
a2 03/03/03 04:35 03/10/03 13:00
f3 02/03/03 11:02 05/15/03 15:00
c1 01/03/04 13:02 02/15/05 17:00
a2 04/23/04 04:02 05/14/05 10:00
有重复的 ID,但我需要从中获取数据的唯一时间窗口。
在我的代码中,我需要设置级别
IDNames = levels(dates$ID)
但这样做会使 ID 级别独一无二,并且仅使用第一次显示该级别的窗口。因此,在我的示例中,c1 和 a2 将只使用一次,并从它们的第一次出现中提取信息。
我努力了
levels(make.unique(IDNames))
但这会将 ID“c1”转换为“c1.1”,这与我其余命令中的 FULLDATA 文件不匹配。
for (n in 1:(length(IDNames))) {
IndivData = FULLDATA[FULLDATA$ID==IDNames[n],]
Dateswindow = dates[dates$ID==IDNames[n],]
}