我想让使用lapply()的位更优雅...(即一个衬里就好了),而不必之前设置功能。即是否有一个标准函数,我可以在其中使用[,c(1:4)]或类似的东西作为参数...

所以做一个可重复的例子...

x <- xts(matrix(rnorm(500*8),ncol=8),Sys.Date()-500:1)
x.m <- split(x,'months')


以下基本上只针对从拆分创建的列表的每个元素使用前4列,因此我必须创建一个函数来执行此操作,但是我希望它在某种程度上更加优雅...

ff <- function(xts.obj){xts.obj[,c(1:4)]}

g <- lapply(x.m, ff)


谢谢

最佳答案

[是一个函数

> args(xts:::`[.xts`)
function (x, i, j, drop = FALSE, which.i = FALSE, ...)
NULL


因此,您可以使用它。这些都可以做到。

lapply(x.m, '[', , c(1:4))
lapply(x.m, '[', j=c(1:4))

关于r - lapply和subset列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12612460/

10-12 20:22