描述性統計分析-用腳本將統計量函數批量化&分步驟逐一寫出

計算各類描述性統計量函數腳本(myDescriptStat.R)以下:css

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.09653947html

  • 繪學生的體重的直方圖和核密度估計圖,並與正態分佈的機率密度函數做對照圖,代碼及示例:

    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) 函數

 

數據做爲信息的載體,要分析數據中包含的主要信息,即要分析數據的主要特徵(即數據的數字特徵), 對於數據的數字特徵, 包含數據的集中位置、分散程度和數據分佈,經常使用統計項目以下:spa

  • 集中趨勢統計量:  均值(Mean)、中位數(Median)、衆數(Mode)、百分位數
  • 離散趨勢統計量:標準差(sd)、方差(var)、極差(range)、變異係數(CV)、標準誤、樣本校訂平方和(CSS)、樣本未校訂平方和(USS)
  • 分佈狀況統計量:偏度、峯度
  • 示例函數

 集中趨勢orm


  • 均值(mean):描述數據取值的平均位置,指一組數據的平均數,R 函數語法: mean(x, trim = 0, na.rm = FALSE, ...),計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
  • 中位數(Median): 定義爲數據排序位於中間位置的值, R函數語法:median(x, na.rm = FALSE),計算公式:
      • itdadao-R提升篇(五): 描述性統計分析
  • 衆數(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, ...),計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
      • 要計算的點到起始點的距離/終點到起始點的距離=要計算的比例
      • 實際計算中:0.75分位數與0.25分位數(第75百分位數與第25百分位數)比較重要,它們分別稱爲上、下四分位數,並分別記爲Q3=m0.75,Q1=m0.25
  • 若是一隻腳放在攝氏1度的水裏,另外一隻腳放在攝氏79度的水裏,平均水溫40度,你感受舒服? 說明只瞭解數據的集中趨勢是不夠的,還須要看數據的離散程序

離散趨勢htm


  • 方差(Variance): 是描述數據取值分散性的一個度量.樣本方差(sample variance)是樣本相對於均值的誤差平方和的平均,記爲s2,R函數語法:var(x, y = NULL, na.rm = FALSE, use),計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
      • 其中x是樣本的均值
  • 標準差(Standard Deviation): 也稱均方差(mean square error),是方差的算術平方根,R函數語法:sd(x, na.rm = FALSE),計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
  • 極差(Range): 描述樣本分散性的數字特徵.當數據越分散,其極差越大,R函數語法: range(..., na.rm = FALSE),計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
  • 變異係數(CV): 又稱離散係數,是刻劃數據相對分散性的一種度量,它是一個無量鋼的量,用百分數表示,R無對應函數,計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析
  • 樣本校訂平方和(CSS):無R函數,計算公式:
      • itdadao-R提升篇(五): 描述性統計分析
  • 樣本未校訂平方和(USS): 無R函數,計算公式:
      • itdadao-R提升篇(五): 描述性統計分析
  • 四分位差(quartile deviation):也稱爲內距或四分間距(inter-quartile range),它是上四分位數(QL)與下四分位數(QU)之差,一般用Qd表示。計算公式爲:
    • itdadao-R提升篇(五): 描述性統計分析
  • 標準誤:均值標準偏差就是樣本均值的標準差,是描述樣本均值和整體均值平均誤差程度的統計量,計算公式爲:
      • itdadao-R提升篇(五): 描述性統計分析

 分佈狀況統計blog


  • 偏度係數:是刻劃數據的對稱性指標.關於均值對稱的數據其偏度係數爲0,右側更分散的數據偏度係數爲正,左側更分散的數據偏度係數爲負,偏度系統計算公式:
  • itdadao-R提升篇(五): 描述性統計分析
  • 峯度係數:當數據的整體分佈爲正態分佈時,峯度係數近似爲0;當分佈較正態分佈的尾部更分散時,峯度係數爲正;不然爲負.當峯度係數爲正時,兩側極端數據較多;當峯度係數爲負時,兩側極端數據較少。峯度係數計算公式:
  • itdadao-R提升篇(五): 描述性統計分析
整理來源於:http://www.cnblogs.com/tgzhu/p/5961176.html?utm_source=itdadao&utm_medium=referral
相關文章
相關標籤/搜索