精华内容
下载资源
问答
  • R语言描述性统计分析

    2021-04-14 22:08:21
    1. 简单描述 1.1 数值变量 summary() 函数 summary()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计。 其格式为: summary(data1$var1) Hmisc包中的describe()...

    1 目标变量为数值变量

    1.1 单变量描述

    1.1.1 方法云集

    1. summary() 函数
      summary()函数为由R自带基础包提供。该函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计。
      其格式为:
    summary(data1$var1)
    
    1. Hmisc包的describe()函数
      Hmisc包中的describe()函数可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值。
      其格式为
    library(Hmisc)
    describe(data1$var1)
    
    1. pastecs包的stat.desc()的函数
      pastecs包中有一个名为stat.desc()的函数,它可以计算种类繁多的描述性统计量。使用格式为:
    library(pastecs)
    stat.desc(data,basic = TURE,desc = TURE,norm ==FALSE,p=0.95)
    

    (1)其中的data是一个数据框。
    若basic=TRUE(默认值),则计算其中所有值、空值、缺失值的数量,以及最小值、最大值、值域,还有总和。
    (2)若desc=TRUE(同样也是默认值),则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数。
    (3)若norm=TRUE(不是默认的),则返回正态分布统计量,包括偏度和峰度(以及它们的统计显著程度)和Shapiro–Wilk正态检验结果。这里使用了p值来计算平均数的置信区间(默认置信度为0.95)

    1. psych包的describe()函数
    library(psych)
    describe(data1$var1)
    

    1.2 分组描述

    doBy包的summaryBy函数

    R自带的基础包不够灵活,结果导出也较麻烦,建议通过doBy 包的summaryBy函数进行分组描述性统计。
    其格式如下:
    summaryBy(var1 + var2 + var3 ~ groupvar1 + groupvar2,data= ?, id=NULL,FUN= ?)
    例子:

    library(doBy)
    myresult1 <- summaryBy(var1 + var2  + var3 +var4 ~ groupvar1 ,data = data1, id=NULL,mean)
       # 把结果存储在myresults1中,该结果是一个数据表。
       
    myresult2 <- summaryBy ( .  ~  groupvar2 + groupvar4,data = data1, id=NULL,var)
       # . 代表所有变量
       
    fun1 <- function(x){
      c(m=mean(x, na.rm=TURE), v=var(x, na.rm=TURE),q=quantile(x, na.rm=TURE), md = median(x, na.rm=TURE) ,l=length(x),sd = sd(x,na.rm = TURE))
    }
       # 先定义我们需要的描述性统计量函数
    myresult3 <- summaryBy(var1 + var2  + var3 +var4 ~ groupvar1 ,data = data1, FUN= fun1)
    

    1.3 假设检验

    数值变量假设检验方法较多,假设检验见以后推文

    2 目标变量为分类变量

    2.1 描述性统计

    1 可以通过R基础包自带的table()函数对类别变量频数进行统计,得到结果以values的形式展示,可以通过as.data.frame()函数将其转为dataframe
    其官方格式如下:

    table(...,
          exclude = if (useNA == "no") c(NA, NaN),
          useNA = c("no", "ifany", "always"),
          dnn = list.names(...), deparse.level = 1)
    # 注意:table()函数默认忽略缺失值(NA)。
    # 要在频数统计中将NA视为一个有效的类别
    # 请设定参数useNA="ifany"。
    # deparse.level = 2表示使用原变量名作为新的行列名。
    

    若把以上结果存储于mytable中,可以使用margin.table()和prop.table()函数分别生成边际频数和比例

    margin.table(mytable)
    margin.table(mytable,1)
    prop.table(mytable,2) 
    addmargins(mytable)
    # 1表示计算行比例,2表示计算列比例。
    # 你可以使用addmargins()函数为这些表格添加边际和
    

    2 可以通过gmodels包的的CrossTable()函数可以创建二维交叉表,有以下优点,但得到的结果以list形式展示
    CrossTable()函数有很多选项,可以做许多事情:计算(行、列、单元格)的百分比;指定小数位数;进行卡方、Fisher和McNemar独立性检验;计算期望和(皮尔逊、标准化、调整的
    标准化)残差;将缺失值作为一种有效值;进行行和列标题的标注;生成SAS或SPSS风格的输出。
    其官方示列格式如下:

    CrossTable(x, y, digits=3, max.width = 5, expected=FALSE, prop.r=TRUE, prop.c=TRUE,
               prop.t=TRUE, prop.chisq=TRUE, chisq = FALSE, fisher=FALSE, mcnemar=FALSE,
               resid=FALSE, sresid=FALSE, asresid=FALSE,
               missing.include=FALSE,
               format=c("SAS","SPSS"), dnn = NULL, ...)       
    

    示列: 对MS数据集下FIMMSE和agep,edug变量进行示列

    my1 <-  table(MS$FIMMSE,MS$agep,deparse.level = 2)
    my2 <- table(MS$FIMMSE,MS$agep,deparse.level = 2)
    # 以上得到的结果为values形式
    
    my1 <- as.data.fram(my1)
    my2 <- as.data.fram(my2)
    # 把my1,my2转换为data.frame形式,但该结果为一个长表
    
    myr1 <- tidyr::spread(data=my1,key=MS.FIMMSE,value=Freq)
    myr2 <-  tidyr::spread(data=my2,key=MS.FIMMSE,value=Freq)
    # 对my1,my2进行长转宽,得到一个宽表。
    
    my <- rbind(myr1,myr2,fill=TRUE)
    # 把以上两个描述上下连接起来,用NA填充不存在的列。
    

    以下结果为my1:转换为data.framd的表格
    在这里插入图片描述

    以下结果为myr1:进行长宽转换的结果
    在这里插入图片描述

    以下结果为my:上下连接两个分组(年龄agep,受教育程度edug)的结果
    my的结果

    2.2 假设检验

    二维和多维列联表的假设检验多为卡方检验。其应用条件如下:
    (1)数据为随机样本数据。
    (2)所有的理论数T≥5并且总样本量n≥40,用Pearson卡方进行检验。
    (3)如果理论数T<5但T≥1,并且n≥40,用连续性校正的卡方进行检验。
    (4)如果有理论数T<1或n<40,则用Fisher’s检验。
    (5)R×C表中理论数小于5的格子不能超过1/5。
    (6)不能有小于1的理论数,可以通过增加样本数。列合并来实现

    2.1.1 vcd包的chisq.test函数

    其官方指南如下

    library(grid)
    library(vcd)
    chisq.test(x, y = NULL, correct = TRUE,
               p = rep(1/length(x), length(x)), rescale.p = FALSE,
               simulate.p.value = FALSE, B = 2000)
     # correct = T代表使用矫正卡方检验
    
    1. Fisher精确检验
    mytable2 <- table (var3,var4)
    fisher.test(mytable)
    

    注意:这里的fisher.test()函数可以在任意行列数大于等于2的二维列联表上使用,但不能用于2×2的列联表。

    展开全文
  • r语言描述性统计分析

    千次阅读 2017-06-18 15:57:10
    w #平均数:mean函数 w.mean #中位数:median函数 median(x) #quantile()函数 quantile(w) ...#描述性统计函数 ...#描述性统计分析:Hmisc包中的describe() library(Hmisc) describe(mtcars[vars])
    w<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)
    #平均数:mean函数
    w.mean<-mean(w)
    #中位数:median函数
    median(x)
    #quantile()函数
    quantile(w)


    #描述性统计函数
    summary(mtcars[vars])


    #描述性统计分析:Hmisc包中的describe()
    library(Hmisc)
    describe(mtcars[vars])
    展开全文
  • R语言 描述性统计分析1

    千次阅读 2018-09-04 11:20:16
    以下为学习《R语言实战》笔记。 1.方法 对于基础安装,summary()提供最大值、最小值、四分位数和数值型变量的均值,及因子向量和逻辑向量的频率统计 Hmisc包的describe()可返回变量和观测的数量、缺失值和唯一...

    以下为学习《R语言实战》笔记。

    1.方法

    1. 对于基础安装,summary()提供最大值、最小值、四分位数和数值型变量的均值,及因子向量和逻辑向量的频率统计
    2. Hmisc包的describe()可返回变量和观测的数量、缺失值和唯一值得数目、平均数、分位数,及五个最大的值和五个最小的值。
    3. pastecs包的stat.desc(),使用格式:stat.desc(x, basic=TRUE, desc=TRUE, norm=FALSE, p=0.95),其中,x为数据框或时间序列,basic=TRUE(默认)则计算x中所有值、空值、缺失值的数量,及最小值、最大值、值域还有总和;当desc=TRUE(默认)则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数;norm=TRUE(非默认),则返回正态分布统计量,包括偏度和丰度(以及它们的统计显著程度)和Shapiro-Wilk正态检验即如果。p=0.05表示计算平均数的置信区间默认置信度为0.95.

    4. psych包中describe(),使用语法为:describe(x, na.rm = TRUE, interp=FALSE,skew = TRUE, ranges = TRUE,trim=.1, type=3,check=TRUE,fast=NULL,quant=NULL,IQR=FALSE,omit=FALSE),可以计算非缺失值的数量、平均数、标准差、中位数、截尾平均数、绝对中位差、最小值、最大值、值域、偏度、丰度和平均值的标准误

    当先载入Hmisc包后,再载入psych包,Hmisc包中的同名函数describe()会被psych中describe()屏蔽(masked),可使用Hmisc::describe()语句调用Hmisc包中的describe()函数

    2.实例

    > vars <- c("mpg", "hp", "wt")
    > head(mtcars[vars])
                       mpg  hp    wt
    Mazda RX4         21.0 110 2.620
    Mazda RX4 Wag     21.0 110 2.875
    Datsun 710        22.8  93 2.320
    Hornet 4 Drive    21.4 110 3.215
    Hornet Sportabout 18.7 175 3.440
    Valiant           18.1 105 3.460
    
    > library(pastecs)
    > stat.desc(mtcars[vars],norm = T)
                         mpg            hp           wt
    nbr.val       32.0000000   32.00000000  32.00000000
    nbr.null       0.0000000    0.00000000   0.00000000
    nbr.na         0.0000000    0.00000000   0.00000000
    min           10.4000000   52.00000000   1.51300000
    max           33.9000000  335.00000000   5.42400000
    range         23.5000000  283.00000000   3.91100000
    sum          642.9000000 4694.00000000 102.95200000
    median        19.2000000  123.00000000   3.32500000
    mean          20.0906250  146.68750000   3.21725000
    SE.mean        1.0654240   12.12031731   0.17296847
    CI.mean.0.95   2.1729465   24.71955013   0.35277153
    var           36.3241028 4700.86693548   0.95737897
    std.dev        6.0269481   68.56286849   0.97845744
    coef.var       0.2999881    0.46740771   0.30412851
    skewness       0.6106550    0.72602366   0.42314646
    skew.2SE       0.7366922    0.87587259   0.51048252
    kurtosis      -0.3727660   -0.13555112  -0.02271075
    kurt.2SE      -0.2302812   -0.08373853  -0.01402987
    normtest.W     0.9475647    0.93341934   0.94325772
    normtest.p     0.1228814    0.04880824   0.09265499
    
    > library(psych)
    > describe(mtcars[vars])
        vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    se
    mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37  1.07
    hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14 12.12
    wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02  0.17
    
    > library(Hmisc)
    > Hmisc::describe(mtcars[vars])
    mtcars[vars] 
    
     3  Variables      32  Observations
    -----------------------------------------------------------------------------------------
    mpg 
           n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
          32        0       25    0.999    20.09    6.796    12.00    14.34    15.43    19.20    22.80    30.09    31.30 
    
    lowest : 10.4 13.3 14.3 14.7 15.0, highest: 26.0 27.3 30.4 32.4 33.9
    -----------------------------------------------------------------------------------------
    hp 
           n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
          32        0       22    0.997    146.7    77.04    63.65    66.00    96.50   123.00   180.00   243.50   253.55 
    
    lowest :  52  62  65  66  91, highest: 215 230 245 264 335
    -----------------------------------------------------------------------------------------
    wt 
           n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
          32        0       29    0.999    3.217    1.089    1.736    1.956    2.581    3.325    3.610    4.048    5.293 
    
    lowest : 1.513 1.615 1.835 1.935 2.140, highest: 3.845 4.070 5.250 5.345 5.424
    -----------------------------------------------------------------------------------------
    
    

     

    展开全文
  • 通过利用R语言进行数据的探索性分析,熟练运用R语言进行数据的位置度量、离散度量、列联表及相关性等的数据分析需求。
  • R语言描述性统计

    千次阅读 2018-10-07 21:47:41
    R语言描述性统计 在做数据分析时,一般先会对数据进行描述性统计分析,以便于描述该数据的各种特征及其所代表的总体的特征。描述性统计分析包括对数据的集中趋势、离散程度以及分布进行分析。 集中趋势统计量: 均值...

    R语言描述性统计

    在做数据分析时,一般先会对数据进行描述性统计分析,以便于描述该数据的各种特征及其所代表的总体的特征。描述性统计分析包括对数据的集中趋势、离散程度以及分布进行分析。

    集中趋势统计量: 均值(Mean)、中位数(Median)、众数(Mode)、百分位数

    离散趋势统计量:标准差(sd)、方差(var)、极差(range)、变异系数(CV)、标准误、样本校正平方和(CSS)、样本未校正平方和(USS)

    分布情况统计量:偏度、峰度

    统计量 函数
    均值 mean(x, …);mean(x, trim = 0, na.rm = FALSE, …)
    中位数 median(x, …);median(x, trim = 0, na.rm = FALSE, …)
    频数 table(x, …)
    众数 which.max(table(x))
    五数/描述统计 summary(x, …);fivenum(x, …)
    方差 var(x, na.rm = FALSE)
    标准差 sd(x, na.rm = FALSE)
    偏度 需要先加载moments包或fBasic包,再用函数skewness()
    峰度 需要先加载moments包或fBasic包,再用函数kurtosis()
    极差 range(…, na.rm = FALSE)

    注:

    • trim可设为(0,0.5)之间的值,表示删除x的最大和最小百分几的数,然后对剩下数进行计算,得到的平均值为截尾均值;na.rm表示计算前是否删除NA值
    • summary()与fivenum()计算得出的第一四分位和第三四分位可能会略有不同,原因如下:
      fivenum()是从所有数中找出小于中位数的数,将这些数的中位数设为第一四分位;同理,从所有数中找出大于中位数的数,将这些数的中位数设为第三四分位。因此 fivenum()得到的第一四分位和第三四分位分别被称为四分位低值、四分位高值。
    • 偏度衡量数据的对称性。
      在这里插入图片描述
      若为负,则数据均值左侧的离散度比右侧强,左偏;若为正,则数据均值左侧的离散度比右侧弱,右偏。
      左偏、右偏
    • 峰度 研究数据分布陡峭或平滑的统计量,通过对峰度系数的测量,我们能够判定数据分布相对于正态分布而言是更陡峭还是平缓。峰值越大,分布越陡峭。
      在这里插入图片描述
      正态分布的峰度系数为3,而均匀分布的峰度为1.8(但是SPSS等软件为了方便比较,先将峰度减去3处理,再将正态分布峰度值定为0)。
      当峰度系数>0,从形态上看,它相比于正态分布要更陡峭或尾部更厚;而峰度系数<0,从形态山看,则它相比于正态分布更平缓或尾部更薄。在实际环境当中,如果一个分部是厚尾的,这个分布往往比正态分布的尾部具有更大的“质量”,即含又更多的极端值。
      在这里插入图片描述
      拉帕拉斯(D),双曲正割(S),逻辑斯底(L)分布的峰度系数均大于0,且他们的峰更陡峭,同时尾部也更厚。而像升余弦©分布,半圆形(W)分布,以及均匀分布U则是峰度系数<0
    • 极差(Range): 描述样本分散性的数字特征.当数据越分散,其极差越大,R函数语法: range(…, na.rm = FALSE),计算公式为:
      在这里插入图片描述
    • 变异系数(CV): 又称离散系数,是刻划数据相对分散性的一种度量,它是一个无量钢的量,用百分数表示,R无对应函数,计算公式为:
      在这里插入图片描述
    • 样本校正平方和(CSS):无R函数,计算公式:
      在这里插入图片描述
    • 样本未校正平方和(USS): 无R函数,计算公式:
      在这里插入图片描述
    • 四分位差(quartile deviation):也称为内距或四分间距(inter-quartile range),它是上四分位数(QL)与下四分位数(QU)之差,通常用Qd表示。计算公式为:
      在这里插入图片描述
    • 标准误:均值标准误差就是样本均值的标准差,是描述样本均值和总体均值平均偏差程度的统计量,计算公式为:
      在这里插入图片描述
    展开全文
  • R语言实战之描述性统计分析

    千次阅读 2020-12-24 11:29:50
    R语言实战之描述性统计分析 下面展示一些 描述性统计分析的R代码语言。 vars <- c("mpg","hp","wt") head(mtcars[vars]) #创造一个统计的函数列表 #通过sapply()计算描述性统计变量(包括偏度和峰度) mystats &...
  • R语言整体数据描述性统计分析

    千次阅读 2020-02-19 12:04:08
    R语言整体数据描述性统计分析 在这里主要对连续性变量进行整体统计性分析,包括最大最小值、中位数、均值、方差等统计量,但是这里不会分别进行分析计算,而是使用一个函数进行自动统计。 1、summary 该函数是R语言...
  • R语言描述性统计分析实战视频课程 WOT峰会讲师,中国R语言大会讲师,数据...
  • R语言数理统计之对某列值进行描述性分析实例资源
  • R语言数理统计之对某列值进行描述性分析 导入相关包 导入文件 选择所需列 对指定行进行筛选 分组计数:修改合计列名 分组摘要:最大最小平均分位数 合并连接各表 导出文件 library(tidyverse) library...
  • 通过利用R语言进行数据的探索性分析,熟练运用R语言进行数据的位置度量、离散度量、列联表及相关性等的数据分析需求。
  • 4.3单组数据的描述性统计分析 4.3.1单组数据的图形描述(直方图以及茎叶图和框须图) 程序包DAAG中有内嵌数据集“possum”, 它包括了从维多利亚南部到皇后区的七个地区的104只负鼠(possum)的年龄、尾巴的长度、总...
  • 数据统计分析的第一步就是对数据的描述性统计,R语言令人头疼的是,提供这项服务的实在太多了 1、summary函数 1 > data("mtcars") 2 > force(mtcars) 3 mpg cyl disp hp drat wt qsec vs am gear ...
  • 对于数据的基本特征,要分析数据的集中位置,分散程度,数据分布。
  • 主要是r语言与统计性描述的题目,16页,都有参考答案和R代码。 1.掌握数据预处理的相关操作,包括查看数据集的缺失值,对缺失值进行处理,对异常变量重新赋值 2.掌握使用可视化图表方法进行探索统计分析。 3.掌握...
  • lines(density(X),col="blue",lwd=2) x(from=.5,to=5,by=.1) lines(x,dnorm(x,mean(X),sd(X)),col="red",lwd=2) #密度直方图,并用lines()函数绘出数据的密度曲线和正态分布密度曲线 四、常用的数值描述性度量 1....
  • 有用的统计学 Statistics 第 3讲 描述分析 中央财经大学 统计与数学学院 3.5 描述分析R语言操作 学习目标 1. 如何在R中计算有代表的特征数值 2. 如何在R中输出统计表和统计图 案例介绍 * 对二手房数据 的主要...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 359
精华内容 143
关键字:

r语言描述性分析