我之前问过这个问题,得到的答复为我解决了这个问题。我有一个看起来像这样的数据框:
id weekdays halflife
241732222300860000 Friday, Aug 31, 2012, 22 0.4166666667
241689170123309000 Friday, Aug 31, 2012, 19 0.3833333333
241686878137512000 Friday, Aug 31, 2012, 19 0.4
241651117396738000 Friday, Aug 31, 2012, 16 1.5666666667
241635163505820000 Friday, Aug 31, 2012, 15 0.95
241633401382265000 Friday, Aug 31, 2012, 15 2.3666666667
我想获得周一创建的物品的平均半衰期,然后是周二......等等。(我的日期范围跨越 6 个月)。
要获取我使用的日期值strptime
和difftime
. 另外,我用 找到了最大半衰期,max(df$halflife)
我怎样才能找到它对应的 id?
可重现的代码:
structure(list(id = c(241732222300860416, 241689170123309056,
241686878137511936, 241651117396738048, 241635163505819648, 241633401382264832
), weekdays = c("Friday, Aug 31, 2012, 22", "Friday, Aug 31, 2012, 19",
"Friday, Aug 31, 2012, 19", "Friday, Aug 31, 2012, 16", "Friday, Aug 31, 2012, 15",
"Friday, Aug 31, 2012, 15"), halflife = structure(c(0.416666666666667,
0.383333333333333, 0.4, 1.56666666666667, 0.95, 2.36666666666667
), class = "difftime", units = "mins")), .Names = c("id",
"weekdays", "halflife"), row.names = c(NA, 6L), class = "data.frame")
所以现在,我有一个平均半衰期值所有星期一,星期二......等。如何获得这些工作日内所有时间的平均值,即:所有星期一上午 9 点、上午 10 点、上午 11 点等创建的所有项目的平均半衰期。然后是周二上午 9 点、10 点、11 点……等等。weekdays 列中的日期经过格式化,以便逗号后的最后一个数字是它的创建时间。我对正则表达式和模式匹配真的很糟糕,这就是我问这个后续问题的原因。