R-基本統計分析--描述性統計分析

來源:互聯網
上載者:User

標籤:ken   相關   array   自訂函數   mit   最大值   UNC   eric   attr   

描述性統計分析主要包括
  • 基本資料:樣本數、總和
  • 集中趨勢:均值、中位元、眾數
  • 離散趨勢:方差(標準差)、變異係數、全距(最小值、最大值)、內四分位距(25%分位元、75%分位元)
  • 分布描述:峰度係數、偏度係數
不分組描述性統計

該資料採用R內建資料集mtcars進行分析,可在R編輯器直接輸入得到該資料集內容

1.1、內建summary函數
myvars <- c("mpg", "hp", "wt")summary(mtcars[myvars])    #給出集中趨勢匯總
      mpg              hp              wt       Min.   :10.40   Min.   : 52.0   Min.   :1.513  1st Qu.:15.43   1st Qu.: 96.5   1st Qu.:2.581  Median :19.20   Median :123.0   Median :3.325  Mean   :20.09   Mean   :146.7   Mean   :3.217  3rd Qu.:22.80   3rd Qu.:180.0   3rd Qu.:3.610  Max.   :33.90   Max.   :335.0   Max.   :5.4241.2、pastecs包的stat.sesc函數
install.packages("pastecs")library(pastecs)myvars <- c("mpg", "hp", "wt")stat.desc(mtcars[myvars],basic = TRUE,desc=TRUE,norm=TRUE,p=0.95)  #給出基本資料,集中趨勢,離散趨勢,偏度係數,峰度係數--基本覆蓋所有描述性統計分析要求
                     mpg            hp           wtnbr.val       32.0000000   32.00000000  32.00000000nbr.null       0.0000000    0.00000000   0.00000000nbr.na         0.0000000    0.00000000   0.00000000min           10.4000000   52.00000000   1.51300000max           33.9000000  335.00000000   5.42400000range         23.5000000  283.00000000   3.91100000sum          642.9000000 4694.00000000 102.95200000median        19.2000000  123.00000000   3.32500000mean          20.0906250  146.68750000   3.21725000SE.mean        1.0654240   12.12031731   0.17296847CI.mean.0.95   2.1729465   24.71955013   0.35277153var           36.3241028 4700.86693548   0.95737897std.dev        6.0269481   68.56286849   0.97845744coef.var       0.2999881    0.46740771   0.30412851skewness       0.6106550    0.72602366   0.42314646skew.2SE       0.7366922    0.87587259   0.51048252kurtosis      -0.3727660   -0.13555112  -0.02271075kurt.2SE      -0.2302812   -0.08373853  -0.01402987normtest.W     0.9475647    0.93341934   0.94325772normtest.p     0.1228814    0.04880824   0.09265499 
  • 參數basic為T時將給出以下統計量:
總數值個數(NBR.VAL),空值的數目(NBR. NULL),數目缺失值(NBR.NA),最小值(min),最大值(max),範圍(範圍,即max min)和所有非缺失值之和(和) 
  • 參數desc為T時將給出以下統計量:
中位元(median),平均值(mean),標準誤差平均(SE.mean),P水平均值(CI.mean)的信賴區間,方差(Var)、標準差(std.dev)和變異係數(coef.var)定義為標準差除以平均值。 
  • 參數norm為T時將給出以下統計量:
