library(psych)
options(width = 100)
a <- anscombe
a$f1 <- factor(rep(1:2, len = 11))
a$f2 <- factor(rep(1:2, each = 2, len = 11))
describeBy(a, group = a$f1)
## group: 1
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 6 9.50 3.27 10.50 9.50 2.97 5.00 13.00 8.00 -0.34 -1.90 1.34
## x2 2 6 9.50 3.27 10.50 9.50 2.97 5.00 13.00 8.00 -0.34 -1.90 1.34
## x3 3 6 9.50 3.27 10.50 9.50 2.97 5.00 13.00 8.00 -0.34 -1.90 1.34
## x4 4 6 8.00 0.00 8.00 8.00 0.00 8.00 8.00 0.00 NaN NaN 0.00
## y1 5 6 7.95 1.69 7.81 7.95 0.81 5.68 10.84 5.16 0.41 -1.03 0.69
## y2 6 6 7.86 1.93 8.94 7.86 0.39 4.74 9.26 4.52 -0.64 -1.65 0.79
## y3 7 6 8.00 2.52 7.63 8.00 1.53 5.73 12.74 7.01 0.92 -0.73 1.03
## y4 8 6 6.74 1.23 6.73 6.74 1.59 5.25 8.47 3.22 0.09 -1.79 0.50
## f1* 9 6 1.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 NaN NaN 0.00
## f2* 10 6 1.50 0.55 1.50 1.50 0.74 1.00 2.00 1.00 0.00 -2.31 0.22
## ---------------------------------------------------------------------------
## group: 2
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 5 8.40 3.65 8.00 8.40 1.48 4.00 14.00 10.00 0.36 -1.46 1.63
## x2 2 5 8.40 3.65 8.00 8.40 1.48 4.00 14.00 10.00 0.36 -1.46 1.63
## x3 3 5 8.40 3.65 8.00 8.40 1.48 4.00 14.00 10.00 0.36 -1.46 1.63
## x4 4 5 10.20 4.92 8.00 10.20 0.00 8.00 19.00 11.00 1.07 -0.92 2.20
## y1 5 5 6.96 2.46 6.95 6.96 3.16 4.26 9.96 5.70 0.05 -2.10 1.10
## y2 6 5 7.07 2.29 8.10 7.07 0.99 3.10 8.77 5.67 -0.93 -1.09 1.02
## y3 7 5 6.91 1.26 6.77 6.91 0.52 5.39 8.84 3.45 0.37 -1.46 0.56
## y4 8 5 8.41 2.55 7.91 8.41 1.38 5.76 12.50 6.74 0.57 -1.43 1.14
## f1* 9 5 2.00 0.00 2.00 2.00 0.00 2.00 2.00 0.00 NaN NaN 0.00
## f2* 10 5 1.40 0.55 1.00 1.40 0.00 1.00 2.00 1.00 0.29 -2.25 0.24
describeBy(a, group = list(a$f1, a$f2))
## : 1
## : 1
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 3 11.00 1.00 11.00 11.00 1.48 10.00 12.00 2.00 0.00 -2.33 0.58
## x2 2 3 11.00 1.00 11.00 11.00 1.48 10.00 12.00 2.00 0.00 -2.33 0.58
## x3 3 3 11.00 1.00 11.00 11.00 1.48 10.00 12.00 2.00 0.00 -2.33 0.58
## x4 4 3 8.00 0.00 8.00 8.00 0.00 8.00 8.00 0.00 NaN NaN 0.00
## y1 5 3 9.07 1.54 8.33 9.07 0.43 8.04 10.84 2.80 0.37 -2.33 0.89
## y2 6 3 9.18 0.07 9.14 9.18 0.01 9.13 9.26 0.13 0.38 -2.33 0.04
## y3 7 3 7.81 0.35 7.81 7.81 0.50 7.46 8.15 0.69 -0.01 -2.33 0.20
## y4 8 3 6.87 1.48 6.58 6.87 1.51 5.56 8.47 2.91 0.19 -2.33 0.85
## f1* 9 3 1.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 NaN NaN 0.00
## f2* 10 3 1.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 NaN NaN 0.00
## ---------------------------------------------------------------------------
## : 2
## : 1
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 3 9.67 3.79 8.00 9.67 1.48 7.00 14.00 7.00 0.35 -2.33 2.19
## x2 2 3 9.67 3.79 8.00 9.67 1.48 7.00 14.00 7.00 0.35 -2.33 2.19
## x3 3 3 9.67 3.79 8.00 9.67 1.48 7.00 14.00 7.00 0.35 -2.33 2.19
## x4 4 3 8.00 0.00 8.00 8.00 0.00 8.00 8.00 0.00 NaN NaN 0.00
## y1 5 3 7.24 2.58 6.95 7.24 3.16 4.82 9.96 5.14 0.11 -2.33 1.49
## y2 6 3 7.83 0.50 8.10 7.83 0.06 7.26 8.14 0.88 -0.38 -2.33 0.29
## y3 7 3 7.34 1.31 6.77 7.34 0.52 6.42 8.84 2.42 0.35 -2.33 0.76
## y4 8 3 6.90 1.08 7.04 6.90 1.29 5.76 7.91 2.15 -0.12 -2.33 0.62
## f1* 9 3 2.00 0.00 2.00 2.00 0.00 2.00 2.00 0.00 NaN NaN 0.00
## f2* 10 3 1.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 NaN NaN 0.00
## ---------------------------------------------------------------------------
## : 1
## : 2
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 3 8.00 4.36 6.00 8.00 1.48 5.00 13.00 8.00 0.36 -2.33 2.52
## x2 2 3 8.00 4.36 6.00 8.00 1.48 5.00 13.00 8.00 0.36 -2.33 2.52
## x3 3 3 8.00 4.36 6.00 8.00 1.48 5.00 13.00 8.00 0.36 -2.33 2.52
## x4 4 3 8.00 0.00 8.00 8.00 0.00 8.00 8.00 0.00 NaN NaN 0.00
## y1 5 3 6.83 1.01 7.24 6.83 0.50 5.68 7.58 1.90 -0.34 -2.33 0.58
## y2 6 3 6.54 2.03 6.13 6.54 2.06 4.74 8.74 4.00 0.19 -2.33 1.17
## y3 7 3 8.18 3.95 6.08 8.18 0.52 5.73 12.74 7.01 0.38 -2.33 2.28
## y4 8 3 6.62 1.25 6.89 6.62 1.22 5.25 7.71 2.46 -0.21 -2.33 0.72
## f1* 9 3 1.00 0.00 1.00 1.00 0.00 1.00 1.00 0.00 NaN NaN 0.00
## f2* 10 3 2.00 0.00 2.00 2.00 0.00 2.00 2.00 0.00 NaN NaN 0.00
## ---------------------------------------------------------------------------
## : 2
## : 2
## var n mean sd median trimmed mad min max range skew kurtosis se
## x1 1 2 6.50 3.54 6.50 6.50 3.71 4.00 9.00 5.00 0 -2.75 2.50
## x2 2 2 6.50 3.54 6.50 6.50 3.71 4.00 9.00 5.00 0 -2.75 2.50
## x3 3 2 6.50 3.54 6.50 6.50 3.71 4.00 9.00 5.00 0 -2.75 2.50
## x4 4 2 13.50 7.78 13.50 13.50 8.15 8.00 19.00 11.00 0 -2.75 5.50
## y1 5 2 6.54 3.22 6.54 6.54 3.37 4.26 8.81 4.55 0 -2.75 2.28
## y2 6 2 5.93 4.01 5.93 5.93 4.20 3.10 8.77 5.67 0 -2.75 2.83
## y3 7 2 6.25 1.22 6.25 6.25 1.28 5.39 7.11 1.72 0 -2.75 0.86
## y4 8 2 10.67 2.59 10.67 10.67 2.71 8.84 12.50 3.66 0 -2.75 1.83
## f1* 9 2 2.00 0.00 2.00 2.00 0.00 2.00 2.00 0.00 NaN NaN 0.00
## f2* 10 2 2.00 0.00 2.00 2.00 0.00 2.00 2.00 0.00 NaN NaN 0.00
library(plyr)
ddply(a, .(f1), numcolwise(winsor.mean))
## f1 x1 x2 x3 x4 y1 y2 y3 y4
## 1 1 9.50 9.50 9.50 8.00 7.793 8.068 7.288 6.668
## 2 2 8.08 8.08 8.08 8.44 6.866 7.639 6.794 8.029
ddply(a, .(f1, f2), numcolwise(winsor.mean))
## f1 f2 x1 x2 x3 x4 y1 y2 y3 y4
## 1 1 1 11.0 11.0 11.0 8.0 8.774 9.162 7.808 6.754
## 2 1 2 7.2 7.2 7.2 8.0 6.996 6.374 7.342 6.726
## 3 2 1 9.0 9.0 9.0 8.0 7.126 7.940 7.114 6.958
## 4 2 2 6.5 6.5 6.5 13.5 6.535 5.935 6.250 10.670