zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    PHP serialize() 函数
    PHP print_r() 函数
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/7505835.html
Copyright © 2011-2022 走看看