上两次教程集中学习了R语言的基本知识,那么我们很多时候使用R语言是进行统计分析,因此对于生物信息学和统计科学来说,R语言提供了简单优雅的方式进行统计分析。教程参考《Rlearning》
3.1 描述性统计分析
3.1.1 载入数据集及summary函数
我们使用mtcars数据集,里面是一个不同信号汽车不同统计参数的矩阵:
data("mtcars")
coln <- c("mpg","hp","wt") #每加仑行驶数、马力、车重
mydata <- mtcars[coln]
head(mydata)
我们可以通过summary函数直接粗略查看一下各个列数据的统计值:
summary(mydata)
3.1.2 Hmisc包、pastect包、psych包
一些第三方包提供了优雅和快捷的统计分析,我们先安装及载入包:
install.packages("Hmisc")
install.packages("pastecs")
install.packages("psych")
library(Hmisc)
library(pastecs)
library(psych)
(1)Hmisc的describe函数计算描述性统计可以得到变量/观测值/缺失值/唯一值/及五个最大最小值/各分位数等详细信息
Hmisc::describe(mydata)
(2)pastecs包的stat.desc()函数计算复杂多样描述性统计量:
stat.desc(mydata)
(3)psych包的describe函数提供值域、偏度、峰度、标准误等信息:
psych::describe(mydata)
大家可以根据不同的需求选择不同的包实现简单统计计算。
3.1.3 分组统计计算
在我们的很多统计分析中,变量是由很多不同组的数据组成的,因此不分组直接进行计算是不正确的,因此我们可以对不同组的描述性变量进行统计分析。我们的数据集中,有一个变量am是自动手动挡的分类变量,我们用这个变量进行演示:
(1)使用doBy包的summaryBy函数分组:
install.packages("doBy")
library(doBy)
doBy::summary_by(mpg+hp+wt~am,data = mtcars)
(2)psych包分组计算:
psych::describeBy(mydata,list(am=mtcars$am))
这样得到的分组统计信息是更详细的
3.2 频数表和列联表
对于非连续型变量&#x