Мне нужно извлечь данные для каждого человека из одного большого файла на основе окна даты/времени из другого файла. У меня есть ID, Start, End date как мой файл окна и огромный файл (FULLDATA) со всеми видами других данных в нем, но мы просто упростим его и скажем, что он имеет только ID, Date, X, Y, Z.сделать дубликаты уровней уникальными в r
Например., даты окна файла данных
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
Есть повторяющиеся идентификаторы, но уникальные окна времени мне нужно, чтобы получить данные.
В моем коде мне нужно установить уровни
IDNames = levels(dates$ID)
, но в этом он будет делать уровни ID уникальным и использовать только окно с 1-й раз, что уровень показал. Таким образом, в моем примере c1 и a2 будут использоваться только 1 раз и извлекать информацию с их первого появления.
Я попытался
levels(make.unique(IDNames))
Но тогда получится идентификатор «c1» в «C1.1», который не будет совпадать с файлом FULLDATA в остальной части моих команд.
for (n in 1:(length(IDNames))) {
IndivData = FULLDATA[FULLDATA$ID==IDNames[n],]
Dateswindow = dates[dates$ID==IDNames[n],]
}
Если я правильно понял, не будет ли номер строки делать то, что вы хотите? Так как никакие две строки, по-видимому, не должны иметь одинаковый идентификатор ?! – Tommy
Нет, номер строки не будет работать ... Я не думаю. Поскольку существует множество дубликатов дат начала и окончания, они уникальны только по идентификатору. Итак, я должен сказать, что, пожалуйста, вытащите данные между этими датами для отдельных 1. – Kerry