Мы можем использовать Reduce
с accumulate = TRUE
Reduce(function(x, y) paste(x, y, sep = "+"), df$B[-1], accumulate = TRUE,
init = df$A[1])
#[1] "a" "a+y" "a+y+z" "a+y+z+n" "a+y+z+n+m"
Аналогично, мы также можем использовать accumulate
из purrr
library(dplyr)
library(purrr)
df %>% mutate(A = accumulate(B[-1], paste, sep = "+", .init = first(A)))
# A B
#1 a x
#2 a+y y
#3 a+y+z z
#4 a+y+z+n n
#5 a+y+z+n+m m
данные
df <- data.frame(A = c('a','b','c', 'd', 'e'), B = c('x', 'y', 'z', 'n', 'm'),
stringsAsFactors = FALSE)