我有一堆动态创建的回归存储在一些名为regressions
. 现在我想有效地重命名它们的系数。到目前为止,我所拥有的是这个有效的循环:
for (i in 1:length(params[,1])){
names(regressions[[i]]$coefficients)[pos] <- paste(params[i,1],".lag",params[i,2],sep="")
}
在函数的帮助下,我已经尝试了很长一段时间来更普遍地完成这项工作,因为这不是我拥有的唯一回归列表。但是我无法让其他任何工作。这里主要基于 lapply 的其他一些尝试:
correctNames <- function(reglist,namevec,pos){
names(reglist[[i]]$coefficients)[pos] <- as.character(namevec)
}
lapply(regressions,correctNames(reglist,namevec,pos),
reglist=regressions,namevec=params[,1],pos=2)
另一种尝试是编写一个带有 for 循环的函数,该循环在内部也可以作为 print 显示,但不会全局分配名称(存储回归列表的位置)。
correctNames <- function(reglist,pos,namevec){
for (i in 1:length(params[,1])){
names(reglist[[i]]$coefficients)[pos] <- paste(namevec,".lag",namevec,sep="")
}
#this test proves it's work inside the function...
print(reglist[[10]]
}
啊,让我休息一下。