• R 中的哪些命令或者包让你相见恨晚?--转载知乎


    https://www.zhihu.com/question/24501195

    节选:

    看了这么多答案,觉得 Hadley Wickhamhad.co.nz 在R使用者的地位好高啊。其实我也觉得Hadley的每个包都很好用,尤其是CRAN - Package plyr(他写的包中,这个接触得比较晚,所以感觉更加相见恨晚)。其他作者的包有:


    作者:知乎用户
    链接:https://www.zhihu.com/question/24501195/answer/28231496
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
    作者:TomHall
    链接:https://www.zhihu.com/question/24501195/answer/28241241
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    分析与建模:
    • Matrix包:先进的稀疏矩阵处理,不了解稀疏矩阵概念的时候内存占用和运行速度都不忍直视。
    • Reshape2/ddply:数据处理不用愁。
    • *apply系列:比for更好用的函数,其中tapply远不如lapply流行,但是实用程度不在其下。实际上lapply有没有变快得看各人的实现,因为虽然lapply调用了C实现,但是它还是要回头调用在R里用户定义的函数才能做计算,这个函数速度如何才是关键。
    • compiler包:即使代码里有for也可以加速。
    • foreach:通用的并行接口,跨平台多功能。
    • lubridate:处理时间日期格式不求人。
    • gbm:效果和randomForest相近,但是占用内存很少很幸福,而且支持多核 CrossValidation 运算。
    • stats::optim():做优化的最傻瓜选择。不信看这个三行R代码做出SVM:,不懂牛顿法也没关系。

    报告与可视化:
    • knitr/slidify:knitr是 的代表作。做报告、幻灯片 so easy,但是slidify的作者不喜欢写文档,所以很头疼。
    • shiny:用R生成Web App,后端强劲接口统一。例如:
    • recharts:在R中方便快捷地生成可交互图形,再也不用从R换到js了。

    其他:
    • devtools::install_github():脱离CRAN强权统治,Github让世界更美好。
    • base::match():很多情况下比which,is.element不知高到哪里去了。
    • utils::read.table():设置nrows能提前分配内存,设置comment.char=""与colClasses更能加快读入。
    • OpenBLAS库:虽然不是R包,但是多核CPU上对矩阵运算的加速效果实在是太方便明显了,而且Ubuntu上安装方便,并不需要重新编译R。
    • 定义启动项:如果对stringsAsFactors永远默认为TRUE深痛恶觉,可以修改Rprofile.site文件,加上每次启动都自动运行的命令。 在评论中提到:定义启动项比较危险,不注意的话会使得代码的可移植性出现问题哦,放到别人电脑上一运行发现各种factor。
    • 升级R包:R的版本更迭之后,可以把老R包复制到新版本的library目录下,然后运行 update.packages(checkBuilt=TRUE, ask=FALSE) ,这是官方的提示,放在FAQ里,不知道有多少人留意了:R for Windows FAQ
  • 相关阅读:
    线程池参数详解
    线程池各个参数详解以及如何自定义线程池
    fastdfs 安装
    SQL 执行顺序
    《SQL 进阶教程》 查找局部不一致的数据
    redis 高性能的原因
    一致性hash
    环境部署数据库报错
    redis 常用命令
    redis 高级学习和应用场景
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/7505835.html
Copyright © 2020-2023  润新知