计算各种描述性统计量函数脚本(myDescriptStat.R)如下:

myDescriptStat <- function(x){
n <- length(x) #样本数据个数
m <- mean(x) #均值
me <- median(x) #中位数
mo <- names(table(x))[which.max(table(x))] #众数
sd <- sd(x) #标准差
v <- var(x) #方差
r <- max(x) - min(x) #极差
cv <- 100 * sd/m #变异系数
css <- sum(x - m)^2 #样本校正平方和
uss <- sum(x^2) #样本未校正平方和
R1 <- quantile(x,0.75) - quantile(x,0.25) #四分位差
sm <- sd/sqrt(n) #标准误
g1 <- n/((n-1)*(n-2)*sd^3)*sum((x-m)^3)/sd^3 #偏度系数
g2 <- ((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/sd^4 -(3*(n-1)^2)/((n-2)*(n-3))) #峰度系数
data.frame(N=n,Mean=m,Median=me,Mode=mo,
Std_dev=sd,Variance=v,Range=r,
CV=cv,CSS=css,USS=uss,
R1=R1,SM=sm,Skewness=g1,Kurtosis=g2,
row.names=1)
}
  • 示例结果如下:

> setwd("./&R笔记/整理")
> source("myDescriptStat.R")
> 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) #学生体重
> myDescriptStat(w)
N Mean Median Mode Std_dev Variance Range CV CSS USS R1 SM
1 15 62.36 63.5 62.2 7.514823 56.47257 27.6 12.05071 2.019484e-28 59122.16 8.9 1.940319
Skewness Kurtosis
1 -0.001013136 0.09653947

  • 绘学生的体重的直方图和核密度估计图,并与正态分布的概率密度函数作对照图,代码及示例:

    hist(w,freq=FALSE)
    lines(density(w),col="blue")
    x<-44:76
    lines(x,dnorm(x,mean(w),sd(w)),col="red")
  • 示例图形:

  • 结论:可以通过密度估计曲线与正态分布的概率密度曲线之间差别的大小来判断数据是否来自正态总体.从上图看,基本上可以认为学生的体重来自正态总体
案例二(分步骤逐一写出):

#读入数据
saledata=fread(file.choose(),sep = ',',header = TRUE, na.strings = "NA") #读csv文件
sales=saledata[,2] #只保留第二列数据

# 统计量分析
# 均值
mean_ = mean(sales,na.rm=T);mean_
# 中位数
median_ = median(sales,na.rm=T);median_
# 极差
range_ = max(sales,na.rm=T)-min(sales,na.rm=T);range_
# 标准差
std_ = sqrt(var(sales,na.rm=T));std_
# 变异系数=标准差/均值
variation_ = std_/mean_;variation_
# 四分位数间距
q1 = quantile(sales,0.25,na.rm=T);q1
q3 = quantile(sales,0.75,na.rm=T);q3
distance = q3-q1;distance
a=matrix(c(mean_,median_,range_,std_,variation_,q1,q3,distance),1,byrow=T)
colnames(a)=c("均值","中位数","极差","标准差","变异系数","1/4分位数","3/4分位数","四分位间距")
print(a)


数据作为信息的载体,要分析数据中包含的主要信息,即要分析数据的主要特征(即数据的数字特征), 对于数据的数字特征, 包含数据的集中位置、分散程度和数据分布,常用统计项目如下:

  • 集中趋势统计量:  均值(Mean)、中位数(Median)、众数(Mode)、百分位数
  • 离散趋势统计量:标准差(sd)、方差(var)、极差(range)、变异系数(CV)、标准误、样本校正平方和(CSS)、样本未校正平方和(USS)
  • 分布情况统计量:偏度、峰度
  • 示例函数

集中趋势


  • 均值(mean):描述数据取值的平均位置,指一组数据的平均数,R 函数语法: mean(x, trim = 0, na.rm = FALSE, ...),计算公式为:

  • 中位数(Median): 定义为数据排序位于中间位置的值, R函数语法:median(x, na.rm = FALSE),计算公式:
  • 众数(Mode): 就是一组数据中占比例最多的那个数, R中未提供直接调用的函数,R算法: names(table(x))[which.max(table(x))]
  • 百分位数(percentile): 是中位数的推广.将数据按从小到大的排列后,对于0≤p<1,它的p分位点定义, R函数语法:quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,names = TRUE, type = 7, ...),计算公式为:
      • 要计算的点到起始点的距离/终点到起始点的距离=要计算的比例
      • 实际计算中:0.75分位数与0.25分位数(第75百分位数与第25百分位数)比较重要,它们分别称为上、下四分位数,并分别记为Q3=m0.75,Q1=m0.25
  • 如果一只脚放在摄氏1度的水里,另一只脚放在摄氏79度的水里,平均水温40度,你感觉舒服? 说明只了解数据的集中趋势是不够的,还需要看数据的离散程序

