考虑以下情况:
library(tidyverse)
treatment <- c(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0)
desired <- c(0,0,0,0,1,1,1,2,2,2,3,3,3,4,4)
df_treatment <- tibble(treatment, desired)
df <- df_treatment %>%
mutate(date = seq(as_date("2016-01-01"), as_date("2016-01-15") , by= "day"))
我的目标是获取df
tibble中的desired
列。当然,我希望通过编程来获取它。此外,我希望灵活地使用每个数字重复的次数。例如,我可能希望将数字重复4次而不是3次。
虽然这看起来是一个奇怪的问题,但我正在试图找到在更大的数据集中获得“过去/治疗时间”列的最佳方法。我现在的想法是创建一个从治疗开始日期开始的数字序列。desired
列中的每个唯一数字都是一个bin,而每个唯一数字重复的次数是每个bin中的观察次数。
出于某种原因,当我尝试创建这样的东西时,我似乎无法将数字从正确的位置开始:
df %>%
mutate(desired_attempt = ifelse(date >= as_date("2016-01-05"), rep(1:4, each = 3), 0))
2条答案
按热度按时间u59ebvdq1#
von4xj4u2#
或者用碱基R: