sapply

列表并非总是存储结果的最佳容器。有时,我们希望将结果放在一个向量或者矩阵中。
sapply( )函数可以根据结果的结构将其合理简化。
假设,我们将平方运算应用到 1:10 的每个元素上。如果使用 lapply( ),返回的结
果就是一个包含平方数的列表。实际上,结果列表的所有成分都是一个单值数值向量,所
以列表形式的结果就显得笨重而冗长。因此,我们可能希望以向量形式返回同样的结果:
sapply(1:10, function(i) i ^ 2)
## [1] 1 4 9 16 25 36 49 64 81 100
如果函数每次循环都返回一个多元素的向量,sapply()会将结果存储在一个矩阵中,
矩阵的每一列即为每次循环产生的向量:
sapply(1:10, function(i) c(i, i ^ 2))
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 2 3 4 5 6 7 8 9 10
## [2,] 1 4 9 16 25 36 49 64 81 100

posted @ 2019-01-22 11:16  NAVYSUMMER  阅读(510)  评论(0编辑  收藏  举报
交流群 编程书籍