R 在第一次出现后用纵向数据中的观察值填充所有观察值

统计

我有在此表左侧设置的数据,但我想在右侧生成数据:

ID 一种 --> ID 一种
1 0 1 0 0
1 0 1 0 0
1 1 1 1 1
1 0 1 0 1
2 0 2 0 0
2 1 2 1 1
2 0 2 0 1
2 0 2 0 1
2 0 2 0 1

我想生成 B 列,在 A 列中第一次出现 1 之前,该列为 0,然后通过 ID 用 A 中的第一个观察结果中的 1 填充后续观察结果。我什至不知道从哪里开始。如果有人可以帮助我将不胜感激

尤里·萨雷金
library(tidyverse)
df <-
  structure(list(
    ID = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
    A = c(0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L)
  ),
  class = "data.frame",
  row.names = c(NA,-9L))

df %>% 
  group_by(ID) %>% 
  mutate(B = cummax(A)) %>% 
  ungroup()
#> # A tibble: 9 x 3
#>      ID     A     B
#>   <int> <int> <int>
#> 1     1     0     0
#> 2     1     0     0
#> 3     1     1     1
#> 4     1     0     1
#> 5     2     0     0
#> 6     2     1     1
#> 7     2     0     1
#> 8     2     0     1
#> 9     2     0     1

reprex 包(v2.0.1)于 2021 年 9 月 28 日创建

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从R中的数据框中获取具有多个单个观察值的组级观察值

如何在R中的分组数据中找到某个观测值的最后一次出现?

保持字符串直到R中第一次出现模式

第一次标记基于参数的记录出现在r数据框中

R:重复值,直到新值按组出现为止,只有第一个非NA值出现一次

相对于组中所有其他观察值的观察值的加权差(R)

一次计算R中所有变量的观察数

对NA取0,直到在R数据帧中第一次遇到整数

R-抓取刷新点后第一次出现的值的索引?

R中是否有任何解决方案可将TRUE / FALSE分配给第一次出现(观察当前期间而不是之前的那个)

找到所有玩家都转过R的第一个观察值的有效方法

R:将具有一个匹配观察值的个体的所有观察值归为子集

使用R选择在第一次出现固定值时的行条件

使用R中的匹配函数查找“第一次出现”

在 R 数据框中查找第一次和最后一次出现的项目

检测 R 中两个变量之间的第一次出现

在 R 中,从第二列的第一次出现更改数据框列

根据 R 中的单独列标记列中值的第一次连续出现

R中所有NA的最后一次观察结转(LOCF)

如何在 R 中按组迭代地将数据框列中的所有先前观察除以最后一次观察,然后存储结果

在 R 中,如何找到矩阵中某个值第一次出现和最后一次出现的行号?

如何在R中第一次出现逗号之前删除所有内容

如何在 R 数据框中添加变量第一次和最后一次出现的列?

修改纵向数据集中的变量(保持人级值的第一次出现)

R - 得到一个向量,告诉我另一个向量的值是否是第一次出现

如何排除每年至少没有出现一次的观察 - R

如何仅替换面板数据中第一次观察值为正值的人的缺失值?

仅在 R 中每个 id 的列值第一次按行更改时标记

在 R 中,如何根据一列中的重复值保留行的第一次出现?