我想使用dplyr创建一个变量,该变量采用以另一个变量为条件的值。
请参见下面的示例。
data.frame(list(group=c('a','a','b','b'),
time=c(1,2,1,2),
value = seq(1,4,1))
我想创建一个变量“基准”,它接受时间= 1并按组的变量“值”的内容。这样,所需的输出将是
data.frame(list(group=c('a','a','b','b'),
time=c(1,2,1,2),
value = seq(1,4,1),
baseline = c(1,1,3,3)))
试图通过索引运行以下代码,但显然在某处出错
x <- data.frame(list(group=c('a','a','b','b'),
time=c(1,2,1,2),
value = seq(1,4,1))
x %>% group_by(group) %>%
mutate(baseline = .[[.$time==1,.$value]])
谢谢
We can use
which.min
and if it is already ordered by 'time', then simply use
first
数据