Introduction

  • 语言风格:很多r包是数据科学家和统计学家自己为了完成某个算法单独编写的

  • 需要配置两部分的内容,一是自身的语言安装包,从官网下载;二是对应的IDE(集成开发环境),python我用anaconda,R用Rstudio。
  • 包管理。两种语言本身只提供了基本功能,许多优秀的功能都需要安装第三方扩展包(packages)来实现。
    1. python使用pip包管理器可以实现第三方包的安装、更新或卸载;注意windows下pip是在cmd下运行的,而非python的命令中执行。
    2. R语言的包管理更为先进(没感觉,感觉更麻烦),是本身语言的一部分(python也是可以集成进去的)。
  • 包加载。安装完包后,每次调用前,两种语言都需要先对其进行加载。
    1. Python。import xx导入模块对于模块中的函数,每次调用需要“模块.函数”来用。from xx import fun 直接导入模块中某函数,直接fun()就可用。最好大法:from xx import * 该模块中所有函数可以直接使用。
    2. R语言使用library(packagename)。注意前者不带括号,后者带括号。在整个分析流程中,往往需要用到多种不同的包,每次加载都很麻烦。这里强推tidyverse,它是一个集成的系统包,里面包含了众多用作数据处理分析的library,并且持续更新中。简而言之,每次开始数据分析任务之前,只需要导入这样一个library,就可以高效的开始各种数据处理和图像化。
  • 编程注意事项;
    1. 数据和路径中不要使用中文字符;
    2. 自定义变量不要与自带的函数相冲突,例如data,means等等。
    3. 注意区分大小写

R packages

  • 逻辑核心:对于Python和R,编写程序的逻辑无非为:载入所需包(load)——导入(input)数据——处理数据(processing)——导出和保存数据处理结果(output)。
  • Python和R的包可以相互调用。

帮助,查询和安装

  • 要寻找所需要的包,可以通过Linux的Synaptic图形界面包管理工具搜索R和CRAN即可。或者到R的官网查看。
  • 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

数据整理:

  1. tidyr。tidyr是reshape2(2010-2014)和reshape(2005-2010)的进化版,作者都是Hadley Wickham。该包内常用的函数有:
    1. gather(): 将宽数据转为长数据, 类似于reshape2包中的melt()函数;
    2. spread(): 将长数据转为宽数据, 类似于reshape2包中的cast()函数;
    3. unit(): 将多列合并为一列;
    4. separate(): 将一列分离为多列.
  2. 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,这个包涵盖了数据分析和画图常用的包,一个顶多个:

  1. dplyr and tidyr
  2. ggplot2

心理学统计和汇报

  1. psycho.R,不关注统计,而是构建统计和心理学成果之间的桥梁。
  2. report 输入统计结果变量,直接输出统计的文字汇报。
  3. rstatix do ANOVA better than lmerTest 简单易用,报表漂亮
  4. bruceR:数据分析的三头六臂

其他

教程

  1. R语言数据处理全流程教学

参考

  1. Python & R数据分析常用包 https://segmentfault.com/a/1190000005041649
  2. 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
  3. Python pandas,https://www.jianshu.com/p/7764b6591cf5
  4. tidyverse http://www.sohu.com/a/194197656_466874
  5. R 通道符 http://blog.fens.me/r-magrittr/
  6. 与心理学数据分析相关的R工具包,https://zhuanlan.zhihu.com/p/26853983