如何基于R中相同列的值填充列中的值
初始数据看起来像如何基于R中相同列的值填充列中的值,r,dplyr,R,Dplyr,初始数据看起来像 name <- c("a","a","a","a","a","b","b","b","b","b","c","c","c","c","c") var1 <- c(0,1,0,0,1,0,0,1,0,1,1,0,0,0,1) (data <- data.frame(name,var1)) # name var1 #1 a 0 #2 a 1 #3 a 0 #4 a 0 #5 a 1 #6
name <- c("a","a","a","a","a","b","b","b","b","b","c","c","c","c","c")
var1 <- c(0,1,0,0,1,0,0,1,0,1,1,0,0,0,1)
(data <- data.frame(name,var1))
# name var1
#1 a 0
#2 a 1
#3 a 0
#4 a 0
#5 a 1
#6 b 0
#7 b 0
#8 b 1
#9 b 0
#10 b 1
#11 c 1
#12 c 0
#13 c 0
#14 c 0
#15 c 1
name您可以对每组“name”使用cummax
请以文本形式正确发布您的输入和输出。
data$var2 <- with(data, ave(var1, name, FUN = cummax))
data
# name var1 var2
#1 a 0 0
#2 a 1 1
#3 a 0 1
#4 a 0 1
#5 a 1 1
#6 b 0 0
#7 b 0 0
#8 b 1 1
#9 b 0 1
#10 b 1 1
#11 c 1 1
#12 c 0 1
#13 c 0 1
#14 c 0 1
#15 c 1 1
library(dplyr)
data %>%
group_by(name) %>%
mutate(var2 = cummax(var1))