精华内容
下载资源
问答
  • 学习python库matplotlib之常见统计直方(histogram)(5)
    千次阅读
    2019-03-12 18:02:02

    直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。

    特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)

    1 直方图基本知识

    首先要对数据进行分组,然后统计每个分组内数据元的数量。 在坐标系中,横轴标出每个组的端点,纵轴表示频数,每个矩形的高代表对应的频数,称这样的统计图为频数分布直方图。

    • 组数:在统计数据时,我们把数据按照不同的范围分成几个组,分成的组的个数称为组数
    • 组距:每一组两个端点的差

    2 与柱状图对比

    • 柱状图是以矩形的长度表示每一组的频数或数量,其宽度(表示类别)则是固定的,利于较小的数据集分析
    • 直方图是以矩形的长度表示每一组的频数或数量,宽度则表示各组的组距,因此其高度与宽度均有意义,利于展示大量数据集的统计结果
    • 由于分组数据具有连续性,直方图的各矩形通常是连续排列,而柱状图则是分开排列

    3 直方图API - matplotlib.pyplot.hist()

    matplotlib.pyplot.hist(x, bins=10, range=None,normed=False, weights=None, cumulative=False,bottom=None, histtype=‘bar’, align=‘mid’,orientation=u’vertical’, rwidth=None, log=False,color=None, label=None, stacked=False, hold=None,**kwargs)

    • x: 一个列表或者多个列表(表示不同数据集,长度可以不一致)
    • range: 元组
    • weights: x里每个元素对bin高度的贡献(默认为1)
    • bottom: 数字或者长度为bins的列表
    • histtype: [‘bar’ | ‘barstacked’ | ‘step’ | ‘stepfilled’]
    • align: [‘left’ | ‘mid’ | ‘right’]
    • orientation: [‘horizontal’ | ‘vertical’]
    • rwidth: bar相对bin的宽度
    • color: 一种颜色或者颜色列表(针对不同数据集)

    4 绘制直方图

    def MyHist():
        """
        绘制直方图
        :return:
        """
        import matplotlib.pyplot as plt
        import matplotlib as mpl
        import numpy as np
        # 设置在jupyter中matplotlib的显示情况
        # % matplotlib inline
    
        # 解决中文显示问题
        mpl.rcParams['font.sans-serif'] = ['SimHei']
        mpl.rcParams['axes.unicode_minus'] = False
    
        # 展现出10000个随机数满足 平均值是100 标准差是15 呈现的一个正态分布曲线
        mu, sigma = 100, 15
        x = mu + sigma * np.random.randn(10000)
    
        plt.hist(x, 100, normed=1, facecolor='g', alpha=0.75)
    
        plt.title('直方图')
        plt.text(60, 0.025, r'$\mu=100,\sigma=15$')  # 添加文本
        plt.axis([40, 160, 0, 0.03])
        plt.grid(True)
        plt.show()
    
    MyHist()
    

    在这里插入图片描述

    5 直方图的应用场景

    • 用于表示分布情况
    • 通过直方图还可以观察和估计哪些数据比较集中,异常或者孤立的数据分布在何处

    例如:用户年龄分布,商品价格分布

    以上内容仅是代表个人总结 若有错误之处,还请批评指正,欢迎大家一起学习!

    更多相关内容
  • 之前我们使用matplotlib绘制了折线图,这一次我们试着绘制其它几种常用统计图。 先简单对比一下常用的统计图 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图 特点:能够显示数据的变化趋势,反映...

    上一节:数据分析——matplotlib(3)图片的基本操作

    matplotlib能够绘制折线图,散点图,柱状图,直方图,箱线图,饼图等。之前我们使用matplotlib绘制了折线图,这一次我们试着绘制其它几种常用统计图。

    先简单对比一下常用的统计图

    1. 折线图:以折线的上升或下降来表示统计数量的增减变化的统计图
      特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)

    2. 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量
      之间是否存在某种关联或总结坐标点的分布模式。
      特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

    3. 条形图:排列在工作表的列或行中的数据可以绘制到条形图中。
      特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)

    4. 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。
      一般用横轴表示数据范围,纵轴表示分布情况。
      特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)

    散点图

    方法:scatter(x,y)

    例:
    假如有某地三月、四月两组气温数据:
    [11,17,15,11,12,10,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,14,15,15,19,21,23,22,22,23] ,
    [25,26,28,19,21,17,16,20,18,20,20,19,22,23,17,20,21,20,22,16,11,15,5,13,17,10,11,14,12,13],
    请使用散点图进行展示。

    #绘制图形
    from matplotlib import pyplot as plt
    
    plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
    
    #设置图片
    plt.figure(figsize=(12,8),dpi=80)
    
    #绘制散点图
    
    #y轴
    march_y = [11,17,15,11,12,10,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,14,15,15,19,21,23,22,22,23] #三月气温
    april_y = [25,26,28,19,21,17,16,20,18,20,20,19,22,23,17,20,21,20,22,16,11,15,5,13,17,10,11,14,12,13] #四月气温
    
    #设置x轴
    march_x = range(1,32)
    april_x = range(41,71)
    
    #绘制散点图
    plt.scatter(march_x,march_y)
    plt.scatter(april_x,april_y)
    
    #展示
    plt.show()
    

    效果
    在这里插入图片描述
    完善

    #绘制散点图
    
    #y轴
    march_y = [11,17,15,11,12,10,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,14,15,15,19,21,23,22,22,23] #三月气温
    april_y = [25,26,28,19,21,17,16,20,18,20,20,19,22,23,17,20,21,20,22,16,11,15,5,13,17,10,11,14,12,13] #四月气温
    
    #设置x轴
    march_x = range(1,32)
    april_x = range(41,71)
    
    #绘制散点图
    plt.scatter(march_x,march_y,label='三月气温')
    plt.scatter(april_x,april_y,label='四月气温')
    
    #设置坐标刻度单位
    _x = list(march_x) + list(april_x)
    _xticks = ['三月{}日'.format(i) for i in march_x]
    _xticks += ['四月{}日'.format(i-40) for i in april_x]
    plt.xticks(_x[::3],_xticks[::3],rotation=45)
    
    #标题
    plt.title('某地区三、四月份气温变化图',fontsize=20)
    plt.xlabel('月份',fontsize=15)
    plt.ylabel('气温',fontsize=15)
    
    #图例
    plt.legend(loc='upper left')
    
    #展示
    plt.show()
    

    效果
    在这里插入图片描述

    条形图

    方法:竖条形图——bar(x,y)、横条形图——barh(x,y)

    例:
    假设你获取到了2017年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据?

    a = [“战狼2”,“速度与激情8”,“功夫瑜伽”,“西游伏妖篇”,“变形金刚5:最后的骑士”,“摔跤吧!爸爸”,“加勒比海盗5:死无对证”,“金刚:骷髅岛”,“极限特工:终极回归”,“生化危机6:终章”,“乘风破浪”,“神偷奶爸3”,“智取威虎山”,“大闹天竺”,“金刚狼3:殊死一战”,“蜘蛛侠:英雄归来”,“悟空传”,“银河护卫队2”,“情圣”,“新木乃伊”,]

    b=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23] 单位:亿

    #绘制条形图
    
    movie_name = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]
    
    box_office=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
    
    #标题
    plt.title('2017年电影票房统计')
    plt.xlabel('电影名称')
    plt.ylabel('票房')
    
    #绘制条形图
    #竖条形图,width:每一条宽度
    plt.bar(range(len(movie_name)),box_office,width=0.3)
    
    plt.xticks(range(len(movie_name)),movie_name,rotation=45)
    
    #展示
    plt.show()
    

    效果
    在这里插入图片描述
    这里可以看到,电影名因名称长度发生了错位,为了更加清晰准确的展示电影名,我们可以采用横条形图进行展示。

    #绘制条形图
    
    movie_name = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归","生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊",]
    
    box_office=[56.01,26.94,17.53,16.49,15.45,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]
    
    #标题
    plt.title('2017年电影票房统计')
    plt.xlabel('电影名称')
    plt.ylabel('票房')
    
    #绘制条形图
    #竖条形图,width:每一条宽度
    # plt.bar(range(len(movie_name)),box_office,width=0.3)
    #横条形图,height:每一条高度
    plt.barh(range(len(movie_name)),box_office,height=0.5)
    
    # plt.xticks(range(len(movie_name)),movie_name,rotation=45)
    plt.yticks(range(len(movie_name)),movie_name)
    
    #展示
    plt.show()
    

    效果
    在这里插入图片描述

    直方图

    方法:hist(原始数据,组数)
    那么,把原始数据分为多少组进行统计呢?(见下图)
    在这里插入图片描述
    例:

    #绘制直方图
    
    import random
    
    a = []
    for i in range(100):
        a.append(random.randint(0,99))
    
    #组距
    bin_width = 3
    
    #组数
    num_bins = (max(a) - min(a))//bin_width
    
    #绘制直方图
    plt.hist(a,num_bins)
    
    plt.xticks(range(min(a),max(a)+1)[::bin_width])
    
    plt.grid()
    plt.show()
    

    效果
    在这里插入图片描述
    上图可以看到,网格并没有对齐,这时候我们可以传入一个列表作为组数。

    #绘制直方图
    plt.hist(a,[min(a) + i*bin_width for i in range(num_bins+1)])
    

    效果
    在这里插入图片描述
    频率分布直方图

    #绘制直方图
    plt.hist(a,[min(a) + i*bin_width for i in range(num_bins)],normed=True) #normed/density:True时展示频率分布直方图
    

    效果
    在这里插入图片描述

    注意: 直方图只能展示未处理的原始数据,比如:5-12岁:100人,13-18岁:120人 这类处理好的数据是不能直接使用直方图的,但可以使用条形图。

    展开全文
  • R语言实战笔记–第六&七章 统计图形介绍及基本统计方法标签(空格分隔): R语言 箱线图 直方 t检验 Kruskal-Wallis检验 Friedman检验 R语言实战的第六章和第七章介绍了一些基本的统计图形(直方、条形、饼图...

    R语言实战笔记–第六&七章 统计图形介绍及基本统计方法

    标签(空格分隔): R语言 箱线图 直方图 t检验 Kruskal-Wallis检验 Friedman检验


      R语言实战的第六章和第七章介绍了一些基本的统计图形(直方图、条形图、饼图、核密度图、点图、箱线图)和基本的统计方法(描述性统计量,如均值、方差、标准差、最大/小值、四分位数等,具体可以看本人的数据统计的描述性统计部分的两章:统计量常用概率分布,列联表、简单相关、t检验、非参数检验)这些内容。
      笔记就是为了重点化书本的内容,所以,第六章重点是,知道这些图,知道这些图可以表达什么,知道这些图怎么做,OK~

    条形图
      barplot(数据框,beside=T/F,horiz=T/F,图形参数……)
      数据框的变量(字段)为横坐标,纵坐标为变量值,若只有一行数据,即各变量只有一个数据,则为条形图,若有多个数据时,beside控制是否分组,若为TURE则分组,若为FALSE(默认)即为堆积,horiz控制横排还是竖排条形图,具体见下图:
      这里写图片描述
      条形图的主要作用:普通条形图(只有一个数值)显示各变量之间的差异,方便对比;分组条形图,主要对比各组内各因素差异及组间各因素差异对比;堆积条形图,与分组条形图一样,但它能对各组间的总体情况作对比。
      另外,条形图的堆积条形图还有一条做法叫百分比堆积条形图,R语言实战叫棘状图,就是把各变量下各数据变成百分比,显示为组间各比例的变化,在vcd包中spine()函数可以制作,方法同条形图。
      
    饼图、扇图
      pie(数据向量/表格,图参……)
      饼图主要用于对数据中主要组成部分的描述,它不适用于较细致的比较,因为在1000份中,你分为240、250、250和260,其实看不出来差异,但在条形图中,它可以通过调整坐标轴的范围来突显其差异。
      plotrix包中有pie3D函数,可以画出3D饼图。
      扇图也在plotrix包中,函数为fan.plot(),知道函数是什么及其用法即可,R语言实战中也没有费大多的笔墨。
      
    直方图
      hist(数值型向量,breaks=分组数量,freq=T/F,图参……)
      breaks控制分组数据,若不显式指定,则自动根据数据设置,freq控制纵坐标值,T为频数,F为概率密度,直方图主要是显示连续型变量的分布,它把落在某个范围的数值分为一个组,然后把它们显示在图形上。注意,它显示的是范围,而不是某个点值!这也是连续型变量的特点。
      另外,有几个辅助直方图的函数,rug(数值型向量),数据值向量为建立直方图的向量,它会在已画出的直方图中加入轴须图,即在X轴下方画出一条条的竖线,看起来像须一样。jitter(数值型向量),加入噪声,主要是为了不让相同的数值重叠在一起,把它们分开一点有利于判断。

    核密度图
       density(数值型向量),若叠加在另一个图形上,使用lines(density(x)),若不叠加在另一个图形上,使用plot(density(x))。
       在sm包中,函数sm.density.compare(向量所在变量,分组因子)变量及因子的数据顺序必须成对。它能显示出各分组之间的密度曲线对比。
       
    箱线图
      boxplot(数值型向量,图参)
      boxplot(关系公式,data=数据框,图参),关系公式为:y~x1,两个交叉因子的时候为y~x1*x2。
      箱线图的转置和条形图的转置有点不一样,条形图是horiz,是缩写,但是箱线图的转置是全拼,horizontal。另外,还有两个专有参数:varwidth=TRUE,此参数会将各箱线图的宽度与其样本大小的平方分成正比;notch=TRUE可得到一个中间凹陷的箱线图,若两个箱不重叠,则表明中位数有显著差异。
      
    点图
      dotchart(数值型向量,groups=分组向量,gcolor=分组名称的颜色,color=各标签的颜色,图参)
      简单的说,点图其实相当于转置后的条形图,它把坐标标签放到纵轴,能排列更多的标签,且支持标签分组。
      
      这些常见的图形在日常的统计描述中非常常见,需要掌握它们的用法,也需要再次温习第三章图形初阶里面的参数设置,做出更好的图形,和混合图形。
      
      第七章就是基本的统计分析,一项项总结。
      
    描述性统计量
      可以参考描述性统计量一文,里面有基本的原理,这里不细说,主要的描述性统计量如下:
      mean(均值或期望):反映样本的平均水平,受极值影响较大;
      sd(标准差):反映样本的离散程度;
      var(方差):反映样本的离散程度,是标准差的平方,也是离差平方的均值;
      图基五数:min(最小值)、max(最大值)、1st Qu. (下四分位数, 也叫第1四分位数)、median(中位数)、3st Qu. (上四分位数,也叫第3四分位数);
      skewness(偏度):反映分布偏离中心的响度,即对称性;
      kurtosis(峰度):反映分布是尖的还是平的,与正态分布相比。
      还有其它,后续再介绍,R中计算这些数据的函数,包等等多种多样,用书中一句话就是“多得令人尴尬”。
      只简单说一下有那些包,那些函数就算了:

    函数返回结果
    basesummary图基五数
    basesapply自定义函数,sapply(var,FUN,options)
    Hmiscdescribe返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值
    pastecsstat.desc统计量一打,想得到的都有,想不到的都有
    psychdescribe上述描述的主要描述性统计量

      分组描述统计量,主要是如果的表中,分组信息是存在一个变量中,而不是变量名就是组名的时候,我们需要对它进行分组,主要函数两个:aggregate及by。
      用法相似,函数(数据列表,分组信息,统计函数)aggregate的分组信息必须用by=list(分组标签1=分组变量1,分组标签2=分组变量2),这样的方式进行,而by不用。
      我们也可以使用之前学过的数据整合重构方式(reshape包中的melt和cast两个函数)。此处不再细说。
      
    频数和列联表
      首先看一下重要的函数,它有助于我们对频数进行相关的处理分析:

    函数说明
    table(var1, var2, …, varN)使用 N 个类别型变量(因子)创建一个 N 维列联表
    xtabs(formula, data)根据一个公式和一个矩阵或数据框创建一个 N 维列联表
    prop.table(table, margins)依margins定义的边际列表将表中条目表示为分数形式
    margin.table(table, margins)依margins定义的边际列表计算表中条目的和
    addmargins(table, margins)将概述边margins(默认是求和结果)放入表中
    ftable(table)创建一个紧凑的“平铺”式列联表

      无论是创建一维、二维或多维列联表,我们都必须要理解维度的概念,这样才不会让自己陷入维度的无限纠结中,维度,从某方面来说,它是一种可以互相转化的层级关系
      
    独立性检验
      卡方独立性检验及Fhisher精确检验及Cochran-Mantel–Haenszel检验,
      卡方独立性检验:chisq.test(二维列联表或二维频数表自适应,即table得到的数据或xtabs得到的数据框都可以直接用于chisq.test中),得到三个数值:卡方值,自由度以及P值,若检验的数据中,至少有一个数小于5,还会显示一条警告信息(意为可能不准确),卡方检验的原假设为数据独立。而两个变量独立,即两个变量不相关(反过来不成立)。
      Fhisher检验:fisher.test(),与chisq.test一样。
      CMH检验:mantelhaen.test(),它检验的是在第三个变量(第三列),或talbe的列表第三维度的各水平下,其它两个变量的独立性,即条件独立,返回同样为3本值,卡方值、自由度及P值,它所起到的作用在于,若P值很小,则表明以第三变量划分后,第一第二变量仍然是具有一定关系的(即并不独立),假若以第三变量划分后,P值很大(p>0.05),则表明,你把相关因素划了出去(即划分为第三变量了),使到剩下的两个变量变得独立(即不相关),此方法可以用于检验多维变量时,各维度是否对相关具有显著的影响。
      
    相关性度量
      相关性,即一个从-1到0到1的数值,0为不相关,-1为负相关,1为正相关,即绝对值越接近1,相关性越强。相关分析分为Pearson、Spearman和Kendall相关三个,其中pearson积差相关系数为两个定量变量的线性相关程度,spearman等级相关系数为衡量分组定序变量之间的相关程度,Kendall’s Tau相关系数是一种非参数的等级相关度量。
      cor(x,use=,method=)可以计算这三个相关系数,只要在method参数中选择即可。其中use参数为指定缺失值的处理方式,具体看help。
      偏相关,在ggm包中的pcor(u,S)函数可以计算,u为检查变量(前两个)及控制变量(后面几个)的下标,S为协方差矩阵(可直接用cov得到),可以看一下例子:

    x<-mtcars[,c(1,2,3,4,5)]
    pcor(c(1,2,3,5),cov(x))
    

    这个例子的意思就是,把前面两个(即1,2列)作为待检相关性的变量,后面两个(即3,5两列)作为控制变量,在3,5两列的条件下进行相关性检验,若此时不相关(即独立)而整体相关,则控制变量中具有相关性的变量,需要逐个检验,但需要注意的是,若也相关,则不能断定控制变量中没有不相关的变量!需要分清哪个是小概率事件。

      相关系数的显著性检验:我们知道它相关了,但这个相关是否显著,或者说则否可信,这个是需要做显著性检验才能知道的。
      cor.test(x,y,alternative=,method=),能且只能检验两个变量的相关系数显著性,alternative可以为“two.side、less、greater”三个,分为双侧检验,左侧和右侧检验,method为前文所示的三种相关系数。
      psych包中的corr.test(数据框,use=,adjust=”none”)这个psych包更新了,导致跑出的结果死活和书上的不一样,原来是多了个修正方法,adjust这个默认为“holm”,把它改为none即可得到和书上的结果一致了。
      psych包还有一个pcor.test(r,q,n)用于检验偏相关系数的显著性,r为pcor得到的偏相关系数,q为控制变量数,n为样本大小
      psych包还有一个r.test()用于相关系数显著性检验相关,主要用于:某种相关系数的显著性;两个独立相关系数的差异是否显著;两个基于一个共享变量得到的非独立相关系数的差异是否显著;两个基于完全不同的变量得到的非独立相关系数的差异是否显著。
      
    t检验
      一般来说,t检验在样本的检验中使用得最多,z检验在样本数量较大的时候(>=45)的时候,t检验近似z检验。
      t检验的原理看假设检验一文,简单的说,t检验的用处就是看两个样本的均值是否在可信范围上(一般取95%)相等,以确定两个样本是否有明显差异。这里又分为独立样本和非独立样本。
      独立样本:t.test(y~x,data)或t.test(y1,y2),前者用公式,x为二分变量,后者直接是两个数值型向量。在R中,t检验默认假定方差是不相等的,并使用Welsh的修正自由度,可以添加参数var.equal=TRUE来假定方差相等,并使用合并方差估计,alternative参数用来控制是双侧还是单侧检验。
      非独立样本:对此,使用假定组间的差异呈正态分布,加入参数paired=TRUE来执行配对样本t检验。在多组的时候,假设数据是从正态总体中独立抽样得到的,就可以使用方差分析(ANOVA),后续单独一章会说到。
      
    组间差异非参数检验
      t检验有一个要求,就是总体是正态的,样本要从正态总体抽取出来,才可以使用t检验,而非正态总体则不能使用,此时,若两组数据独立,就可以使用Wilcoxon秩和检验,来确定这两个样本是否有显著的差异。
      Wilcoxon的函数是:wilcox.test(y~x,data)或wilcox.test(y1,y2),同样,可以使用alternative来控制是单侧检验还是双侧检验。Wilcoxon秩和检验也叫Mann-Whitney U检验。主要用于正态性假设不合理时使用,当然,若正态性假设合理,则使用t检验的功效更强(即更容易发现存在的差异)。
      在多于两组的情况下,如果无法满足ANOVA设计的假设(即独立且正态总体),那么可以使用非参数方法来评估组间的差异。如果各组独立,则使用Kruskal-Wallis检验。如果各组不独立(如重复测量设计或随机区组设计),则使用Friedman检验。格式如下:
      kruskal-Wallis:kruskal.test(y~A,data),其中A为分组变量
      Friedman:friedman.test(y~A|B,data),其中A为分组变量,B为一个用以认定匹配观测的区组变量。
      另外,在npmc包中有一个非参数多组比较函数npmc(var,class),从名字就可以知道,var是因变量,class是分组变量。这个函数会进行各组间的两两配对,再给出置信区间和P值。
      
      题外话
      刚看到区组变量,不懂什么叫区组变量,于是上百度看看,到知乎找找,终于找到一个似懂非懂的说法,或者后续深入学习之后会明白,先记录在这里。
      说到区组变量,先说一下两个概念,或者叫试验方法:完全随机试验及随机区组设计,我综合了百度和知乎各式各样的回答,总结出一个不知道是对是错的答案,以例子来说吧,假如有一种病,我有五种不同的治疗方案,完全随机试验就是,在很多患者中,随机抓几只出来实行方案1,再随机抓几只出来实行方案2……方案3、4、5,即每个人只接受一种方案,治疗结束后,通过对比各方案效果得出是否有显著差异,此时,使用Kruskal-Wallis检验;而区组试验则是,根据患者状态(年龄、身体状态、病情的程度等),选出相似的几只出来分为组1、组2、组……,每组中每只都实行方案12345,最后对比各方案的差异,此时使用Friedman检验。而区组变量,就是区组试验中的分组。
      
      

    展开全文
  • 注:参考书籍《R作图–现代统计图形》谢益辉 par()函数的特点: par()函数可以用来设置或者获取图形参数。 函数par()可以全局设置图形参数,而在具体作图函数plot() 或 lines()是临时设置图形参数。二者的区别是:...

    注:参考书籍《R作图–现代统计图形》谢益辉
    par()函数的特点:
    par()函数可以用来设置或者获取图形参数。
    函数par()可以全局设置图形参数,而在具体作图函数plot() 或 lines()是临时设置图形参数。二者的区别是:前者会保留对参数的更改,也就是一直起作用,直到图形设备关闭,而后者并不会影响后续的作图效果。
    par()函数的参数:
    par()函数本身返回当前图形参数设置(以列表格式)
    下面解释一些常用的参数,并写一些自己的理解:

    1. adj:adjust 调整,调整图中字符的相对位置。取值为长度为2的数值向量,其中每个参数一般多不会超过1(取值范围是[0,1]),含义:一个参数表示 ·字符边界矩形框·向左移动的距离和自身宽度的比例,第二个参数表示·字符边界矩形框·向下移动的距离和自身的高度的比例。
      c(0,0)表示整个字符串左下角对准设定的坐标点。
      c(1,0)表示整个字符串横向移动了整个自身宽度的距离,纵向不受影响。在这里插入图片描述
    2. ask切换到下一张图时,是否需要用户输入(敲回车和鼠标点击)。
      取值:布尔型,TRUE表示是,FALSE表示否;
      很多张图逐一出现并且需要按顺序一步步在图形设备上展示时十分有效,设置ask = TRUE,那么每一张图都要等用户点击回应后,才出现下一张新图。否则,所有的图一下全部闪过。
    3. bg:background 背景 ,设置图形的背景色。
    4. bty boundary style ,设置图形边框样式;
      取值:字符"o" “l” “7” “c” “u” “]”,字符本身的形状对应着边框的样式,分别是全闭(四条边都显示) , 上右开 , 上右闭 , 右开 , 上开,左开。其中,“l” ,“7”,“c” ,“u” 四个样式的展示图,如下:
      在这里插入图片描述
    5. cex :contraction and expansion 放缩和伸张,设置图上元素(文本和符号等)的缩小和放大的倍数;
      取值:一个相对于1的数值。
    参数含义
    cex.axis坐标轴刻度标记
    cex.lab坐标轴标题
    cex.main图主标题
    cex.sub图副标题
    1. col:color,设置图中符号(点、线)颜色
    参数含义
    col.axis坐标轴刻度标记
    col.lab坐标轴标题
    col.main图主标题
    col.sub图副标题
    1. family设置文本的字体族,含有无衬线、等宽、符号、字体等;
      取值:serif sans mono symbol
      在这里插入图片描述
    2. fg: frontground?foreground? 前景,设置前景色。如果后续没有别的颜色参数设置,本参数会影响几乎所有后续图形颜色;而如果后续设定了别的颜色参数,那么只会影响图形边框和坐标轴刻度线颜色。
    3. font:设置文本字体样式;
      取值:一个整数;一般地,1,2,3,4 分别表示正常、粗体、斜体和粗斜体。
      |参数|含义|
      | – | --|
      |font.axis|坐标轴刻度标签|
      |font.lab|坐标轴标题|
      |font.main|图主标题|
      |font.sub|图副标题|
    4. lab设置坐标轴刻度数目;
      取值:c(x,y)中x、y分别设置两轴的刻度数目。
    5. las坐标轴标签样式;
      取值:{0,1,2,3}四个整数之一,分别表示“总是平行于坐标轴”,“总是水平”,“总是垂直于坐标轴”,“总是竖直”。注意观察下图数字的方向和坐标轴的方向的关系:
      在这里插入图片描述
    6. lend:line end ,设置线条末端的样式;
      取值:{0,1,2}三个整数之一,或是对应的字符串’round’, ‘mitre’, ‘bevel’;
      在这里插入图片描述
    7. lheight:line height ,设置图中文本行高;
      取值:一个倍数;
    8. ljoin:line join ,设置线条相交处的样式;
      取值:{0,1,2}之一,对应的字符串’round’, ‘mitre’, ‘bevel’;,分别表示画圆角、画方角和切掉顶角,展示如下图:
      在这里插入图片描述
    9. lty:line style 线条虚实样式。设置参数时,可以使用数字或是字符串,还可用十六进制的数字组成的字符串表示线上实线和空白的相应长度。
    参数含义字符串形式
    0不画线‘blank’
    1实线‘solid’
    2虚线‘dashed’
    3点线‘dotted’
    4点划线‘dotdash’
    5长划线‘longdash’
    6点长划线‘twodash’
    1. lwd1:line width设置线条宽度,默认为1.
      一些区域和边界:
      在这里插入图片描述
      以上图的左侧为例:
      设备区域:最大的那个灰色框;
      图形区域:实线围起来的那个框;
      作图区域:虚线围起来的那个框;
      外边界:设备区域的内边界->图形区域的外边界,也就是上图oma压住的那小部分灰色;
      图形边界:图形区域内边界->作图区域外边界,也就是上图mar压住的那小部分白色;

    2. mar:margin 页边距,设置图形边界空白宽度。按照“下,左,上,右”的顺序,默认为c(5,4,4,2)+0.1

    3. mex:margin expansion axis ? ,设置坐标轴的边界宽度的放缩倍数,默认为1;

    4. mfrow,mfcol:设置一页多图;
      取值:长度为2的向量,如c(nrow,ncol),
      表示分别设置的行数和列数。

    5. mgp 设置坐标轴的边界宽度;
      取值:长度为3的数值向量,分别表示坐标轴标题、坐标轴刻度线标签和坐标轴线的边界宽度,示例mgp = c(5,3,1)如下图:
      在这里插入图片描述

    6. oma:outer margin 外边界,设置外边界的宽度;
      取值:类似于mar,默认c(0,0,0);
      当一页只放一张图时,和mar不易区分;
      而当一页多图时,容易看出和mar的区别。

    7. pch:point character 点的符号,具体参数如下:

    pch参数值含义
    19实圆点
    20小实圆点
    21圆圈
    22正方形
    23菱形
    24正三角尖
    25倒三角尖

    其中,21-25可以使用bg参数填充颜色;

    1. pty:picture style? ,设置作图区域的形状,默认‘m’–尽可能最大化作图区域(max);
      取值’s’–表示设置作图区域为正方形;
    2. srt:string rotation? 设置字符串的旋转角度
      在这里插入图片描述
    3. tcktcl,二者都是设置坐标轴刻度线的高度,而且取值都是比例值,只是前者是与图形宽高的比例值,后者是与文本行高的比例值,正值表示向内画刻度线,负值表示向外画刻度线。默认:不使用tck,即设为NA,;使用tcl参数;
      在这里插入图片描述
    4. usr:using region ?,设置作图区域的范围限制;
      取值:长度为4的数值向量c(x1 , x2 , x3 , x4),分别表示作图区域内x轴的左右极限和y轴的上下极限。如果设置xlog,ylog = TRUE,也就是坐标取对数,那么实际设置的极限都是10的相应幂次。
    5. xaxs,yaxs设置坐标范围的计算方式,
      取值为’r’,则表示对原始数据的范围扩大4倍,然后用范围画坐标轴;取值为‘i’,表示使用原始数据范围;
    6. xpd:对超出边界的图形的处理方式,
      取值:
      若为NA,把图形限制在设备区域内;
      若为TRUE,把图形限制在图形区域内,出界的图形截取;
      若为 FALSE,把图形限制在作图区域内,出界的图形截取。

    • 以下9组参数,只能通过par函数设置,不可在其他作图函数中设置。
    ask
    fig,fin
    lheight
    mai,mar,mex,mfcol,mfrow,mfg
    new
    oma,omd,omi
    pin,plt,ps,pty
    usr
    xlog,ylog
    
    • par()函数初始参数的恢复办法:
    1. 预先保存到一个对象中opar <- par()
    2. 每做完一幅图都把图形设备关掉,然后再作下一幅图。

    • 一个不太相关的作图示例:
    #绘出正态分布图像,并插入文字标注
    x = seq(-3 , 3 , length = 200) #生成(-3,3)上的一列数,共200个
    y = dnorm(x) #density,正态分布的概率密度曲线函数值
    xx = seq(-1.65 , 1.65 , length = 100)
    yy = c(0 , dnorm(xx) , 0)
    xx = c(-1.65 , xx , 1.65)
    #生成灰色多边形
    polygon(xx , yy , col = "gray" , border = NA)
    lines(x , y)
    text(0 , 0.05 , "P(-1.65<x<1.65) = 90")#插入文本标注
    

    结果如下:
    在这里插入图片描述

    展开全文
  • 之前跟大家介绍了关于如何利用条形、饼图以及帕累托来进行描述性统计分析,当时有跟大家说过,这三个更多的时候是针对定性数据进行图形描述。今天我们就一起来看看针对定量数据的图形描述—直方、茎叶以及...
  • 一文教会你使用R语言和基本统计分析

    万次阅读 多人点赞 2018-04-21 20:17:18
    一文教会你使用R语言和基本统计分析 目录 1.R语言介绍 2.R语言的安装 3.R语言的基本函数使用 4.R语言的基本绘图 4.1 直方 Histograms 4.2 核密度 Kernel Density Plots 4.3 点图 Dot ...
  • SIFT算法的特点 : SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性; 独特性(Distinctiveness)好,信息量丰富,适用于在海量特征...
  • 物理优化之统计信息

    千次阅读 2022-04-08 22:17:36
    一种是通过VACUUM、ANALYZE操作进行采样统计,另一种方式是通过利用一些DDL语句执行的副产品得到统计信息,例如在创(重)建索引的时候,利用建立索引需要对属性进行扫描和排序的特点,可以收集reltuples和stadistinct...
  • 超硬核!兔兔阿里p7学长给的面试知识库

    万次阅读 多人点赞 2021-05-26 22:14:07
    键值数据库 列族数据库 文档数据库 数据库 NoSQL数据库的三大理论基石:①CAP ②BASE③最终一致性(会话一致性,单调写一致性) Nosql数据库具有的三个特点:①灵活的可扩展性②灵活的数据模型③和云计算的紧密...
  • 今天在实现图像阈值分割的时候,需要找到能将背景与物体区分开的灰度阈值,因为处理到的图像比较简单,它的直方具有一个十分明显的特点,也就是它的直方以双峰一谷的形式呈现,将物体与背景区分开来的阈值也就是...
  • 本文代码实现基本按照《数据结构》课本目录顺序,外加大量的复杂算法实现,一篇文章足够。能换你一个收藏了吧?
  • Matplotlib之条形绘制

    千次阅读 2020-08-26 17:13:57
    1 条形介绍 条形是用宽度相同的条形的高度或者长短来表示数据多少的图形。...假设获取到了2019年内地电影票房前20的电影(列表a)和电影票房数据(列表b),那么如何更加直观的展示该数据 a = [“流浪地
  • 传统图像特征提取方法列表

    万次阅读 多人点赞 2019-09-24 10:05:33
    基于统计的特征提取算法:通过统计不同梯度方向的像素而获取图像的特征向量; LBP:(Local Binary Pattern,局部二值模式) 一种纹理特征描述算子; 具有旋转和灰度不变性等显著的优点; DPM...
  • 图片特征提取整理(持续更新....)

    万次阅读 多人点赞 2021-10-22 19:18:53
    针对平坦区域,边缘区域以及角点区域三种情形进行分析: 下是对这三种情况窗口中的对应像素的梯度分布进行绘制 如果使用椭圆进行数据集表示,则绘制图示如下 不知道大家有没有注意到这三种区域的特点,平坦区域上...
  • 统计案例分析1.4

    千次阅读 2019-09-15 21:36:45
    熟练掌握各描述统计量的特点和应用条件,并能选择合适的统计量对数据进行分析。 二、案例分析 三个产业生产总值的相关性分析 散点矩阵(也称SPLOM,或Scatterplot Matrix):当欲同时考察多个变量间的相关关...
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    执行频度概念:是指通过统计算法的每一条指令的执行次数得到的。 执行频度=算法中每一条语句执行次数的和 一般认定每条语句执行一次所需时间为单位时间(常数时间)O(1) 几个小知识和小问题: 1)循环执行次数n+1次...
  • 描述 Gephi 是一款网络分析领域的数据可视化处理软件,...特点 快速由内置的OpenGL引擎提供支持,Gephi能够利用非常大的网络推送信封。可视化网络多达一百万个元素。 所有操作(例如布局,过滤器,拖动)都会实
  • 离群值具有极端或变异的特点,从直观上看似乎会与样本总体表现的有点格格不入,但是在进行医学统计时,在离群值产生的原因不明之前,不应简单决定其取舍,特别是当测量数据较少时,离群值的取舍对分析结果会产生很大...
  • 地理统计计算提炼

    千次阅读 2022-03-25 11:56:13
    (11)直方 用于显示感兴趣数据集的频率分布并计算汇总统计数据,观察平均值、标准差、偏度、峰度等。 (12)正态 QQ 分位数-分位数 (QQ) 是两种分布的分位数相对于彼此进行绘制的,用于展示两种数据之间...
  • 数据分析基础之matplotlib绘制散点

    千次阅读 2019-08-09 20:13:23
    matplotlib绘制其他图形       matplotlib能够绘制折线图、散点图、柱状图、直方图、...因此需要直到不同的统计图到底能够表示出什么,以此来决定选择哪种统计图来更直观的呈现数据...
  • 直方的定义、意义和特征

    千次阅读 2022-02-09 15:47:25
    在统计学中,直方是一种对数据分布情况的图形表示,是一种二维统计图表,他的两个坐标分别是统计样本(图像、视频帧)和样本的某种属性(亮度,像素值,梯度,方向,色彩等等任何特征)。 2. 意义 (1)直方是...
  • 图像基础知识 —— 图像属性

    千次阅读 2020-09-02 10:01:30
    #使用for循环遍历color列表,enumerate枚举返回索引和值 for i, color in enumerate(color): # 遍历每个通道 hist = cv2.calcHist([girl], [i], None, [256], [0, 256]) # 对应通道绘制直方 plt.title("girl") plt...
  • 基于C++、MySQL的图书销售管理系统

    千次阅读 2022-02-14 16:31:56
    运行方式:cd 到目录下 make 可完成编译连接,而后直接 ./bsms 即可运行 系统需求分析   当今的图书销售行业有数据量大、数据结构复杂、数据变化和流动频繁的特点,加上如今的网商平台越来越发达,各行各业的电子...
  • Matplotlib绘制点图,条形和3D图表

    千次阅读 2017-06-23 15:05:50
    散点在金融图表中也经常用到,来对金融时间序列数据进行可视化import
  • ArcGIS教程 - 5 地图可视化

    千次阅读 多人点赞 2020-02-08 11:50:57
    (4) 图表统计符号:饼图,柱状,堆叠 (5) 多个属性符号(组合符号化):按类别确定数量 5.4.1.1单一符号化 要素符号下只有单一符号化。单一符号采用大小统一、形状统一、颜色统一的符号来表达...
  • 明亮图像的直方倾向于灰度值较大的右边一侧,暗图像的直方倾向于在灰度值较小的左边一侧,对比度较低的图像对应的直方窄而集中于灰度级的中部,对比度高的图像对应的直方分布范围很宽而且分布均匀,因此,...
  • 电脑Excel表格中数据透视怎么制作

    千次阅读 2021-07-26 03:27:24
    电脑Excel表格中数据透视怎么制作腾讯视频/爱奇艺/优酷/外卖 充值4折起我们在使用excel表格办公的时候,有时候会需要使用到数据透视表。今天小编就告诉大家电脑Excel表格中数据透视怎么制作。具体如下:1. 小编...
  • 积分技巧可以用于加速特征的计算(译者注:积分技巧会对原图像首先生成一张积分,这种通过空间换取时间的策略,在计算图像的诸如海尔特征时可以大幅提高计算速度)。SURF可以取得和SIFT近乎一样的准确率,同时...
  • 就先拿先拿北上广来说,北京、上海、广东的外来人口相对较多,吃的东西应该比较“大杂烩”,不过还是很能看出特点, 北京: 北京的呷哺呷哺到处可见,小编也吃过好多好多次了,金凤成祥、虾吃虾涮、吉野家、张亮...
  • (3) 遥感成像领域 高分辨率遥感卫星的研制具有耗时长、价格高、流程复杂等特点,由此研究者将图像超分辨率重建技术引入了该领域,试图解决高分辨率的遥感成像难以获取这一挑战,使得能够在不改变探测系统本身的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,952
精华内容 28,380
关键字:

列表统计图特点