R intro(3)

library(MatchIt)
## Loading required package: MASS
## ## 
## ##  MatchIt (Version 2.4-20, built: 2011-10-24)
## ##  Please refer to http://gking.harvard.edu/matchit for full documentation 
## ##  or help.matchit() for help with commands supported by MatchIt.
## ##
data(lalonde)
attach(lalonde)
boxplot(re78 ~ treat)

plot of chunk unnamed-chunk-1

re78.treat <- re78[treat == 1]
re78.contr <- re78[treat == 0]
mean(re78)
## [1] 6793
sd(re78)
## [1] 7471
mean(re78.treat)
## [1] 6349
sd(re78.treat)
## [1] 7867
mean(re78.contr)
## [1] 6984
sd(re78.contr)
## [1] 7294
summary(lalonde)
##      treat            age            educ          black      
##  Min.   :0.000   Min.   :16.0   Min.   : 0.0   Min.   :0.000  
##  1st Qu.:0.000   1st Qu.:20.0   1st Qu.: 9.0   1st Qu.:0.000  
##  Median :0.000   Median :25.0   Median :11.0   Median :0.000  
##  Mean   :0.301   Mean   :27.4   Mean   :10.3   Mean   :0.396  
##  3rd Qu.:1.000   3rd Qu.:32.0   3rd Qu.:12.0   3rd Qu.:1.000  
##  Max.   :1.000   Max.   :55.0   Max.   :18.0   Max.   :1.000  
##      hispan         married         nodegree         re74      
##  Min.   :0.000   Min.   :0.000   Min.   :0.00   Min.   :    0  
##  1st Qu.:0.000   1st Qu.:0.000   1st Qu.:0.00   1st Qu.:    0  
##  Median :0.000   Median :0.000   Median :1.00   Median : 1042  
##  Mean   :0.117   Mean   :0.415   Mean   :0.63   Mean   : 4558  
##  3rd Qu.:0.000   3rd Qu.:1.000   3rd Qu.:1.00   3rd Qu.: 7888  
##  Max.   :1.000   Max.   :1.000   Max.   :1.00   Max.   :35040  
##       re75            re78      
##  Min.   :    0   Min.   :    0  
##  1st Qu.:    0   1st Qu.:  238  
##  Median :  602   Median : 4759  
##  Mean   : 2185   Mean   : 6793  
##  3rd Qu.: 3249   3rd Qu.:10894  
##  Max.   :25142   Max.   :60308

summary.stats <- function(y) {
    x <- na.omit(y)  #Omit missing values
    m <- mean(x)
    s <- sd(x)
    z <- (x - m)/s
    skew <- mean(z^3)
    kurt <- mean(z^4)
    mini <- min(x)
    maxi <- max(x)
    q <- quantile(x, probs = c(0.25, 0.5, 0.75))
    res <- list(average = m, stdev = s, skewness = skew, kurtosis = kurt, q1 = q[1], 
        q2 = q[2], q3 = q[3], minimum = mini, maximum = maxi)
    return(res)
}

summary.stats(re78.treat)
## $average
## [1] 6349
## 
## $stdev
## [1] 7867
## 
## $skewness
## [1] 2.699
## 
## $kurtosis
## [1] 15.28
## 
## $q1
##   25% 
## 485.2 
## 
## $q2
##  50% 
## 4232 
## 
## $q3
##  75% 
## 9643 
## 
## $minimum
## [1] 0
## 
## $maximum
## [1] 60308
summary.stats(re78.contr)
## $average
## [1] 6984
## 
## $stdev
## [1] 7294
## 
## $skewness
## [1] 0.9378
## 
## $kurtosis
## [1] 2.863
## 
## $q1
##   25% 
## 220.2 
## 
## $q2
##  50% 
## 4976 
## 
## $q3
##   75% 
## 11689 
## 
## $minimum
## [1] 0
## 
## $maximum
## [1] 25565