У меня есть список фреймов данных x
со столбцом V1
, в котором указывается страна, и V2
, в котором указывается год.
Имена фреймов данных: y1, y2, y3 и т. Д.,Я хочу переименовать их, чтобы они указывали страну и год (ALBANIA1993, JAPAN2002 и т. Д.).Следующий код работает с кадрами данных индивидуально:
y1 <- as.data.frame(cbind(c("ALBANIA", "ALBANIA", "ALBANIA"), c(1999, 1999, 1999)))
y2 <- as.data.frame(cbind(c("JAPAN", "JAPAN", "JAPAN"), c(2002, 2002, 2002)))
x <- list(y1, y2)
assign(as.character(with(y1, paste0(y1$V1[1], y1$V2[1]))), y1)
assign(as.character(with(y2, paste0(y2$V1[1], y2$V2[1]))), y2)
Я пытаюсь использовать lapply
, чтобы применить его ко всем кадрам данных из списка x
одновременно.
Вот код:
x <- list(y1, y2)
x <- lapply(x, function(y) assign(as.character(with(y, paste0(y$V1[1], y$V2[1]))), y))
Как видите, это тот же код, что и раньше, но внутри lapply
.По какой-то причине кадры данных в x
не переименовываются и ошибки не отображаются.
Действительно благодарны за помощь!Я отредактирую, если вам нужна дополнительная информация.