У меня есть фрейм данных, как показано ниже.
Note: This is the sample data of my data.
data:
id user time1 time2 time3
1 user1 07:52 08:34 08:43
2 user2 08:14 10:09 10:22
3 user3 07:43 09:29 09:44
4 user4 09:36 10:34 11:05
Теперь я хочу проверить, сколько активных пользователей доступно в 09:36. Я написал условие, как показано ниже, чтобы получить активных пользователей в момент времени 09: 36.
for(k in 1:nrow(data)){
k=4
active_users_data <- subset(data,(data$time2 < data$time1[k] &
data$time3> data$time1[k]))
}
output :
id user time1 time2 time3
3 user3 07:43 09:29 09:44
Но мне нужен выходной формат, как показано ниже:
id time1 time2 time3 user1 user2 user3 user4
3 07:43 09:29 09:44 0 0 1 0
То есть, если при этом активен user3 момент времени мне нужно получить 1 в столбце user3. Как я могу добиться результата, как указано выше? Если в этот момент активны два пользователя, мне нужно получить 1 столбец соответствующих пользователей. Пожалуйста, предложите мне идеи. Я должен сделать это для большого набора данных.