【问题标题】:Time-trend analysis?时间趋势分析?
【发布时间】:2018-04-04 08:24:03
【问题描述】:

我有一个数据库,其中每个人在一段时间内对某个测试进行多次评估:

id, time, test
1,01/01/2000,40
1,05/03/2001,42
1,12/08/2006,44
2,03/03/1999,34
2,04/05/2001,34
2,03/07/2003,36
3,04/08/2007,40
3,05/09/2007,44
3,06/09/2012,48 

我想知道每个人是否经历过任何平稳期(即在一段时间内测试的连续相等值),以及这些是多长时间(以天表示)。

谁能帮助我?谢谢!

【问题讨论】:

  • data.table 签出rleid:?rleid 和group_bydplyr 签出。

标签: r function time


【解决方案1】:

您可以为此使用基本 R 的 rle。例如,

by(df, df$id, function(x) {
  d <- as.data.frame(t(do.call(rbind, rle(df$scale))))
  d[d$lengths > 1, ]
  })

df$id: 1
  lengths values
4       2     34
--------------------------------------------------------------------------------------------- 
df$id: 2
  lengths values
4       2     34
--------------------------------------------------------------------------------------------- 
df$id: 3
  lengths values
4       2     34

【讨论】:

    猜你喜欢
    • 2018-03-27
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多