我經常遇到需要爲不同變量創建大量類似模型的情況。通常我將它們轉儲到列表中。下面是僞代碼的例子:訪問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