library(tidyverse)
library(stringr)
#==============================================================================
# Create the input dataset using tribble
#==============================================================================
concat <- tribble(
~usubjid, ~visitnum, ~result,
101, 1, "Y",
101, 2, "N",
101, 3, "Y",
102, 1, "Y",
102, 2, "N",
102, 3, NA,
102, 4, "N",
102, 5, "Y"
)
#==============================================================================
# Concatenate non-missing results into a single string
#==============================================================================
concat01 <- concat %>%
arrange(usubjid, visitnum) %>%
group_by(usubjid) %>%
summarize(
all_results = str_flatten(result, collapse=";",na.rm = TRUE)
) %>% ungroup()