Цикл по фреймам данных - PullRequest
0 голосов
/ 12 июня 2019

Я создаю панель из нескольких сечений, и поэтому мне нужно пометить сечение годом (до добавления сечений). Более конкретно, у меня есть фреймы данных следующей формы: df2000, df2001, df2002 ..., и для каждого такого фрейма данных мне нужно создать переменную «Год», которая является постоянной и равна текущему году (т. Е. 2001 для 2001 и тд). Каков наилучший способ зацикливания на нескольких фреймах данных, чтобы сделать это? Более конкретно, как мне создать цикл, который делает следующее:

df2000["Year"]<-2000  
df2001["Year"]<-2001  
df2002["Year"]<-2002  
.  
.
.

1 Ответ

1 голос
/ 12 июня 2019

Как сказал jogo в комментариях, лучше работать с вашими фреймами данных в контексте list. Иначе, вы можете использовать get() и assign() как:

years = c("2000","2001","2002")  # vector containing the years
for (i in years){
    aux = get(paste0("df",i))    # get the variable from the environment (e.g. df2000)
    aux["Year"] = i              # update the "Year" field
    assign(paste0("df",i),aux)  # assign it again to the global environment
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...