#Loading packages

library(ggplot2)
library(psych)
## 
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
library(table1)
## 
## Attaching package: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-
library(compareGroups)

#Check format of data

data(diamonds)
str(diamonds)
## tibble[,10] [53,940 x 10] (S3: tbl_df/tbl/data.frame)
##  $ carat  : num [1:53940] 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num [1:53940] 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num [1:53940] 55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int [1:53940] 326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num [1:53940] 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num [1:53940] 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num [1:53940] 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

#Traditional method ##Major disadvatage: cannot create a whole table for data

summary(diamonds)
##      carat               cut        color        clarity          depth      
##  Min.   :0.2000   Fair     : 1610   D: 6775   SI1    :13065   Min.   :43.00  
##  1st Qu.:0.4000   Good     : 4906   E: 9797   VS2    :12258   1st Qu.:61.00  
##  Median :0.7000   Very Good:12082   F: 9542   SI2    : 9194   Median :61.80  
##  Mean   :0.7979   Premium  :13791   G:11292   VS1    : 8171   Mean   :61.75  
##  3rd Qu.:1.0400   Ideal    :21551   H: 8304   VVS2   : 5066   3rd Qu.:62.50  
##  Max.   :5.0100                     I: 5422   VVS1   : 3655   Max.   :79.00  
##                                     J: 2808   (Other): 2531                  
##      table           price             x                y         
##  Min.   :43.00   Min.   :  326   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.:56.00   1st Qu.:  950   1st Qu.: 4.710   1st Qu.: 4.720  
##  Median :57.00   Median : 2401   Median : 5.700   Median : 5.710  
##  Mean   :57.46   Mean   : 3933   Mean   : 5.731   Mean   : 5.735  
##  3rd Qu.:59.00   3rd Qu.: 5324   3rd Qu.: 6.540   3rd Qu.: 6.540  
##  Max.   :95.00   Max.   :18823   Max.   :10.740   Max.   :58.900  
##                                                                   
##        z         
##  Min.   : 0.000  
##  1st Qu.: 2.910  
##  Median : 3.530  
##  Mean   : 3.539  
##  3rd Qu.: 4.040  
##  Max.   :31.800  
## 

#Psych package ##Problem: Too voluminous

describe(diamonds, skew=F)
##          vars     n    mean      sd   min      max    range    se
## carat       1 53940    0.80    0.47   0.2     5.01     4.81  0.00
## cut*        2 53940    3.90    1.12   1.0     5.00     4.00  0.00
## color*      3 53940    3.59    1.70   1.0     7.00     6.00  0.01
## clarity*    4 53940    4.05    1.65   1.0     8.00     7.00  0.01
## depth       5 53940   61.75    1.43  43.0    79.00    36.00  0.01
## table       6 53940   57.46    2.23  43.0    95.00    52.00  0.01
## price       7 53940 3932.80 3989.44 326.0 18823.00 18497.00 17.18
## x           8 53940    5.73    1.12   0.0    10.74    10.74  0.00
## y           9 53940    5.73    1.14   0.0    58.90    58.90  0.00
## z          10 53940    3.54    0.71   0.0    31.80    31.80  0.00

#Table1 ##Suitable for most of scientific paper (without p-value)

table1(~carat+color+clarity+depth+table+price,data=diamonds)
Overall
(N=53940)
carat
Mean (SD) 0.798 (0.474)
Median [Min, Max] 0.700 [0.200, 5.01]
color
D 6775 (12.6%)
E 9797 (18.2%)
F 9542 (17.7%)
G 11292 (20.9%)
H 8304 (15.4%)
I 5422 (10.1%)
J 2808 (5.2%)
clarity
I1 741 (1.4%)
SI2 9194 (17.0%)
SI1 13065 (24.2%)
VS2 12258 (22.7%)
VS1 8171 (15.1%)
VVS2 5066 (9.4%)
VVS1 3655 (6.8%)
IF 1790 (3.3%)
depth
Mean (SD) 61.7 (1.43)
Median [Min, Max] 61.8 [43.0, 79.0]
table
Mean (SD) 57.5 (2.23)
Median [Min, Max] 57.0 [43.0, 95.0]
price
Mean (SD) 3930 (3990)
Median [Min, Max] 2400 [326, 18800]

#CompareGroups ##Table1+ p-value

createTable(compareGroups(cut~ carat+price+color+x+y+z, method=c(price=2), data=diamonds))
## Warning in cor.test.default(x, as.integer(y), method = "spearman"): Cannot
## compute exact p-value with ties
## 
## --------Summary descriptives table by 'cut'---------
## 
## ___________________________________________________________________________________________________________ 
##              Fair             Good          Very Good        Premium           Ideal      p.overall p.trend 
##             N=1610           N=4906          N=12082         N=13791          N=21551                       
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 
## carat    1.05 (0.52)      0.85 (0.45)      0.81 (0.46)     0.89 (0.52)      0.70 (0.43)     0.000   <0.001  
## price  3282 [2050;5206] 3050 [1145;5028] 2648 [912;5373] 3185 [1046;6296] 1810 [878;4678]  <0.001   <0.001  
## color:                                                                                     <0.001   <0.001  
##     D    163 (10.1%)      662 (13.5%)     1513 (12.5%)     1603 (11.6%)    2834 (13.2%)                     
##     E    224 (13.9%)      933 (19.0%)     2400 (19.9%)     2337 (16.9%)    3903 (18.1%)                     
##     F    312 (19.4%)      909 (18.5%)     2164 (17.9%)     2331 (16.9%)    3826 (17.8%)                     
##     G    314 (19.5%)      871 (17.8%)     2299 (19.0%)     2924 (21.2%)    4884 (22.7%)                     
##     H    303 (18.8%)      702 (14.3%)     1824 (15.1%)     2360 (17.1%)    3115 (14.5%)                     
##     I    175 (10.9%)      522 (10.6%)     1204 (9.97%)     1428 (10.4%)    2093 (9.71%)                     
##     J    119 (7.39%)      307 (6.26%)      678 (5.61%)     808 (5.86%)      896 (4.16%)                     
## x        6.25 (0.96)      5.84 (1.06)      5.74 (1.10)     5.97 (1.19)      5.51 (1.06)     0.000   <0.001  
## y        6.18 (0.96)      5.85 (1.05)      5.77 (1.10)     5.94 (1.26)      5.52 (1.07)     0.000   <0.001  
## z        3.98 (0.65)      3.64 (0.65)      3.56 (0.73)     3.65 (0.73)      3.40 (0.66)     0.000   <0.001  
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