我的问题是我有一个带有子列表的列表,我想要获取每个子列表的尾部,但这些应该是不同的大小。从子列表中获取不同长度的尾巴
例如,我想获得长度的尾部N = 10子列表为子列表b(见下面的代码)一个和长度的尾部N = 5。如何最好地做到这一点?
myList中< - 列表(列表(=复制(10,RNORM(20)),B =复制(10,RNORM(10))))
我的问题是我有一个带有子列表的列表,我想要获取每个子列表的尾部,但这些应该是不同的大小。从子列表中获取不同长度的尾巴
例如,我想获得长度的尾部N = 10子列表为子列表b(见下面的代码)一个和长度的尾部N = 5。如何最好地做到这一点?
myList中< - 列表(列表(=复制(10,RNORM(20)),B =复制(10,RNORM(10))))
像这样:
myTail <- c(10, 5)
lapply(1:length(myTail), function(x) tail(unlist(myList[[1]][x]), myTail[x]))
我已更改您的列表创建查询。请看一看。
myList <- list(a=replicate(10, rnorm(20)), b=replicate(10, rnorm(10)))
lapply(myList, tail, 1)
我环顾四周,使用包purrr
库(purrr)
myList中<发现此解决方案 - 列表(=复制(10,RNORM(20)),B =复制(10,RNORM(10)))
尾< - 列表(10,5)
MyTail < - MAP2(myList中,尾,tail
)
感谢您的建议!
谢谢卢卡。这有助于。我环顾四周,发现了一个咕噜声功能(map2),这使得它更容易做到。我会将其添加到寻找类似解决方案的任何人的利益中 – user2633313