計算各類描述性統計量函數腳本(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
集中趨勢orm
離散趨勢htm
分佈狀況統計blog
整理來源於:http://www.cnblogs.com/tgzhu/p/5961176.html?utm_source=itdadao&utm_medium=referral