数据分析|R-描述性统计

简介: 数据分析|R-描述性统计

本文首发于“生信补给站”公众号 数据分析|R-描述性统计

前文介绍了脏数据中缺失值数据分析|R-缺失值处理和异常值数据分析|R-异常值处理的常规处理方法,之后就可以对数据进行简单的描述性统计,方便我们对数据有一个整体的认识。

常见描述性统计可以通过最小值、下四分位数、中位数、上四分位数和最大值,均值、众数、标准差、极差等查看数据的分布和离散程度;通过偏度(数据分布形态呈现左偏或右偏)和峰度(分布形态呈现尖瘦或矮胖)等查看数据的正态与否。

下面简单的介绍如何使用R实现数值型变量的上述统计量


1 基础包中summary()函数

可得到数值型变量的最小值、下四分位数、中位数、上四分位数和最大值。


#使用自带的mtcars数据集,选择mpg,disp和hp三个数值型变量进行分析。
head(mtcars)
data <- mtcars[c("mpg","disp","hp")]
summary(data)
      mpg             disp             hp       
 Min.   :10.40   Min.   : 71.1   Min.   : 52.0  
 1st Qu.:15.43   1st Qu.:120.8   1st Qu.: 96.5  
 Median :19.20   Median :196.3   Median :123.0  
 Mean   :20.09   Mean   :230.7   Mean   :146.7  
 3rd Qu.:22.80   3rd Qu.:326.0   3rd Qu.:180.0  
 Max.   :33.90   Max.   :472.0   Max.   :335.0


2 psych包中describe()函数

   可得到非缺失值的个数、均值、标准差、中位数、截尾平均数、绝对中位差、最小值、最大值、极差、偏度、丰度和平均值的标准误


#install.packages("psych")
library(psych)
describe(data)
 vars  n  mean     sd median trimmed    mad  min   max range skew kurtosis    se
mpg     1 32  20.1   6.03   19.2    19.7   5.41 10.4  33.9  23.5 0.61    -0.37  1.07
disp    2 32 230.7 123.94  196.3   222.5 140.48 71.1 472.0 400.9 0.38    -1.21 21.91
hp      3 32 146.7  68.56  123.0   141.2  77.10 52.0 335.0 283.0 0.73    -0.14 12.12


3 pastecs包中stat.desc()函数

当设置norm=TRUE(非默认)时,可以返回偏度和丰度(统计显著程度)和Shapiro-Wilk正态检验的结果。

其中p=0.05表示计算平均数的置信区间默认置信度为0.95.


#install.packages("pastecs")
library(pastecs)
options(digits=3) #设定三位小数
stat.desc(data,norm = TRUE)
                mpg      disp        hp
nbr.val       32.000  3.20e+01   32.0000
nbr.null       0.000  0.00e+00    0.0000
nbr.na         0.000  0.00e+00    0.0000
min           10.400  7.11e+01   52.0000
max           33.900  4.72e+02  335.0000
range         23.500  4.01e+02  283.0000
sum          642.900  7.38e+03 4694.0000
median        19.200  1.96e+02  123.0000
mean          20.091  2.31e+02  146.6875
SE.mean        1.065  2.19e+01   12.1203
CI.mean.0.95   2.173  4.47e+01   24.7196
var           36.324  1.54e+04 4700.8669
std.dev        6.027  1.24e+02   68.5629
coef.var       0.300  5.37e-01    0.4674
skewness       0.611  3.82e-01    0.7260
skew.2SE       0.737  4.60e-01    0.8759
kurtosis      -0.373 -1.21e+00   -0.1356
kurt.2SE      -0.230 -7.46e-01   -0.0837
normtest.W     0.948  9.20e-01    0.9334
normtest.p     0.123  2.08e-02    0.0488


4 自定义函数

除了上述函数包外,还可以自定义函数可以只返回需要的值。


