热线电话:13121318867

登录
首页精彩阅读R中五种常用的统计分析方法
R中五种常用的统计分析方法
2018-02-23
收藏

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

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)  
    t  
    prop.table(t);  
      
    t <- tapply(data$月消费.元., list(data$通信品牌), mean)  
    t  
    prop.table(t);  
      
    t <- tapply(data$月消费.元., list(data$省份, data$通信品牌), sum)  
    t  
    prop.table(t, margin = 2)

5、相关分析prop.table

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

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

相关分析函数:

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

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

数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询