idem-lab / conmat

Create Contact Matrices from Population Data
https://idem-lab.github.io/conmat/dev/
Other
14 stars 2 forks source link

change print method for conmat_prediction_matrix #116

Closed njtierney closed 1 year ago

njtierney commented 1 year ago

Currently it leaves these little bits about its attributes below:

library(conmat)

perth_city <- abs_age_lga("Perth (C)")

synthetic_settings_5y_perth <- extrapolate_polymod(
  population = perth_city
)

synthetic_settings_5y_perth$home
#>               [0,5)     [5,10)    [10,15)    [15,20)    [20,25)    [25,30)
#> [0,5)    0.43286742 0.29763191 0.13545444 0.09253313 0.15008400 0.31006832
#> [5,10)   0.19539540 0.32614408 0.19298071 0.07240796 0.05253101 0.09539589
#> [10,15)  0.08580358 0.14982535 0.26431621 0.13067334 0.04812135 0.03780174
#> [15,20)  0.10893368 0.10058193 0.19549460 0.35658562 0.17167021 0.06670136
#> [20,25)  0.41817541 0.21041155 0.20649300 0.42539695 0.81996732 0.42748330
#> [25,30)  1.26071724 0.59590213 0.30015102 0.30070897 0.72329216 1.43610743
#> [30,35)  1.53051825 1.11356908 0.50351417 0.22682988 0.26787777 0.71613107
#> [35,40)  0.75795983 0.97237773 0.69498605 0.25651691 0.12568741 0.17380175
#> [40,45)  0.24610483 0.41391490 0.56286999 0.33433321 0.12490827 0.07095037
#> [45,50)  0.12182757 0.14959250 0.28075359 0.34120979 0.20093584 0.08658146
#> [50,55)  0.11484040 0.08535093 0.11414223 0.20659094 0.24496019 0.16165147
#> [55,60)  0.12857614 0.08729955 0.06365010 0.08662067 0.15679389 0.19763373
#> [60,65)  0.11180955 0.09921536 0.05929610 0.04267126 0.06199533 0.11467213
#> [65,70)  0.07207268 0.08333077 0.06174394 0.03435413 0.02762880 0.04133037
#> [70,75)  0.04299402 0.05221530 0.05035158 0.03418500 0.02181148 0.01963700
#> [75,Inf) 0.04087591 0.05036905 0.05162575 0.04752136 0.04328123 0.04012389
#>             [30,35)    [35,40)    [40,45)    [45,50)    [50,55)    [55,60)
#> [0,5)    0.41078572 0.27615702 0.13024473 0.08943279 0.10751163 0.14077143
#> [5,10)   0.21578228 0.28679362 0.18061376 0.08367031 0.06132985 0.07616096
#> [10,15)  0.07478264 0.16898542 0.21035001 0.12440667 0.05984201 0.04512569
#> [15,20)  0.05444149 0.10345870 0.21522349 0.24781855 0.14833580 0.07487564
#> [20,25)  0.17195020 0.14056230 0.24619246 0.45355681 0.49038176 0.30745775
#> [25,30)  0.74518043 0.30610596 0.25806582 0.42501547 0.70337916 0.74399156
#> [30,35)  1.37630453 0.68211557 0.29782429 0.26238136 0.40823968 0.64971302
#> [35,40)  0.46551696 0.81409586 0.41007988 0.20228397 0.18240927 0.27361621
#> [40,45)  0.10384042 0.24746062 0.41544876 0.24123652 0.13057403 0.11566487
#> [45,50)  0.05368873 0.07290598 0.15779252 0.29673969 0.19702670 0.10812848
#> [50,55)  0.07869329 0.04953532 0.06070050 0.13794808 0.30041794 0.20666328
#> [55,60)  0.14776205 0.07671676 0.04588709 0.05606971 0.14681318 0.34545739
#> [60,65)  0.16003509 0.12868355 0.06535898 0.03870626 0.05321413 0.15761631
#> [65,70)  0.08124923 0.12128064 0.09610373 0.04736126 0.03062397 0.04927549
#> [70,75)  0.02993882 0.06050368 0.08931291 0.06740030 0.03459034 0.02617113
#> [75,Inf) 0.03802237 0.04282950 0.06759506 0.09999999 0.10143676 0.08066027
#>             [60,65)    [65,70)    [70,75)   [75,Inf)
#> [0,5)    0.13304437 0.09458061 0.07659068 0.09737456
#> [5,10)   0.09217889 0.07714406 0.05564515 0.06889694
#> [10,15)  0.05251606 0.05760266 0.04943219 0.05229533
#> [15,20)  0.05430768 0.05792943 0.06494508 0.07334824
#> [20,25)  0.15975764 0.11103280 0.11841746 0.17670195
#> [25,30)  0.47428150 0.24870148 0.18219691 0.29921262
#> [30,35)  0.67857073 0.43071342 0.24288423 0.28665551
#> [35,40)  0.42135889 0.42750752 0.28640042 0.20838427
#> [40,45)  0.16340244 0.23612425 0.24565727 0.17041091
#> [45,50)  0.08928944 0.11395448 0.16085804 0.17657256
#> [50,55)  0.10721176 0.08047772 0.09701864 0.18079650
#> [55,60)  0.22397455 0.10791486 0.07784553 0.16031891
#> [60,65)  0.35149867 0.21289327 0.10312238 0.12065098
#> [65,70)  0.14757949 0.30189149 0.18435712 0.09787975
#> [70,75)  0.04647252 0.13103732 0.24779062 0.12099370
#> [75,Inf) 0.06448269 0.07705610 0.16012724 0.32616151
#> attr(,"class")
#> [1] "conmat_prediction_matrix" "matrix"                  
#> [3] "array"

