Вы можете сделать это с помощью assign()
следующим образом:
for (i in 1990:2000) {
assign(paste0('year_', i, "_dat"), i)
}
Не уверен, что это лучший способ выполнить sh вашу большую задачу, но assign()
сделает то, что вы хотите. Похоже, что i
будет фреймом данных в вашем случае, который будет работать нормально.
assign()
создает переменную в среде и принимает имя и объект в качестве аргументов - идеально для вашего случая. Мы можем использовать paste0()
, чтобы динамически генерировать имя переменной с чем-то, что мы перебираем в цикле, и давать ему любой объект для присвоения этому имени.