我在尝试计算另一列中相同值的出现之间的平均时间间隔(多少天)时遇到了麻烦。
我的数据如下:
An internal error occurred during: "Updating Maven Project".org.eclipse.wst.common.internal.emfworkbench.CompatibilityWorkbenchURIConverterImpl
我希望得到这样的东西:
dt subject_id
2016-09-13 77
2016-11-07 1791
2016-09-18 1332
2016-08-31 84
2016-08-23 89
2016-08-23 41
2016-09-15 41
2016-10-12 93
2016-10-05 93
2016-11-09 94
2016-10-25 94
2016-11-03 94
2016-10-09 375
2016-10-14 11
2016-09-27 11
2016-09-13 11
2016-08-23 11
2016-08-27 11
我试图使用:
subject_id mean_day
41 23
93 7
94 7.5
11 13
但它不能从日期值计算平均值。有什么想法吗?
答案 0 :(得分:1)
我的第一种方法是这样的:
df$dt <- as.Date(df$dt)
library(dplyr)
df %>%
group_by(subject_id) %>%
summarise((max(dt) - min(dt))/(n()-1))
# <int> <time>
#1 11 13.0 days
#2 41 23.0 days
#3 77 NaN days
#4 84 NaN days
#5 89 NaN days
#6 93 7.0 days
#7 94 7.5 days
#8 375 NaN days
#9 1332 NaN days
#10 1791 NaN days
我认为这是你的起点......你可以根据需要进行修改。