Created on 2022-12-14 with reprex v2.0.2

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.2.1 (2022-06-23) #> os macOS Monterey 12.3.1 #> system aarch64, darwin20 #> ui X11 #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz Australia/Brisbane #> date 2022-12-14 #> pandoc 2.19.2 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.2.0) #> cli 3.4.1 2022-09-23 [1] CRAN (R 4.2.0) #> codetools 0.2-18 2020-11-04 [1] CRAN (R 4.2.1) #> colorspace 2.0-3 2022-02-21 [1] CRAN (R 4.2.0) #> conmat * 0.0.0.9004 2022-12-12 [1] local #> DBI 1.1.3 2022-06-18 [1] CRAN (R 4.2.0) #> digest 0.6.30 2022-10-18 [1] CRAN (R 4.2.0) #> dplyr 1.0.10 2022-09-01 [1] CRAN (R 4.2.0) #> ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.2.0) #> evaluate 0.18 2022-11-07 [1] CRAN (R 4.2.0) #> fansi 1.0.3 2022-03-24 [1] CRAN (R 4.2.0) #> fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.2.0) #> fs 1.5.2 2021-12-08 [1] CRAN (R 4.2.0) #> furrr 0.3.1 2022-08-15 [1] CRAN (R 4.2.0) #> future 1.29.0 2022-11-06 [1] CRAN (R 4.2.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.2.0) #> ggplot2 3.4.0 2022-11-04 [1] CRAN (R 4.2.0) #> globals 0.16.2 2022-11-21 [1] CRAN (R 4.2.1) #> glue 1.6.2 2022-02-24 [1] CRAN (R 4.2.0) #> gtable 0.3.1 2022-09-01 [1] CRAN (R 4.2.0) #> highr 0.9 2021-04-16 [1] CRAN (R 4.2.0) #> hms 1.1.2 2022-08-19 [1] CRAN (R 4.2.0) #> htmltools 0.5.3 2022-07-18 [1] CRAN (R 4.2.0) #> knitr 1.41 2022-11-18 [1] CRAN (R 4.2.0) #> lattice 0.20-45 2021-09-22 [1] CRAN (R 4.2.1) #> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.2.0) #> listenv 0.8.0 2019-12-05 [1] CRAN (R 4.2.0) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.2.0) #> Matrix 1.5-3 2022-11-11 [1] CRAN (R 4.2.0) #> mgcv 1.8-41 2022-10-21 [1] CRAN (R 4.2.0) #> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.2.0) #> nlme 3.1-160 2022-10-10 [1] CRAN (R 4.2.0) #> parallelly 1.32.1 2022-07-21 [1] CRAN (R 4.2.0) #> pillar 1.8.1 2022-08-19 [1] CRAN (R 4.2.0) #> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.2.0) #> purrr * 0.3.5 2022-10-06 [1] CRAN (R 4.2.0) #> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.2.0) #> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.2.0) #> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.2.0) #> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.2.0) #> R6 2.5.1 2021-08-19 [1] CRAN (R 4.2.0) #> readr 2.1.3 2022-10-01 [1] CRAN (R 4.2.0) #> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.2.0) #> rlang 1.0.6 2022-09-24 [1] CRAN (R 4.2.0) #> rmarkdown 2.18 2022-11-09 [1] CRAN (R 4.2.0) #> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.2.0) #> scales 1.2.1 2022-08-20 [1] CRAN (R 4.2.0) #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.2.0) #> stringi 1.7.8 2022-07-11 [1] CRAN (R 4.2.0) #> stringr 1.5.0 2022-12-02 [1] CRAN (R 4.2.0) #> styler 1.8.1 2022-11-07 [1] CRAN (R 4.2.0) #> tibble 3.1.8 2022-07-22 [1] CRAN (R 4.2.0) #> tidyr 1.2.1 2022-09-08 [1] CRAN (R 4.2.0) #> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.2.0) #> tzdb 0.3.0 2022-03-28 [1] CRAN (R 4.2.0) #> utf8 1.2.2 2021-07-24 [1] CRAN (R 4.2.0) #> vctrs 0.5.1 2022-11-16 [1] CRAN (R 4.2.0) #> withr 2.5.0 2022-03-03 [1] CRAN (R 4.2.0) #> xfun 0.35 2022-11-16 [1] CRAN (R 4.2.0) #> yaml 2.3.6 2022-10-18 [1] CRAN (R 4.2.0) #> #> [1] /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library #> #> ────────────────────────────────────────────────────────────────────────────── ```
attr(,"class")
#> [1] "conmat_prediction_matrix" "matrix"                  
#> [3] "array"

