浅谈sapply在R中的应用
关于R中的Sappy,我有一个简单的新手问题。我的问题是关于这里发生了什么:浅谈sapply在R中的应用,r,sapply,R,Sapply,关于R中的Sappy,我有一个简单的新手问题。我的问题是关于这里发生了什么: > sapply(1:5,function(x) matrix(x,2,2)) [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 [2,] 1 2 3 4 5 [3,] 1 2 3 4 5 [4,] 1 2 3 4 5 起初,我认为对Sappy的调用将返
> sapply(1:5,function(x) matrix(x,2,2))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 1 2 3 4 5
[3,] 1 2 3 4 5
[4,] 1 2 3 4 5
起初,我认为对Sappy的调用将返回一个五元素列表,其中每个元素都是一个2x2矩阵,每个矩阵中的元素值等于传递给Sappy的序列中的一个值。我现在明白了这正是Lappy在这里要做的,我明白了为什么——Lappy返回了一个列表,而sapply没有。但是sapply怎么知道这样组合价值观呢?也就是说,是什么导致它创建一个4x5矩阵作为其返回值?也许我要问的是,“简化”lappy的返回值意味着什么?感谢所有人提供的帮助。
sapply
简化为最简单的形式。矩阵只是一个有维度的向量,所以它的最低形式是一个向量(这里长度为4-尝试剥离矩阵的维度`DIM还可以查看Simple2Array(列表(矩阵(1,2,2),矩阵(2,2)),higher=TRUE)
和Simple2Array(列表(矩阵(1,2,2),矩阵(2,2)),higher=FALSE)的结果)
,最后一个基本上是此操作的基础代码。指定simplify=FALSE
,您将获得与lappy
一起显示的行为。啊…5个长度为4的向量。当然。完全有意义。非常感谢。