• ## R描述性统计分析

千次阅读 2018-07-31 13:13:10
分类统计函数：Hmisc :: summary() 默认：fun=mean mystats (x) c(Median=median(x,na.rm=T),IQR=IQR(x,na.rm=T)) summary(mpg~cyl+hp,data=mtcars,fun=mystats,method='response') mpg N= 32 +-------+----...
中位数:
quantile(iris$Sepal.Length) 0% 25% 50% 75% 100% 4.3 5.1 5.8 6.4 7.9 quantile(iris$Sepal.Length,seq(0,1,by=0.1))
0%  10%  20%  30%  40%  50%  60%  70%  80%  90% 100%
4.30 4.80 5.00 5.27 5.60 5.80 6.10 6.30 6.52 6.90 7.90 

分布形态-----偏态  >0,偏右。
> library(fBasics)
> skewness(iris$Sepal.Length) [1] 0.3086407 attr(,"method") [1] "moment"  分类统计函数：Hmisc :: summary() 默认：fun=mean  mystats <- function(x) c(Median=median(x,na.rm=T),IQR=IQR(x,na.rm=T)) summary(mpg~cyl+hp,data=mtcars,fun=mystats,method='response') mpg N= 32 +-------+---------+--+------+-----+ | | |N |Median|IQR | +-------+---------+--+------+-----+ |cyl |4 |11|26.00 |7.600| | |6 | 7|19.70 |2.350| | |8 |14|15.20 |1.850| +-------+---------+--+------+-----+ |hp |[ 52, 97)| 8|26.65 |6.900| | |[ 97,150)| 9|21.00 |2.200| | |[150,205)| 8|16.85 |3.400| | |[205,335]| 7|14.30 |3.000| +-------+---------+--+------+-----+ |Overall| |32|19.20 |7.375| +-------+---------+--+------+-----+ summary(mpg~cyl+hp,data=mtcars,fun=quantile,method='response') mpg N= 32 +-------+---------+--+----+------+-----+------+----+ | | |N |0% |25% |50% |75% |100%| +-------+---------+--+----+------+-----+------+----+ |cyl |4 |11|21.4|22.800|26.00|30.400|33.9| | |6 | 7|17.8|18.650|19.70|21.000|21.4| | |8 |14|10.4|14.400|15.20|16.250|19.2| +-------+---------+--+----+------+-----+------+----+ |hp |[ 52, 97)| 8|22.8|24.000|26.65|30.900|33.9| | |[ 97,150)| 9|17.8|19.200|21.00|21.400|30.4| | |[150,205)| 8|15.2|15.425|16.85|18.825|19.7| | |[205,335]| 7|10.4|11.850|14.30|14.850|15.8| +-------+---------+--+----+------+-----+------+----+ |Overall| |32|10.4|15.425|19.20|22.800|33.9| +-------+---------+--+----+------+-----+------+----+ >  summary(cyl~mpg+hp,data=mtcars,method='reverse') Descriptive Statistics by cyl +---+--------------------+--------------------+--------------------+ | |4 |6 |8 | | |(N=11) |(N=7) |(N=14) | +---+--------------------+--------------------+--------------------+ |mpg| 22.80/26.00/30.40 | 18.65/19.70/21.00 | 14.40/15.20/16.25 | +---+--------------------+--------------------+--------------------+ |hp | 65.50/ 91.00/ 96.00|110.00/110.00/123.00|176.25/192.50/241.25| +---+--------------------+--------------------+--------------------+ >   summary(mpg~cyl+hp,data=mtcars,method='cross',fun=var) var by cyl, hp +---+ |N | |mpg| +---+ +---+---------+---------+---------+---------+---------+ |cyl|[ 52, 97)|[ 97,150)|[150,205)|[205,335]| ALL | +---+---------+---------+---------+---------+---------+ |4 | 8 | 3 | 0 | 0 |11 | | |18.494286|26.703333| | |20.338545| +---+---------+---------+---------+---------+---------+ |6 | 0 | 6 | 1 | 0 | 7 | | | | 2.535000| | | 2.112857| +---+---------+---------+---------+---------+---------+ |8 | 0 | 0 | 7 | 7 |14 | | | | | 2.764762| 4.804762| 6.553846| +---+---------+---------+---------+---------+---------+ |ALL| 8 | 9 | 8 | 7 |32 | | |18.494286|13.743611| 3.431429| 4.804762|36.324103| +---+---------+---------+---------+---------+---------+ >  获取统计概括信息 describe函数 describe(mtcars) mtcars 11 Variables 32 Observations ---------------------------------------------------------------------------- mpg n missing distinct Info Mean Gmd .05 .10 32 0 25 0.999 20.09 6.796 12.00 14.34 .25 .50 .75 .90 .95 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 ---------------------------------------------------------------------------- cyl n missing distinct Info Mean Gmd 32 0 3 0.866 6.188 1.948 Value 4 6 8 Frequency 11 7 14 Proportion 0.344 0.219 0.438 ---------------------------------------------------------------------------- disp n missing distinct Info Mean Gmd .05 .10 32 0 27 0.999 230.7 142.5 77.35 80.61 .25 .50 .75 .90 .95 120.83 196.30 326.00 396.00 449.00 lowest : 71.1 75.7 78.7 79.0 95.1, highest: 360.0 400.0 440.0 460.0 472.0 ---------------------------------------------------------------------------- hp n missing distinct Info Mean Gmd .05 .10 32 0 22 0.997 146.7 77.04 63.65 66.00 .25 .50 .75 .90 .95 96.50 123.00 180.00 243.50 253.55 lowest : 52 62 65 66 91, highest: 215 230 245 264 335 ---------------------------------------------------------------------------- drat n missing distinct Info Mean Gmd .05 .10 32 0 22 0.997 3.597 0.6099 2.853 3.007 .25 .50 .75 .90 .95 3.080 3.695 3.920 4.209 4.314 lowest : 2.76 2.93 3.00 3.07 3.08, highest: 4.08 4.11 4.22 4.43 4.93 ---------------------------------------------------------------------------- wt n missing distinct Info Mean Gmd .05 .10 32 0 29 0.999 3.217 1.089 1.736 1.956 .25 .50 .75 .90 .95 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 ---------------------------------------------------------------------------- qsec n missing distinct Info Mean Gmd .05 .10 32 0 30 1 17.85 2.009 15.05 15.53 .25 .50 .75 .90 .95 16.89 17.71 18.90 19.99 20.10 lowest : 14.50 14.60 15.41 15.50 15.84, highest: 19.90 20.00 20.01 20.22 22.90 ---------------------------------------------------------------------------- vs n missing distinct Info Sum Mean Gmd 32 0 2 0.739 14 0.4375 0.5081 ---------------------------------------------------------------------------- am n missing distinct Info Sum Mean Gmd 32 0 2 0.724 13 0.4062 0.498 ---------------------------------------------------------------------------- gear n missing distinct Info Mean Gmd 32 0 3 0.841 3.688 0.7863 Value 3 4 5 Frequency 15 12 5 Proportion 0.469 0.375 0.156 ---------------------------------------------------------------------------- carb n missing distinct Info Mean Gmd 32 0 6 0.929 2.812 1.718 Value 1 2 3 4 6 8 Frequency 7 10 3 10 1 1 Proportion 0.219 0.312 0.094 0.312 0.031 0.031 - 数据可视化 caret ::featurePlot() 无缺失值数据 library(caret) str(iris) 'data.frame': 150 obs. of 5 variables:$ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...$ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...$ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
> featurePlot(iris[,1:4],iris[,5],'ellipse')


