
Fast descriptive statistics
descdata.RdComputes descriptive statistics for selected numeric columns using efficient C++ routines.
Arguments
- data
A data frame, matrix, or numeric vector. If a vector is supplied, it is treated as a single variable and the output's first column is named
"value".- cols
Column indices or names of numeric variables to describe. If
NULL, all numeric columns are used.- stats
Statistic selection from the nine available:
n,na,mean,sd,median,trimmed,min,max,IQR. Can be a numeric vector or a character vector of statistic names.- first
Name for the first column of the output, which contains the variable identifiers.
- cores
Number of CPU cores.
NULL(default) means single-threaded execution; pass an integer > 0 to enable OpenMP whennrow(x) * ncol(x) > 1e5.- verbose
Logical; if
TRUE, prints timing message.
Details
The function accepts vectors, matrices, and data frames. Numeric columns are required. The calculation is performed entirely in C++ via Rcpp for speed.
References
1. Example data is from https://smear.avaa.csc.fi/download. It includes particle number concentrations in SMEAR I Varrio forest.
Examples
descdata(data, cols = 5:65)
#> variables n na mean sd median trimmed min
#> 1 1.00 0 7640 NA NA NA NA NA
#> 2 1.12 0 7640 NA NA NA NA NA
#> 3 1.26 0 7640 NA NA NA NA NA
#> 4 1.41 0 7640 NA NA NA NA NA
#> 5 1.58 0 7640 NA NA NA NA NA
#> 6 1.78 0 7640 NA NA NA NA NA
#> 7 2.00 0 7640 NA NA NA NA NA
#> 8 2.24 0 7640 NA NA NA NA NA
#> 9 2.51 0 7640 NA NA NA NA NA
#> 10 2.82 1831 5809 377.548342 232.057899 308.71900 338.750339 48.53460000
#> 11 3.16 2953 4687 163.856277 127.194031 155.53500 145.101887 12.70120000
#> 12 3.55 2905 4735 101.408428 100.109664 113.80000 87.728721 0.15067000
#> 13 3.98 2828 4812 82.832798 53.525028 55.55000 72.590322 16.78160000
#> 14 4.47 2681 4959 71.360522 67.494732 70.81520 61.013203 0.34854000
#> 15 5.01 2681 4959 67.400926 70.031989 50.34510 53.435813 15.64750000
#> 16 5.62 2777 4863 67.572823 88.726503 42.73830 49.525343 6.91550000
#> 17 6.31 2777 4863 74.726541 119.486492 48.20240 50.549740 0.02589600
#> 18 7.08 3070 4570 83.786695 153.550092 41.16210 49.404452 9.90800000
#> 19 7.94 3347 4293 94.496663 202.657467 38.17240 51.268355 0.06745800
#> 20 8.91 3365 4275 117.342359 244.582742 40.60140 63.725664 8.75860000
#> 21 10.00 4828 2812 107.394751 259.508315 32.09315 52.033880 0.00016282
#> 22 11.20 4911 2729 131.065194 317.404638 34.77410 63.314355 0.07292500
#> 23 12.60 5872 1768 139.678406 355.117588 39.95320 64.058300 0.58137000
#> 24 14.10 6514 1126 152.617547 410.874283 38.92155 68.118876 0.12967000
#> 25 15.80 6531 1109 184.960682 486.785219 57.23150 87.084181 0.19471000
#> 26 17.80 6990 650 207.728499 538.927738 68.76095 100.337035 0.42396000
#> 27 20.00 6993 647 247.114152 597.021606 84.71810 124.974262 0.57975000
#> 28 22.40 7603 37 285.754562 639.500268 102.76200 151.611072 0.00216260
#> 29 25.10 7636 4 348.852943 761.704765 129.02750 191.510644 0.00679610
#> 30 28.20 7636 4 430.975150 961.136820 167.99200 243.642561 0.00067899
#> 31 31.60 7639 1 528.335516 1221.075866 208.37900 306.501051 0.38137000
#> 32 35.50 7640 0 617.408090 1358.463237 259.99800 369.610633 0.77338000
#> 33 39.80 7639 1 691.649174 1320.239148 320.46000 433.857210 0.21750000
#> 34 44.70 7639 1 741.232644 1120.372070 378.76300 502.514399 0.41838000
#> 35 50.10 7639 1 784.318858 1030.530451 436.58000 570.484041 0.58457000
#> 36 56.20 7640 0 829.717896 1035.216496 487.59450 624.374505 0.61576000
#> 37 63.10 7639 1 869.143281 1050.648428 498.95200 668.911949 1.21870000
#> 38 70.80 7639 1 885.951374 1064.389349 518.29800 689.735293 0.33661000
#> 39 79.40 7638 2 840.922408 986.278963 512.08900 667.387407 1.15090000
#> 40 89.10 7640 0 780.827840 875.033625 435.27700 638.815692 0.39055000
#> 41 100.00 7640 0 728.448612 780.032238 386.39250 610.261665 0.31265000
#> 42 112.00 7639 1 699.799458 727.270267 406.68400 594.479395 0.03176400
#> 43 126.00 7639 1 700.211375 718.782854 421.45200 597.909903 1.41100000
#> 44 141.00 7639 1 689.960011 715.834693 421.59800 580.962772 0.02218700
#> 45 158.00 7639 1 651.162342 688.701197 394.42000 535.358313 0.02948900
#> 46 178.00 7638 2 578.348095 626.925274 344.79200 463.459974 0.02486900
#> 47 200.00 7638 2 476.683959 525.553079 293.20900 377.371498 0.28979000
#> 48 224.00 7634 6 372.775244 416.227533 233.99000 293.867711 0.08919700
#> 49 251.00 7631 9 273.861736 314.895168 171.89500 213.599033 0.00142890
#> 50 282.00 7628 12 184.267679 223.772091 108.07650 139.914055 0.00032150
#> 51 316.00 7628 12 113.019360 146.215187 59.06300 82.723615 0.00046397
#> 52 355.00 7612 28 67.705978 90.034395 32.91005 48.402637 0.00069579
#> 53 398.00 7580 60 38.398310 52.949020 17.14910 26.687896 0.00063670
#> 54 447.00 7518 122 21.227147 30.471579 9.56665 14.564665 0.00040810
#> 55 501.00 7482 158 11.768533 17.605113 5.91940 8.257983 0.00010302
#> 56 562.00 7332 308 7.257685 9.879424 3.97785 5.352925 0.00035044
#> 57 631.00 7102 538 4.798839 5.529845 3.03455 3.775947 0.00015625
#> 58 708.00 5214 2426 4.774773 4.686060 3.41065 3.974979 0.00040956
#> 59 794.00 0 7640 NA NA NA NA NA
#> 60 891.00 0 7640 NA NA NA NA NA
#> 61 1000.00 0 7640 NA NA NA NA NA
#> max IQR
#> 1 NA NA
#> 2 NA NA
#> 3 NA NA
#> 4 NA NA
#> 5 NA NA
#> 6 NA NA
#> 7 NA NA
#> 8 NA NA
#> 9 NA NA
#> 10 4253.7600 61.511500
#> 11 2164.7500 132.407100
#> 12 1160.9100 119.563500
#> 13 571.5760 50.327750
#> 14 684.5200 66.196600
#> 15 700.2300 47.378500
#> 16 1206.6300 53.777200
#> 17 1434.2600 79.739700
#> 18 2084.2800 49.405075
#> 19 3008.9900 70.715550
#> 20 3400.4200 75.959200
#> 21 4079.4400 71.644400
#> 22 5444.1500 90.020400
#> 23 5503.3500 92.844200
#> 24 8045.6300 96.609350
#> 25 13492.7000 119.147950
#> 26 14810.8000 137.727300
#> 27 13567.7000 174.112900
#> 28 10172.2000 211.989900
#> 29 10407.1000 266.843900
#> 30 15507.3000 333.751475
#> 31 21331.9000 419.536400
#> 32 22913.8000 521.526000
#> 33 20106.5000 632.866500
#> 34 11556.7000 740.444500
#> 35 8827.1500 836.025000
#> 36 8190.7600 941.843500
#> 37 7693.9600 1073.072000
#> 38 7530.5100 1199.013300
#> 39 6992.5100 1199.125100
#> 40 6243.5400 1175.845950
#> 41 5641.8500 1159.318275
#> 42 4357.3300 1134.288150
#> 43 3781.6600 1083.971600
#> 44 3196.0100 994.084200
#> 45 3106.3600 883.776000
#> 46 3164.9600 730.198500
#> 47 2745.0300 593.104850
#> 48 2524.2100 460.751850
#> 49 2139.0500 315.223650
#> 50 1796.8200 210.028850
#> 51 1349.3500 124.886175
#> 52 866.9500 74.577800
#> 53 768.1630 41.636800
#> 54 452.0760 20.668025
#> 55 283.1720 11.583125
#> 56 168.3340 7.142250
#> 57 78.2052 4.785200
#> 58 40.4814 4.832275
#> 59 NA NA
#> 60 NA NA
#> 61 NA NA
descdata(data, cols = 5:65, stats = c(2, 7:9))
#> variables na min max IQR
#> 1 1.00 7640 NA NA NA
#> 2 1.12 7640 NA NA NA
#> 3 1.26 7640 NA NA NA
#> 4 1.41 7640 NA NA NA
#> 5 1.58 7640 NA NA NA
#> 6 1.78 7640 NA NA NA
#> 7 2.00 7640 NA NA NA
#> 8 2.24 7640 NA NA NA
#> 9 2.51 7640 NA NA NA
#> 10 2.82 5809 48.53460000 4253.7600 61.511500
#> 11 3.16 4687 12.70120000 2164.7500 132.407100
#> 12 3.55 4735 0.15067000 1160.9100 119.563500
#> 13 3.98 4812 16.78160000 571.5760 50.327750
#> 14 4.47 4959 0.34854000 684.5200 66.196600
#> 15 5.01 4959 15.64750000 700.2300 47.378500
#> 16 5.62 4863 6.91550000 1206.6300 53.777200
#> 17 6.31 4863 0.02589600 1434.2600 79.739700
#> 18 7.08 4570 9.90800000 2084.2800 49.405075
#> 19 7.94 4293 0.06745800 3008.9900 70.715550
#> 20 8.91 4275 8.75860000 3400.4200 75.959200
#> 21 10.00 2812 0.00016282 4079.4400 71.644400
#> 22 11.20 2729 0.07292500 5444.1500 90.020400
#> 23 12.60 1768 0.58137000 5503.3500 92.844200
#> 24 14.10 1126 0.12967000 8045.6300 96.609350
#> 25 15.80 1109 0.19471000 13492.7000 119.147950
#> 26 17.80 650 0.42396000 14810.8000 137.727300
#> 27 20.00 647 0.57975000 13567.7000 174.112900
#> 28 22.40 37 0.00216260 10172.2000 211.989900
#> 29 25.10 4 0.00679610 10407.1000 266.843900
#> 30 28.20 4 0.00067899 15507.3000 333.751475
#> 31 31.60 1 0.38137000 21331.9000 419.536400
#> 32 35.50 0 0.77338000 22913.8000 521.526000
#> 33 39.80 1 0.21750000 20106.5000 632.866500
#> 34 44.70 1 0.41838000 11556.7000 740.444500
#> 35 50.10 1 0.58457000 8827.1500 836.025000
#> 36 56.20 0 0.61576000 8190.7600 941.843500
#> 37 63.10 1 1.21870000 7693.9600 1073.072000
#> 38 70.80 1 0.33661000 7530.5100 1199.013300
#> 39 79.40 2 1.15090000 6992.5100 1199.125100
#> 40 89.10 0 0.39055000 6243.5400 1175.845950
#> 41 100.00 0 0.31265000 5641.8500 1159.318275
#> 42 112.00 1 0.03176400 4357.3300 1134.288150
#> 43 126.00 1 1.41100000 3781.6600 1083.971600
#> 44 141.00 1 0.02218700 3196.0100 994.084200
#> 45 158.00 1 0.02948900 3106.3600 883.776000
#> 46 178.00 2 0.02486900 3164.9600 730.198500
#> 47 200.00 2 0.28979000 2745.0300 593.104850
#> 48 224.00 6 0.08919700 2524.2100 460.751850
#> 49 251.00 9 0.00142890 2139.0500 315.223650
#> 50 282.00 12 0.00032150 1796.8200 210.028850
#> 51 316.00 12 0.00046397 1349.3500 124.886175
#> 52 355.00 28 0.00069579 866.9500 74.577800
#> 53 398.00 60 0.00063670 768.1630 41.636800
#> 54 447.00 122 0.00040810 452.0760 20.668025
#> 55 501.00 158 0.00010302 283.1720 11.583125
#> 56 562.00 308 0.00035044 168.3340 7.142250
#> 57 631.00 538 0.00015625 78.2052 4.785200
#> 58 708.00 2426 0.00040956 40.4814 4.832275
#> 59 794.00 7640 NA NA NA
#> 60 891.00 7640 NA NA NA
#> 61 1000.00 7640 NA NA NA
descdata(data, cols = 5:65, stats = c("na", "min", "max", "IQR"))
#> variables na min max IQR
#> 1 1.00 7640 NA NA NA
#> 2 1.12 7640 NA NA NA
#> 3 1.26 7640 NA NA NA
#> 4 1.41 7640 NA NA NA
#> 5 1.58 7640 NA NA NA
#> 6 1.78 7640 NA NA NA
#> 7 2.00 7640 NA NA NA
#> 8 2.24 7640 NA NA NA
#> 9 2.51 7640 NA NA NA
#> 10 2.82 5809 48.53460000 4253.7600 61.511500
#> 11 3.16 4687 12.70120000 2164.7500 132.407100
#> 12 3.55 4735 0.15067000 1160.9100 119.563500
#> 13 3.98 4812 16.78160000 571.5760 50.327750
#> 14 4.47 4959 0.34854000 684.5200 66.196600
#> 15 5.01 4959 15.64750000 700.2300 47.378500
#> 16 5.62 4863 6.91550000 1206.6300 53.777200
#> 17 6.31 4863 0.02589600 1434.2600 79.739700
#> 18 7.08 4570 9.90800000 2084.2800 49.405075
#> 19 7.94 4293 0.06745800 3008.9900 70.715550
#> 20 8.91 4275 8.75860000 3400.4200 75.959200
#> 21 10.00 2812 0.00016282 4079.4400 71.644400
#> 22 11.20 2729 0.07292500 5444.1500 90.020400
#> 23 12.60 1768 0.58137000 5503.3500 92.844200
#> 24 14.10 1126 0.12967000 8045.6300 96.609350
#> 25 15.80 1109 0.19471000 13492.7000 119.147950
#> 26 17.80 650 0.42396000 14810.8000 137.727300
#> 27 20.00 647 0.57975000 13567.7000 174.112900
#> 28 22.40 37 0.00216260 10172.2000 211.989900
#> 29 25.10 4 0.00679610 10407.1000 266.843900
#> 30 28.20 4 0.00067899 15507.3000 333.751475
#> 31 31.60 1 0.38137000 21331.9000 419.536400
#> 32 35.50 0 0.77338000 22913.8000 521.526000
#> 33 39.80 1 0.21750000 20106.5000 632.866500
#> 34 44.70 1 0.41838000 11556.7000 740.444500
#> 35 50.10 1 0.58457000 8827.1500 836.025000
#> 36 56.20 0 0.61576000 8190.7600 941.843500
#> 37 63.10 1 1.21870000 7693.9600 1073.072000
#> 38 70.80 1 0.33661000 7530.5100 1199.013300
#> 39 79.40 2 1.15090000 6992.5100 1199.125100
#> 40 89.10 0 0.39055000 6243.5400 1175.845950
#> 41 100.00 0 0.31265000 5641.8500 1159.318275
#> 42 112.00 1 0.03176400 4357.3300 1134.288150
#> 43 126.00 1 1.41100000 3781.6600 1083.971600
#> 44 141.00 1 0.02218700 3196.0100 994.084200
#> 45 158.00 1 0.02948900 3106.3600 883.776000
#> 46 178.00 2 0.02486900 3164.9600 730.198500
#> 47 200.00 2 0.28979000 2745.0300 593.104850
#> 48 224.00 6 0.08919700 2524.2100 460.751850
#> 49 251.00 9 0.00142890 2139.0500 315.223650
#> 50 282.00 12 0.00032150 1796.8200 210.028850
#> 51 316.00 12 0.00046397 1349.3500 124.886175
#> 52 355.00 28 0.00069579 866.9500 74.577800
#> 53 398.00 60 0.00063670 768.1630 41.636800
#> 54 447.00 122 0.00040810 452.0760 20.668025
#> 55 501.00 158 0.00010302 283.1720 11.583125
#> 56 562.00 308 0.00035044 168.3340 7.142250
#> 57 631.00 538 0.00015625 78.2052 4.785200
#> 58 708.00 2426 0.00040956 40.4814 4.832275
#> 59 794.00 7640 NA NA NA
#> 60 891.00 7640 NA NA NA
#> 61 1000.00 7640 NA NA NA