我试图让所有包含五个元素 c(2,3,4,5,6) 中至少三个的 id 为该 id 的每一行返回 TRUE,为其他 id 返回 false。
id <- c(1,1,2,2,3,3,3,3)
time <- c(4,6,4,5,4,5,6,7)
df1 <- data.frame(id,time)
Run Code Online (Sandbox Code Playgroud)
解决方案
solution <-c(FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE)
df_w_sol <- data.frame(df1,solution)
Run Code Online (Sandbox Code Playgroud)
我正在尝试以下组合:
df1 %>%
group_by(id) %>%
mutate(INCLUDE = any(2:6 %in% time))
Run Code Online (Sandbox Code Playgroud)
但困难在于“5 个中的至少 3 个”部分,我认为这将包括 n > 部分。