2017-07-31 64 views
0

我的問題是我有一個帶有子列表的列表,我想要獲取每個子列表的尾部,但這些應該是不同的大小。從子列表中獲取不同長度的尾巴

例如,我想獲得長度的尾部N = 10子列表爲子列表b(見下面的代碼)一個和長度的尾部N = 5。如何最好地做到這一點?

myList中< - 列表(列表(=複製(10,RNORM(20)),B =複製(10,RNORM(10))))

回答

0

像這樣:

myTail <- c(10, 5) 
lapply(1:length(myTail), function(x) tail(unlist(myList[[1]][x]), myTail[x])) 
0

我已更改您的列表創建查詢。請看一看。

myList <- list(a=replicate(10, rnorm(20)), b=replicate(10, rnorm(10))) 
lapply(myList, tail, 1) 
+0

謝謝盧卡。這有助於。我環顧四周,發現了一個咕嚕聲功能(map2),這使得它更容易做到。我會將其添加到尋找類似解決方案的任何人的利益中 – user2633313

0

我環顧四周,使用包purrr

庫(purrr)

myList中<發現此解決方案 - 列表(=複製(10,RNORM(20)),B =複製(10,RNORM(10)))

尾< - 列表(10,5)

MyTail < - MAP2(myList中,尾,tail

感謝您的建議!