为什么会有人选择apply(.,margin=2,.)
而不是sapply(.,.)
。
sapply(mtcars,sum)
apply(mtcars,2,sum)
第二个带有apply
的单词似乎很冗长。
使用margin = 2是否有更深层次的应用意识?
这是历史遗留物品,并且在sapply
之后定义/发明了apply
。
@Friendly helpers:(我明白了。)
m<-matrix(1:9,ncol=3)
sapply(m,sum)
apply(m,1,sum)
答案 0 :(得分:5)
您将apply
与矩阵(或更通常是数组)一起使用。它从未打算用于data.frames,但为了方便起见接受data.frames(和其他对象)作为输入(尽管在内部它立即应用as.matrix
)。
您完全正确,不应使用它来遍历data.frame列。但是,我通常会为此使用lapply
或vapply
(而不是sapply
)。