离散趋势


  • 方差(Variance): 是描述数据取值分散性的一个度量.样本方差(sample variance)是样本相对于均值的偏差平方和的平均,记为s2,R函数语法:var(x, y = NULL, na.rm = FALSE, use),计算公式为:

      • 其中x是样本的均值
  • 标准差(Standard Deviation): 也称均方差(mean square error),是方差的算术平方根,R函数语法:sd(x, na.rm = FALSE),计算公式为:
  • 极差(Range): 描述样本分散性的数字特征.当数据越分散,其极差越大,R函数语法: range(..., na.rm = FALSE),计算公式为:
  • 变异系数(CV): 又称离散系数,是刻划数据相对分散性的一种度量,它是一个无量钢的量,用百分数表示,R无对应函数,计算公式为:
  • 样本校正平方和(CSS):无R函数,计算公式:
  • 样本未校正平方和(USS): 无R函数,计算公式:
  • 四分位差(quartile deviation):也称为内距或四分间距(inter-quartile range),它是上四分位数(QL)与下四分位数(QU)之差,通常用Qd表示。计算公式为:
  • 标准误:均值标准误差就是样本均值的标准差,是描述样本均值和总体均值平均偏差程度的统计量,计算公式为:

 分布情况统计


  • 偏度系数:是刻划数据的对称性指标.关于均值对称的数据其偏度系数为0,右侧更分散的数据偏度系数为正,左侧更分散的数据偏度系数为负,偏度系统计算公式:
  • 峰度系数:当数据的总体分布为正态分布时,峰度系数近似为0;当分布较正态分布的尾部更分散时,峰度系数为正;否则为负.当峰度系数为正时,两侧极端数据较多;当峰度系数为负时,两侧极端数据较少。峰度系数计算公式:
整理来源于:http://www.cnblogs.com/tgzhu/p/5961176.html?utm_source=itdadao&utm_medium=referral
												

描述性统计分析-用脚本将统计量函数批量化&分步骤逐一写出的更多相关文章

  1. 19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]

    状态401代表未被授权,header("Location:www.xxx.php"); 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300 ...

  2. R提高篇(五): 描述性统计分析

    数据作为信息的载体,要分析数据中包含的主要信息,即要分析数据的主要特征(即数据的数字特征), 对于数据的数字特征, 包含数据的集中位置.分散程度和数据分布,常用统计项目如下: 集中趋势统计量:  均值 ...

  3. SPSS数据分析—描述性统计分析

    描述性统计分析是针对数据本身而言,用统计学指标描述其特征的分析方法,这种描述看似简单,实际上却是很多高级分析的基础工作,很多高级分析方法对于数据都有一定的假设和适用条件,这些都可以通过描述性统计分析加 ...

  4. shell编程基础(四): shell脚本语法之函数及调试

    一.Shell脚本中的函数 和C语言类似,Shell中也有函数的概念,但是函数定义中没有返回值也没有参数列表.例如: #! /bin/sh fun(){ echo "Function fun ...

  5. Loadrunner 脚本优化-事务函数简介

    脚本优化-事务函数简介 by:授客 QQ:1033553122 1.事务的开始和结束名称需要相同 lr_start_transaction(“transaction_name”); …//事务处理 l ...

  6. Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试

    脚本开发- soap_request函数介绍及WebService接口测试 by:授客 QQ:1033553122 函数介绍 soap_request 函数执行一个SOAP请求 函数原型 int so ...

  7. loadrunner 脚本开发-web_custom_request函数详细介绍

    脚本开发-web_custom_request函数详细介绍 by:授客 QQ:1033553122 c语言版本: int web_custom_request(const char *RequestN ...

  8. loadrunner 脚本开发- web_url函数详解

    脚本开发- web_url函数详解 by:授客 QQ:1033553122   加载指定url的web页面(GET请求) C语言函数 int web_url( const char *StepName ...

  9. unity 在脚本B中调用脚本A的函数

    一,在脚本B中调用脚本A的函数. 脚本A: //myFuncs.cs using UnityEngine;using System.Collections; namespace myFuncs{    ...

随机推荐

  1. WireShar使用笔记

    1.下载wiresharp  官网下载 2.安装 安装后直接支持中文 很人性化哦 注意:一定要安装WinPcap 不然无法使用 3.

  2. 最新版CKEditor在线编辑器的配置方法

    下载地址: http://ckeditor.com/download 使用方法: 在页面<head>中引入ckeditor核心文件ckeditor.js <script type=& ...

  3. 使用SSIS汇集监控数据

    1.背景 数据库服务器部署有各类巡检脚本,现在想把巡检收集到的数据汇集到一起.Source源对应的是各业务数据库服务器,Destination目标对应的是保存汇集数据的服务器.前期部署的时候已将巡检相 ...

  4. svn 架设

    1.yum install subversion  openssl-devel -y 2. cd /data/svn 3. svnadmin create remote 4. 编辑conf 下 aut ...

  5. postgresql修炼之道学习笔记(2)

    随后的章节  介绍了基础的sql,这个我略过了,我喜欢在开发的时候,慢慢的研究,毕竟有oracle的基础. 现在,学习psql工具 使用create database创建数据库的时候,出现如下问题: ...

  6. linux---------------centos6.4安装完了以后敲ifconfig,没有局域网ip。解决如下

    1.vim /etc/sysconfig/network-scripts/ifcfg-eth0 进入linux然后进入这个文件里面如下: DEVICE=eth0HWADDR=00:0C:29:92:F ...

  7. The prefix "util" for element "util:list" is not bound.

    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4. ...

  8. Windows Phone 十九、罗盘

    磁力计概述 拥有磁力计硬件支持的设备可以根据磁力计来确定相对于北极的角度 磁力计的访问 API 定义在 Compass 类中 调用方式和加速计类似 <Grid Background=" ...

  9. String 与StringBuilder有什么区别

    C# String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与 ...

  10. failed to lazily initialize a collection of role:XXX, no sessi

    系统 框架  springMVC+hibernate 这种情况 由于 hibernate 的 懒汉机制,和 Spring 事务机制(不确定)造成的 由于 spring 配置的时候,在service 层 ...