2017-07-31 35 views
1

我想知道是否有辦法在list中獲得相應的indexingname如何使用相應的名稱而不是索引號獲取對象列表?

爲例:

lapply(list(mtcars, airquality), dim) 
[[1]] 
[1] 32 11 

[[2]] 
[1] 153 6 

我想獲得

mtcars 
[1] 32 11 

airquality 
[1] 153 6 
+2

'setNames(對象= lapply(列表(mtcars,airquality)指定inherits = TRUE,暗),納米= C (「mtcars」,「airquality」))' –

+2

它就像開始於一個名單列表一樣簡單'list(mtcars = mtcars,airquality = airquality)' –

回答

2

我們可以使用mget,以返回list字符串對象的價值,這也將namelist元素

lapply(mget(c("mtcars", "airquality")), dim) 
#$mtcars 
#[1] 32 11 

#$airquality 
#[1] 153 6 

如果數據尚未裝載通過調用

data(mtcars) 
data(airquality) 

然後即,我們在mget

lapply(mget(c("mtcars", "airquality"), inherits = TRUE), dim) 
+0

當我運行你的代碼時,我得到以下錯誤:'Error:value for 'mtcars'找不到' – Daniel

+1

@Daniel我想你沒有使用'data(mtcars)'加載數據。一個選項是'inherits = TRUE' – akrun

相關問題