所以我们通常会对每个 R 新用户说:“apply 不是矢量化的,查看 Patrick Burns 的R Inferno 第四部分圆圈”,其中说道(我引用): 一个常见的反应是在 apply 函数族中使用函数。 这不是矢量化,它是循环隐藏。apply 函数在其定义中有一个 for 循环。...
我想在一个数据框上使用apply函数,但只想对最后的5列应用该函数。B<- by(wifi,(wifi$Room),FUN=function(y){apply(y, 2, A)}) 这适用于y的所有列B<- by(wifi,(wifi$Room),FUN=function(y){a...
Math.max.apply() 如何工作?<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>JS Bin</title> </head> ...
我有一个带有时间索引的数据帧,包含三列,每列都包含三维向量的坐标: x y z ts 2014-05-15 10:38 0.120117 0.987305 0.1...
我知道在R中循环很慢,所以我应该尽量使用向量化的方式来处理。 但是,为什么呢?为什么循环很慢而apply很快?apply会调用多个子函数--这看起来并不快。 更新: 对不起,这个问题问得不够清楚。我把向量化和apply混淆了。我的问题应该是: "为什么向量化更快?"
我如何将下面的函数概括为接受N个参数?(使用call或apply?) 是否有一种编程方式可以将参数应用于“new”?我不希望构造函数被视为普通函数。/** * This higher level function takes a constructor and arguments * a...
文档说明: vapply 类似于 sapply,但它有一个预先指定的返回值类型,因此使用起来可以更安全[...]。 您能详细说明一下为什么通常更安全,可能提供例子吗? P.S.: 我知道答案,我已经倾向于避免使用 sapply。我只是希望在SO上有一个好的答案,这样我就可以引...