我在一些名为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循环的功能,其内部也可以作为打印显示,但不会在全球分配的名称(其中回归列表存储) 。
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]]
}
啊,给我一个休息时间。
我没有降低评分,但我会注意到你没有说出什么地方出了问题,但是没有成功。 – joran
是的。最后一种方法不起作用,因为当我在控制台上调用回归时,名称保持不变。这甚至没有让我感到意外,我只是错过了如何在这种情况下将其分配给全球环境。另一个返回了以下错误:错误在correctNames(reglist,namevec,pos):object'namevec'not found –