我有多个数据框,我想添加一个包含年份的新列。我不想一次做这个,而是想使用for循环和列表来引用它们。
这是我的代码(缩小的列表以节省空间):
my.list < - list(“Accounting.and.Finance”, “Aeronautical.and.Manufacturing.Engineering” “Agriculture.and.Forestry” “American.Studies”)
for(i in 1:length(my.list)){my.list [[i]] $ Year< - 2016}
不幸的是,不是将Year列添加到每个数据帧,而是给出了以下警告:
警告讯息:
1:在subject.list [[i]] $ Year< - 2016:将LHS强制列入名单
2:在subject.list [[i]] $ Year< - 2016:将LHS强制列入名单
3:在subject.list [[i]] $ Year< - 2016:将LHS强制列入名单
4:在subject.list [[i]] $ Year< - 2016:将LHS强制列入名单
并在列表中添加$ Year。任何人都可以就如何做到这一点提出任何建议吗?
由于
答案 0 :(得分:0)
你的例子很难用,所以我重新构建了它,
my.list <- list(
Accounting.and.Finance <- data.frame(A=seq(1,10), B=seq(11,20),C=seq(21,30)),
Aeronautical.and.Manufacturing.Engineering <- data.frame(A=seq(1,10), B=seq(11,20),C=seq(21,30)),
Agriculture.and.Forestry <- data.frame(A=seq(1,10), B=seq(11,20),C=seq(21,30)),
American.Studies <- data.frame(A=seq(1,10), B=seq(11,20),C=seq(21,30))
)
可用于使用lapply函数添加year列,
my.list <- lapply(my.list, cbind, Year=seq(2001,2010))