@@ -19,24 +19,22 @@ Because all of the tables created in {pixarfilms} are connected by each film,
19
19
this gives an interesting opportunity to explore these interconnected tables
20
20
together.
21
21
22
- ``` {r, include = FALSE}
23
- knitr::opts_chunk$set(
24
- collapse = TRUE,
25
- comment = "#>"
26
- )
27
- ```
22
+
28
23
29
24
30
25
## Setup
31
26
32
- ``` {r setup}
27
+
28
+ ``` r
33
29
library(dm )
30
+ library(pixarfilms )
34
31
```
35
32
36
33
37
34
## Setup
38
35
39
- ``` {r}
36
+
37
+ ``` r
40
38
# Create dm object
41
39
dm <- dm(pixar_films , pixar_people , academy , box_office , genres , public_response , pixar_rankings )
42
40
46
44
dm_add_pk(pixar_films , film ) %> %
47
45
dm_add_pk(academy , c(film , award_type )) %> %
48
46
dm_add_pk(box_office , film ) %> %
49
- dm_add_pk(genres, c(film, category)) %>%
50
- dm_add_pk(public_response, film) %>%
51
- dm_add_pk(pixar_rankings, c( film, source) )
47
+ dm_add_pk(genres , c(film , category , value )) %> %
48
+ # dm_add_pk(pixar_rankings, c( film, source) ) %>%
49
+ dm_add_pk(public_response , film )
52
50
53
51
# Create foreign keys
54
52
dm <-
57
55
dm_add_fk(academy , film , pixar_films ) %> %
58
56
dm_add_fk(box_office , film , pixar_films ) %> %
59
57
dm_add_fk(genres , film , pixar_films ) %> %
60
- dm_add_fk(public_response , film, pixar_films) %>%
61
- dm_add_fk(pixar_rankings , film, pixar_films)
58
+ # dm_add_fk(pixar_rankings , film, pixar_films) %>%
59
+ dm_add_fk(public_response , film , pixar_films )
62
60
63
61
# Add splash of color
64
62
dm <-
@@ -73,25 +71,84 @@ dm <-
73
71
74
72
## Explore
75
73
76
- ``` {r}
74
+
75
+ ``` r
77
76
dm
77
+ # > ── Metadata ───────────────────────────────────────────────────────────────────────────────────
78
+ # > Tables: `pixar_films`, `pixar_people`, `academy`, `box_office`, `genres`, … (7 total)
79
+ # > Columns: 31
80
+ # > Primary keys: 5
81
+ # > Foreign keys: 5
78
82
```
79
83
80
- ``` {r}
84
+
85
+ ``` r
81
86
dm %> %
82
87
dm_examine_cardinalities()
88
+ # > • FK: pixar_people$(`film`) -> pixar_films$(`film`): surjective mapping (child: 1 to n -> parent: 1)
89
+ # > • FK: academy$(`film`) -> pixar_films$(`film`): surjective mapping (child: 1 to n -> parent: 1)
90
+ # > • FK: box_office$(`film`) -> pixar_films$(`film`): bijective mapping (child: 1 -> parent: 1)
91
+ # > • FK: genres$(`film`) -> pixar_films$(`film`): surjective mapping (child: 1 to n -> parent: 1)
92
+ # > • FK: public_response$(`film`) -> pixar_films$(`film`): bijective mapping (child: 1 -> parent: 1)
83
93
```
84
94
85
95
86
- ``` {r}
96
+
97
+ ``` r
87
98
dm %> %
88
99
dm_examine_constraints()
100
+ # > ℹ All constraints satisfied.
89
101
```
90
102
91
103
92
- ## Visualize connections
93
-
94
- ``` {r}
95
- dm_draw(dm)
104
+ ## System information
105
+
106
+
107
+ ``` r
108
+ sessionInfo()
109
+ # > R version 4.0.4 (2021-02-15)
110
+ # > Platform: aarch64-unknown-linux-gnu (64-bit)
111
+ # > Running under: Debian GNU/Linux 11 (bullseye)
112
+ # >
113
+ # > Matrix products: default
114
+ # > BLAS: /usr/lib/aarch64-linux-gnu/blas/libblas.so.3.9.0
115
+ # > LAPACK: /usr/lib/aarch64-linux-gnu/lapack/liblapack.so.3.9.0
116
+ # >
117
+ # > locale:
118
+ # > [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
119
+ # > [4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
120
+ # > [7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
121
+ # > [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
122
+ # >
123
+ # > attached base packages:
124
+ # > [1] stats graphics grDevices utils datasets methods base
125
+ # >
126
+ # > other attached packages:
127
+ # > [1] pixarfilms_1.0.0 dm_1.0.10 ggbeeswarm_0.7.2 irr_0.84.1
128
+ # > [5] lpSolve_5.6.22 scales_1.3.0 votesys_0.1.1 gghighlight_0.4.1
129
+ # > [9] ggrepel_0.9.6 forcats_1.0.0 purrr_1.0.2 tibble_3.2.1
130
+ # > [13] ggplot2_3.5.0 tidyverse_2.0.0 reticulate_1.39.0 knitr_1.46
131
+ # > [17] gtrendsR_1.5.1.9000 httr_1.4.7 rvest_1.0.4 fuzzyjoin_0.1.6
132
+ # > [21] tidyr_1.3.1 dplyr_1.1.4 stringr_1.5.1 readr_2.1.5
133
+ # > [25] progress_1.2.3 lubridate_1.9.3 usethis_3.0.0 janitor_2.2.0
134
+ # > [29] here_1.0.1
135
+ # >
136
+ # > loaded via a namespace (and not attached):
137
+ # > [1] fs_1.6.3 webshot_0.5.5 RColorBrewer_1.1-3 rprojroot_2.0.4
138
+ # > [5] tools_4.0.4 backports_1.4.1 utf8_1.2.4 R6_2.5.1
139
+ # > [9] vipor_0.4.7 DBI_1.2.2 colorspace_2.1-0 withr_3.0.0
140
+ # > [13] tidyselect_1.2.1 prettyunits_1.2.0 compiler_4.0.4 cli_3.6.2
141
+ # > [17] xml2_1.3.6 digest_0.6.35 rmarkdown_2.28 pkgconfig_2.0.3
142
+ # > [21] htmltools_0.5.8.1 sessioninfo_1.2.2 dbplyr_2.5.0 fastmap_1.2.0
143
+ # > [25] htmlwidgets_1.6.4 rlang_1.1.3 rstudioapi_0.16.0 shiny_1.9.1
144
+ # > [29] visNetwork_2.1.2 generics_0.1.3 jsonlite_1.8.8 gtools_3.9.5
145
+ # > [33] magrittr_2.0.3 Matrix_1.3-2 Rcpp_1.0.12 munsell_0.5.1
146
+ # > [37] fansi_1.0.6 lifecycle_1.0.4 stringi_1.8.3 yaml_2.3.8
147
+ # > [41] snakecase_0.11.1 grid_4.0.4 promises_1.3.0 crayon_1.5.2
148
+ # > [45] lattice_0.20-41 hms_1.1.3 pillar_1.9.0 igraph_2.0.3
149
+ # > [49] glue_1.7.0 evaluate_0.23 data.table_1.15.4 png_0.1-8
150
+ # > [53] vctrs_0.6.5 tzdb_0.4.0 httpuv_1.6.15 gtable_0.3.4
151
+ # > [57] cachem_1.1.0 xfun_0.43 mime_0.12 xtable_1.8-4
152
+ # > [61] later_1.3.2 beeswarm_0.4.0 memoise_2.0.1 timechange_0.3.0
153
+ # > [65] DiagrammeR_1.0.11
96
154
```
97
-
0 commit comments