This can be removed by adding a custom print method. Print methods are interesting things, and we could spend a bit of time making the print method really swish, but at the moment I think it's best if we just lop off those attribute parts.

njtierney commented 1 year ago

OK so I spent a bit more time on this than I was hoping but now the print method is nicer

library(conmat)

perth_city <- abs_age_lga("Perth (C)")

synthetic_settings_5y_perth <- extrapolate_polymod(
  population = perth_city
)

class(synthetic_settings_5y_perth)
#> [1] "conmat_setting_prediction_matrix" "list"
synthetic_settings_5y_perth
#> 
#> ── Setting Prediction Matrices: ────────────────────────────────────────────────
#> • home: "16x16" matrix
#> • work: "16x16" matrix
#> • school: "16x16" matrix
#> • other: "16x16" matrix
#> • all: "16x16" matrix
#> ℹ Access each matrix with `x$name`
#> ℹ e.g., `x$home`
class(synthetic_settings_5y_perth$home)
#> [1] "conmat_prediction_matrix" "matrix"                  
#> [3] "array"
synthetic_settings_5y_perth$home
#>               [0,5)     [5,10)    [10,15)    [15,20)    [20,25)    [25,30)
#> [0,5)    0.43286742 0.29763191 0.13545444 0.09253313 0.15008400 0.31006832
#> [5,10)   0.19539540 0.32614408 0.19298071 0.07240796 0.05253101 0.09539589
#> [10,15)  0.08580358 0.14982535 0.26431621 0.13067334 0.04812135 0.03780174
#> [15,20)  0.10893368 0.10058193 0.19549460 0.35658562 0.17167021 0.06670136
#> [20,25)  0.41817541 0.21041155 0.20649300 0.42539695 0.81996732 0.42748330
#> [25,30)  1.26071724 0.59590213 0.30015102 0.30070897 0.72329216 1.43610743
#> [30,35)  1.53051825 1.11356908 0.50351417 0.22682988 0.26787777 0.71613107
#> [35,40)  0.75795983 0.97237773 0.69498605 0.25651691 0.12568741 0.17380175
#> [40,45)  0.24610483 0.41391490 0.56286999 0.33433321 0.12490827 0.07095037
#> [45,50)  0.12182757 0.14959250 0.28075359 0.34120979 0.20093584 0.08658146
#> [50,55)  0.11484040 0.08535093 0.11414223 0.20659094 0.24496019 0.16165147
#> [55,60)  0.12857614 0.08729955 0.06365010 0.08662067 0.15679389 0.19763373
#> [60,65)  0.11180955 0.09921536 0.05929610 0.04267126 0.06199533 0.11467213
#> [65,70)  0.07207268 0.08333077 0.06174394 0.03435413 0.02762880 0.04133037
#> [70,75)  0.04299402 0.05221530 0.05035158 0.03418500 0.02181148 0.01963700
#> [75,Inf) 0.04087591 0.05036905 0.05162575 0.04752136 0.04328123 0.04012389
#>             [30,35)    [35,40)    [40,45)    [45,50)    [50,55)    [55,60)
#> [0,5)    0.41078572 0.27615702 0.13024473 0.08943279 0.10751163 0.14077143
#> [5,10)   0.21578228 0.28679362 0.18061376 0.08367031 0.06132985 0.07616096
#> [10,15)  0.07478264 0.16898542 0.21035001 0.12440667 0.05984201 0.04512569
#> [15,20)  0.05444149 0.10345870 0.21522349 0.24781855 0.14833580 0.07487564
#> [20,25)  0.17195020 0.14056230 0.24619246 0.45355681 0.49038176 0.30745775
#> [25,30)  0.74518043 0.30610596 0.25806582 0.42501547 0.70337916 0.74399156
#> [30,35)  1.37630453 0.68211557 0.29782429 0.26238136 0.40823968 0.64971302
#> [35,40)  0.46551696 0.81409586 0.41007988 0.20228397 0.18240927 0.27361621
#> [40,45)  0.10384042 0.24746062 0.41544876 0.24123652 0.13057403 0.11566487
#> [45,50)  0.05368873 0.07290598 0.15779252 0.29673969 0.19702670 0.10812848
#> [50,55)  0.07869329 0.04953532 0.06070050 0.13794808 0.30041794 0.20666328
#> [55,60)  0.14776205 0.07671676 0.04588709 0.05606971 0.14681318 0.34545739
#> [60,65)  0.16003509 0.12868355 0.06535898 0.03870626 0.05321413 0.15761631
#> [65,70)  0.08124923 0.12128064 0.09610373 0.04736126 0.03062397 0.04927549
#> [70,75)  0.02993882 0.06050368 0.08931291 0.06740030 0.03459034 0.02617113
#> [75,Inf) 0.03802237 0.04282950 0.06759506 0.09999999 0.10143676 0.08066027
#>             [60,65)    [65,70)    [70,75)   [75,Inf)
#> [0,5)    0.13304437 0.09458061 0.07659068 0.09737456
#> [5,10)   0.09217889 0.07714406 0.05564515 0.06889694
#> [10,15)  0.05251606 0.05760266 0.04943219 0.05229533
#> [15,20)  0.05430768 0.05792943 0.06494508 0.07334824
#> [20,25)  0.15975764 0.11103280 0.11841746 0.17670195
#> [25,30)  0.47428150 0.24870148 0.18219691 0.29921262
#> [30,35)  0.67857073 0.43071342 0.24288423 0.28665551
#> [35,40)  0.42135889 0.42750752 0.28640042 0.20838427
#> [40,45)  0.16340244 0.23612425 0.24565727 0.17041091
#> [45,50)  0.08928944 0.11395448 0.16085804 0.17657256
#> [50,55)  0.10721176 0.08047772 0.09701864 0.18079650
#> [55,60)  0.22397455 0.10791486 0.07784553 0.16031891
#> [60,65)  0.35149867 0.21289327 0.10312238 0.12065098
#> [65,70)  0.14757949 0.30189149 0.18435712 0.09787975
#> [70,75)  0.04647252 0.13103732 0.24779062 0.12099370
#> [75,Inf) 0.06448269 0.07705610 0.16012724 0.32616151