偏度係數G1(skeness),其顯著判據(skew.2SE),即是,G1/2.SEG1;如果SkW.2SE>1,則偏度顯著不同於零)峰度係數G2(kurtosis)及其顯著判據(Kurt.2SE)以及夏皮羅的Wikk檢驗的兩個統計量標準檢驗.W(normtest.W)及其相關機率標準檢驗p(normtest.p)2018/10/27 16:28  分組描述性統計分析2.1、單一分組
vars<-c("mpg","hp","wt")aggregate(mtcars[vars],by=list(am=mtcars$am),mean)    #採用aggregate側重於計算某個統計量aggregate(mtcars[vars],by=list(am=mtcars$am),sd)
> aggregate(mtcars[vars],by=list(am=mtcars$am),mean)  am      mpg       hp       wt1  0 17.14737 160.2632 3.7688952  1 24.39231 126.8462 2.411000> aggregate(mtcars[vars],by=list(am=mtcars$am),sd)  am      mpg       hp        wt1  0 3.833966 53.90820 0.77740012  1 6.166504 84.06232 0.61698162.2、自動分組(14個統計指標)
library(psych)describeBy(mtcars[vars],mtcars$am,mat=T,digits = 3)    #psych包中的describeBy函數能給出14個分組計算指標describeBy(mtcars[vars],mtcars$am,mat=F)               #describeBy函數給出特定輸出結果便於分析
> describeBy(mtcars[vars],mtcars$am,mat=T,digits = 3)     item group1 vars  n    mean     sd median trimmed    mad    min     max   range   skew kurtosis     sempg1    1      0    1 19  17.147  3.834  17.30  17.118  3.113 10.400  24.400  14.000  0.014   -0.803  0.880mpg2    2      1    1 13  24.392  6.167  22.80  24.382  6.672 15.000  33.900  18.900  0.053   -1.455  1.710hp1     3      0    2 19 160.263 53.908 175.00 161.059 77.095 62.000 245.000 183.000 -0.014   -1.210 12.367hp2     4      1    2 13 126.846 84.062 109.00 114.727 63.752 52.000 335.000 283.000  1.360    0.563 23.315wt1     5      0    3 19   3.769  0.777   3.52   3.748  0.452  2.465   5.424   2.959  0.976    0.142  0.178wt2     6      1    3 13   2.411  0.617   2.32   2.387  0.682  1.513   3.570   2.057  0.210   -1.174  0.171> describeBy(mtcars[vars],mtcars$am,mat=F) Descriptive statistics by groupgroup: 0    vars  n   mean    sd median trimmed   mad   min    max  range  skew kurtosis    sempg    1 19  17.15  3.83  17.30   17.12  3.11 10.40  24.40  14.00  0.01    -0.80  0.88hp     2 19 160.26 53.91 175.00  161.06 77.10 62.00 245.00 183.00 -0.01    -1.21 12.37wt     3 19   3.77  0.78   3.52    3.75  0.45  2.46   5.42   2.96  0.98     0.14  0.18-----------------------------------------------------------------------------------------group: 1    vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis    sempg    1 13  24.39  6.17  22.80   24.38  6.67 15.00  33.90  18.90 0.05    -1.46  1.71hp     2 13 126.85 84.06 109.00  114.73 63.75 52.00 335.00 283.00 1.36     0.56 23.31wt     3 13   2.41  0.62   2.32    2.39  0.68  1.51   3.57   2.06 0.21    -1.17  0.17 UsagedescribeBy(x, group=NULL,mat=FALSE,type=3,digits=15,...) describe.by(x, group=NULL,mat=FALSE,type=3,...) # deprecated x表示資料集group要進行的分組值Mat是否採用矩陣輸出(很有用)digits僅在採用矩陣輸出時可選預設保留15位小數type 偏斜度和峰度類型(不用管) 2.3、自訂分組指標(自訂函數,多個分組指標)
mystats <- function(x, na.omit=FALSE){     #自訂計算所需特定統計值  if (na.omit)    x <- x[!is.na(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, kurtosis=kurt))} dstats <- function(x)sapply(x, mystats)     myvars <- c("mpg", "hp", "wt")          #給出特定資料框計算資料行的(標號),在by的data裡作為下標by(mtcars[myvars], mtcars$am, dstats)   #將data資料框按照indces進行分組,具體計算採用自訂函數dstats
> by(mtcars[myvars], mtcars$am, dstats)mtcars$am: 0                 mpg           hp         wtn        19.00000000  19.00000000 19.0000000mean     17.14736842 160.26315789  3.7688947stdev     3.83396639  53.90819573  0.7774001skew      0.01395038  -0.01422519  0.9759294kurtosis -0.80317826  -1.20969733  0.1415676-------------------------------------------------------------mtcars$am: 1                 mpg          hp         wtn        13.00000000  13.0000000 13.0000000mean     24.39230769 126.8461538  2.4110000stdev     6.16650381  84.0623243  0.6169816skew      0.05256118   1.3598859  0.2103128kurtosis -1.45535200   0.5634635 -1.1737358Usageby(data, INDICES, FUN, ..., simplify = TRUE) data: 一般是資料框或矩陣。an R object, normally a data frame, possibly a matrix.INDICES:一個因子或一覽表,每行長度n行。FUN:應用於(通常是資料幀)資料子集的函數。simplify:logical; if FALSE, tapply always returns an array of mode "list"; in other words, a list with a dim attribute. If TRUE (the default), then if FUN always returns a scalar, tapply returns an array with the mode of the scalar.(不常用) > head(mtcars[myvars])                   mpg  hp    wtMazda RX4         21.0 110 2.620Mazda RX4 Wag     21.0 110 2.875Datsun 710        22.8  93 2.320Hornet 4 Drive    21.4 110 3.215Hornet Sportabout 18.7 175 3.440Valiant           18.1 105 3.460> mtcars$am[1] 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1> class(mtcars[myvars])[1] "data.frame"> class(mtcars$am)[1] "numeric" 關於R的描述性統計,這些包與函數基本覆蓋所有的使用範圍,還有幾個包沒有列入,筆者進行了適當篩選。歡迎熱心網友討論,學習!2018-10-28 具體統計函數指標及其含義可參看博友(傳送門)

R提高篇(五): 描述性統計分析 - 天戈朱 - 部落格園
https://www.cnblogs.com/tgzhu/p/5961176.html

R-基本統計分析--描述性統計分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.