在纵向数据集中发生事件后删除后续观察

ecl

我得到了纵向数据集,在发生感兴趣的事件后,我想在其中放置观察值。这意味着我想在表示event感兴趣的虚拟变量(即event == 1发生变化后删除所有观察值数据看起来像这样:

id <- c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5)
time <-  c(1,2,3,1,2,3,1,2,3,1,2,3,1,2,3) 
event <- c(0,1,0,1,0,0,0,0,0,0,1,0,1,0,0)

df <- cbind(id,time,event)

      id time event
 [1,]  1    1     0
 [2,]  1    2     1
 [3,]  1    3     0
 [4,]  2    1     1
 [5,]  2    2     0
 [6,]  2    3     0
 [7,]  3    1     0
 [8,]  3    2     0
 [9,]  3    3     0
[10,]  4    1     0
[11,]  4    2     1
[12,]  4    3     0
[13,]  5    1     1
[14,]  5    2     0
[15,]  5    3     0

我想在事件发生后(为了清楚起见event == 1删除所有后续观察id导致数据集如下所示:

     id time event
[1,]  1    1     0
[2,]  1    2     1
[3,]  2    1     1
[4,]  3    1     0
[5,]  3    2     0
[6,]  3    3     0
[7,]  4    1     0
[8,]  4    2     1
[9,]  5    1     1

我最大的问题是如何限制对时间变量的后续观察。

提前致谢!:D

阿克伦

如果将数据构造为data.frame,则可以使用by中的dplyr分组操作,即按'id'分组,如果有的话,获取第一次出现的位置索引1并获取序列,否则返回行顺序

library(dplyr)
df %>%
  arrange(id, time) %>%
  group_by(id) %>%
  slice(if(1 %in% event) seq(match(1, event)) else row_number()) %>%
  ungroup

-输出

# A tibble: 9 x 3
#     id  time event
#  <dbl> <dbl> <dbl>
#1     1     1     0
#2     1     2     1
#3     2     1     1
#4     3     1     0
#5     3     2     0
#6     3     3     0
#7     4     1     0
#8     4     2     1
#9     5     1     1

或者,if/else如果我们将nomatch行数(n()指定为,可以将其缩短而无需

df %>%
    arrange(id, time) %>%
    group_by(id) %>%
    slice(seq(match(1, event, nomatch = n())))

数据

df <- data.frame(id, time, event)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Quickbooks中发生事件后触发API调用吗?

来自分类Dev

如何突出显示FullCalendar.js中发生事件的一天?

来自分类Dev

jQuery插件-卡在某个位置,发生事件

来自分类Dev

发生事件时显示弹出窗口javafx

来自分类Dev

如何在纵向数据框中指示第一个事件观察并删除其余事件观察?

来自分类Dev

如何在WPF用户控件中发生事件

来自分类Dev

每当另一个应用程序中发生事件时,是否可以执行任务?

来自分类Dev

如何阻止直到RX流中发生事件?

来自分类Dev

当Shiny中发生事件时,如果某些选项卡处于活动状态,如何停止运行输出代码?

来自分类Dev

在父组件中发生事件后更新子组件中的prop?

来自分类Dev

如何在R中发生特定事件后删除所有行

来自分类Dev

分析SQL时间序列是否发生事件

来自分类Dev

确定Angular中发生事件的p复选框

来自分类Dev

当天发生事件的日期列表

来自分类Dev

纵向数据集中的累积变量构造

来自分类Dev

jQuery插件-卡在某个位置,发生事件

来自分类Dev

创建可拖动的滑块,发生事件问题

来自分类Dev

需要在某个日期内发生事件时提取数据

来自分类Dev

在不同的div上同时发生事件?

来自分类Dev

每当另一个应用程序中发生事件时,是否可以执行任务?

来自分类Dev

后台发生事件时,iOS显示通知吗?

来自分类Dev

发生事件时断开连接

来自分类Dev

从发生事件的类返回值:ADDED_TO_STAGE

来自分类Dev

在Android中发生事件时如何呼叫闹钟?

来自分类Dev

事件发生后从分组数据中删除行

来自分类Dev

单击 Android ListView 中的每个删除按钮时发生事件错误

来自分类Dev

在python数据帧中发生事件后计数购买

来自分类Dev

如何在 jQuery 发生事件的 div 之外获取数据属性?

来自分类Dev

如何在 jQuery 发生事件的 div 之外获取数据属性?

Related 相关文章

  1. 1

    在Quickbooks中发生事件后触发API调用吗?

  2. 2

    如何突出显示FullCalendar.js中发生事件的一天?

  3. 3

    jQuery插件-卡在某个位置,发生事件

  4. 4

    发生事件时显示弹出窗口javafx

  5. 5

    如何在纵向数据框中指示第一个事件观察并删除其余事件观察?

  6. 6

    如何在WPF用户控件中发生事件

  7. 7

    每当另一个应用程序中发生事件时,是否可以执行任务?

  8. 8

    如何阻止直到RX流中发生事件?

  9. 9

    当Shiny中发生事件时,如果某些选项卡处于活动状态,如何停止运行输出代码?

  10. 10

    在父组件中发生事件后更新子组件中的prop?

  11. 11

    如何在R中发生特定事件后删除所有行

  12. 12

    分析SQL时间序列是否发生事件

  13. 13

    确定Angular中发生事件的p复选框

  14. 14

    当天发生事件的日期列表

  15. 15

    纵向数据集中的累积变量构造

  16. 16

    jQuery插件-卡在某个位置,发生事件

  17. 17

    创建可拖动的滑块,发生事件问题

  18. 18

    需要在某个日期内发生事件时提取数据

  19. 19

    在不同的div上同时发生事件?

  20. 20

    每当另一个应用程序中发生事件时,是否可以执行任务?

  21. 21

    后台发生事件时,iOS显示通知吗?

  22. 22

    发生事件时断开连接

  23. 23

    从发生事件的类返回值:ADDED_TO_STAGE

  24. 24

    在Android中发生事件时如何呼叫闹钟?

  25. 25

    事件发生后从分组数据中删除行

  26. 26

    单击 Android ListView 中的每个删除按钮时发生事件错误

  27. 27

    在python数据帧中发生事件后计数购买

  28. 28

    如何在 jQuery 发生事件的 div 之外获取数据属性?

  29. 29

    如何在 jQuery 发生事件的 div 之外获取数据属性?

热门标签

归档