Introduction
-
语言风格:很多r包是数据科学家和统计学家自己为了完成某个算法单独编写的
- 需要配置两部分的内容,一是自身的语言安装包,从官网下载;二是对应的IDE(集成开发环境),python我用anaconda,R用Rstudio。
- 包管理。两种语言本身只提供了基本功能,许多优秀的功能都需要安装第三方扩展包(packages)来实现。
- python使用pip包管理器可以实现第三方包的安装、更新或卸载;注意windows下pip是在cmd下运行的,而非python的命令中执行。
- R语言的包管理更为先进(没感觉,感觉更麻烦),是本身语言的一部分(python也是可以集成进去的)。
- 包加载。安装完包后,每次调用前,两种语言都需要先对其进行加载。
- Python。import xx导入模块对于模块中的函数,每次调用需要“模块.函数”来用。from xx import fun 直接导入模块中某函数,直接fun()就可用。最好大法:from xx import * 该模块中所有函数可以直接使用。
- R语言使用library(packagename)。注意前者不带括号,后者带括号。在整个分析流程中,往往需要用到多种不同的包,每次加载都很麻烦。这里强推tidyverse,它是一个集成的系统包,里面包含了众多用作数据处理分析的library,并且持续更新中。简而言之,每次开始数据分析任务之前,只需要导入这样一个library,就可以高效的开始各种数据处理和图像化。
- 编程注意事项;
- 数据和路径中不要使用中文字符;
- 自定义变量不要与自带的函数相冲突,例如data,means等等。
- 注意区分大小写
R packages
- 逻辑核心:对于Python和R,编写程序的逻辑无非为:载入所需包(load)——导入(input)数据——处理数据(processing)——导出和保存数据处理结果(output)。
- Python和R的包可以相互调用。
帮助,查询和安装
- 要寻找所需要的包,可以通过Linux的Synaptic图形界面包管理工具搜索R和CRAN即可。或者到查看。
- R包查询网站:https://www.rdocumentation.org/
- 如Introduction所述,R语言内置了包管理函数:
- install.packages(“name”),安装名称为name的软件包;
- installed.packages(),显示当前环境中安装的软件包,包含详细信息;
- library(),显示当前安装的包的简要列表;
- old.packages(),检查CRAN上是否有已安装包的最新版本;
- update.packages(),更新已安装包的最新版本;
- remove. packages(c(“pkg1”,”pkg2”) , lib = file .path(“path”, “to”, “library”)),删除指定的软件包。
- 帮助,help(“函数名”),或?函数名
Input and output (IO)
- 设置工作目录:
setwd("c:/myfiles") # use / or \\ to separate directories under Windows (\\ becomes \ once processed through the escape character mechanism)
- 加载语句
source("myfile.R") # load and execute a script of R commands
- 数据导入:rio。全能IO(input and output)包,SPSS Excel等等通吃。详见 https://cran.r-project.org/web/packages/rio/index.html
数据整理:
- tidyr。tidyr是reshape2(2010-2014)和reshape(2005-2010)的进化版,作者都是Hadley Wickham。该包内常用的函数有:
- gather(): 将宽数据转为长数据, 类似于reshape2包中的melt()函数;
- spread(): 将长数据转为宽数据, 类似于reshape2包中的cast()函数;
- unit(): 将多列合并为一列;
- separate(): 将一列分离为多列.
- dplyr - 必备的数据处理工具,可以对数据集做subset, summarize, rearrange, join等处理2.
数据可视化
- ggplot2 - R中最著名的可视化工具包
- ggvis - 一个可以做基于web的交互可视化工具包
- rgl - 在R中做3D交互可视化
数据建模
- car - 做方差分析
- mgcv - 调用广义相加模型
- lme4 / nlme - 调用线性/非线性混合效应模型
- ** R: Generalized Additive Models**广义相加模型,简单的非线性模型都可以归纳在广义相加模型之下。
- rendomForest - 调用机器学习中的随机森林模型
- multcomp - 做多重比较分析
- vcd - 实现分类数据做可视化及测试
- glmnet - 调用Laso and elastic-net回归模型及交叉检验
- survival - 做生存分析
- caret - 训练回归/分类模型的工具包
tidyverse
最后,强烈推荐tidyverse,这个包涵盖了数据分析和画图常用的包,一个顶多个:
- dplyr and tidyr
- ggplot2
心理学统计和汇报
- psycho.R,不关注统计,而是构建统计和心理学成果之间的桥梁。
- report 输入统计结果变量,直接输出统计的文字汇报。
- rstatix do ANOVA better than lmerTest 简单易用,报表漂亮
- bruceR:数据分析的三头六臂
其他
- R交互式学习包,。
- R Shiny,用R做交互可视化的web应用
- R Makdown - 用R做数据分析报告的必备工具
- bruceR:数据分析的三头六臂
教程
参考
- Python & R数据分析常用包 https://segmentfault.com/a/1190000005041649
- ffmpeg 安装: https://zh.wikihow.com/%E5%9C%A8Windows%E4%B8%8A%E5%AE%89%E8%A3%85FFmpeg%E7%A8%8B%E5%BA%8F 使用: http://blog.csdn.net/wangshuainan/article/details/77914508?fps=1&locationNum=4 http://www.linuxidc.com/Linux/2011-10/45125.htm
- Python pandas,https://www.jianshu.com/p/7764b6591cf5
- tidyverse http://www.sohu.com/a/194197656_466874
- R 通道符 http://blog.fens.me/r-magrittr/
- 与心理学数据分析相关的R工具包,https://zhuanlan.zhihu.com/p/26853983