plot(iris)
plot(iris$Sepal.Length) plot(iris$Species)
with(iris,{plot(Sepal.Length,Sepal.Width,pch=as.numeric(Species))
legend('topright',legend=levels(iris$Species),pch=1:3,ncol=3,cex=0.8)})  因子类型数据可用函数：mosaicplot()进行绘制 table(iris$Species)

setosa versicolor  virginica
50         50         50
> 


展开全文
• ## 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,从形态山看，则它相比于正态分布更平缓或尾部更薄。在实际环境当中，如果一个分部是厚尾的，这个分布往往比正态分布的尾部具有更大的“质量”，即含又更多的极端值。

极差（Range): 描述样本分散性的数字特征.当数据越分散,其极差越大,R函数语法： range(…, na.rm = FALSE)，计算公式为：

变异系数(CV): 又称离散系数，是刻划数据相对分散性的一种度量，它是一个无量钢的量，用百分数表示，R无对应函数，计算公式为：

样本校正平方和（CSS）：无R函数，计算公式：

样本未校正平方和（USS): 无R函数，计算公式：

四分位差（quartile deviation）：也称为内距或四分间距（inter-quartile range），它是上四分位数（QL）与下四分位数（QU）之差，通常用Qd表示。计算公式为：

标准误：均值标准误差就是样本均值的标准差，是描述样本均值和总体均值平均偏差程度的统计量，计算公式为：


