Вы можете сделать это в lapply
с глобальным присваиванием <<-
.
lapply(seq_along(LIST), function(x)
names(LIST[[x]]) <<- paste0(names(LIST)[x], ".", names(LIST[[x]])))
Или с использованием Map
в качестве @ Sotos Рекомендуется
LIST <- Map(function(x, y) {names(x) <- paste0(y, '.', names(x)); x}, LIST, names(LIST))
Урожайность
str(LIST)
# List of 2
# $ df1:'data.frame': 5 obs. of 2 variables:
# ..$ df1.ColA: int [1:5] 1 2 3 4 5
# ..$ df1.ColB: int [1:5] 10 11 12 13 14
# $ df2:'data.frame': 5 obs. of 2 variables:
# ..$ df2.ColA: int [1:5] 21 22 23 24 25
# ..$ df2.ColB: int [1:5] 30 31 32 33 34