my_describe <- function(x){
  options(digits = 3)
  N = length(x);
  Nmiss = sum(is.na(x));
  Min = min(x, na.rm = TRUE);
  Q1 = quantile(x, probs = 0.25, na.rm = TRUE);
  Median = median(x, na.rm = TRUE);
  Q3 = quantile(x, probs = 0.75, na.rm = TRUE);
  Max = max(x, na.rm = TRUE);
  Mean = mean(x, na.rm = TRUE);
  Sd = sd(x, na.rm = TRUE);
  Range = abs(diff(range(x)));
  skew <- sum((x-Mean)^3/Sd^3)/N
  kurt <- sum((x-Mean)^4/Sd^4)/N-3
  #返回结果
  return(data.frame(N = N, Nmiss = Nmiss, Min = Min, Q1 = Q1, Median = Median, Q3 = Q3, Max = Max, Mean = Mean, Sd = Sd, Range = Range, Skewness = skew, Kurtosis = kurt))
}
sapply(data, my_describe)
        mpg    disp  hp    
N        32     32    32    
Nmiss    0      0     0     
Min      10.4   71.1  52    
Q1       15.4   121   96.5  
Median   19.2   196   123   
Q3       22.8   326   180   
Max      33.9   472   335   
Mean     20.1   231   147     
Sd       6.03   124   68.6  
Range    23.5   401   283   
Skewness 0.611  0.382 0.726 
Kurtosis -0.373 -1.21 -0.136



可以看出自定义函数的结果与上述R包的结果一致,而且可以根据自己的需求选择返回值。

相关文章
|
11月前
|
数据挖掘 计算机视觉 Python
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
89 1
Python数据分析中图像处理的实用技术点:图像加载与保存、图像转换与增强、特征提取与描述
|
5月前
|
文字识别 算法 数据挖掘
视觉智能开放平台产品使用合集之对于统计研究和数据分析,有哪些比较好的工具推荐
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
6月前
|
数据可视化 前端开发 数据挖掘
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(上)
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
|
5月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
49 0
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
用Python进行健康数据分析:挖掘医疗统计中的信息
【4月更文挑战第12天】Python在医疗健康数据分析中扮演重要角色,具备数据处理、机器学习、可视化及丰富生态的优势。基本流程包括数据获取、预处理、探索、模型选择与训练、评估优化及结果可视化。应用案例包括疾病预测、药物效果分析和医疗资源优化,例如使用RandomForestClassifier进行疾病预测,Logit模型分析药物效果,以及linprog优化医疗资源配置。
654 1
|
6月前
|
前端开发 数据可视化 数据挖掘
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(下)
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
|
6月前
|
存储 数据采集 数据挖掘
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
365 1
|
6月前
|
数据采集 数据可视化 数据挖掘
python数据分析——业务数据描述
业务数据描述将从统计学角度来分析这指标。利用统计方法,数据分析人员可以通过相应统计模型开展数据分析。数据分析过程包括数据收集,数据处理,数据探索,模型方法应用,分析结果数据展现及形成分析报告。 业务报表是指对业务内容和数据的统计分析图表。统计图表代表了一张图像化的数据,形象地呈现数据。我们常常提到的可视化分析图表一般包括比较类图表,占比类图表,相关类图表和趋势类图表。
110 1
|
6月前
|
机器学习/深度学习 算法 数据挖掘
python数据分析——数据分析的统计推断
数据分析的统计推断是科学研究中的重要环节,它通过对样本数据的分析,对总体参数进行估计,并对假设进行检验。这一过程旨在从数据中提取有意义的信息,为决策提供科学依据。 在统计推断中,我们通常会遇到两类问题:参数估计和假设检验。参数估计是通过样本数据对总体参数进行点估计或区间估计。点估计是对总体参数的具体数值进行预测,而区间估计则是给出一个包含总体参数的置信区间。这两种估计方法都基于大数定律和中心极限定理,保证了估计的准确性和可靠性。
87 0
|
11月前
|
算法 数据挖掘 API
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛
104 1
贝叶斯统计在Python数据分析中的高级技术点:贝叶斯推断、概率编程和马尔科夫链蒙特卡洛