展开全文
• descr：R描述性统计 这是R软件包“ descr”的开发版本。
• ## R常用描述性统计

千次阅读 2019-03-19 12:21:47
描述性统计分析 mtcars #车辆路试数据集，每加仑汽油行驶英里数（mpg),马力（hp),车重（wt),变速箱类型（am,0自动挡，1手动挡，）气缸数cyl head(mtcars) #只看前六行数据 summary(mtcars) #对每个变量输出最小值，...
#常用统计分析
#1.描述性统计分析
mtcars   #车辆路试数据集，每加仑汽油行驶英里数（mpg),马力（hp),车重（wt),变速箱类型（am,0自动挡，1手动挡，）气缸数cyl
summary(mtcars)  #对每个变量输出最小值，最大值，均值，中位数，四分位数
vars=c(“mpg”,“hp”,“wt”);summary(mtcars[vars])
summary(mtcarsKaTeX parse error: Expected 'EOF', got '#' at position 6: mpg)
#̲基础安装包并没有提供偏度和峰度…mpg)  #mpg的偏度和峰度
f1(mtcars[vars])  #不能出来结果，提示错误
f1(c(mtcars$mpg,mtcars$hp)) #也不能出正确结果
sapply(mtcars[vars],f1)   #sapply的语法sapply(x,fun,option),x是数据框，fun是任意函数，option是描述统计量（mean,sd,var,min,max,median,length,range,quantile)
mean(mtcars$mpg);sd(mtcars$mpg);var(mtcars$mpg);min(mtcars$mpg);max(mtcars$mpg);median(mtcars$mpg);length(mtcars$mpg);range(mtcars$mpg);quantile(mtcars$mpg) #虽然基本的包中没有包含偏度，峰度等描述统计量，但有学者扩展了描述统计，形成了其它的包 install.packages(“pastecs”) library(pastecs) stat.desc(mtcars[vars]) #pastecs包中的函数 #还有psych包中有describe可以解出偏度和峰度 install.packages(“psych”) library(psych) describe(mtcars[vars]) sessionInfo() #查找已加载的程序包  展开全文 • title: “使用R进行描述性统计分析” output: html_document: ###单组计算描述性统计量 在对数据进行统计分析之前，一般我们需要知道当前数据的描述统计情况，如集中趋势、离散趋势、分布形状。如果数据表中有很...  title: “使用R进行描述性统计分析” output: html_document: ###单组计算描述性统计量 在对数据进行统计分析之前，一般我们需要知道当前数据的描述统计情况，如集中趋势、离散趋势、分布形状。如果数据表中有很多变量，在excel中计算这些统计量的话，要利用公式一个一个进行计算，比较麻烦，在R中可以通过一些简单的函数进行计算。 以车辆路试数据集mtcars为例，这里我们只需要三列数据，每加仑行驶英里数mpg马力hp和车重wt。 data(mtcars) head(mtcars) myvars <- c("mpg", "hp","wt") head(mtcars[myvars])  ####方法1：**summary()**函数： summary()为R自带的函数，可以返回最大值、最小值、四分位数、平均数6个值。 summary(mtcars[myvars])  ####方法2：**apply()或者sapply()函数， 可以计算所选择的任意描述统计量，对于sapply()**函数，其格式为sapply(x, FUN, options)，其中x为数据框，FUN为选择的任意函数，例如mean(), sd(), var(), min(), max(), median(), length(), range(), quantile(), fivenum()。得出的结果偏度为+0.61（右偏态），峰度为-0.37，说明较正态分布稍平， mystats <- function(x, na.omit=FALSE){ if(na.omit) x <- x[!is.na(x)] #如果x是非空值，则赋值给x m <- mean(x) n <- length(x) s <- sd(x) skew <- sum((x-m)^3/s^3)/n kurt <- sum((x-m)^4/s^4)/n-3 return(c(n=n, mean=m, stdev=s, skew=skew, kurt=kurt)) } myvars <- c("mpg", "hp", "wt") sapply(mtcars[myvars], mystats)  计算数据的峰度和偏度还可以用e1071包中的**skewness（）和kurtosis（）**函数来计算。 library(e1071) mystats <- function(x, na.omit=FALSE){ if(na.omit) x <- x[!is.na(x)] skew <- skewness(x) kurt <- kurtosis(x) return(c(skew=skew, kurt=kurt)) } myvars <- c("mpg", "hp", "wt") sapply(mtcars[myvars], mystats)  ####方法3：Hmisc包中的describe()函数 describe()相比于方法1，可以返回变量和观测的数目，缺失值、唯一值数目，以及5个最大的值和5个最小的值。 library(Hmisc) describe(mtcars[myvars])  ####方法3：pastecs包中的stat.desc()函数 基本公式stat.desc(x, basic=TRUE, desc=TRUE, norm=FALSE, p=0.95)。basic=TRUE、desc=TRUE都是默认值，norm=TRUE（FALSE为默认值）返回正态分布统计量，包括偏度、峰度以及它们的限制性水平和Shapiro-Wilk正态检验结果。该函数还计算了平均数95%的置信区间。 library(pastecs) stat.desc(mtcars[myvars], norm=TRUE)  ####方法4：psych包中的describe()函数 除了常用的统计量外，可以计算非缺失值的数量、截尾平均数、绝对中位数等。如果截尾平均数和平均数相差太大，说明存在极端值，此时截尾平均数可以更好地反映数据的集中趋势。 注意：hmis包和psych包都含有describe()函数，但最后载入的程序包优先，hmis包describe()函数会被掩蔽，如果想要运行先前载入包的函数，可以使用代码hmisc::describe()，告诉计算机执行哪个函数。 library(psych) describe(mtcars[myvars])  ###分组计算描述性统计量 如果一个变量有多个水平，想计算每个水平数据的描述统计情况，或者有多个被试组，计算每组被试的数据情况，这时可以使用分组计算的方法计算各组数据的描述统计量。 ####方法1：**aggregate()**函数 list(am=mtcars$am),am指定了组的列标签。**aggregate()**函数一次只能返回一种统计量
dstats <- function(x)sapply(x, mystats)
myvars <- c("mpg", "hp", "wt")
aggregate(mtcars[myvars], by=list(am=mtcars$am), mean) aggregate(mtcars[myvars], by=list(am=mtcars$am), sd)

