从子列表中获取不同长度的尾部
Obtaining the tails of different lengths from sub-lists
我的问题是我有一个包含子列表的列表,我想获取每个子列表的尾部,但它们的大小应该不同。
例如,我想得到子列表 a 长度为 n=10 的尾部和子列表 [=16] 长度为 n=5 的尾部=]b(见下面的代码)。如何最好地做到这一点?
myList <- list(list(a=replicate(10, rnorm(20)), b=replicate(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 包的解决方案
图书馆(呼噜声)
myList <- list(a=replicate(10, rnorm(20)), b=replicate(10, rnorm(10)))
尾部 <- 列表(10, 5)
MyTail <- map2(myList, Tail, tail
)
感谢您的建议!
我的问题是我有一个包含子列表的列表,我想获取每个子列表的尾部,但它们的大小应该不同。
例如,我想得到子列表 a 长度为 n=10 的尾部和子列表 [=16] 长度为 n=5 的尾部=]b(见下面的代码)。如何最好地做到这一点?
myList <- list(list(a=replicate(10, rnorm(20)), b=replicate(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 包的解决方案
图书馆(呼噜声)
myList <- list(a=replicate(10, rnorm(20)), b=replicate(10, rnorm(10)))
尾部 <- 列表(10, 5)
MyTail <- map2(myList, Tail, tail
)
感谢您的建议!