R中的内置函数通常是否经过优化?

Dom*_*bey 5 optimization r function

我有一些编写代码来计算R中的相关系数.但是,我发现'boot'包提供了一个corr()函数,它可以完成同样的工作.R中的内置函数通常比我们从头开始编写的等效函数更高效,更快吗?

谢谢.

Cha*_*ase 5

我认为这个问题没有一个具体的答案,因为它会根据您询问的具体功能而有很大差异.为方便起见,添加了贡献包中的一些函数,它们只是基本函数的包装器.添加其他内容以扩展基本功能或解决基本功能中的一些其他感知缺陷.您建议添加一些以改善计算时间或提高效率.还有一些是因为贡献软件包的作者认为基础R中的解决方案在某种程度上是错误的.

在的情况下,stats:::corboot:::corr,它看起来像后者增加了权重的能力.它看起来不一定更快:

> dat <- matrix(rnorm(1e6), ncol = 2)
> system.time(
+ cor(dat[, 1],dat[, 2])
+ )
   user  system elapsed 
   0.01    0.00    0.02 
> system.time(
+ corr(dat)
+ )
   user  system elapsed 
   0.11    0.00    0.11 
Run Code Online (Sandbox Code Playgroud)