下面介绍四个案列,来讲解基本的统计学知识和剖面指数和期望值

第一个是分析男女对不同饮料的倾向

R语言编程案例 r语言案例分析_子类

#设置工作路径
setwd("D:\\数据分析\\R语言基础")
Lst<-scan("drink.data",what=list("sex","type"))
#table统计频数
a<-table(Lst)
margin.table(a,1)
prop.table(a,1)

R语言编程案例 r语言案例分析_语言基础_02


table函数是不是有点熟悉呢,在文章R语言的数据对象就曾经详细介绍过table函数和margin.table和prop.table函数

从margin函数统计中,可以看出男的数量是23,女性的数量是27。

prop函数统计中,男生更偏爱绿茶和矿泉水

女生更偏爱于碳酸饮料和其他

因为男生女生数量不一致,所以纵向对比没有意义

今天分析的数据量比较小,可能不具有代表性,甚至可能是错误的。但是只是简单介绍一下分析的方法和思路。结果不重要

分析初生儿体重

R语言编程案例 r语言案例分析_语言基础_03

#转化为kg
a<-scan("birth.data")/1000
#cut函数,设置区间段
table(cut(a,breaks=10))
table(cut(a,breaks=c(-Inf,0.5,1.5,2.5,3.5,4.5,5.5,6.5,Inf))

R语言编程案例 r语言案例分析_R语言编程案例_04


从图中可以看出新生儿体重大都集中在2.51——4.06这一范围的区间段,如果数据量大的话,依照如图的研究方法,可以确定出正常婴儿的体重范围。剖面指数

问题背景:在某产品中随机抽取各年龄层,各收入段的人,请利用统计学知识找到对产品贡献最大的人(即产品的主要用户)?

R语言编程案例 r语言案例分析_子类_05


如何才能合理可靠的找出这一群体呢?这里需要我们利用统计学知识,剖面指数的概念。

在我理解中,剖面指数反映某一群体某一特质的偏离程度。比如问题中的18-24岁的高收入人群,它的样本数占总样本数的 25%。也就是说25%是这个人群的平均水平,如果18-24岁的高收入人群占总高收入人群的25%,它表示的是高收入人群对产品的关注为平均水平,如果高于25%,它表明高收入人群对产品的关注度高,

低于25%,表面高收入人群对产品的关注度低。

#构造数据框
xx<-read.table("clipboard")
x1<-scan("clipboard",what="")
xx2<-scan("clipboard",what="")
#给名字
xx<-as.matrix(xx)
dimnames(xx)<-list(x2,x1)
#transform函数
xx<-transform(xx,统计数=高+中+低)
#计算子类别
xx_prop<-prop.table(as.matrix(xx[-1,]),2)
#计算剖面指数
xx_a<-apply(xx_prop[,-4],2,function(x) x/xx_prop[,4])

R语言编程案例 r语言案例分析_子类_06


结果显示25-34岁的高收入和50-65的低收入人群对产品关注程度高。这对我们产品的改进,研发,销售起了标志性作用,我们的销售人员可以针对这两个年龄段的人制定相应的营销活动,我们同样需要思考,为什么是这两个年龄段的人群关注产品?这两个类别的人群有什么相似的共性吗?算期望

背景:根据市场对牙膏公司和效用的调查,请用统计学知识分析出哪些效用是真的有效,哪些是虚假效用

R语言编程案例 r语言案例分析_数据分析_07


如何判断效用的真假呢?

我的想法是用期望减去实际值来判断效用的真假。

#算期望
xy<-read.table("clipboard")
#公司平均
xy_c<-colMeans(xy)
#效用平均
xy_r<-rowMeans(xy)
z_m<-mean(as.matrix(xy))
#外积
xx_s<-xy_r %o% xy_c /z_m
#真实值减去期望
xx_a<-xy-xx_s

为什么要用这种方法呢?

在我的理解中

比如A品牌中,人们对效用的评价人数的多少决定着效用的真实性

例如A品牌,评价洁白的人数远小于评价其他效用的人数,

换句话说,洁白应该是虚假效用

那我索性用平均值求出每个品牌每个效用应该具有的值(即期望)

期望=(公司平均值/总平均值*效用平均值)

再用真实值减去期望值,就能直观的代表产品是否是虚假效用

效用

R语言编程案例 r语言案例分析_数据分析_08


直观可以看出A品牌的洁白效用是虚假效用

D品牌的使牙齿洁白是效果很好的。

利用期望,我们挑选牙膏就能更加针对性了。