combine row for every element of vector r

# Sample data frame
df <- data.frame(
  ID = c(1, 1, 2, 2, 3, 3),
  Value = c("A", "B", "C", "D", "E", "F")
)

# Vector to combine rows
r <- c("X", "Y", "Z")

# Combine rows for each element of vector r
result <- lapply(r, function(x) {
  new_row <- data.frame(ID = max(df$ID) + 1, Value = x)
  rbind(df, new_row)
})

# Output
result_df <- do.call(rbind, result)
print(result_df)

This code creates a sample data frame df and a vector r. It then uses the lapply function to combine rows for each element of vector r. Finally, it uses do.call and rbind to concatenate the results into a new data frame result_df.