Created on 2022-12-14 with reprex v2.0.2

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.2.1 (2022-06-23) #> os macOS Monterey 12.3.1 #> system aarch64, darwin20 #> ui X11 #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz Australia/Brisbane #> date 2022-12-14 #> pandoc 2.19.2 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.2.0) #> cli 3.4.1 2022-09-23 [1] CRAN (R 4.2.0) #> codetools 0.2-18 2020-11-04 [1] CRAN (R 4.2.1) #> colorspace 2.0-3 2022-02-21 [1] CRAN (R 4.2.0) #> conmat * 0.0.0.9004 2022-12-14 [1] local #> DBI 1.1.3 2022-06-18 [1] CRAN (R 4.2.0) #> digest 0.6.30 2022-10-18 [1] CRAN (R 4.2.0) #> dplyr 1.0.10 2022-09-01 [1] CRAN (R 4.2.0) #> ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.2.0) #> evaluate 0.18 2022-11-07 [1] CRAN (R 4.2.0) #> fansi 1.0.3 2022-03-24 [1] CRAN (R 4.2.0) #> fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.2.0) #> fs 1.5.2 2021-12-08 [1] CRAN (R 4.2.0) #> furrr 0.3.1 2022-08-15 [1] CRAN (R 4.2.0) #> future 1.29.0 2022-11-06 [1] CRAN (R 4.2.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.2.0) #> ggplot2 3.4.0 2022-11-04 [1] CRAN (R 4.2.0) #> globals 0.16.2 2022-11-21 [1] CRAN (R 4.2.1) #> glue 1.6.2 2022-02-24 [1] CRAN (R 4.2.0) #> gtable 0.3.1 2022-09-01 [1] CRAN (R 4.2.0) #> highr 0.9 2021-04-16 [1] CRAN (R 4.2.0) #> hms 1.1.2 2022-08-19 [1] CRAN (R 4.2.0) #> htmltools 0.5.3 2022-07-18 [1] CRAN (R 4.2.0) #> knitr 1.41 2022-11-18 [1] CRAN (R 4.2.0) #> lattice 0.20-45 2021-09-22 [1] CRAN (R 4.2.1) #> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.2.0) #> listenv 0.8.0 2019-12-05 [1] CRAN (R 4.2.0) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.2.0) #> Matrix 1.5-3 2022-11-11 [1] CRAN (R 4.2.0) #> mgcv 1.8-41 2022-10-21 [1] CRAN (R 4.2.0) #> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.2.0) #> nlme 3.1-160 2022-10-10 [1] CRAN (R 4.2.0) #> parallelly 1.32.1 2022-07-21 [1] CRAN (R 4.2.0) #> pillar 1.8.1 2022-08-19 [1] CRAN (R 4.2.0) #> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.2.0) #> purrr * 0.3.5 2022-10-06 [1] CRAN (R 4.2.0) #> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.2.0) #> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.2.0) #> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.2.0) #> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.2.0) #> R6 2.5.1 2021-08-19 [1] CRAN (R 4.2.0) #> readr 2.1.3 2022-10-01 [1] CRAN (R 4.2.0) #> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.2.0) #> rlang 1.0.6 2022-09-24 [1] CRAN (R 4.2.0) #> rmarkdown 2.18 2022-11-09 [1] CRAN (R 4.2.0) #> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.2.0) #> scales 1.2.1 2022-08-20 [1] CRAN (R 4.2.0) #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.2.0) #> stringi 1.7.8 2022-07-11 [1] CRAN (R 4.2.0) #> stringr 1.5.0 2022-12-02 [1] CRAN (R 4.2.0) #> styler 1.8.1 2022-11-07 [1] CRAN (R 4.2.0) #> tibble 3.1.8 2022-07-22 [1] CRAN (R 4.2.0) #> tidyr 1.2.1 2022-09-08 [1] CRAN (R 4.2.0) #> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.2.0) #> tzdb 0.3.0 2022-03-28 [1] CRAN (R 4.2.0) #> utf8 1.2.2 2021-07-24 [1] CRAN (R 4.2.0) #> vctrs 0.5.1 2022-11-16 [1] CRAN (R 4.2.0) #> withr 2.5.0 2022-03-03 [1] CRAN (R 4.2.0) #> xfun 0.35 2022-11-16 [1] CRAN (R 4.2.0) #> yaml 2.3.6 2022-10-18 [1] CRAN (R 4.2.0) #> #> [1] /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library #> #> ────────────────────────────────────────────────────────────────────────────── ```