【发布时间】:2021-04-22 13:00:33
【问题描述】:
我正在寻找循环数据和更新某个变量的最佳方法,同时对另一个变量进行分组。我觉得我已经很接近了,但是我还没有足够的练习 R 中的循环来完全做到这一点。如果有人可以帮助我,将不胜感激! 这是我第一次在这里提出问题:我希望代码会有所帮助!
studentID <- c(1,1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4)
lag_time <- c(0,3.8,4.6,2.6,720,3.4,200,780,860,3.5,2.5,3.3,6.68,945,7.5,2.3,1.2,3.2,83456.093,5.3,4.2,56540)
session <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
df <- data.frame(studentID, lag_time, session)
好的,所以我想做的是:我有一个由 studentID 排列的网站日志数据的数据框,我想为每个学生计算他们当前所在的会话。我已经计算了 lag_time,基本上是两者之间的时间表示会话的行。如果 lag_time >= 600,那么我想更新变量 'session' + 1,每个 studentID。最后应该是这样的:
studentID lag_time session
1 0 1
1 3.8 1
1 4.6 1
1 2.6 1
1 720 2
2 3.4 1
2 200 1
2 780 2
2 860 3
3 3.5 1
3 2.5 1
3 3.3 1
3 6.68 1
3 945 2
3 7.5 2
3 2.3 2
3 1.2 2
4 3.2 1
4 83456.093 2
4 5.3 2
4 4.2 2
4 56540 3
希望我解释正确,期待看到您的建议!
【问题讨论】: