R中五种常用的统计分析方法

来源:互联网 发布:猎人同人知之四时蝶 编辑:程序博客网 时间:2024/06/05 20:52

1、分组分析aggregation

根据分组字段,将分析对象划分为不同的部分,以进行对比分析各组之间差异性的一种分析方法。
常用统计指标:
计数 length
求和 sum 
平均值 mean
标准差 var
方差 sd
分组统计函数
aggregate(分组表达式,data=需要分组的数据框,function=统计函数)
参数说明
formula:分组表达式,格式:统计列~分组列1+分组列2+...
data=需要分组的数据框
function:统计函数

aggregate(name ~ class, data=data, FUN=length);#求和aggregate(score ~ class, data=data, FUN=sum);#均值aggregate(score ~ class, data=data, FUN=mean);#方差aggregate(score ~ class, data=data, FUN=var);#标准差aggregate(score ~ class, data=data, FUN=sd)

2、分布分析cut

根据分析目的,将数据(定量数据)进行等距或者不等距的分组,进行研究各组分布规律的一种分析方法。

分组函数

cut(data,breaks,labels,right)

参数说明

data=需要分组的一列数据

breaks=分组条件,如果是一个数字,那么将平均分组;如果是一个数组,那么将按照指定范围分组

labels:分组标签

right:指定范围是否右闭合,默认为右闭合,right参数为TRUE

用户明细 <- read.csv('data.csv', stringsAsFactors=FALSE)head(用户明细)breaks <- c(min(用户明细$年龄)-1, 20, 30, 40, max(用户明细$年龄)+1)年龄分组 <- cut(用户明细$年龄, breaks = breaks)用户明细[, '年龄分组1'] <- 年龄分组年龄分组 <- cut(用户明细$年龄, breaks = breaks, right = FALSE)用户明细[, '年龄分组2'] <- 年龄分组labels <- c('20岁以及以下', '21岁到30岁', '31岁到40岁', '41岁以上');年龄分组 <- cut(用户明细$年龄, breaks = breaks, labels = labels)用户明细[, '年龄分组'] <- 年龄分组head(用户明细)aggregate(formula=用户ID ~ 年龄分组, data=用户明细, FUN=length)

3、交叉分析tapply(相当于excel里的数据透视表)

通常用于分析两个或两个以上,分组变量之间的关系,以交叉表形式进行变量间关系的对比分析;

交叉分析的原理就是从数据的不同维度,综合进行分组细分,以进一步了解数据的构成、分布特征。

交叉分析函数:

tapply(统计向量,list(数据透视表中的行,数据透视变中的列),FUN=统计函数)

返回值说明:

一个table类型的统计量

breaks <- c(min(用户明细$年龄)-1, 20, 30, 40, max(用户明细$年龄)+1)

labels <- c('20岁以及以下', '21岁到30岁', '31岁到40岁', '41岁以上');年龄分组 <- cut(用户明细$年龄, breaks = breaks, labels = labels)用户明细[, '年龄分组'] <- 年龄分组head(用户明细)tapply(用户明细$用户ID, list(用户明细$年龄分组, 用户明细$性别), FUN=length)

4、结构分析prop.table

是在分组的基础上,计算各组成部分所占的比重,进而分析总体内部特征的一种分析方法。

for example:资产占有率就是一个非常经典的运用

统计占比函数

prop.table(table,margin=NULL)

参数说明:

table,使用tapply函数统计得到的分组计数或求和结果

margin,占比统计方式,具体参数如下:

属性 注释

1 按行统计占比

2 按列统计占比

NULL 按整体统计占比

data <- read.csv('data.csv', stringsAsFactors=FALSE);

head(data)t <- tapply(data$月消费.元., list(data$通信品牌), sum)tprop.table(t);t <- tapply(data$月消费.元., list(data$通信品牌), mean)tprop.table(t);t <- tapply(data$月消费.元., list(data$省份, data$通信品牌), sum)tprop.table(t, margin = 2)

5、相关分析prop.table

是研究现象之间是否存在某种依存关系,并对具体有依存关系的现象探讨其相关方向以及相关程度,是研究随机变量之间的相关关系的一种统计方法。

相关系数r 可以用来描述定量变量之间的关系

相关分析函数:

cor(向量1,向量2,...)返回值:table类型的统计量

data <- read.csv('data.csv', fileEncoding = "UTF-8");cor(data[, 2:7])






原创粉丝点击