我经常遇到需要为不同变量创建大量类似模型的情况。通常我将它们转储到列表中。下面是伪代码的例子:访问R中列表中的列表中的同名列表元素
modlist <- lapply(1:10,function(l) {
data <- data.frame(Y=rnorm(10),X=rnorm(10))
lm(Y~.,data=data)
})
现在获得适合的例子很简单:
lapply(modlist,predict)
我想有时做的是从列表中提取一个元素。显而易见的方法是
sapply(modlist,function(l)l$rank)
这就是我想要的,但我不知道是否有一个较短的方法来获得相同的结果?
示例代码返回一个错误的一个版本。 – 2011-05-09 11:11:50
@Joris,它是一个虚拟代码,原则上它不应该工作,因为'simulate'没有被定义。但是,大写的'C'出错了。感谢您指出。 – mpiktas 2011-05-09 12:34:20
我明白了。但是,人们会假设你的虚拟代码运行,并且一个最小可重现的例子通常是一个小的努力来解释一个问题。它避免了我们必须让自己在寻找答案。 – 2011-05-09 12:37:06