####方法2：**by()**函数
可以指定任意函数返回多个指定的统计量，其基本公式为by(data, INDICES, FUN)。data为一个数据框；INDICES为一个因子或因子组成的列表，定义分组；FUN为任意函数。这里的dstats调用了前面的mystats函数。
myvars <- c("mpg","hp","wt")
mystats <- function(x, na.omit=FALSE){
if(na.omit)
x <- x[!is.na(x)]
m <- mean(x)
sd <- sd(x)
skew <- skewness(x)
kurt <- kurtosis(x)
return(c(mean=m, SD=sd, skew=skew, kurt=kurt))
}
dstats <- function(x)sapply(x,mystats)
by(mtcars[myvars], mtcars$am, dstats)  ####方法3：doBy包中的**summaryBy()**函数 可以指定任意函数返回多个统计量。 library(doBy) summaryBy(mpg + hp +wt~am, data=mtcars, FUN=mystats)  ####方法4：**describeBy()**函数 返回多个统计量，但不可以指定返回哪些统计量 myvars <- c("mpg","hp","wt") describeBy(mtcars[myvars], list(am=mtcars$am))



展开全文
• R语言分组计算描述性统计量 在上一篇博客中介绍了如何计算数据整体的描述性统计量，点击查看。这里将注重介绍如何分组计算描述性统计量，介绍两个函数：aggregate()、dexcribe.by() 1、aggregate 这个函数的功能比较...
• 描述性统计 1， 使用summary()函数来获取描述性统计量 summary()函数提供了最大值，最小值，四分位数和数值型变量的均值以及因子向量和逻辑向量的频数统计 例子 myvars <- c("mpg","hp","wt") summary(mtcars...
• w #平均数：mean函数 w.mean #中位数：median函数 median(x) #quantile()函数 quantile(w) ...#描述性统计函数 ...#描述性统计分析：Hmisc包中的describe() library(Hmisc) describe(mtcars[vars])
• 描述性统计分析主要包括 基本信息：样本数、总和 集中趋势：均值、中位数、众数 离散趋势：方差(标准差)、变异系数、全距(最小值、最大值)、内四分位距(25%分位数、75%分位数) 分布描述：峰度系数、偏度系数 ...
• RT。。。老实说这一章我是抖的。。。但是，加油～ ...# 从1:100中均匀抽取size个数据，replace=TRUE指有放回抽样，数据可以重复 ...x = sample(1:100, size = 100, replace = TRUE) ...y[sample(x = 1:100, size = 20, ...
• 1. 简单描述 1.1 数值变量 summary() 函数 summary()函数提供了最小值、最大值、四分位数和数值型变量的均值，以及因子向量和逻辑型向量的频数统计。 其格式为： summary（data1\$var1） Hmisc包中的describe()...
• R语言实战之描述性统计分析 下面展示一些 描述性统计分析的R代码语言。 vars <- c("mpg","hp","wt") head(mtcars[vars]) #创造一个统计的函数列表 #通过sapply()计算描述性统计变量（包括偏度和峰度） mystats &...
• 主要是r语言与统计性描述的题目，16页，都有参考答案和R代码。 1.掌握数据预处理的相关操作，包括查看数据集...2.掌握使用可视化图表方法进行探索性统计分析。 3.掌握常用的概率分布，并学会用R函数求解概率分布问题。
• 使用R进行描述性统计分析（连续性变量） 对于描述性统计来说，R可以实现的方法有很多，基础自带的有summary()函数，还有其他packages，如Hmisc包，pastecs包，psych包提供了计算更多内容的函数。 基础函数 在R中，...
• R语言整体数据描述性统计分析 在这里主要对连续性变量进行整体统计性分析，包括最大最小值、中位数、均值、方差等统计量，但是这里不会分别进行分析计算，而是使用一个函数进行自动统计。 1、summary 该函数是R语言...
• 以下为学习《R语言实战》笔记。 1.方法 对于基础安装，summary()提供最大值、最小值、四分位数和数值型变量的均值，及因子向量和逻辑向量的频率统计 Hmisc包的describe()可返回变量和观测的数量、缺失值和唯一...
• R语言-统计学 描述性统计描述定量数据的数值方法：中心趋势度量 变异的度量 相对位置的度量。1.中心趋势度量 ： 算数平均 中位数 众数1.1 在R中计算平均数的函数 mean( )常规的mean() 函数用法 mean(x, trim = 0, ...
• # 01分布 a(20) a 0.0534173720516264 ...0.0381318787112832 ...# 众数 table 统计出现的次数 ...Multiple R-squared: 0.9995, Adjusted R-squared: 0.9993 F-statistic: 6916 on 2 and 7 DF, p-value: 2.91e-12

...