Reformat numeric summarize output as one column per variable, similar to R summary
formatSummarizedNumerics.RdThe summarizeNumeric function returns a data frame with the variable names on the rows and summary statistics (mean, median, std. deviation) in the columns.This transposes and abbreviates the information to look more like R summary.
Examples
set.seed(21234)
X <- matrix(rnorm(10000), ncol = 10, dimnames = list(NULL, paste0("xvar", 1:10)))
Xsum <- summarize(X)
Xsum$numerics
#> min med max mean sd skewness
#> X_1 -3.105406 0.051946174 2.761531 -0.0004716396 0.9773594 -0.119453937
#> X_2 -3.171537 0.014717475 3.467011 0.0085730756 1.0090278 0.069454635
#> X_3 -4.173551 -0.012773663 2.584847 -0.0105729550 0.9643395 -0.164204466
#> X_4 -3.202678 0.014078438 3.739010 0.0094565296 1.0005261 0.064228233
#> X_5 -3.671592 -0.002751121 3.623525 0.0087940328 1.0493510 0.030401252
#> X_6 -2.911073 0.031108318 3.480088 0.0086429253 0.9797970 0.026653657
#> X_7 -3.012280 0.015947795 3.432372 -0.0084816622 0.9703977 0.023956277
#> X_8 -2.809011 -0.011710940 3.276530 0.0021537940 0.9739862 0.007185047
#> X_9 -2.837736 -0.030497353 3.063206 -0.0026433372 1.0099511 0.093501127
#> X_10 -2.930851 -0.020810063 3.620553 -0.0325085509 1.0278967 -0.021100342
#> kurtosis nobs nmissing
#> X_1 -0.30163251 1000 0
#> X_2 -0.01270508 1000 0
#> X_3 0.08287096 1000 0
#> X_4 -0.02818313 1000 0
#> X_5 0.08364179 1000 0
#> X_6 -0.08617585 1000 0
#> X_7 -0.05547183 1000 0
#> X_8 -0.14821084 1000 0
#> X_9 -0.13758498 1000 0
#> X_10 -0.13467103 1000 0
formatSummarizedNumerics(Xsum$numerics)
#> X_1 X_2 X_3 X_4 X_5 X_6 X_7
#> min -3.105 -3.172 -4.174 -3.203 -3.672 -2.911 -3.012
#> med 0.052 0.015 -0.013 0.014 -0.003 0.031 0.016
#> max 2.762 3.467 2.585 3.739 3.624 3.480 3.432
#> mean 0 0.009 -0.011 0.009 0.009 0.009 -0.008
#> sd 0.977 1.009 0.964 1.001 1.049 0.980 0.970
#> skewness -0.119 0.069 -0.164 0.064 0.030 0.027 0.024
#> kurtosis -0.302 -0.013 0.083 -0.028 0.084 -0.086 -0.055
#> nobs 1000 1000 1000 1000 1000 1000 1000
#> nmissing 0 0 0 0 0 0 0
#> X_8 X_9 X_10
#> min -2.809 -2.838 -2.931
#> med -0.012 -0.030 -0.021
#> max 3.277 3.063 3.621
#> mean 0.002 -0.003 -0.033
#> sd 0.974 1.010 1.028
#> skewness 0.007 0.094 -0.021
#> kurtosis -0.148 -0.138 -0.135
#> nobs 1000 1000 1000
#> nmissing 0 0 0
formatSummarizedNumerics(Xsum$numerics, digits = 5)
#> X_1 X_2 X_3 X_4 X_5 X_6
#> min -3.10541 -3.17154 -4.17355 -3.20268 -3.67159 -2.91107
#> med 0.05195 0.01472 -0.01277 0.01408 -0.00275 0.03111
#> max 2.76153 3.46701 2.58485 3.73901 3.62352 3.48009
#> mean -0.00047 0.00857 -0.01057 0.00946 0.00879 0.00864
#> sd 0.97736 1.00903 0.96434 1.00053 1.04935 0.97980
#> skewness -0.11945 0.06945 -0.16420 0.06423 0.03040 0.02665
#> kurtosis -0.30163 -0.01271 0.08287 -0.02818 0.08364 -0.08618
#> nobs 1000 1000 1000 1000 1000 1000
#> nmissing 0 0 0 0 0 0
#> X_7 X_8 X_9 X_10
#> min -3.01228 -2.80901 -2.83774 -2.93085
#> med 0.01595 -0.01171 -0.03050 -0.02081
#> max 3.43237 3.27653 3.06321 3.62055
#> mean -0.00848 0.00215 -0.00264 -0.03251
#> sd 0.97040 0.97399 1.00995 1.02790
#> skewness 0.02396 0.00719 0.09350 -0.02110
#> kurtosis -0.05547 -0.14821 -0.13758 -0.13467
#> nobs 1000 1000 1000 1000
#> nmissing 0 0 0 0
Xsum.fmt <- formatSummarizedNumerics(Xsum$numerics)
str(Xsum.fmt)
#> 'table' chr [1:9, 1:10] " -3.105" " 0.052" " 2.762" " 0 " ...
#> - attr(*, "dimnames")=List of 2
#> ..$ : chr [1:9] "min" "med" "max" "mean" ...
#> ..$ : chr [1:10] " X_1" " X_2" " X_3" " X_4" ...