我要从多个横截面创建一个面板,因此需要用年份标记横截面(在添加横截面之前)。更具体地说,我具有以下格式的数据帧:df2000,df2001,df2002 ...,并且对于每个此类数据帧,我需要创建一个变量“ Year”,该变量恒定且等于当年(即2001年为2001等)。为了做到这一点,遍历多个数据帧的最佳方法是什么?更具体地说,如何创建执行以下操作的循环:
df2000["Year"]<-2000
df2001["Year"]<-2001
df2002["Year"]<-2002
.
.
.
答案 0 :(得分:1)
正如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
}