lapply中的函数调用

时间:2019-02-28 16:22:05

标签: r lapply

我是R的相对新手,并且已经在多个矩阵上反复执行功能。最近,我开始使用lapply简化编码。

因此,我现在有一个包含六个矩阵的列表,每个矩阵具有相同的维数。我已经成功构建了自己的函数并将其应用于矩阵:

matrixlist.new <- lapply(matrixlist.old,Mycustomfunction)

但是,尽管阅读了有关该主题的内容,但我仍在努力使一个简单的现有R函数在lapply中工作。

我现在的具体问题是,我想将每个矩阵的第三列中的最大值提取到一个新列表中,该列表中的每个原始矩阵中的每个矩阵都有一个值。

如果我有一个矩阵,代码将是:

maxofcol3 <- max(matrix[,3])

但是我如何将这个简单的函数组合到lapply中而不将这个简单的代码变成一个自定义函数(我可以做,但是看来这不是最简单的方法)?

我尝试了各种各样的组合,但是无法解决这个问题……

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

因为我们喜欢可复制的示例...

matrixlist.old <- rep(list(matrix(data=rnorm(9),3)),times=3)

lapply(matrixlist.old,function(x) max(x[,3]))
#> [[1]]
#> [1] 0.828354
#> 
#> [[2]]
#> [1] 0.828354
#> 
#> [[3]]
#> [1] 0.828354

sapply(matrixlist.old,function(x) max(x[,3]))
#> [1] 0.828354 0.828354 0.828354

由reprex软件包(v0.2.1)创建于2019-02-28