Overview

Analysis

change in in /usr/lib/rstudio/resources/templates

Packages

Graph theme

Dataset

Point to anonymized dataset

EDA

## Rows: 70
## Columns: 15
## $ n                    <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15…
## $ hc                   <dbl> 33, 35, 43, 74, 82, 188, 202, 216, 316, 392, 418,…
## $ fecha_nac            <chr> "10-28-82", "06-12-82", "01-28-80", "01-27-81", "…
## $ sexo                 <chr> "Masculino", "Femenino", "Masculino", "Femenino",…
## $ clasificacion_1      <chr> "7: Fractura raíz", "13: Avulsión", "4: Fractura …
## $ fecha_trauma         <chr> "08-09-91", "03-29-91", "05-15-90", "04-10-89", "…
## $ edad_trauma_anos     <chr> "8", "8", "10", "8", "8", "6", "8", "13", "6", "6…
## $ edad_trauma_meses    <chr> "9", "9", "3", "2", "6", "4", "4", "6", "1", "4",…
## $ fecha_control        <chr> "09-21-99", "11-21-91", "06-30-94", "07-24-90", "…
## $ edad_control_anos    <chr> "16", "9", "14", "9", "25", "16", "17", "22", "11…
## $ edad_control_meses   <chr> "10", "5", "5", "5", "8", "10", "0", "10", "0", "…
## $ tiempo_control_anos  <chr> "8", "0", "4", "1", "17", "10", "8", "9", "4", "5…
## $ tiempo_control_meses <chr> "1", "7", "1", "3", "1", "6", "7", "4", "10", "8"…
## $ resp_pulpar          <chr> NA, "4: Necrosis pulpar aséptica", "4: Necrosis p…
## $ resp_periodontal     <chr> NA, "B: Detención del desarrollo radicular", "A: …

Change chr to int: edad_trauma_anos edad_trauma_meses edad_control_anos edad_control_meses tiempo_control_anos tiempo_control_meses

Convert time columns

## # A tibble: 6 x 15
##       n    hc fecha_nac  sexo   clasificacion_1    fecha_trauma edad_trauma_anos
##   <dbl> <dbl> <date>     <chr>  <chr>              <date>                  <dbl>
## 1     1    33 1982-10-28 Mascu… 7: Fractura raíz   1991-08-09                  8
## 2     2    35 1982-06-12 Femen… 13: Avulsión       1991-03-29                  8
## 3     3    43 1980-01-28 Mascu… 4: Fractura coron… 1990-05-15                 10
## 4     4    74 1981-01-27 Femen… 4: Fractura coron… 1989-04-10                  8
## 5     5    82 1982-08-24 Mascu… 7: Fractura raíz   1991-03-01                  8
## 6     6   188 1983-12-22 Femen… 12: Lux.ación lat… 1990-05-07                  6
## # … with 8 more variables: edad_trauma_meses <dbl>, fecha_control <date>,
## #   edad_control_anos <dbl>, edad_control_meses <dbl>,
## #   tiempo_control_anos <dbl>, tiempo_control_meses <dbl>, resp_pulpar <chr>,
## #   resp_periodontal <chr>

Check NAs

## # A tibble: 70 x 15
##        n    hc fecha_nac  sexo   clasificacion_1   fecha_trauma edad_trauma_anos
##    <dbl> <dbl> <date>     <chr>  <chr>             <date>                  <dbl>
##  1     1    33 1982-10-28 Mascu… 7: Fractura raíz  1991-08-09               8.78
##  2     2    35 1982-06-12 Femen… 13: Avulsión      1991-03-29               8.79
##  3     3    43 1980-01-28 Mascu… 4: Fractura coro… 1990-05-15              10.3 
##  4     4    74 1981-01-27 Femen… 4: Fractura coro… 1989-04-10               8.2 
##  5     5    82 1982-08-24 Mascu… 7: Fractura raíz  1991-03-01               8.52
##  6     6   188 1983-12-22 Femen… 12: Lux.ación la… 1990-05-07               6.37
##  7     7   202 1983-03-19 Femen… 10: Intrusión     1991-08-16               8.41
##  8     8   216 1977-05-29 Femen… 8: Concusión      1990-12-11              13.5 
##  9     9   316 1987-08-20 Femen… 11: Extrusión     1993-10-19               6.16
## 10    10   392 1988-02-14 Mascu… 12: Lux.ación la… 1994-07-11               6.40
## # … with 60 more rows, and 8 more variables: edad_trauma_meses <dbl>,
## #   fecha_control <date>, edad_control_anos <dbl>, edad_control_meses <dbl>,
## #   tiempo_control_anos <dbl>, tiempo_control_meses <dbl>, resp_pulpar <chr>,
## #   resp_periodontal <chr>

