Переименовать столбцы Data.frame в списке

Я пытаюсь использовать lapply (и хочу, чтобы решение с lapply) переименовывало столбцы data.frame, расположенного в списке, но он возвращает имена, а не переименованные data.frames:

# define list
li <- list(u_n = data.frame(x = 1:3), r_l = data.frame(y = 4:6))

# trying to rename columns after the element of the list they're located in
li_2 <- lapply(1:length(li),
                function(x,y) colnames(y[[x]]) <- names(y)[x], y = li)

Тем не менее, это возвращает:

[[1]]
[1] "u_n"

[[2]]
[1] "r_l"

Если я использую тот же метод, что и функция, указанная в lapply, он работает:

li[1]
$u_n
  x
1 1
2 2
3 3

colnames(li[[1]]) <- names(li)[1]

li[1]
$u_n
  u_n
1   1
2   2
3   3

Ответы на вопрос(1)

Ваш ответ на вопрос