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:http://weibo.com/1459604443/A3x1VtIQn,不懂牛顿法也没关系。

报告与可视化:

  • knitr/slidify:knitr是

    的代表作。做报告、幻灯片 so easy,但是slidify的作者不喜欢写文档,所以很头疼。

  • shiny:用R生成Web App,后端强劲接口统一。例如:https://hetong.shinyapps.io/imgsvd
  • 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

R 中的哪些命令或者包让你相见恨晚?--转载知乎的更多相关文章

  1. 在win+r中常用的命令

    cmd打开命令提示符 regedit打开注册表 gpedit.msc组策略 services.msc打开服务列表 msconfig系统配置(可以设置开机自启动) compmgmt.msc 计算机管理 ...

  2. R中的常用命令(持续更新)

    (1)工作环境 #Ctrl+L键:清屏#Ctrl+Shift+C键:注释.取消注释(仅在RStudio中)(可以多行) rm(变量) #清除某变量 ls() #列出内存中的变量 rm(list=ls( ...

  3. 在R中运行Shell命令脚本(Call shell commands from R)

    aaa.R Args <- commandArgs()cat("Args[1]=",Args[1],"\n")cat("Args[2]=&quo ...

  4. R中的路径设置

    软件的路径设置对于电脑的内存管理和自己的寻根究底十分重要.所以,合理的设置R中相关路径,能更加方便快捷的管理自己的相关文件,提高学习R语言的效率,建立自己的习惯体系. R中的路径设置主要有以下几个方面 ...

  5. R中读取EXCEL 数据的方法

    最近初学R语言,在R语言读入EXCEL数据格式文件的问题上遇到了困难,经过在网上搜索解决了这一问题,下面归纳几种方法,供大家分享: 第一:R中读取excel文件中的数据的路径: 假定在您的电脑有一个e ...

  6. (数据科学学习手札58)在R中处理有缺失值数据的高级方法

    一.简介 在实际工作中,遇到数据中带有缺失值是非常常见的现象,简单粗暴的做法如直接删除包含缺失值的记录.删除缺失值比例过大的变量.用0填充缺失值等,但这些做法会很大程度上影响原始数据的分布或者浪费来之 ...

  7. 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包)

    目录 在 R 中估计 GARCH 参数存在的问题(基于 rugarch 包) 导论 rugarch 简介 指定一个 \(\text{GARCH}(1, 1)\) 模型 模拟一个 GARCH 过程 拟合 ...

  8. 【转载】R中有关数据挖掘的包

    下面列出了可用于数据挖掘的R包和函数的集合.其中一些不是专门为了数据挖掘而开发,但数据挖掘过程中这些包能帮我们不少忙,所以也包含进来. 1.聚类 常用的包: fpc,cluster,pvclust,m ...

  9. [转] linux中常用的命令

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

随机推荐

  1. 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活--hdu2191(多重背包模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 标准的多重背包 题目 有N种物品和一个容量为V的背包.第i种物品最多有n[i]件可用,每件费用是 ...

  2. 12.Project Fields to Return from Query-官方文档摘录

    1 插入例句 db.inventory.insertMany( [ { item: "journal", status: "A", size: { h: 14, ...

  3. 类的super

    我们经常在类的继承当中使用super(), 来调用父类中的方法.例如下面: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 class A:     def func(self):   ...

  4. Object-Detection中常用的概念解析

    常用的Region Proposal Selective Search Edge Boxes Softmax-loss softmax-loss层和softmax层计算大致是相同的,softmax是一 ...

  5. Linux df命令

    df命令用于查看磁盘的分区,磁盘已使用的空间,剩余的空间 1.用法 df [选项] [文件..] 2.命令选项 -a,--all 全部文件系统-h,--human-readable 以以合适的单位来显 ...

  6. phpcms 添加稿件到栏目 add_content

    private $db; private $content_model; public function __construct() { parent::__construct (); $this-& ...

  7. DataGird 相关

    DataGird控件          DataGirdView 控件    DataGird类  他们之间是什么关系??????? DataGridView 控件是替换 DataGrid 控件的新控 ...

  8. python全栈开发从入门到放弃之模块和包

    一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编 ...

  9. 什么是HotSpot VM

    学习并转载自https://www.cnblogs.com/charlesblc/p/5993804.html 提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJD ...

  10. Android开发环境配置到第一个程序所遇到的问题

    1.安装顺序 先jdk,最后是1.7或1.8吧,配置环境变量:然后是sdk,配置环境变量:sdk安装之后即可以通过SDK Manager进行其他包的安装. 2.sdk及其他包的安装,以一张图表示,对于 ...