Data exploration

Characteristic Femenino, N = 351 Masculino, N = 351
clasificacion_1
10: Intrusión 3 (8.6%) 0 (0%)
11: Extrusión 2 (5.7%) 2 (5.7%)
12: Lux.ación lateral 2 (5.7%) 1 (2.9%)
13: Avulsión 7 (20%) 7 (20%)
3: Fractura coronaria no complicada 6 (17%) 5 (14%)
4: Fractura coronaria complicada 10 (29%) 11 (31%)
6: Fractura corona/raíz complicada 1 (2.9%) 0 (0%)
7: Fractura raíz 2 (5.7%) 5 (14%)
8: Concusión 1 (2.9%) 1 (2.9%)
9: Subluxación 1 (2.9%) 3 (8.6%)
edad_trauma_anos 8.00 (7.00, 8.75) 8.00 (7.00, 9.00)
Unknown 1 0
edad_trauma_meses 6.0 (3.2, 8.0) 5.0 (3.0, 8.5)
Unknown 1 0
edad_control_anos 13.0 (10.0, 15.0) 11.5 (10.0, 16.8)
Unknown 1 1
edad_control_meses 5.0 (3.0, 7.0) 5.0 (2.2, 8.8)
Unknown 1 1
tiempo_control_anos 4.0 (1.0, 6.0) 2.0 (1.0, 7.0)
Unknown 0 1
tiempo_control_meses 5.0 (3.0, 8.0) 4.0 (1.0, 8.0)
Unknown 0 1
resp_pulpar
1: Cicatrización pulpar 13 (39%) 17 (53%)
2: Obliteración del canal pulpar con vitalidad pulpar 9 (27%) 6 (19%)
4: Necrosis pulpar aséptica 10 (30%) 7 (22%)
5: Necrosis pulpar séptica 1 (3.0%) 2 (6.2%)
Unknown 2 3
resp_periodontal
A: Desarrollo radicular normal 25 (74%) 26 (84%)
B: Detención del desarrollo radicular 9 (26%) 5 (16%)
Unknown 1 4

1 Statistics presented: n (%); Median (IQR)


Use and delete

Locate and change NAs

which(is.na(col)) df\(col[is.na(df\)col)] <- new_value

Remove columns with certain level NA

x <- df[ lapply( df, function(x) sum(is.na(x)) / length(x) ) < 0.4 ]

Search and replace in all

df <- dplyr::mutate_if(tibble::as_tibble(df), is.character, stringr::str_replace_all, pattern = “oldVar”,replacement = “newVar”)

Regression models

quickly plot the coefficients of a model: Ggally::ggcoef(log.reg, exponentiate = TRUE, color = “purple”, size = 5, shape = 18) turn off scientific notation: options(scipen = 999)

Cut or slice variables chop

Chop by: number of elements width Fixed size chop_n() chop_width() Fixed no. of groups chop_equally() chop_evenly()

gtsummary

table1 <- tbl_summary( trial2, by = trt, # split table by group missing = “no” # don’t list missing data separately ) %>% add_n() %>% # add column with total number of non-missing observations add_p() %>% # test for a difference between groups modify_header(label = “Variable”) %>% # update the column header bold_labels()

m1 <- glm(response ~ age + stage, trial, family = binomial)

model1 <- tbl_regression(m1, exponentiate = TRUE)

sjPlot::plot_model(