首页 > 解决方案 > 如何用仅基于特定条件(以及 n 组行)重复的值填充列?[R]

问题描述

一些数据:

df1 <- data.frame(ID = c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2), 
                  
                  visit = c('screening', '1mo', '3mo', '6mo', 
'12mo', '24mo', 'screening', '1mo', '3mo', '6mo', 
'12mo', '24mo'),
                  var2 = c(20, 12, 2, 3, 67, 12, 3, 4, 5, 6, 7, 8))
                  #var3 = c())

所以我只需要在访问 == 筛选的地方用 var2 中的正确数字填充 var3 。因此,它应该是主题 ID 的第一行中的任何值,然后通过他们的重复测量一直为该主题重复(每个主题所有 6 行)。

我尝试使用 dplyr 过滤器、多个 ifelse 语句,但我就是做错了。

当且仅当它属于筛选访问时,所需的输出将具有 var3 等于 var2。

#var3 = c(20, 20, 20, 20, 20, 20, 3, 3, 3, 3, 3, 3)

有什么方法可以做到这一点?

标签: r

解决方案


推荐阅读