Я пытаюсь перебрать CSV-файл, в котором указаны first.name (идентификаторы) каждого человека и дата, когда каждый из них выполнил задание.Прежде чем анализировать задачи, я пытаюсь сгруппировать каждую дату по недельной величине (неделя 1 - день 1: 7 на человека, неделя 2,3 и т. Д.). Каждый человек начал с другой даты и длится в среднем 30-40 дней.(некоторые с пропущенными днями между ними).Мне нужно, чтобы недели начинались с уникальной первой даты данных каждого человека до даты окончания.
Мои необработанные данные выглядят так:
ï..first.name Last.Name User.ID Date
1 5006 'G103' 23412 2018-05-07
2 5006 'G103' 23412 2018-05-08
3 5006 'G103' 23412 2018-05-09
4 5007 'G104' 23413 2018-05-07
5 5007 'G104' 23413 2018-05-10
6 5006 'G103' 23412 2018-05-15
7 5008 'G105' 23414 2018-05-07
8 5007 'G104' 23413 2018-05-19
Мой код:
outputWeek = matrix() #empty matrix
for(x in 1:length(unique(Raw_whoop$ï..first.name))){ #1 through each unique ID
whoopName = as.character(unique(Raw_whoop$ï..first.name)[x]) #get ID name
dvec = as.Date(Raw_whoop$Date[Raw_whoop$ï..first.name == whoopName]) #get dates associated with that name
dweek = as.numeric(dvec-dvec[1]) %/% 7 # group those dates into weeks
outputWeek[x] = dweek #store the dates in new variable that I can later append to the csv file as a new column. **but this doesn't work**
все работает, кроме моей последней строки, когда я пытаюсь устранить неполадки.Я попробовал c / rbind вместо [x] и продолжаю получать различные ошибки.
Я бы хотел, чтобы мой вывод выглядел примерно так:
ï..first.name Last.Name User.ID Date Week #
1 5006 'G103' 23412 2018-05-07 0
2 5006 'G103' 23412 2018-05-08 0
3 5006 'G103' 23412 2018-05-09 0
4 5007 'G104' 23413 2018-05-07 0
5 5007 'G104' 23413 2018-05-10 0
6 5006 'G103' 23412 2018-05-15 1
7 5008 'G105' 23414 2018-05-07 0
8 5007 'G104' 23413 2018-05-19 1
В идеале я мог бы просто иметь новую переменную "week #" в одном столбце, а затем добавлять / вставлять значения рядом сФайл CSV при сортировке по идентификатору.
Спасибо