From 105b9543489bbe53bb00e487feb5efb66d1686aa Mon Sep 17 00:00:00 2001 From: wuzekai <3025054974@qq.com> Date: Mon, 29 Sep 2025 13:48:19 +0800 Subject: [PATCH] Initial commit --- radiant.basics | 1 - radiant.basics/.Rbuildignore | 11 + radiant.basics/.gitignore | 10 + radiant.basics/.travis.yml | 29 + radiant.basics/CRAN-RELEASE | 2 + radiant.basics/CRAN-SUBMISSION | 3 + radiant.basics/DESCRIPTION | 40 + radiant.basics/LICENSE | 105 + radiant.basics/NAMESPACE | 152 + radiant.basics/NEWS.md | 178 + radiant.basics/R/aaa.R | 60 + radiant.basics/R/clt.R | 85 + radiant.basics/R/compare_means.R | 309 ++ radiant.basics/R/compare_props.R | 282 ++ radiant.basics/R/correlation.R | 318 ++ radiant.basics/R/cross_tabs.R | 372 ++ radiant.basics/R/goodness.R | 276 ++ radiant.basics/R/homo_variance_test.R | 86 + radiant.basics/R/normality_test.R | 86 + radiant.basics/R/prob_calc.R | 2463 ++++++++++++ radiant.basics/R/radiant.R | 48 + radiant.basics/R/single_mean.R | 236 ++ radiant.basics/R/single_prop.R | 242 ++ radiant.basics/README.md | 188 + radiant.basics/_pkgdown.yml | 136 + radiant.basics/build/build.R | 87 + radiant.basics/build/build_mac.R | 6 + radiant.basics/build/build_win.R | 26 + radiant.basics/data/consider.rda | Bin 0 -> 3248 bytes radiant.basics/data/demand_uk.rda | Bin 0 -> 5539 bytes radiant.basics/data/newspaper.rda | Bin 0 -> 2052 bytes radiant.basics/data/salary.rda | Bin 0 -> 3304 bytes radiant.basics/inst/app/global.R | 32 + radiant.basics/inst/app/help.R | 27 + radiant.basics/inst/app/init.R | 49 + radiant.basics/inst/app/server.R | 59 + .../inst/app/tools/analysis/clt_ui.R | 252 ++ .../app/tools/analysis/compare_means_ui.R | 317 ++ .../app/tools/analysis/compare_props_ui.R | 281 ++ .../inst/app/tools/analysis/correlation_ui.R | 330 ++ .../inst/app/tools/analysis/cross_tabs_ui.R | 211 ++ .../inst/app/tools/analysis/goodness_ui.R | 197 + .../tools/analysis/homo_variance_test_ui.R | 190 + .../app/tools/analysis/normality_test_ui.R | 181 + .../inst/app/tools/analysis/prob_calc_ui.R | 572 +++ .../inst/app/tools/analysis/single_mean_ui.R | 201 + .../inst/app/tools/analysis/single_prop_ui.R | 228 ++ radiant.basics/inst/app/tools/help/clt.md | 19 + .../inst/app/tools/help/compare_means.md | 120 + .../inst/app/tools/help/compare_props.md | 119 + .../inst/app/tools/help/correlation.md | 54 + .../inst/app/tools/help/cross_tabs.md | 66 + .../tools/help/figures/compare_means_plot.png | Bin 0 -> 121299 bytes .../help/figures/compare_means_prob_calc.png | Bin 0 -> 113344 bytes .../help/figures/compare_means_summary.png | Bin 0 -> 162537 bytes .../compare_means_summary_additional.png | Bin 0 -> 116975 bytes .../tools/help/figures/compare_props_plot.png | Bin 0 -> 91622 bytes .../help/figures/compare_props_prob_calc.png | Bin 0 -> 102303 bytes .../help/figures/compare_props_summary.png | Bin 0 -> 178861 bytes .../compare_props_summary_additional.png | Bin 0 -> 136136 bytes .../tools/help/figures/correlation_plot.png | Bin 0 -> 130711 bytes .../tools/help/figures/correlation_store.png | Bin 0 -> 88682 bytes .../help/figures/correlation_summary.png | Bin 0 -> 150812 bytes .../help/figures/cross_tabs_chi_critical.png | Bin 0 -> 71377 bytes .../help/figures/cross_tabs_chi_pvalue.png | Bin 0 -> 98788 bytes .../tools/help/figures/cross_tabs_plot.png | Bin 0 -> 93703 bytes .../tools/help/figures/cross_tabs_summary.png | Bin 0 -> 188314 bytes .../help/figures/goodness_chi_pvalue.png | Bin 0 -> 101600 bytes .../tools/help/figures/goodness_summary.png | Bin 0 -> 224680 bytes .../help/figures/prob_calc_batteries.png | Bin 0 -> 106482 bytes .../help/figures/prob_calc_headphones.png | Bin 0 -> 124259 bytes .../tools/help/figures/prob_calc_icecream.png | Bin 0 -> 111029 bytes .../tools/help/figures/single_mean_plot.png | Bin 0 -> 57056 bytes .../help/figures/single_mean_prob_calc.png | Bin 0 -> 112364 bytes .../help/figures/single_mean_summary.png | Bin 0 -> 94322 bytes .../help/figures/single_prop_prob_calc_p.png | Bin 0 -> 121790 bytes .../help/figures/single_prop_prob_calc_v.png | Bin 0 -> 120532 bytes .../help/figures/single_prop_summary.png | Bin 0 -> 136622 bytes .../inst/app/tools/help/goodness.md | 46 + .../inst/app/tools/help/homo_variance_test.md | 0 .../inst/app/tools/help/normality_test.md | 0 .../inst/app/tools/help/prob_calc.Rmd | 106 + .../inst/app/tools/help/prob_calc.md | 105 + .../inst/app/tools/help/single_mean.md | 82 + .../inst/app/tools/help/single_prop.md | 87 + radiant.basics/inst/app/ui.R | 13 + radiant.basics/inst/app/www/js/run_return.js | 5 + .../inst/translations/translation_zh.csv | 220 ++ radiant.basics/man/clt.Rd | 53 + radiant.basics/man/compare_means.Rd | 61 + radiant.basics/man/compare_props.Rd | 58 + radiant.basics/man/consider.Rd | 19 + radiant.basics/man/cor2df.Rd | 21 + radiant.basics/man/correlation.Rd | 50 + radiant.basics/man/cross_tabs.Rd | 47 + radiant.basics/man/demand_uk.Rd | 19 + radiant.basics/man/goodness.Rd | 48 + radiant.basics/man/newspaper.Rd | 19 + radiant.basics/man/plot.clt.Rd | 27 + radiant.basics/man/plot.compare_means.Rd | 35 + radiant.basics/man/plot.compare_props.Rd | 35 + radiant.basics/man/plot.correlation.Rd | 35 + radiant.basics/man/plot.cross_tabs.Rd | 35 + radiant.basics/man/plot.goodness.Rd | 38 + radiant.basics/man/plot.prob_binom.Rd | 31 + radiant.basics/man/plot.prob_chisq.Rd | 31 + radiant.basics/man/plot.prob_disc.Rd | 31 + radiant.basics/man/plot.prob_expo.Rd | 31 + radiant.basics/man/plot.prob_fdist.Rd | 31 + radiant.basics/man/plot.prob_lnorm.Rd | 31 + radiant.basics/man/plot.prob_norm.Rd | 31 + radiant.basics/man/plot.prob_pois.Rd | 31 + radiant.basics/man/plot.prob_tdist.Rd | 31 + radiant.basics/man/plot.prob_unif.Rd | 31 + radiant.basics/man/plot.single_mean.Rd | 35 + radiant.basics/man/plot.single_prop.Rd | 35 + radiant.basics/man/print.rcorr.Rd | 16 + radiant.basics/man/prob_binom.Rd | 38 + radiant.basics/man/prob_chisq.Rd | 36 + radiant.basics/man/prob_disc.Rd | 39 + radiant.basics/man/prob_expo.Rd | 36 + radiant.basics/man/prob_fdist.Rd | 38 + radiant.basics/man/prob_lnorm.Rd | 38 + radiant.basics/man/prob_norm.Rd | 38 + radiant.basics/man/prob_pois.Rd | 36 + radiant.basics/man/prob_tdist.Rd | 36 + radiant.basics/man/prob_unif.Rd | 38 + radiant.basics/man/radiant.basics.Rd | 24 + radiant.basics/man/radiant.basics_viewer.Rd | 24 + radiant.basics/man/radiant.basics_window.Rd | 24 + radiant.basics/man/salary.Rd | 19 + radiant.basics/man/single_mean.Rd | 49 + radiant.basics/man/single_prop.Rd | 56 + radiant.basics/man/summary.compare_means.Rd | 33 + radiant.basics/man/summary.compare_props.Rd | 33 + radiant.basics/man/summary.correlation.Rd | 35 + radiant.basics/man/summary.cross_tabs.Rd | 33 + radiant.basics/man/summary.goodness.Rd | 34 + radiant.basics/man/summary.prob_binom.Rd | 31 + radiant.basics/man/summary.prob_chisq.Rd | 31 + radiant.basics/man/summary.prob_disc.Rd | 31 + radiant.basics/man/summary.prob_expo.Rd | 31 + radiant.basics/man/summary.prob_fdist.Rd | 31 + radiant.basics/man/summary.prob_lnorm.Rd | 31 + radiant.basics/man/summary.prob_norm.Rd | 31 + radiant.basics/man/summary.prob_pois.Rd | 31 + radiant.basics/man/summary.prob_tdist.Rd | 31 + radiant.basics/man/summary.prob_unif.Rd | 31 + radiant.basics/man/summary.single_mean.Rd | 34 + radiant.basics/man/summary.single_prop.Rd | 31 + radiant.basics/tests/testthat.R | 5 + radiant.basics/tests/testthat/test_stats.R | 82 + radiant.basics/vignettes/pkgdown/_clt.Rmd | 19 + .../vignettes/pkgdown/_compare_means.Rmd | 120 + .../vignettes/pkgdown/_compare_props.Rmd | 120 + .../vignettes/pkgdown/_correlation.Rmd | 55 + .../vignettes/pkgdown/_cross_tabs.Rmd | 67 + radiant.basics/vignettes/pkgdown/_footer.md | 2 + .../vignettes/pkgdown/_goodness.Rmd | 46 + .../vignettes/pkgdown/_prob_calc.Rmd | 106 + .../vignettes/pkgdown/_single_mean.Rmd | 82 + .../vignettes/pkgdown/_single_prop.Rmd | 87 + radiant.basics/vignettes/pkgdown/clt.Rmd | 10 + .../vignettes/pkgdown/compare_means.Rmd | 11 + .../vignettes/pkgdown/compare_props.Rmd | 10 + .../vignettes/pkgdown/correlation.Rmd | 11 + .../vignettes/pkgdown/cross_tabs.Rmd | 11 + radiant.basics/vignettes/pkgdown/goodness.Rmd | 11 + .../vignettes/pkgdown/images/by-nc-sa.png | Bin 0 -> 2374 bytes .../vignettes/pkgdown/prob_calc.Rmd | 10 + .../vignettes/pkgdown/single_mean.Rmd | 11 + .../vignettes/pkgdown/single_prop.Rmd | 11 + radiant.data | 1 - radiant.data/.Rbuildignore | 18 + radiant.data/.codespellrc | 5 + radiant.data/.github/workflows/codespell.yml | 19 + radiant.data/.gitignore | 12 + radiant.data/.travis.yml | 25 + radiant.data/COPYING | 727 ++++ radiant.data/CRAN-RELEASE | 2 + radiant.data/CRAN-SUBMISSION | 3 + radiant.data/DESCRIPTION | 69 + radiant.data/LICENSE | 102 + radiant.data/NAMESPACE | 319 ++ radiant.data/NEWS.md | 512 +++ radiant.data/R/aaa.R | 135 + radiant.data/R/combine.R | 81 + radiant.data/R/deprecated.R | 118 + radiant.data/R/explore.R | 708 ++++ radiant.data/R/for.shinyapps.io.R | 29 + radiant.data/R/manage.R | 88 + radiant.data/R/pivotr.R | 572 +++ radiant.data/R/radiant.R | 1617 ++++++++ radiant.data/R/transform.R | 764 ++++ radiant.data/R/view.R | 312 ++ radiant.data/R/visualize.R | 796 ++++ radiant.data/README.md | 187 + radiant.data/_pkgdown.yml | 265 ++ radiant.data/build/build.R | 87 + radiant.data/build/build_mac.R | 6 + radiant.data/build/build_win.R | 24 + radiant.data/cran-comments.md | 329 ++ radiant.data/data/avengers.rda | Bin 0 -> 967 bytes radiant.data/data/diamonds.rda | Bin 0 -> 53992 bytes radiant.data/data/publishers.rda | Bin 0 -> 560 bytes radiant.data/data/superheroes.rda | Bin 0 -> 965 bytes radiant.data/data/titanic.rda | Bin 0 -> 88704 bytes radiant.data/docs/404.html | 167 + radiant.data/docs/LICENSE-text.html | 237 ++ radiant.data/docs/articles/index.html | 162 + .../docs/articles/pkgdown/combine.html | 2290 ++++++++++++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/explore.html | 288 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/images/by-sa.png | Bin 0 -> 2284 bytes .../docs/articles/pkgdown/manage.html | 335 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/pivotr.html | 307 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/report_r.html | 276 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/report_rmd.html | 326 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + radiant.data/docs/articles/pkgdown/state.html | 217 ++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/transform.html | 778 ++++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + radiant.data/docs/articles/pkgdown/view.html | 443 +++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + .../docs/articles/pkgdown/visualize.html | 450 +++ .../empty-anchor.js | 15 + .../anchor-sections-1.0/anchor-sections.css | 4 + .../anchor-sections-1.0/anchor-sections.js | 33 + .../header-attrs-2.1/header-attrs.js | 12 + .../header-attrs-2.2/header-attrs.js | 12 + .../header-attrs-2.3/header-attrs.js | 12 + radiant.data/docs/authors.html | 163 + radiant.data/docs/bootstrap-toc.css | 60 + radiant.data/docs/bootstrap-toc.js | 159 + radiant.data/docs/docsearch.css | 148 + radiant.data/docs/docsearch.js | 85 + radiant.data/docs/docsearch.json | 95 + radiant.data/docs/index.html | 365 ++ radiant.data/docs/link.svg | 12 + radiant.data/docs/news/index.html | 727 ++++ radiant.data/docs/pkgdown.css | 384 ++ radiant.data/docs/pkgdown.js | 108 + radiant.data/docs/pkgdown.yml | 19 + radiant.data/docs/reference/Rplot001.png | Bin 0 -> 1011 bytes radiant.data/docs/reference/Rplot002.png | Bin 0 -> 62383 bytes radiant.data/docs/reference/Rplot003.png | Bin 0 -> 14769 bytes radiant.data/docs/reference/Rplot004.png | Bin 0 -> 24308 bytes radiant.data/docs/reference/Rplot005.png | Bin 0 -> 78193 bytes radiant.data/docs/reference/Rplot006.png | Bin 0 -> 66457 bytes radiant.data/docs/reference/Rplot007.png | Bin 0 -> 13238 bytes radiant.data/docs/reference/Rplot008.png | Bin 0 -> 24179 bytes radiant.data/docs/reference/add_class.html | 157 + .../docs/reference/add_description.html | 168 + radiant.data/docs/reference/arrange_data.html | 161 + radiant.data/docs/reference/as_character.html | 147 + radiant.data/docs/reference/as_distance.html | 194 + radiant.data/docs/reference/as_dmy.html | 160 + radiant.data/docs/reference/as_dmy_hm.html | 159 + radiant.data/docs/reference/as_dmy_hms.html | 159 + radiant.data/docs/reference/as_duration.html | 147 + radiant.data/docs/reference/as_factor.html | 151 + radiant.data/docs/reference/as_hm.html | 162 + radiant.data/docs/reference/as_hms.html | 163 + radiant.data/docs/reference/as_integer.html | 173 + radiant.data/docs/reference/as_mdy.html | 168 + radiant.data/docs/reference/as_mdy_hm.html | 159 + radiant.data/docs/reference/as_mdy_hms.html | 159 + radiant.data/docs/reference/as_numeric.html | 174 + radiant.data/docs/reference/as_tibble.html | 215 ++ radiant.data/docs/reference/as_ymd.html | 160 + radiant.data/docs/reference/as_ymd_hm.html | 159 + radiant.data/docs/reference/as_ymd_hms.html | 164 + radiant.data/docs/reference/avengers.html | 149 + radiant.data/docs/reference/center.html | 157 + radiant.data/docs/reference/choose_dir.html | 165 + radiant.data/docs/reference/choose_files.html | 165 + radiant.data/docs/reference/ci_label.html | 171 + radiant.data/docs/reference/ci_perc.html | 174 + radiant.data/docs/reference/combine_data.html | 287 ++ radiant.data/docs/reference/copy_all.html | 156 + radiant.data/docs/reference/copy_attr.html | 155 + radiant.data/docs/reference/copy_from.html | 160 + radiant.data/docs/reference/cv.html | 164 + radiant.data/docs/reference/deregister.html | 164 + radiant.data/docs/reference/describe.html | 155 + radiant.data/docs/reference/diamonds.html | 149 + radiant.data/docs/reference/does_vary.html | 164 + .../docs/reference/dtab.data.frame.html | 242 ++ radiant.data/docs/reference/dtab.explore.html | 199 + radiant.data/docs/reference/dtab.html | 157 + radiant.data/docs/reference/dtab.pivotr.html | 210 ++ radiant.data/docs/reference/empty_level.html | 153 + radiant.data/docs/reference/explore.html | 270 ++ radiant.data/docs/reference/filter_data.html | 192 + radiant.data/docs/reference/find_dropbox.html | 157 + radiant.data/docs/reference/find_gdrive.html | 151 + radiant.data/docs/reference/find_home.html | 145 + radiant.data/docs/reference/find_project.html | 157 + radiant.data/docs/reference/fix_names.html | 161 + radiant.data/docs/reference/fix_smart.html | 151 + radiant.data/docs/reference/flip.html | 185 + radiant.data/docs/reference/format_df.html | 193 + radiant.data/docs/reference/format_nr.html | 201 + radiant.data/docs/reference/get_class.html | 166 + radiant.data/docs/reference/get_data.html | 230 ++ radiant.data/docs/reference/get_summary.html | 159 + radiant.data/docs/reference/ggplotly.html | 151 + radiant.data/docs/reference/glance.html | 215 ++ radiant.data/docs/reference/glue.html | 215 ++ .../docs/reference/glue_collapse.html | 215 ++ radiant.data/docs/reference/glue_data.html | 215 ++ radiant.data/docs/reference/index.html | 720 ++++ radiant.data/docs/reference/indexr.html | 167 + .../docs/reference/install_webshot.html | 141 + radiant.data/docs/reference/inverse.html | 153 + radiant.data/docs/reference/is.empty.html | 187 + radiant.data/docs/reference/is_double.html | 153 + radiant.data/docs/reference/is_empty.html | 182 + radiant.data/docs/reference/is_not.html | 161 + radiant.data/docs/reference/is_string.html | 167 + radiant.data/docs/reference/iterms.html | 171 + radiant.data/docs/reference/knit_print.html | 215 ++ radiant.data/docs/reference/kurtosi.re.html | 215 ++ radiant.data/docs/reference/launch.html | 174 + radiant.data/docs/reference/level_list.html | 171 + radiant.data/docs/reference/ln.html | 165 + radiant.data/docs/reference/load_clip.html | 163 + .../docs/reference/make_arrange_cmd.html | 161 + radiant.data/docs/reference/make_train.html | 192 + radiant.data/docs/reference/make_vec.html | 157 + radiant.data/docs/reference/me.html | 168 + radiant.data/docs/reference/meprop.html | 168 + radiant.data/docs/reference/modal.html | 169 + radiant.data/docs/reference/month.html | 163 + radiant.data/docs/reference/mutate_ext.html | 473 +++ radiant.data/docs/reference/n_missing.html | 164 + radiant.data/docs/reference/n_obs.html | 164 + radiant.data/docs/reference/normalize.html | 157 + radiant.data/docs/reference/parse_path.html | 183 + radiant.data/docs/reference/percentiles.html | 177 + radiant.data/docs/reference/pfun.html | 207 ++ radiant.data/docs/reference/pivotr.html | 338 ++ radiant.data/docs/reference/plot.pivotr-1.png | Bin 0 -> 24263 bytes radiant.data/docs/reference/plot.pivotr-2.png | Bin 0 -> 33198 bytes radiant.data/docs/reference/plot.pivotr-3.png | Bin 0 -> 70582 bytes radiant.data/docs/reference/plot.pivotr.html | 200 + radiant.data/docs/reference/print.gtable.html | 234 ++ radiant.data/docs/reference/prop.html | 170 + radiant.data/docs/reference/publishers.html | 149 + radiant.data/docs/reference/qscatter-1.png | Bin 0 -> 28137 bytes radiant.data/docs/reference/qscatter-2.png | Bin 0 -> 33338 bytes radiant.data/docs/reference/qscatter.html | 176 + radiant.data/docs/reference/qterms.html | 165 + .../reference/radiant.data-deprecated.html | 173 + radiant.data/docs/reference/radiant.data.html | 160 + .../docs/reference/radiant.data_url.html | 158 + .../docs/reference/radiant.data_viewer.html | 158 + .../docs/reference/radiant.data_window.html | 158 + radiant.data/docs/reference/read_files.html | 185 + radiant.data/docs/reference/reexports.html | 214 ++ radiant.data/docs/reference/refactor.html | 170 + radiant.data/docs/reference/register.html | 174 + .../docs/reference/render.datatables.html | 156 + radiant.data/docs/reference/render.html | 151 + .../docs/reference/render.plotly.html | 156 + radiant.data/docs/reference/round_df.html | 166 + .../docs/reference/rownames_to_column.html | 215 ++ radiant.data/docs/reference/save_clip.html | 155 + radiant.data/docs/reference/sdpop.html | 164 + radiant.data/docs/reference/sdprop.html | 164 + radiant.data/docs/reference/se.html | 164 + radiant.data/docs/reference/search_data.html | 172 + radiant.data/docs/reference/seprop.html | 164 + radiant.data/docs/reference/set_attr.html | 160 + .../docs/reference/show_duplicated.html | 186 + radiant.data/docs/reference/sig_stars.html | 159 + radiant.data/docs/reference/skew.re.html | 215 ++ radiant.data/docs/reference/slice_data.html | 165 + radiant.data/docs/reference/square.html | 153 + radiant.data/docs/reference/sshh.html | 156 + radiant.data/docs/reference/sshhr.html | 156 + radiant.data/docs/reference/standardize.html | 157 + .../docs/reference/store.explore.html | 168 + radiant.data/docs/reference/store.html | 155 + radiant.data/docs/reference/store.pivotr.html | 168 + radiant.data/docs/reference/subplot.html | 155 + .../docs/reference/summary.explore.html | 256 ++ .../docs/reference/summary.pivotr.html | 239 ++ radiant.data/docs/reference/superheroes.html | 149 + radiant.data/docs/reference/table2data.html | 170 + radiant.data/docs/reference/tibble.html | 215 ++ radiant.data/docs/reference/tidy.html | 215 ++ radiant.data/docs/reference/titanic.html | 149 + radiant.data/docs/reference/to_fct.html | 173 + radiant.data/docs/reference/varpop.html | 164 + radiant.data/docs/reference/varprop.html | 164 + radiant.data/docs/reference/view_data.html | 200 + radiant.data/docs/reference/visualize-1.png | Bin 0 -> 57775 bytes radiant.data/docs/reference/visualize-2.png | Bin 0 -> 176855 bytes radiant.data/docs/reference/visualize-3.png | Bin 0 -> 37323 bytes radiant.data/docs/reference/visualize-4.png | Bin 0 -> 67277 bytes radiant.data/docs/reference/visualize-5.png | Bin 0 -> 262369 bytes radiant.data/docs/reference/visualize-6.png | Bin 0 -> 239914 bytes radiant.data/docs/reference/visualize-7.png | Bin 0 -> 35014 bytes radiant.data/docs/reference/visualize-8.png | Bin 0 -> 71301 bytes radiant.data/docs/reference/visualize.html | 357 ++ radiant.data/docs/reference/wday.html | 163 + radiant.data/docs/reference/weighted.sd.html | 159 + radiant.data/docs/reference/which.pmax.html | 171 + radiant.data/docs/reference/which.pmin.html | 171 + .../docs/reference/write_parquet.html | 155 + radiant.data/docs/reference/xtile.html | 174 + radiant.data/docs/sitemap.xml | 495 +++ radiant.data/inst/app/global.R | 658 ++++ radiant.data/inst/app/init.R | 364 ++ radiant.data/inst/app/radiant.R | 1034 ++++++ .../vnijs/radiantdata.dcf | 12 + radiant.data/inst/app/server.R | 28 + radiant.data/inst/app/tools/app/about.md | 184 + radiant.data/inst/app/tools/app/help.R | 138 + radiant.data/inst/app/tools/app/report_funs.R | 850 +++++ radiant.data/inst/app/tools/app/report_r.R | 454 +++ radiant.data/inst/app/tools/app/report_rmd.R | 541 +++ radiant.data/inst/app/tools/app/state.R | 142 + radiant.data/inst/app/tools/app/stop.R | 49 + radiant.data/inst/app/tools/app/tutorials.md | 87 + radiant.data/inst/app/tools/data/combine_ui.R | 213 ++ radiant.data/inst/app/tools/data/data_ui.R | 119 + radiant.data/inst/app/tools/data/explore_ui.R | 356 ++ radiant.data/inst/app/tools/data/manage.R | 237 ++ radiant.data/inst/app/tools/data/manage_ui.R | 1064 ++++++ radiant.data/inst/app/tools/data/pivotr_ui.R | 561 +++ .../inst/app/tools/data/transform_ui.R | 1463 ++++++++ radiant.data/inst/app/tools/data/view_ui.R | 330 ++ .../inst/app/tools/data/visualize_ui.R | 585 +++ radiant.data/inst/app/tools/help/combine.Rmd | 1056 ++++++ radiant.data/inst/app/tools/help/combine.md | 1056 ++++++ radiant.data/inst/app/tools/help/explore.md | 40 + .../inst/app/tools/help/figures/anti_join.png | Bin 0 -> 32462 bytes .../inst/app/tools/help/figures/boxplot.png | Bin 0 -> 32547 bytes .../figures/combine_avengers_superheroes.png | Bin 0 -> 178223 bytes .../combine_publishers_superheroes.png | Bin 0 -> 137460 bytes .../combine_superheroes_publishers.png | Bin 0 -> 133939 bytes .../app/tools/help/figures/expand_grid.png | Bin 0 -> 129370 bytes .../inst/app/tools/help/figures/explore.png | Bin 0 -> 178896 bytes .../inst/app/tools/help/figures/full_join.png | Bin 0 -> 32356 bytes .../app/tools/help/figures/inner_join.png | Bin 0 -> 29570 bytes .../inst/app/tools/help/figures/left_join.png | Bin 0 -> 30655 bytes .../app/tools/help/figures/outer_join.png | Bin 0 -> 32356 bytes .../inst/app/tools/help/figures/pivotr.png | Bin 0 -> 228659 bytes .../inst/app/tools/help/figures/rbbbot.jpg | Bin 0 -> 31382 bytes .../app/tools/help/figures/right_join.png | Bin 0 -> 30300 bytes radiant.data/inst/app/tools/help/manage.html | 389 ++ radiant.data/inst/app/tools/help/manage.md | 55 + radiant.data/inst/app/tools/help/pivotr.md | 44 + radiant.data/inst/app/tools/help/report_r.Rmd | 71 + radiant.data/inst/app/tools/help/report_r.md | 71 + .../inst/app/tools/help/report_rmd.Rmd | 61 + .../inst/app/tools/help/report_rmd.md | 61 + radiant.data/inst/app/tools/help/state.md | 9 + .../inst/app/tools/help/transform.Rmd | 312 ++ radiant.data/inst/app/tools/help/transform.md | 312 ++ radiant.data/inst/app/tools/help/view.Rmd | 112 + radiant.data/inst/app/tools/help/view.md | 112 + radiant.data/inst/app/tools/help/visualize.md | 142 + radiant.data/inst/app/ui.R | 12 + radiant.data/inst/app/www/imgs/by-nc-sa.png | Bin 0 -> 2374 bytes radiant.data/inst/app/www/imgs/by-sa.png | Bin 0 -> 2284 bytes radiant.data/inst/app/www/imgs/icon.png | Bin 0 -> 82500 bytes .../inst/app/www/js/draggable_modal.js | 30 + radiant.data/inst/app/www/js/math_reset.js | 33 + .../inst/app/www/js/message-handler.js | 9 + .../inst/app/www/js/returnTextAreaBinding.js | 62 + .../inst/app/www/js/returnTextInputBinding.js | 64 + radiant.data/inst/app/www/js/run_return.js | 200 + radiant.data/inst/app/www/js/session.js | 18 + radiant.data/inst/app/www/js/video_reset.js | 21 + .../inst/app/www/scpt/choose.dir.scpt | Bin 0 -> 250 bytes .../inst/app/www/scpt/choose.files.scpt | Bin 0 -> 376 bytes radiant.data/inst/app/www/style.css | 257 ++ radiant.data/inst/app/www/style.docx | Bin 0 -> 20866 bytes radiant.data/inst/app/www/style.potx | Bin 0 -> 39852 bytes .../assets/html2canvas/html2canvas.min.js | 20 + .../inst/translations/translation_zh.csv | 363 ++ radiant.data/man/add_class.Rd | 20 + radiant.data/man/add_description.Rd | 28 + radiant.data/man/arrange_data.Rd | 22 + radiant.data/man/as_character.Rd | 14 + radiant.data/man/as_distance.Rd | 41 + radiant.data/man/as_dmy.Rd | 21 + radiant.data/man/as_dmy_hm.Rd | 20 + radiant.data/man/as_dmy_hms.Rd | 20 + radiant.data/man/as_duration.Rd | 14 + radiant.data/man/as_factor.Rd | 16 + radiant.data/man/as_hm.Rd | 23 + radiant.data/man/as_hms.Rd | 24 + radiant.data/man/as_integer.Rd | 27 + radiant.data/man/as_mdy.Rd | 28 + radiant.data/man/as_mdy_hm.Rd | 20 + radiant.data/man/as_mdy_hms.Rd | 20 + radiant.data/man/as_numeric.Rd | 27 + radiant.data/man/as_ymd.Rd | 21 + radiant.data/man/as_ymd_hm.Rd | 20 + radiant.data/man/as_ymd_hms.Rd | 25 + radiant.data/man/avengers.Rd | 19 + radiant.data/man/center.Rd | 19 + radiant.data/man/choose_dir.Rd | 26 + radiant.data/man/choose_files.Rd | 26 + radiant.data/man/ci_label.Rd | 26 + radiant.data/man/ci_perc.Rd | 26 + radiant.data/man/combine_data.Rd | 56 + radiant.data/man/copy_all.Rd | 20 + radiant.data/man/copy_attr.Rd | 18 + radiant.data/man/copy_from.Rd | 22 + radiant.data/man/cv.Rd | 23 + radiant.data/man/deregister.Rd | 25 + radiant.data/man/describe.Rd | 19 + radiant.data/man/diamonds.Rd | 19 + radiant.data/man/does_vary.Rd | 23 + radiant.data/man/dtab.Rd | 23 + radiant.data/man/dtab.data.frame.Rd | 73 + radiant.data/man/dtab.explore.Rd | 50 + radiant.data/man/dtab.pivotr.Rd | 57 + radiant.data/man/empty_level.Rd | 17 + radiant.data/man/explore.Rd | 67 + radiant.data/man/filter_data.Rd | 28 + radiant.data/man/find_dropbox.Rd | 20 + radiant.data/man/find_gdrive.Rd | 17 + radiant.data/man/find_home.Rd | 14 + radiant.data/man/find_project.Rd | 20 + radiant.data/man/fix_names.Rd | 22 + radiant.data/man/fix_smart.Rd | 16 + radiant.data/man/flip.Rd | 31 + radiant.data/man/format_df.Rd | 35 + radiant.data/man/format_nr.Rd | 41 + radiant.data/man/get_class.Rd | 23 + radiant.data/man/get_data.Rd | 51 + radiant.data/man/get_summary.Rd | 21 + radiant.data/man/ggplotly.Rd | 17 + radiant.data/man/indexr.Rd | 24 + radiant.data/man/install_webshot.Rd | 11 + radiant.data/man/inverse.Rd | 17 + radiant.data/man/is.empty.Rd | 35 + radiant.data/man/is_double.Rd | 17 + radiant.data/man/is_not.Rd | 21 + radiant.data/man/is_string.Rd | 24 + radiant.data/man/iterms.Rd | 26 + radiant.data/man/launch.Rd | 32 + radiant.data/man/level_list.Rd | 21 + radiant.data/man/ln.Rd | 23 + radiant.data/man/load_clip.Rd | 24 + radiant.data/man/make_arrange_cmd.Rd | 22 + radiant.data/man/make_train.Rd | 32 + radiant.data/man/make_vec.Rd | 19 + radiant.data/man/me.Rd | 25 + radiant.data/man/meprop.Rd | 25 + radiant.data/man/modal.Rd | 26 + radiant.data/man/month.Rd | 23 + radiant.data/man/mutate_ext.Rd | 32 + radiant.data/man/n_missing.Rd | 23 + radiant.data/man/n_obs.Rd | 23 + radiant.data/man/normalize.Rd | 19 + radiant.data/man/parse_path.Rd | 26 + radiant.data/man/percentiles.Rd | 47 + radiant.data/man/pfun.Rd | 76 + radiant.data/man/pivotr.Rd | 64 + radiant.data/man/plot.pivotr.Rd | 48 + radiant.data/man/prop.Rd | 26 + radiant.data/man/publishers.Rd | 19 + radiant.data/man/qscatter.Rd | 29 + radiant.data/man/qterms.Rd | 23 + radiant.data/man/radiant.data-deprecated.Rd | 60 + radiant.data/man/radiant.data.Rd | 23 + radiant.data/man/radiant.data_url.Rd | 21 + radiant.data/man/radiant.data_viewer.Rd | 21 + radiant.data/man/radiant.data_window.Rd | 21 + radiant.data/man/read_files.Rd | 39 + radiant.data/man/reexports.Rd | 48 + radiant.data/man/refactor.Rd | 26 + radiant.data/man/register.Rd | 32 + radiant.data/man/render.Rd | 16 + radiant.data/man/render.datatables.Rd | 18 + radiant.data/man/render.plotly.Rd | 18 + radiant.data/man/round_df.Rd | 23 + radiant.data/man/save_clip.Rd | 20 + radiant.data/man/sdpop.Rd | 23 + radiant.data/man/sdprop.Rd | 23 + radiant.data/man/se.Rd | 23 + radiant.data/man/search_data.Rd | 26 + radiant.data/man/seprop.Rd | 23 + radiant.data/man/set_attr.Rd | 21 + radiant.data/man/show_duplicated.Rd | 26 + radiant.data/man/sig_stars.Rd | 20 + radiant.data/man/slice_data.Rd | 24 + radiant.data/man/square.Rd | 17 + radiant.data/man/sshh.Rd | 20 + radiant.data/man/sshhr.Rd | 20 + radiant.data/man/standardize.Rd | 19 + radiant.data/man/store.Rd | 18 + radiant.data/man/store.explore.Rd | 26 + radiant.data/man/store.pivotr.Rd | 26 + radiant.data/man/subplot.Rd | 19 + radiant.data/man/summary.explore.Rd | 32 + radiant.data/man/summary.pivotr.Rd | 37 + radiant.data/man/superheroes.Rd | 19 + radiant.data/man/table2data.Rd | 20 + radiant.data/man/titanic.Rd | 19 + radiant.data/man/to_fct.Rd | 26 + radiant.data/man/varpop.Rd | 23 + radiant.data/man/varprop.Rd | 23 + radiant.data/man/view_data.Rd | 49 + radiant.data/man/visualize.Rd | 146 + radiant.data/man/wday.Rd | 23 + radiant.data/man/weighted.sd.Rd | 21 + radiant.data/man/which.pmax.Rd | 28 + radiant.data/man/which.pmin.Rd | 28 + radiant.data/man/write_parquet.Rd | 18 + radiant.data/man/xtile.Rd | 29 + radiant.data/tests/testthat.R | 3 + .../tests/testthat/data/css_example.css | 15 + .../tests/testthat/data/csv_example.csv | 8 + radiant.data/tests/testthat/data/flights.csv | 3306 +++++++++++++++++ .../tests/testthat/data/jpeg_example.jpeg | Bin 0 -> 9622 bytes .../tests/testthat/data/js_example.js | 5 + .../tests/testthat/data/markdown_example.md | 17 + .../tests/testthat/data/python_example.py | 14 + radiant.data/tests/testthat/data/r_example.R | 13 + .../tests/testthat/data/rda_example.rda | Bin 0 -> 403 bytes .../tests/testthat/data/rds_example.rds | Bin 0 -> 17105 bytes .../tests/testthat/data/sql_example.sql | 1 + .../tests/testthat/data/sqlite_example.sqlite | Bin 0 -> 193536 bytes .../tests/testthat/data/tsv_example.tsv | 1 + .../testthat/data/unknow_example.unknown | 1 + .../tests/testthat/data/xlsx_example.xlsx | Bin 0 -> 32568 bytes .../tests/testthat/data/yaml_example.yaml | 18 + radiant.data/tests/testthat/test_funs.R | 225 ++ radiant.data/vignettes/pkgdown/_combine.Rmd | 314 ++ radiant.data/vignettes/pkgdown/_explore.Rmd | 41 + radiant.data/vignettes/pkgdown/_footer.md | 2 + radiant.data/vignettes/pkgdown/_manage.Rmd | 57 + radiant.data/vignettes/pkgdown/_pivotr.Rmd | 45 + radiant.data/vignettes/pkgdown/_report_r.Rmd | 71 + .../vignettes/pkgdown/_report_rmd.Rmd | 61 + radiant.data/vignettes/pkgdown/_state.Rmd | 9 + radiant.data/vignettes/pkgdown/_transform.Rmd | 315 ++ radiant.data/vignettes/pkgdown/_view.Rmd | 61 + radiant.data/vignettes/pkgdown/_visualize.Rmd | 141 + radiant.data/vignettes/pkgdown/combine.Rmd | 14 + radiant.data/vignettes/pkgdown/explore.Rmd | 14 + .../vignettes/pkgdown/images/by-sa.png | Bin 0 -> 2284 bytes radiant.data/vignettes/pkgdown/manage.Rmd | 10 + radiant.data/vignettes/pkgdown/pivotr.Rmd | 10 + radiant.data/vignettes/pkgdown/report_r.Rmd | 10 + radiant.data/vignettes/pkgdown/report_rmd.Rmd | 10 + radiant.data/vignettes/pkgdown/state.Rmd | 10 + radiant.data/vignettes/pkgdown/transform.Rmd | 11 + radiant.data/vignettes/pkgdown/view.Rmd | 14 + radiant.data/vignettes/pkgdown/visualize.Rmd | 10 + radiant.design | 1 - radiant.design/.Rbuildignore | 13 + radiant.design/.gitignore | 11 + radiant.design/.travis.yml | 29 + radiant.design/CRAN-RELEASE | 2 + radiant.design/CRAN-SUBMISSION | 3 + radiant.design/DESCRIPTION | 34 + radiant.design/LICENSE | 105 + radiant.design/NAMESPACE | 52 + radiant.design/NEWS.md | 125 + radiant.design/R/aaa.R | 21 + radiant.design/R/doe.R | 240 ++ radiant.design/R/radiant.R | 48 + radiant.design/R/randomizer.R | 142 + radiant.design/R/sample_size.R | 103 + radiant.design/R/sample_size_comp.R | 211 ++ radiant.design/R/sampling.R | 89 + radiant.design/README.md | 188 + radiant.design/_pkgdown.yml | 80 + radiant.design/build/build.R | 87 + radiant.design/build/build_mac.R | 6 + radiant.design/build/build_win.R | 26 + radiant.design/data/rndnames.rda | Bin 0 -> 1518 bytes radiant.design/inst/app/global.R | 33 + radiant.design/inst/app/help.R | 24 + radiant.design/inst/app/init.R | 31 + radiant.design/inst/app/server.R | 59 + .../inst/app/tools/analysis/doe_ui.R | 352 ++ .../inst/app/tools/analysis/randomizer_ui.R | 245 ++ .../app/tools/analysis/sample_size_comp_ui.R | 192 + .../inst/app/tools/analysis/sample_size_ui.R | 181 + .../inst/app/tools/analysis/sampling_ui.R | 218 ++ radiant.design/inst/app/tools/help/doe.md | 69 + .../app/tools/help/figures/doe_factors.png | Bin 0 -> 117841 bytes .../app/tools/help/figures/doe_output.png | Bin 0 -> 244204 bytes .../tools/help/figures/doe_output_partial.png | Bin 0 -> 262196 bytes .../app/tools/help/figures/randomizer.png | Bin 0 -> 162301 bytes .../tools/help/figures/randomizer_block.png | Bin 0 -> 174256 bytes .../tools/help/figures/sample_size_ex1a.png | Bin 0 -> 88020 bytes .../tools/help/figures/sample_size_ex1b.png | Bin 0 -> 90629 bytes .../tools/help/figures/sample_size_ex2a.png | Bin 0 -> 85029 bytes .../tools/help/figures/sample_size_ex2b.png | Bin 0 -> 95035 bytes .../inst/app/tools/help/figures/sampling.png | Bin 0 -> 112813 bytes .../inst/app/tools/help/randomizer.md | 29 + .../inst/app/tools/help/sample_size.Rmd | 100 + .../inst/app/tools/help/sample_size.md | 100 + .../inst/app/tools/help/sample_size_comp.Rmd | 37 + .../inst/app/tools/help/sample_size_comp.md | 37 + .../inst/app/tools/help/sampling.md | 23 + radiant.design/inst/app/ui.R | 13 + radiant.design/inst/app/www/js/run_return.js | 25 + .../inst/translations/translation_zh.csv | 102 + radiant.design/man/doe.Rd | 37 + radiant.design/man/estimable.Rd | 19 + radiant.design/man/plot.sample_size_comp.Rd | 29 + radiant.design/man/radiant.design.Rd | 24 + radiant.design/man/radiant.design_viewer.Rd | 24 + radiant.design/man/radiant.design_window.Rd | 24 + radiant.design/man/randomizer.Rd | 62 + radiant.design/man/rndnames.Rd | 19 + radiant.design/man/sample_size.Rd | 56 + radiant.design/man/sample_size_comp.Rd | 62 + radiant.design/man/sampling.Rd | 53 + radiant.design/man/summary.doe.Rd | 38 + radiant.design/man/summary.randomizer.Rd | 28 + radiant.design/man/summary.sample_size.Rd | 27 + .../man/summary.sample_size_comp.Rd | 29 + radiant.design/man/summary.sampling.Rd | 28 + radiant.design/tests/testthat.R | 3 + .../tests/testthat/output/regress1.txt | 24 + radiant.design/tests/testthat/test_stats.R | 69 + radiant.design/vignettes/pkgdown/_doe.Rmd | 69 + radiant.design/vignettes/pkgdown/_footer.md | 2 + .../vignettes/pkgdown/_randomizer.Rmd | 29 + .../vignettes/pkgdown/_sample_size.Rmd | 102 + .../vignettes/pkgdown/_sample_size_comp.Rmd | 37 + .../vignettes/pkgdown/_sampling.Rmd | 23 + radiant.design/vignettes/pkgdown/doe.Rmd | 10 + .../vignettes/pkgdown/images/by-nc-sa.png | Bin 0 -> 2374 bytes .../vignettes/pkgdown/randomizer.Rmd | 10 + .../vignettes/pkgdown/sample_size.Rmd | 10 + .../vignettes/pkgdown/sample_size_comp.Rmd | 10 + radiant.design/vignettes/pkgdown/sampling.Rmd | 10 + radiant.model | 1 - radiant.model/.Rbuildignore | 15 + radiant.model/.gitignore | 13 + radiant.model/.travis.yml | 30 + radiant.model/COPYING | 728 ++++ radiant.model/CRAN-RELEASE | 2 + radiant.model/CRAN-SUBMISSION | 3 + radiant.model/DESCRIPTION | 57 + radiant.model/LICENSE | 105 + radiant.model/NAMESPACE | 273 ++ radiant.model/NEWS.md | 420 +++ radiant.model/R/aaa.R | 108 + radiant.model/R/cox.R | 80 + radiant.model/R/crs.R | 319 ++ radiant.model/R/crtree.R | 825 ++++ radiant.model/R/deprecated.R | 24 + radiant.model/R/dtree.R | 848 +++++ radiant.model/R/evalbin.R | 1138 ++++++ radiant.model/R/evalreg.R | 190 + radiant.model/R/gbt.R | 726 ++++ radiant.model/R/logistic.R | 1080 ++++++ radiant.model/R/mnl.R | 701 ++++ radiant.model/R/nb.R | 401 ++ radiant.model/R/nn.R | 718 ++++ radiant.model/R/radiant.R | 104 + radiant.model/R/regress.R | 1662 +++++++++ radiant.model/R/rforest.R | 692 ++++ radiant.model/R/simulater.R | 1150 ++++++ radiant.model/R/svm.R | 122 + radiant.model/README.md | 188 + radiant.model/_pkgdown.yml | 232 ++ radiant.model/build/build.R | 90 + radiant.model/build/build_mac.R | 6 + radiant.model/build/build_win.R | 26 + radiant.model/build/remove_screenshots.R | 30 + radiant.model/data/catalog.rda | Bin 0 -> 2675 bytes radiant.model/data/direct_marketing.rda | Bin 0 -> 14557 bytes radiant.model/data/dvd.rda | Bin 0 -> 50195 bytes radiant.model/data/houseprices.rda | Bin 0 -> 1578 bytes radiant.model/data/ideal.rda | Bin 0 -> 30018 bytes radiant.model/data/kaggle_uplift.rda | Bin 0 -> 155145 bytes radiant.model/data/ketchup.rda | Bin 0 -> 15740 bytes radiant.model/data/movie_contract.rda | Bin 0 -> 321 bytes radiant.model/data/ratings.rda | Bin 0 -> 648 bytes radiant.model/inst/app/global.R | 31 + radiant.model/inst/app/help.R | 33 + radiant.model/inst/app/init.R | 101 + radiant.model/inst/app/radiant.R | 37 + radiant.model/inst/app/server.R | 57 + .../inst/app/tools/analysis/cox_ui.R | 585 +++ .../inst/app/tools/analysis/crs_ui.R | 321 ++ .../inst/app/tools/analysis/crtree_ui.R | 818 ++++ .../inst/app/tools/analysis/dtree_ui.R | 689 ++++ .../inst/app/tools/analysis/evalbin_ui.R | 700 ++++ .../inst/app/tools/analysis/evalreg_ui.R | 198 + .../inst/app/tools/analysis/gbt_ui.R | 755 ++++ .../inst/app/tools/analysis/logistic_ui.R | 878 +++++ .../inst/app/tools/analysis/mnl_ui.R | 811 ++++ .../inst/app/tools/analysis/naivebayes_ui.R | 566 +++ radiant.model/inst/app/tools/analysis/nn_ui.R | 729 ++++ .../inst/app/tools/analysis/regress_ui.R | 809 ++++ .../inst/app/tools/analysis/rforest_ui.R | 754 ++++ .../inst/app/tools/analysis/simulater_ui.R | 1159 ++++++ .../inst/app/tools/analysis/svm_ui.R | 687 ++++ radiant.model/inst/app/tools/help/anova.Rmd | 139 + radiant.model/inst/app/tools/help/anova.md | 139 + radiant.model/inst/app/tools/help/cox.md | 0 radiant.model/inst/app/tools/help/crs.md | 15 + radiant.model/inst/app/tools/help/crtree.md | 17 + radiant.model/inst/app/tools/help/dtree.Rmd | 232 ++ radiant.model/inst/app/tools/help/dtree.md | 232 ++ radiant.model/inst/app/tools/help/evalbin.md | 112 + radiant.model/inst/app/tools/help/evalreg.md | 46 + .../app/tools/help/figures/cf_summary.png | Bin 0 -> 128680 bytes .../app/tools/help/figures/dtree_model.png | Bin 0 -> 193962 bytes .../tools/help/figures/dtree_plot_final.png | Bin 0 -> 79839 bytes .../tools/help/figures/dtree_plot_initial.png | Bin 0 -> 68743 bytes .../tools/help/figures/dtree_sensitivity.png | Bin 0 -> 138213 bytes .../tools/help/figures/evalbin_confusion.png | Bin 0 -> 71817 bytes .../tools/help/figures/evalbin_lift_gains.png | Bin 0 -> 207343 bytes .../tools/help/figures/evalbin_logistic.png | Bin 0 -> 157552 bytes .../app/tools/help/figures/evalreg_nn.png | Bin 0 -> 177196 bytes .../help/figures/evalreg_summary_plot.png | Bin 0 -> 158966 bytes .../tools/help/figures/logistic_dvd-full.png | Bin 0 -> 1195597 bytes .../app/tools/help/figures/logistic_dvd.png | Bin 0 -> 860663 bytes .../app/tools/help/figures/logistic_plot.png | Bin 0 -> 79742 bytes .../tools/help/figures/logistic_predict.png | Bin 0 -> 185277 bytes .../help/figures/logistic_predict_data.png | Bin 0 -> 293362 bytes .../tools/help/figures/logistic_summary.png | Bin 0 -> 224722 bytes .../tools/help/figures/mnl_choice_shares.png | Bin 0 -> 116200 bytes .../inst/app/tools/help/figures/mnl_plot.png | Bin 0 -> 84644 bytes .../app/tools/help/figures/mnl_predict.png | Bin 0 -> 223396 bytes .../app/tools/help/figures/mnl_summary.png | Bin 0 -> 268808 bytes .../figures/regress_catalog_F_critical.png | Bin 0 -> 121792 bytes .../help/figures/regress_catalog_F_test.png | Bin 0 -> 58453 bytes .../figures/regress_catalog_prob_calc.png | Bin 0 -> 137639 bytes .../help/figures/regress_catalog_summary.png | Bin 0 -> 208186 bytes .../help/figures/regress_diamonds_corr.png | Bin 0 -> 102032 bytes .../figures/regress_diamonds_dashboard.png | Bin 0 -> 255433 bytes .../help/figures/regress_diamonds_hist.png | Bin 0 -> 89168 bytes .../figures/regress_diamonds_res_vs_pred.png | Bin 0 -> 138467 bytes .../help/figures/regress_diamonds_scatter.png | Bin 0 -> 155162 bytes .../tools/help/figures/regress_ideal_corr.png | Bin 0 -> 177787 bytes .../help/figures/regress_ideal_dashboard.png | Bin 0 -> 266035 bytes .../tools/help/figures/regress_ideal_hist.png | Bin 0 -> 86098 bytes .../figures/regress_ideal_res_vs_pred.png | Bin 0 -> 222341 bytes .../help/figures/regress_ideal_scatter.png | Bin 0 -> 218709 bytes .../help/figures/regress_ideal_summary.png | Bin 0 -> 202899 bytes .../figures/regress_log_diamonds_corr.png | Bin 0 -> 100561 bytes .../regress_log_diamonds_dashboard.png | Bin 0 -> 245741 bytes .../figures/regress_log_diamonds_hist.png | Bin 0 -> 90251 bytes .../regress_log_diamonds_res_vs_pred.png | Bin 0 -> 161496 bytes .../figures/regress_log_diamonds_scatter.png | Bin 0 -> 132919 bytes .../figures/regress_log_diamonds_summary.png | Bin 0 -> 210004 bytes .../regress_log_diamonds_viz_scatter.png | Bin 0 -> 242224 bytes .../tools/help/figures/simulater_repeat.png | Bin 0 -> 136107 bytes .../help/figures/simulater_repeat_plot.png | Bin 0 -> 49065 bytes .../app/tools/help/figures/simulater_sim.png | Bin 0 -> 224684 bytes .../tools/help/figures/simulater_sim_plot.png | Bin 0 -> 63329 bytes .../app/tools/help/figures/simulater_view.png | Bin 0 -> 175148 bytes radiant.model/inst/app/tools/help/gbt.md | 20 + .../inst/app/tools/help/logistic.Rmd | 119 + radiant.model/inst/app/tools/help/logistic.md | 119 + radiant.model/inst/app/tools/help/mnl.Rmd | 104 + radiant.model/inst/app/tools/help/mnl.html | 491 +++ radiant.model/inst/app/tools/help/mnl.md | 104 + radiant.model/inst/app/tools/help/nb.md | 15 + radiant.model/inst/app/tools/help/nn.md | 19 + radiant.model/inst/app/tools/help/regress.Rmd | 373 ++ radiant.model/inst/app/tools/help/regress.md | 373 ++ radiant.model/inst/app/tools/help/rforest.md | 15 + .../inst/app/tools/help/simulater.Rmd | 361 ++ .../inst/app/tools/help/simulater.md | 361 ++ radiant.model/inst/app/tools/help/svm.md | 0 radiant.model/inst/app/ui.R | 15 + radiant.model/inst/app/www/js/store.js | 96 + radiant.model/inst/app/www/style.css | 85 + .../inst/translations/translation_zh.csv | 411 ++ radiant.model/man/MAE.Rd | 19 + radiant.model/man/RMSE.Rd | 19 + radiant.model/man/Rsq.Rd | 19 + radiant.model/man/auc.Rd | 35 + radiant.model/man/catalog.Rd | 19 + radiant.model/man/confint_robust.Rd | 25 + radiant.model/man/confusion.Rd | 68 + radiant.model/man/coxp.Rd | 23 + radiant.model/man/crs.Rd | 57 + radiant.model/man/crtree.Rd | 100 + radiant.model/man/cv.crtree.Rd | 69 + radiant.model/man/cv.gbt.Rd | 91 + radiant.model/man/cv.nn.Rd | 70 + radiant.model/man/cv.rforest.Rd | 82 + radiant.model/man/direct_marketing.Rd | 19 + radiant.model/man/dot-as_int.Rd | 19 + radiant.model/man/dot-as_num.Rd | 19 + radiant.model/man/dtree.Rd | 41 + radiant.model/man/dtree_parser.Rd | 27 + radiant.model/man/dvd.Rd | 19 + radiant.model/man/evalbin.Rd | 68 + radiant.model/man/evalreg.Rd | 54 + radiant.model/man/find_max.Rd | 26 + radiant.model/man/find_min.Rd | 26 + radiant.model/man/gbt.Rd | 108 + radiant.model/man/houseprices.Rd | 19 + radiant.model/man/ideal.Rd | 19 + radiant.model/man/kaggle_uplift.Rd | 19 + radiant.model/man/ketchup.Rd | 19 + radiant.model/man/logistic.Rd | 71 + radiant.model/man/minmax.Rd | 17 + radiant.model/man/mnl.Rd | 71 + radiant.model/man/movie_contract.Rd | 19 + radiant.model/man/nb.Rd | 55 + radiant.model/man/nn.Rd | 76 + radiant.model/man/onehot.Rd | 22 + radiant.model/man/pdp_plot.Rd | 42 + radiant.model/man/plot.confusion.Rd | 41 + radiant.model/man/plot.crs.Rd | 24 + radiant.model/man/plot.crtree.Rd | 68 + radiant.model/man/plot.dtree.Rd | 49 + radiant.model/man/plot.evalbin.Rd | 44 + radiant.model/man/plot.evalreg.Rd | 32 + radiant.model/man/plot.gbt.Rd | 57 + radiant.model/man/plot.logistic.Rd | 62 + radiant.model/man/plot.mnl.Rd | 57 + radiant.model/man/plot.mnl.predict.Rd | 38 + radiant.model/man/plot.model.predict.Rd | 48 + radiant.model/man/plot.nb.Rd | 39 + radiant.model/man/plot.nb.predict.Rd | 38 + radiant.model/man/plot.nn.Rd | 58 + radiant.model/man/plot.regress.Rd | 69 + radiant.model/man/plot.repeater.Rd | 27 + radiant.model/man/plot.rforest.Rd | 53 + radiant.model/man/plot.rforest.predict.Rd | 38 + radiant.model/man/plot.simulater.Rd | 41 + radiant.model/man/plot.uplift.Rd | 44 + radiant.model/man/pred_plot.Rd | 47 + radiant.model/man/predict.coxp.Rd | 18 + radiant.model/man/predict.crtree.Rd | 51 + radiant.model/man/predict.gbt.Rd | 49 + radiant.model/man/predict.logistic.Rd | 60 + radiant.model/man/predict.mnl.Rd | 53 + radiant.model/man/predict.nb.Rd | 53 + radiant.model/man/predict.nn.Rd | 46 + radiant.model/man/predict.regress.Rd | 58 + radiant.model/man/predict.rforest.Rd | 56 + radiant.model/man/predict.svm.Rd | 18 + radiant.model/man/predict_model.Rd | 46 + radiant.model/man/print.coxp.predict.Rd | 11 + radiant.model/man/print.crtree.predict.Rd | 18 + radiant.model/man/print.gbt.predict.Rd | 18 + radiant.model/man/print.logistic.predict.Rd | 18 + radiant.model/man/print.mnl.predict.Rd | 18 + radiant.model/man/print.nb.predict.Rd | 18 + radiant.model/man/print.nn.predict.Rd | 18 + radiant.model/man/print.regress.predict.Rd | 18 + radiant.model/man/print.rforest.predict.Rd | 18 + radiant.model/man/print.svm.predict.Rd | 11 + radiant.model/man/print_predict_model.Rd | 20 + radiant.model/man/profit.Rd | 31 + radiant.model/man/radiant.model-deprecated.Rd | 24 + radiant.model/man/radiant.model.Rd | 24 + radiant.model/man/radiant.model_viewer.Rd | 24 + radiant.model/man/radiant.model_window.Rd | 24 + radiant.model/man/ratings.Rd | 19 + radiant.model/man/regress.Rd | 61 + radiant.model/man/remove_comments.Rd | 17 + radiant.model/man/render.DiagrammeR.Rd | 18 + radiant.model/man/repeater.Rd | 79 + radiant.model/man/rforest.Rd | 87 + radiant.model/man/rig.Rd | 39 + radiant.model/man/scale_df.Rd | 27 + radiant.model/man/sdw.Rd | 17 + radiant.model/man/sensitivity.Rd | 19 + radiant.model/man/sensitivity.dtree.Rd | 53 + radiant.model/man/sim_cleaner.Rd | 17 + radiant.model/man/sim_cor.Rd | 31 + radiant.model/man/sim_splitter.Rd | 19 + radiant.model/man/sim_summary.Rd | 35 + radiant.model/man/simulater.Rd | 91 + radiant.model/man/store.crs.Rd | 23 + radiant.model/man/store.mnl.predict.Rd | 34 + radiant.model/man/store.model.Rd | 29 + radiant.model/man/store.model.predict.Rd | 30 + radiant.model/man/store.nb.predict.Rd | 29 + radiant.model/man/store.rforest.predict.Rd | 34 + radiant.model/man/summary.confusion.Rd | 31 + radiant.model/man/summary.coxp.Rd | 11 + radiant.model/man/summary.crs.Rd | 34 + radiant.model/man/summary.crtree.Rd | 40 + radiant.model/man/summary.dtree.Rd | 37 + radiant.model/man/summary.evalbin.Rd | 33 + radiant.model/man/summary.evalreg.Rd | 32 + radiant.model/man/summary.gbt.Rd | 35 + radiant.model/man/summary.logistic.Rd | 47 + radiant.model/man/summary.mnl.Rd | 46 + radiant.model/man/summary.nb.Rd | 33 + radiant.model/man/summary.nn.Rd | 32 + radiant.model/man/summary.regress.Rd | 44 + radiant.model/man/summary.repeater.Rd | 23 + radiant.model/man/summary.rforest.Rd | 31 + radiant.model/man/summary.simulater.Rd | 31 + radiant.model/man/summary.svm.Rd | 11 + radiant.model/man/summary.uplift.Rd | 33 + radiant.model/man/svm.Rd | 33 + radiant.model/man/test_specs.Rd | 29 + radiant.model/man/uplift.Rd | 74 + radiant.model/man/var_check.Rd | 31 + radiant.model/man/varimp.Rd | 22 + radiant.model/man/varimp_plot.Rd | 22 + radiant.model/man/write.coeff.Rd | 37 + radiant.model/tests/testthat.R | 5 + .../tests/testthat/output/regress1.txt | 24 + radiant.model/tests/testthat/test_stats.R | 170 + radiant.model/vignettes/pkgdown/_crs.Rmd | 15 + radiant.model/vignettes/pkgdown/_crtree.Rmd | 17 + radiant.model/vignettes/pkgdown/_dtree.Rmd | 232 ++ radiant.model/vignettes/pkgdown/_evalbin.Rmd | 112 + radiant.model/vignettes/pkgdown/_evalreg.Rmd | 46 + radiant.model/vignettes/pkgdown/_footer.md | 2 + radiant.model/vignettes/pkgdown/_gbt.Rmd | 20 + radiant.model/vignettes/pkgdown/_logistic.Rmd | 122 + radiant.model/vignettes/pkgdown/_mnl.Rmd | 104 + radiant.model/vignettes/pkgdown/_nb.Rmd | 15 + radiant.model/vignettes/pkgdown/_nn.Rmd | 19 + radiant.model/vignettes/pkgdown/_regress.Rmd | 378 ++ radiant.model/vignettes/pkgdown/_rforest.Rmd | 15 + .../vignettes/pkgdown/_simulater.Rmd | 288 ++ radiant.model/vignettes/pkgdown/crs.Rmd | 10 + radiant.model/vignettes/pkgdown/crtree.Rmd | 10 + radiant.model/vignettes/pkgdown/dtree.Rmd | 10 + radiant.model/vignettes/pkgdown/evalbin.Rmd | 10 + radiant.model/vignettes/pkgdown/evalreg.Rmd | 10 + radiant.model/vignettes/pkgdown/gbt.Rmd | 10 + .../vignettes/pkgdown/images/by-nc-sa.png | Bin 0 -> 2374 bytes radiant.model/vignettes/pkgdown/logistic.Rmd | 10 + radiant.model/vignettes/pkgdown/mnl.Rmd | 10 + radiant.model/vignettes/pkgdown/nb.Rmd | 10 + radiant.model/vignettes/pkgdown/nn.Rmd | 10 + radiant.model/vignettes/pkgdown/regress.Rmd | 10 + radiant.model/vignettes/pkgdown/rforest.Rmd | 10 + radiant.model/vignettes/pkgdown/simulater.Rmd | 15 + radiant.multivariate | 1 - radiant.multivariate/.Rbuildignore | 13 + radiant.multivariate/.gitignore | 10 + radiant.multivariate/.travis.yml | 31 + radiant.multivariate/COPYING | 728 ++++ radiant.multivariate/CRAN-RELEASE | 2 + radiant.multivariate/CRAN-SUBMISSION | 3 + radiant.multivariate/DESCRIPTION | 43 + radiant.multivariate/LICENSE | 105 + radiant.multivariate/NAMESPACE | 114 + radiant.multivariate/NEWS.md | 172 + radiant.multivariate/R/aaa.R | 111 + radiant.multivariate/R/conjoint.R | 586 +++ radiant.multivariate/R/full_factor.R | 382 ++ radiant.multivariate/R/hclus.R | 242 ++ radiant.multivariate/R/kclus.R | 336 ++ radiant.multivariate/R/mds.R | 218 ++ radiant.multivariate/R/pre_factor.R | 252 ++ radiant.multivariate/R/prmap.R | 335 ++ radiant.multivariate/R/radiant.R | 48 + radiant.multivariate/README.md | 188 + radiant.multivariate/_pkgdown.yml | 119 + radiant.multivariate/build/build.R | 87 + radiant.multivariate/build/build_mac.R | 6 + radiant.multivariate/build/build_win.R | 26 + .../build/remove_screenshots.R | 18 + radiant.multivariate/data/carpet.rda | Bin 0 -> 745 bytes radiant.multivariate/data/city.rda | Bin 0 -> 657 bytes radiant.multivariate/data/city2.rda | Bin 0 -> 940 bytes radiant.multivariate/data/computer.rda | Bin 0 -> 876 bytes radiant.multivariate/data/movie.rda | Bin 0 -> 864 bytes radiant.multivariate/data/mp3.rda | Bin 0 -> 701 bytes radiant.multivariate/data/retailers.rda | Bin 0 -> 986 bytes radiant.multivariate/data/shopping.rda | Bin 0 -> 678 bytes radiant.multivariate/data/toothpaste.rda | Bin 0 -> 1181 bytes radiant.multivariate/data/tpbrands.rda | Bin 0 -> 1447 bytes radiant.multivariate/inst/app/global.R | 33 + radiant.multivariate/inst/app/help.R | 25 + radiant.multivariate/inst/app/init.R | 46 + radiant.multivariate/inst/app/server.R | 59 + .../inst/app/tools/analysis/conjoint_ui.R | 746 ++++ .../inst/app/tools/analysis/full_factor_ui.R | 330 ++ .../inst/app/tools/analysis/hclus_ui.R | 329 ++ .../inst/app/tools/analysis/kclus_ui.R | 325 ++ .../inst/app/tools/analysis/mds_ui.R | 274 ++ .../inst/app/tools/analysis/pre_factor_ui.R | 200 + .../inst/app/tools/analysis/prmap_ui.R | 339 ++ .../inst/app/tools/help/conjoint.md | 87 + .../help/figures/conjoint_carpet_design.png | Bin 0 -> 3764 bytes .../tools/help/figures/conjoint_expand.png | Bin 0 -> 147667 bytes .../app/tools/help/figures/conjoint_plot.png | Bin 0 -> 149924 bytes .../tools/help/figures/conjoint_predict.png | Bin 0 -> 153004 bytes .../tools/help/figures/conjoint_summary.png | Bin 0 -> 226536 bytes .../app/tools/help/figures/conjoint_view.png | Bin 0 -> 152907 bytes .../tools/help/figures/full_factor_plot.png | Bin 0 -> 26273 bytes .../figures/full_factor_plot_rotation.png | Bin 0 -> 25178 bytes .../help/figures/full_factor_summary.png | Bin 0 -> 153301 bytes .../figures/full_factor_summary_shopping.png | Bin 0 -> 145057 bytes .../app/tools/help/figures/hclus_dendro.png | Bin 0 -> 145481 bytes .../app/tools/help/figures/hclus_scree.png | Bin 0 -> 160399 bytes .../help/figures/kclus_cross_tabs_plot.png | Bin 0 -> 138860 bytes .../help/figures/kclus_cross_tabs_summary.png | Bin 0 -> 185479 bytes .../app/tools/help/figures/kclus_plot.png | Bin 0 -> 251478 bytes .../app/tools/help/figures/kclus_summary.png | Bin 0 -> 200741 bytes .../help/figures/kclus_transform_recode.png | Bin 0 -> 155793 bytes .../inst/app/tools/help/figures/mds_plot.png | Bin 0 -> 84478 bytes .../app/tools/help/figures/mds_plot_flip.png | Bin 0 -> 84699 bytes .../tools/help/figures/mds_plot_tpbrands.png | Bin 0 -> 98430 bytes .../app/tools/help/figures/mds_summary.png | Bin 0 -> 263492 bytes .../help/figures/mds_summary_tpbrands.png | Bin 0 -> 281505 bytes .../app/tools/help/figures/place_holder.txt | 1 + .../tools/help/figures/pre_factor_plot.png | Bin 0 -> 113606 bytes .../tools/help/figures/pre_factor_summary.png | Bin 0 -> 136099 bytes .../app/tools/help/figures/prmap_plot_all.png | Bin 0 -> 148676 bytes .../tools/help/figures/prmap_plot_brands.png | Bin 0 -> 89240 bytes .../help/figures/prmap_plot_brands_attr.png | Bin 0 -> 136057 bytes .../app/tools/help/figures/prmap_summary.png | Bin 0 -> 219662 bytes .../inst/app/tools/help/full_factor.md | 78 + .../inst/app/tools/help/hclus.md | 48 + .../inst/app/tools/help/kclus.md | 68 + .../inst/app/tools/help/mds.md | 43 + .../inst/app/tools/help/pre_factor.md | 48 + .../inst/app/tools/help/prmap.md | 49 + radiant.multivariate/inst/app/ui.R | 13 + radiant.multivariate/inst/app/www/js/store.js | 17 + .../inst/translations/translation_zh.csv | 191 + radiant.multivariate/man/carpet.Rd | 19 + radiant.multivariate/man/city.Rd | 19 + radiant.multivariate/man/city2.Rd | 19 + radiant.multivariate/man/clean_loadings.Rd | 30 + radiant.multivariate/man/computer.Rd | 19 + radiant.multivariate/man/conjoint.Rd | 52 + radiant.multivariate/man/full_factor.Rd | 52 + radiant.multivariate/man/hclus.Rd | 55 + radiant.multivariate/man/kclus.Rd | 65 + radiant.multivariate/man/mds.Rd | 56 + radiant.multivariate/man/movie.Rd | 19 + radiant.multivariate/man/mp3.Rd | 19 + radiant.multivariate/man/plot.conjoint.Rd | 48 + radiant.multivariate/man/plot.full_factor.Rd | 35 + radiant.multivariate/man/plot.hclus.Rd | 45 + radiant.multivariate/man/plot.kclus.Rd | 36 + radiant.multivariate/man/plot.mds.Rd | 38 + radiant.multivariate/man/plot.pre_factor.Rd | 43 + radiant.multivariate/man/plot.prmap.Rd | 58 + radiant.multivariate/man/pre_factor.Rd | 43 + radiant.multivariate/man/predict.conjoint.Rd | 55 + .../man/predict_conjoint_by.Rd | 50 + .../man/print.conjoint.predict.Rd | 18 + radiant.multivariate/man/prmap.Rd | 52 + .../man/radiant.multivariate.Rd | 24 + .../man/radiant.multivariate_viewer.Rd | 24 + .../man/radiant.multivariate_window.Rd | 24 + radiant.multivariate/man/retailers.Rd | 19 + radiant.multivariate/man/shopping.Rd | 19 + radiant.multivariate/man/store.conjoint.Rd | 23 + .../man/store.conjoint.predict.Rd | 29 + radiant.multivariate/man/store.full_factor.Rd | 36 + radiant.multivariate/man/store.hclus.Rd | 37 + radiant.multivariate/man/store.kclus.Rd | 35 + radiant.multivariate/man/summary.conjoint.Rd | 37 + .../man/summary.full_factor.Rd | 36 + radiant.multivariate/man/summary.hclus.Rd | 29 + radiant.multivariate/man/summary.kclus.Rd | 32 + radiant.multivariate/man/summary.mds.Rd | 31 + .../man/summary.pre_factor.Rd | 31 + radiant.multivariate/man/summary.prmap.Rd | 39 + radiant.multivariate/man/the_table.Rd | 33 + radiant.multivariate/man/toothpaste.Rd | 19 + radiant.multivariate/man/tpbrands.Rd | 19 + .../radiant.multivariate.Rproj | 22 + radiant.multivariate/tests/testthat.R | 4 + .../tests/testthat/test_stats.R | 112 + .../vignettes/pkgdown/_conjoint.Rmd | 87 + .../vignettes/pkgdown/_footer.md | 2 + .../vignettes/pkgdown/_full_factor.Rmd | 78 + .../vignettes/pkgdown/_hclus.Rmd | 48 + .../vignettes/pkgdown/_kclus.Rmd | 68 + .../vignettes/pkgdown/_mds.Rmd | 44 + .../vignettes/pkgdown/_pre_factor.Rmd | 48 + .../vignettes/pkgdown/_prmap.Rmd | 49 + .../vignettes/pkgdown/conjoint.Rmd | 10 + .../vignettes/pkgdown/full_factor.Rmd | 10 + .../vignettes/pkgdown/hclus.Rmd | 10 + .../vignettes/pkgdown/images/by-nc-sa.png | Bin 0 -> 2374 bytes .../vignettes/pkgdown/kclus.Rmd | 10 + .../vignettes/pkgdown/mds.Rmd | 10 + .../vignettes/pkgdown/pre_factor.Rmd | 10 + .../vignettes/pkgdown/prmap.Rmd | 10 + 1241 files changed, 129478 insertions(+), 5 deletions(-) delete mode 160000 radiant.basics create mode 100644 radiant.basics/.Rbuildignore create mode 100644 radiant.basics/.gitignore create mode 100644 radiant.basics/.travis.yml create mode 100644 radiant.basics/CRAN-RELEASE create mode 100644 radiant.basics/CRAN-SUBMISSION create mode 100644 radiant.basics/DESCRIPTION create mode 100644 radiant.basics/LICENSE create mode 100644 radiant.basics/NAMESPACE create mode 100644 radiant.basics/NEWS.md create mode 100644 radiant.basics/R/aaa.R create mode 100644 radiant.basics/R/clt.R create mode 100644 radiant.basics/R/compare_means.R create mode 100644 radiant.basics/R/compare_props.R create mode 100644 radiant.basics/R/correlation.R create mode 100644 radiant.basics/R/cross_tabs.R create mode 100644 radiant.basics/R/goodness.R create mode 100644 radiant.basics/R/homo_variance_test.R create mode 100644 radiant.basics/R/normality_test.R create mode 100644 radiant.basics/R/prob_calc.R create mode 100644 radiant.basics/R/radiant.R create mode 100644 radiant.basics/R/single_mean.R create mode 100644 radiant.basics/R/single_prop.R create mode 100644 radiant.basics/README.md create mode 100644 radiant.basics/_pkgdown.yml create mode 100644 radiant.basics/build/build.R create mode 100644 radiant.basics/build/build_mac.R create mode 100644 radiant.basics/build/build_win.R create mode 100644 radiant.basics/data/consider.rda create mode 100644 radiant.basics/data/demand_uk.rda create mode 100644 radiant.basics/data/newspaper.rda create mode 100644 radiant.basics/data/salary.rda create mode 100644 radiant.basics/inst/app/global.R create mode 100644 radiant.basics/inst/app/help.R create mode 100644 radiant.basics/inst/app/init.R create mode 100644 radiant.basics/inst/app/server.R create mode 100644 radiant.basics/inst/app/tools/analysis/clt_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/compare_means_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/compare_props_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/correlation_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/cross_tabs_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/goodness_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/homo_variance_test_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/normality_test_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/prob_calc_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/single_mean_ui.R create mode 100644 radiant.basics/inst/app/tools/analysis/single_prop_ui.R create mode 100644 radiant.basics/inst/app/tools/help/clt.md create mode 100644 radiant.basics/inst/app/tools/help/compare_means.md create mode 100644 radiant.basics/inst/app/tools/help/compare_props.md create mode 100644 radiant.basics/inst/app/tools/help/correlation.md create mode 100644 radiant.basics/inst/app/tools/help/cross_tabs.md create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_means_plot.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_means_prob_calc.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_means_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_means_summary_additional.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_props_plot.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_props_prob_calc.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_props_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/compare_props_summary_additional.png create mode 100644 radiant.basics/inst/app/tools/help/figures/correlation_plot.png create mode 100644 radiant.basics/inst/app/tools/help/figures/correlation_store.png create mode 100644 radiant.basics/inst/app/tools/help/figures/correlation_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/cross_tabs_chi_critical.png create mode 100644 radiant.basics/inst/app/tools/help/figures/cross_tabs_chi_pvalue.png create mode 100644 radiant.basics/inst/app/tools/help/figures/cross_tabs_plot.png create mode 100644 radiant.basics/inst/app/tools/help/figures/cross_tabs_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/goodness_chi_pvalue.png create mode 100644 radiant.basics/inst/app/tools/help/figures/goodness_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/prob_calc_batteries.png create mode 100644 radiant.basics/inst/app/tools/help/figures/prob_calc_headphones.png create mode 100644 radiant.basics/inst/app/tools/help/figures/prob_calc_icecream.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_mean_plot.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_mean_prob_calc.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_mean_summary.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_prop_prob_calc_p.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_prop_prob_calc_v.png create mode 100644 radiant.basics/inst/app/tools/help/figures/single_prop_summary.png create mode 100644 radiant.basics/inst/app/tools/help/goodness.md create mode 100644 radiant.basics/inst/app/tools/help/homo_variance_test.md create mode 100644 radiant.basics/inst/app/tools/help/normality_test.md create mode 100644 radiant.basics/inst/app/tools/help/prob_calc.Rmd create mode 100644 radiant.basics/inst/app/tools/help/prob_calc.md create mode 100644 radiant.basics/inst/app/tools/help/single_mean.md create mode 100644 radiant.basics/inst/app/tools/help/single_prop.md create mode 100644 radiant.basics/inst/app/ui.R create mode 100644 radiant.basics/inst/app/www/js/run_return.js create mode 100644 radiant.basics/inst/translations/translation_zh.csv create mode 100644 radiant.basics/man/clt.Rd create mode 100644 radiant.basics/man/compare_means.Rd create mode 100644 radiant.basics/man/compare_props.Rd create mode 100644 radiant.basics/man/consider.Rd create mode 100644 radiant.basics/man/cor2df.Rd create mode 100644 radiant.basics/man/correlation.Rd create mode 100644 radiant.basics/man/cross_tabs.Rd create mode 100644 radiant.basics/man/demand_uk.Rd create mode 100644 radiant.basics/man/goodness.Rd create mode 100644 radiant.basics/man/newspaper.Rd create mode 100644 radiant.basics/man/plot.clt.Rd create mode 100644 radiant.basics/man/plot.compare_means.Rd create mode 100644 radiant.basics/man/plot.compare_props.Rd create mode 100644 radiant.basics/man/plot.correlation.Rd create mode 100644 radiant.basics/man/plot.cross_tabs.Rd create mode 100644 radiant.basics/man/plot.goodness.Rd create mode 100644 radiant.basics/man/plot.prob_binom.Rd create mode 100644 radiant.basics/man/plot.prob_chisq.Rd create mode 100644 radiant.basics/man/plot.prob_disc.Rd create mode 100644 radiant.basics/man/plot.prob_expo.Rd create mode 100644 radiant.basics/man/plot.prob_fdist.Rd create mode 100644 radiant.basics/man/plot.prob_lnorm.Rd create mode 100644 radiant.basics/man/plot.prob_norm.Rd create mode 100644 radiant.basics/man/plot.prob_pois.Rd create mode 100644 radiant.basics/man/plot.prob_tdist.Rd create mode 100644 radiant.basics/man/plot.prob_unif.Rd create mode 100644 radiant.basics/man/plot.single_mean.Rd create mode 100644 radiant.basics/man/plot.single_prop.Rd create mode 100644 radiant.basics/man/print.rcorr.Rd create mode 100644 radiant.basics/man/prob_binom.Rd create mode 100644 radiant.basics/man/prob_chisq.Rd create mode 100644 radiant.basics/man/prob_disc.Rd create mode 100644 radiant.basics/man/prob_expo.Rd create mode 100644 radiant.basics/man/prob_fdist.Rd create mode 100644 radiant.basics/man/prob_lnorm.Rd create mode 100644 radiant.basics/man/prob_norm.Rd create mode 100644 radiant.basics/man/prob_pois.Rd create mode 100644 radiant.basics/man/prob_tdist.Rd create mode 100644 radiant.basics/man/prob_unif.Rd create mode 100644 radiant.basics/man/radiant.basics.Rd create mode 100644 radiant.basics/man/radiant.basics_viewer.Rd create mode 100644 radiant.basics/man/radiant.basics_window.Rd create mode 100644 radiant.basics/man/salary.Rd create mode 100644 radiant.basics/man/single_mean.Rd create mode 100644 radiant.basics/man/single_prop.Rd create mode 100644 radiant.basics/man/summary.compare_means.Rd create mode 100644 radiant.basics/man/summary.compare_props.Rd create mode 100644 radiant.basics/man/summary.correlation.Rd create mode 100644 radiant.basics/man/summary.cross_tabs.Rd create mode 100644 radiant.basics/man/summary.goodness.Rd create mode 100644 radiant.basics/man/summary.prob_binom.Rd create mode 100644 radiant.basics/man/summary.prob_chisq.Rd create mode 100644 radiant.basics/man/summary.prob_disc.Rd create mode 100644 radiant.basics/man/summary.prob_expo.Rd create mode 100644 radiant.basics/man/summary.prob_fdist.Rd create mode 100644 radiant.basics/man/summary.prob_lnorm.Rd create mode 100644 radiant.basics/man/summary.prob_norm.Rd create mode 100644 radiant.basics/man/summary.prob_pois.Rd create mode 100644 radiant.basics/man/summary.prob_tdist.Rd create mode 100644 radiant.basics/man/summary.prob_unif.Rd create mode 100644 radiant.basics/man/summary.single_mean.Rd create mode 100644 radiant.basics/man/summary.single_prop.Rd create mode 100644 radiant.basics/tests/testthat.R create mode 100644 radiant.basics/tests/testthat/test_stats.R create mode 100644 radiant.basics/vignettes/pkgdown/_clt.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_compare_means.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_compare_props.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_correlation.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_cross_tabs.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_footer.md create mode 100644 radiant.basics/vignettes/pkgdown/_goodness.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_prob_calc.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_single_mean.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/_single_prop.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/clt.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/compare_means.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/compare_props.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/correlation.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/cross_tabs.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/goodness.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/images/by-nc-sa.png create mode 100644 radiant.basics/vignettes/pkgdown/prob_calc.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/single_mean.Rmd create mode 100644 radiant.basics/vignettes/pkgdown/single_prop.Rmd delete mode 160000 radiant.data create mode 100644 radiant.data/.Rbuildignore create mode 100644 radiant.data/.codespellrc create mode 100644 radiant.data/.github/workflows/codespell.yml create mode 100644 radiant.data/.gitignore create mode 100644 radiant.data/.travis.yml create mode 100644 radiant.data/COPYING create mode 100644 radiant.data/CRAN-RELEASE create mode 100644 radiant.data/CRAN-SUBMISSION create mode 100644 radiant.data/DESCRIPTION create mode 100644 radiant.data/LICENSE create mode 100644 radiant.data/NAMESPACE create mode 100644 radiant.data/NEWS.md create mode 100644 radiant.data/R/aaa.R create mode 100644 radiant.data/R/combine.R create mode 100644 radiant.data/R/deprecated.R create mode 100644 radiant.data/R/explore.R create mode 100644 radiant.data/R/for.shinyapps.io.R create mode 100644 radiant.data/R/manage.R create mode 100644 radiant.data/R/pivotr.R create mode 100644 radiant.data/R/radiant.R create mode 100644 radiant.data/R/transform.R create mode 100644 radiant.data/R/view.R create mode 100644 radiant.data/R/visualize.R create mode 100644 radiant.data/README.md create mode 100644 radiant.data/_pkgdown.yml create mode 100644 radiant.data/build/build.R create mode 100644 radiant.data/build/build_mac.R create mode 100644 radiant.data/build/build_win.R create mode 100644 radiant.data/cran-comments.md create mode 100644 radiant.data/data/avengers.rda create mode 100644 radiant.data/data/diamonds.rda create mode 100644 radiant.data/data/publishers.rda create mode 100644 radiant.data/data/superheroes.rda create mode 100644 radiant.data/data/titanic.rda create mode 100644 radiant.data/docs/404.html create mode 100644 radiant.data/docs/LICENSE-text.html create mode 100644 radiant.data/docs/articles/index.html create mode 100644 radiant.data/docs/articles/pkgdown/combine.html create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/explore.html create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/images/by-sa.png create mode 100644 radiant.data/docs/articles/pkgdown/manage.html create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/pivotr.html create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_r.html create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd.html create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/state.html create mode 100644 radiant.data/docs/articles/pkgdown/state_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/transform.html create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/view.html create mode 100644 radiant.data/docs/articles/pkgdown/view_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/visualize.html create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/accessible-code-block-0.0.1/empty-anchor.js create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.css create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.js create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.1/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.2/header-attrs.js create mode 100644 radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.3/header-attrs.js create mode 100644 radiant.data/docs/authors.html create mode 100644 radiant.data/docs/bootstrap-toc.css create mode 100644 radiant.data/docs/bootstrap-toc.js create mode 100644 radiant.data/docs/docsearch.css create mode 100644 radiant.data/docs/docsearch.js create mode 100644 radiant.data/docs/docsearch.json create mode 100644 radiant.data/docs/index.html create mode 100644 radiant.data/docs/link.svg create mode 100644 radiant.data/docs/news/index.html create mode 100644 radiant.data/docs/pkgdown.css create mode 100644 radiant.data/docs/pkgdown.js create mode 100644 radiant.data/docs/pkgdown.yml create mode 100644 radiant.data/docs/reference/Rplot001.png create mode 100644 radiant.data/docs/reference/Rplot002.png create mode 100644 radiant.data/docs/reference/Rplot003.png create mode 100644 radiant.data/docs/reference/Rplot004.png create mode 100644 radiant.data/docs/reference/Rplot005.png create mode 100644 radiant.data/docs/reference/Rplot006.png create mode 100644 radiant.data/docs/reference/Rplot007.png create mode 100644 radiant.data/docs/reference/Rplot008.png create mode 100644 radiant.data/docs/reference/add_class.html create mode 100644 radiant.data/docs/reference/add_description.html create mode 100644 radiant.data/docs/reference/arrange_data.html create mode 100644 radiant.data/docs/reference/as_character.html create mode 100644 radiant.data/docs/reference/as_distance.html create mode 100644 radiant.data/docs/reference/as_dmy.html create mode 100644 radiant.data/docs/reference/as_dmy_hm.html create mode 100644 radiant.data/docs/reference/as_dmy_hms.html create mode 100644 radiant.data/docs/reference/as_duration.html create mode 100644 radiant.data/docs/reference/as_factor.html create mode 100644 radiant.data/docs/reference/as_hm.html create mode 100644 radiant.data/docs/reference/as_hms.html create mode 100644 radiant.data/docs/reference/as_integer.html create mode 100644 radiant.data/docs/reference/as_mdy.html create mode 100644 radiant.data/docs/reference/as_mdy_hm.html create mode 100644 radiant.data/docs/reference/as_mdy_hms.html create mode 100644 radiant.data/docs/reference/as_numeric.html create mode 100644 radiant.data/docs/reference/as_tibble.html create mode 100644 radiant.data/docs/reference/as_ymd.html create mode 100644 radiant.data/docs/reference/as_ymd_hm.html create mode 100644 radiant.data/docs/reference/as_ymd_hms.html create mode 100644 radiant.data/docs/reference/avengers.html create mode 100644 radiant.data/docs/reference/center.html create mode 100644 radiant.data/docs/reference/choose_dir.html create mode 100644 radiant.data/docs/reference/choose_files.html create mode 100644 radiant.data/docs/reference/ci_label.html create mode 100644 radiant.data/docs/reference/ci_perc.html create mode 100644 radiant.data/docs/reference/combine_data.html create mode 100644 radiant.data/docs/reference/copy_all.html create mode 100644 radiant.data/docs/reference/copy_attr.html create mode 100644 radiant.data/docs/reference/copy_from.html create mode 100644 radiant.data/docs/reference/cv.html create mode 100644 radiant.data/docs/reference/deregister.html create mode 100644 radiant.data/docs/reference/describe.html create mode 100644 radiant.data/docs/reference/diamonds.html create mode 100644 radiant.data/docs/reference/does_vary.html create mode 100644 radiant.data/docs/reference/dtab.data.frame.html create mode 100644 radiant.data/docs/reference/dtab.explore.html create mode 100644 radiant.data/docs/reference/dtab.html create mode 100644 radiant.data/docs/reference/dtab.pivotr.html create mode 100644 radiant.data/docs/reference/empty_level.html create mode 100644 radiant.data/docs/reference/explore.html create mode 100644 radiant.data/docs/reference/filter_data.html create mode 100644 radiant.data/docs/reference/find_dropbox.html create mode 100644 radiant.data/docs/reference/find_gdrive.html create mode 100644 radiant.data/docs/reference/find_home.html create mode 100644 radiant.data/docs/reference/find_project.html create mode 100644 radiant.data/docs/reference/fix_names.html create mode 100644 radiant.data/docs/reference/fix_smart.html create mode 100644 radiant.data/docs/reference/flip.html create mode 100644 radiant.data/docs/reference/format_df.html create mode 100644 radiant.data/docs/reference/format_nr.html create mode 100644 radiant.data/docs/reference/get_class.html create mode 100644 radiant.data/docs/reference/get_data.html create mode 100644 radiant.data/docs/reference/get_summary.html create mode 100644 radiant.data/docs/reference/ggplotly.html create mode 100644 radiant.data/docs/reference/glance.html create mode 100644 radiant.data/docs/reference/glue.html create mode 100644 radiant.data/docs/reference/glue_collapse.html create mode 100644 radiant.data/docs/reference/glue_data.html create mode 100644 radiant.data/docs/reference/index.html create mode 100644 radiant.data/docs/reference/indexr.html create mode 100644 radiant.data/docs/reference/install_webshot.html create mode 100644 radiant.data/docs/reference/inverse.html create mode 100644 radiant.data/docs/reference/is.empty.html create mode 100644 radiant.data/docs/reference/is_double.html create mode 100644 radiant.data/docs/reference/is_empty.html create mode 100644 radiant.data/docs/reference/is_not.html create mode 100644 radiant.data/docs/reference/is_string.html create mode 100644 radiant.data/docs/reference/iterms.html create mode 100644 radiant.data/docs/reference/knit_print.html create mode 100644 radiant.data/docs/reference/kurtosi.re.html create mode 100644 radiant.data/docs/reference/launch.html create mode 100644 radiant.data/docs/reference/level_list.html create mode 100644 radiant.data/docs/reference/ln.html create mode 100644 radiant.data/docs/reference/load_clip.html create mode 100644 radiant.data/docs/reference/make_arrange_cmd.html create mode 100644 radiant.data/docs/reference/make_train.html create mode 100644 radiant.data/docs/reference/make_vec.html create mode 100644 radiant.data/docs/reference/me.html create mode 100644 radiant.data/docs/reference/meprop.html create mode 100644 radiant.data/docs/reference/modal.html create mode 100644 radiant.data/docs/reference/month.html create mode 100644 radiant.data/docs/reference/mutate_ext.html create mode 100644 radiant.data/docs/reference/n_missing.html create mode 100644 radiant.data/docs/reference/n_obs.html create mode 100644 radiant.data/docs/reference/normalize.html create mode 100644 radiant.data/docs/reference/parse_path.html create mode 100644 radiant.data/docs/reference/percentiles.html create mode 100644 radiant.data/docs/reference/pfun.html create mode 100644 radiant.data/docs/reference/pivotr.html create mode 100644 radiant.data/docs/reference/plot.pivotr-1.png create mode 100644 radiant.data/docs/reference/plot.pivotr-2.png create mode 100644 radiant.data/docs/reference/plot.pivotr-3.png create mode 100644 radiant.data/docs/reference/plot.pivotr.html create mode 100644 radiant.data/docs/reference/print.gtable.html create mode 100644 radiant.data/docs/reference/prop.html create mode 100644 radiant.data/docs/reference/publishers.html create mode 100644 radiant.data/docs/reference/qscatter-1.png create mode 100644 radiant.data/docs/reference/qscatter-2.png create mode 100644 radiant.data/docs/reference/qscatter.html create mode 100644 radiant.data/docs/reference/qterms.html create mode 100644 radiant.data/docs/reference/radiant.data-deprecated.html create mode 100644 radiant.data/docs/reference/radiant.data.html create mode 100644 radiant.data/docs/reference/radiant.data_url.html create mode 100644 radiant.data/docs/reference/radiant.data_viewer.html create mode 100644 radiant.data/docs/reference/radiant.data_window.html create mode 100644 radiant.data/docs/reference/read_files.html create mode 100644 radiant.data/docs/reference/reexports.html create mode 100644 radiant.data/docs/reference/refactor.html create mode 100644 radiant.data/docs/reference/register.html create mode 100644 radiant.data/docs/reference/render.datatables.html create mode 100644 radiant.data/docs/reference/render.html create mode 100644 radiant.data/docs/reference/render.plotly.html create mode 100644 radiant.data/docs/reference/round_df.html create mode 100644 radiant.data/docs/reference/rownames_to_column.html create mode 100644 radiant.data/docs/reference/save_clip.html create mode 100644 radiant.data/docs/reference/sdpop.html create mode 100644 radiant.data/docs/reference/sdprop.html create mode 100644 radiant.data/docs/reference/se.html create mode 100644 radiant.data/docs/reference/search_data.html create mode 100644 radiant.data/docs/reference/seprop.html create mode 100644 radiant.data/docs/reference/set_attr.html create mode 100644 radiant.data/docs/reference/show_duplicated.html create mode 100644 radiant.data/docs/reference/sig_stars.html create mode 100644 radiant.data/docs/reference/skew.re.html create mode 100644 radiant.data/docs/reference/slice_data.html create mode 100644 radiant.data/docs/reference/square.html create mode 100644 radiant.data/docs/reference/sshh.html create mode 100644 radiant.data/docs/reference/sshhr.html create mode 100644 radiant.data/docs/reference/standardize.html create mode 100644 radiant.data/docs/reference/store.explore.html create mode 100644 radiant.data/docs/reference/store.html create mode 100644 radiant.data/docs/reference/store.pivotr.html create mode 100644 radiant.data/docs/reference/subplot.html create mode 100644 radiant.data/docs/reference/summary.explore.html create mode 100644 radiant.data/docs/reference/summary.pivotr.html create mode 100644 radiant.data/docs/reference/superheroes.html create mode 100644 radiant.data/docs/reference/table2data.html create mode 100644 radiant.data/docs/reference/tibble.html create mode 100644 radiant.data/docs/reference/tidy.html create mode 100644 radiant.data/docs/reference/titanic.html create mode 100644 radiant.data/docs/reference/to_fct.html create mode 100644 radiant.data/docs/reference/varpop.html create mode 100644 radiant.data/docs/reference/varprop.html create mode 100644 radiant.data/docs/reference/view_data.html create mode 100644 radiant.data/docs/reference/visualize-1.png create mode 100644 radiant.data/docs/reference/visualize-2.png create mode 100644 radiant.data/docs/reference/visualize-3.png create mode 100644 radiant.data/docs/reference/visualize-4.png create mode 100644 radiant.data/docs/reference/visualize-5.png create mode 100644 radiant.data/docs/reference/visualize-6.png create mode 100644 radiant.data/docs/reference/visualize-7.png create mode 100644 radiant.data/docs/reference/visualize-8.png create mode 100644 radiant.data/docs/reference/visualize.html create mode 100644 radiant.data/docs/reference/wday.html create mode 100644 radiant.data/docs/reference/weighted.sd.html create mode 100644 radiant.data/docs/reference/which.pmax.html create mode 100644 radiant.data/docs/reference/which.pmin.html create mode 100644 radiant.data/docs/reference/write_parquet.html create mode 100644 radiant.data/docs/reference/xtile.html create mode 100644 radiant.data/docs/sitemap.xml create mode 100644 radiant.data/inst/app/global.R create mode 100644 radiant.data/inst/app/init.R create mode 100644 radiant.data/inst/app/radiant.R create mode 100644 radiant.data/inst/app/rsconnect/rsm-compute-dev2.ucsd.edu/vnijs/radiantdata.dcf create mode 100644 radiant.data/inst/app/server.R create mode 100644 radiant.data/inst/app/tools/app/about.md create mode 100644 radiant.data/inst/app/tools/app/help.R create mode 100644 radiant.data/inst/app/tools/app/report_funs.R create mode 100644 radiant.data/inst/app/tools/app/report_r.R create mode 100644 radiant.data/inst/app/tools/app/report_rmd.R create mode 100644 radiant.data/inst/app/tools/app/state.R create mode 100644 radiant.data/inst/app/tools/app/stop.R create mode 100644 radiant.data/inst/app/tools/app/tutorials.md create mode 100644 radiant.data/inst/app/tools/data/combine_ui.R create mode 100644 radiant.data/inst/app/tools/data/data_ui.R create mode 100644 radiant.data/inst/app/tools/data/explore_ui.R create mode 100644 radiant.data/inst/app/tools/data/manage.R create mode 100644 radiant.data/inst/app/tools/data/manage_ui.R create mode 100644 radiant.data/inst/app/tools/data/pivotr_ui.R create mode 100644 radiant.data/inst/app/tools/data/transform_ui.R create mode 100644 radiant.data/inst/app/tools/data/view_ui.R create mode 100644 radiant.data/inst/app/tools/data/visualize_ui.R create mode 100644 radiant.data/inst/app/tools/help/combine.Rmd create mode 100644 radiant.data/inst/app/tools/help/combine.md create mode 100644 radiant.data/inst/app/tools/help/explore.md create mode 100644 radiant.data/inst/app/tools/help/figures/anti_join.png create mode 100644 radiant.data/inst/app/tools/help/figures/boxplot.png create mode 100644 radiant.data/inst/app/tools/help/figures/combine_avengers_superheroes.png create mode 100644 radiant.data/inst/app/tools/help/figures/combine_publishers_superheroes.png create mode 100644 radiant.data/inst/app/tools/help/figures/combine_superheroes_publishers.png create mode 100644 radiant.data/inst/app/tools/help/figures/expand_grid.png create mode 100644 radiant.data/inst/app/tools/help/figures/explore.png create mode 100644 radiant.data/inst/app/tools/help/figures/full_join.png create mode 100644 radiant.data/inst/app/tools/help/figures/inner_join.png create mode 100644 radiant.data/inst/app/tools/help/figures/left_join.png create mode 100644 radiant.data/inst/app/tools/help/figures/outer_join.png create mode 100644 radiant.data/inst/app/tools/help/figures/pivotr.png create mode 100644 radiant.data/inst/app/tools/help/figures/rbbbot.jpg create mode 100644 radiant.data/inst/app/tools/help/figures/right_join.png create mode 100644 radiant.data/inst/app/tools/help/manage.html create mode 100644 radiant.data/inst/app/tools/help/manage.md create mode 100644 radiant.data/inst/app/tools/help/pivotr.md create mode 100644 radiant.data/inst/app/tools/help/report_r.Rmd create mode 100644 radiant.data/inst/app/tools/help/report_r.md create mode 100644 radiant.data/inst/app/tools/help/report_rmd.Rmd create mode 100644 radiant.data/inst/app/tools/help/report_rmd.md create mode 100644 radiant.data/inst/app/tools/help/state.md create mode 100644 radiant.data/inst/app/tools/help/transform.Rmd create mode 100644 radiant.data/inst/app/tools/help/transform.md create mode 100644 radiant.data/inst/app/tools/help/view.Rmd create mode 100644 radiant.data/inst/app/tools/help/view.md create mode 100644 radiant.data/inst/app/tools/help/visualize.md create mode 100644 radiant.data/inst/app/ui.R create mode 100644 radiant.data/inst/app/www/imgs/by-nc-sa.png create mode 100644 radiant.data/inst/app/www/imgs/by-sa.png create mode 100644 radiant.data/inst/app/www/imgs/icon.png create mode 100644 radiant.data/inst/app/www/js/draggable_modal.js create mode 100644 radiant.data/inst/app/www/js/math_reset.js create mode 100644 radiant.data/inst/app/www/js/message-handler.js create mode 100644 radiant.data/inst/app/www/js/returnTextAreaBinding.js create mode 100644 radiant.data/inst/app/www/js/returnTextInputBinding.js create mode 100644 radiant.data/inst/app/www/js/run_return.js create mode 100644 radiant.data/inst/app/www/js/session.js create mode 100644 radiant.data/inst/app/www/js/video_reset.js create mode 100644 radiant.data/inst/app/www/scpt/choose.dir.scpt create mode 100644 radiant.data/inst/app/www/scpt/choose.files.scpt create mode 100644 radiant.data/inst/app/www/style.css create mode 100644 radiant.data/inst/app/www/style.docx create mode 100644 radiant.data/inst/app/www/style.potx create mode 100644 radiant.data/inst/assets/html2canvas/html2canvas.min.js create mode 100644 radiant.data/inst/translations/translation_zh.csv create mode 100644 radiant.data/man/add_class.Rd create mode 100644 radiant.data/man/add_description.Rd create mode 100644 radiant.data/man/arrange_data.Rd create mode 100644 radiant.data/man/as_character.Rd create mode 100644 radiant.data/man/as_distance.Rd create mode 100644 radiant.data/man/as_dmy.Rd create mode 100644 radiant.data/man/as_dmy_hm.Rd create mode 100644 radiant.data/man/as_dmy_hms.Rd create mode 100644 radiant.data/man/as_duration.Rd create mode 100644 radiant.data/man/as_factor.Rd create mode 100644 radiant.data/man/as_hm.Rd create mode 100644 radiant.data/man/as_hms.Rd create mode 100644 radiant.data/man/as_integer.Rd create mode 100644 radiant.data/man/as_mdy.Rd create mode 100644 radiant.data/man/as_mdy_hm.Rd create mode 100644 radiant.data/man/as_mdy_hms.Rd create mode 100644 radiant.data/man/as_numeric.Rd create mode 100644 radiant.data/man/as_ymd.Rd create mode 100644 radiant.data/man/as_ymd_hm.Rd create mode 100644 radiant.data/man/as_ymd_hms.Rd create mode 100644 radiant.data/man/avengers.Rd create mode 100644 radiant.data/man/center.Rd create mode 100644 radiant.data/man/choose_dir.Rd create mode 100644 radiant.data/man/choose_files.Rd create mode 100644 radiant.data/man/ci_label.Rd create mode 100644 radiant.data/man/ci_perc.Rd create mode 100644 radiant.data/man/combine_data.Rd create mode 100644 radiant.data/man/copy_all.Rd create mode 100644 radiant.data/man/copy_attr.Rd create mode 100644 radiant.data/man/copy_from.Rd create mode 100644 radiant.data/man/cv.Rd create mode 100644 radiant.data/man/deregister.Rd create mode 100644 radiant.data/man/describe.Rd create mode 100644 radiant.data/man/diamonds.Rd create mode 100644 radiant.data/man/does_vary.Rd create mode 100644 radiant.data/man/dtab.Rd create mode 100644 radiant.data/man/dtab.data.frame.Rd create mode 100644 radiant.data/man/dtab.explore.Rd create mode 100644 radiant.data/man/dtab.pivotr.Rd create mode 100644 radiant.data/man/empty_level.Rd create mode 100644 radiant.data/man/explore.Rd create mode 100644 radiant.data/man/filter_data.Rd create mode 100644 radiant.data/man/find_dropbox.Rd create mode 100644 radiant.data/man/find_gdrive.Rd create mode 100644 radiant.data/man/find_home.Rd create mode 100644 radiant.data/man/find_project.Rd create mode 100644 radiant.data/man/fix_names.Rd create mode 100644 radiant.data/man/fix_smart.Rd create mode 100644 radiant.data/man/flip.Rd create mode 100644 radiant.data/man/format_df.Rd create mode 100644 radiant.data/man/format_nr.Rd create mode 100644 radiant.data/man/get_class.Rd create mode 100644 radiant.data/man/get_data.Rd create mode 100644 radiant.data/man/get_summary.Rd create mode 100644 radiant.data/man/ggplotly.Rd create mode 100644 radiant.data/man/indexr.Rd create mode 100644 radiant.data/man/install_webshot.Rd create mode 100644 radiant.data/man/inverse.Rd create mode 100644 radiant.data/man/is.empty.Rd create mode 100644 radiant.data/man/is_double.Rd create mode 100644 radiant.data/man/is_not.Rd create mode 100644 radiant.data/man/is_string.Rd create mode 100644 radiant.data/man/iterms.Rd create mode 100644 radiant.data/man/launch.Rd create mode 100644 radiant.data/man/level_list.Rd create mode 100644 radiant.data/man/ln.Rd create mode 100644 radiant.data/man/load_clip.Rd create mode 100644 radiant.data/man/make_arrange_cmd.Rd create mode 100644 radiant.data/man/make_train.Rd create mode 100644 radiant.data/man/make_vec.Rd create mode 100644 radiant.data/man/me.Rd create mode 100644 radiant.data/man/meprop.Rd create mode 100644 radiant.data/man/modal.Rd create mode 100644 radiant.data/man/month.Rd create mode 100644 radiant.data/man/mutate_ext.Rd create mode 100644 radiant.data/man/n_missing.Rd create mode 100644 radiant.data/man/n_obs.Rd create mode 100644 radiant.data/man/normalize.Rd create mode 100644 radiant.data/man/parse_path.Rd create mode 100644 radiant.data/man/percentiles.Rd create mode 100644 radiant.data/man/pfun.Rd create mode 100644 radiant.data/man/pivotr.Rd create mode 100644 radiant.data/man/plot.pivotr.Rd create mode 100644 radiant.data/man/prop.Rd create mode 100644 radiant.data/man/publishers.Rd create mode 100644 radiant.data/man/qscatter.Rd create mode 100644 radiant.data/man/qterms.Rd create mode 100644 radiant.data/man/radiant.data-deprecated.Rd create mode 100644 radiant.data/man/radiant.data.Rd create mode 100644 radiant.data/man/radiant.data_url.Rd create mode 100644 radiant.data/man/radiant.data_viewer.Rd create mode 100644 radiant.data/man/radiant.data_window.Rd create mode 100644 radiant.data/man/read_files.Rd create mode 100644 radiant.data/man/reexports.Rd create mode 100644 radiant.data/man/refactor.Rd create mode 100644 radiant.data/man/register.Rd create mode 100644 radiant.data/man/render.Rd create mode 100644 radiant.data/man/render.datatables.Rd create mode 100644 radiant.data/man/render.plotly.Rd create mode 100644 radiant.data/man/round_df.Rd create mode 100644 radiant.data/man/save_clip.Rd create mode 100644 radiant.data/man/sdpop.Rd create mode 100644 radiant.data/man/sdprop.Rd create mode 100644 radiant.data/man/se.Rd create mode 100644 radiant.data/man/search_data.Rd create mode 100644 radiant.data/man/seprop.Rd create mode 100644 radiant.data/man/set_attr.Rd create mode 100644 radiant.data/man/show_duplicated.Rd create mode 100644 radiant.data/man/sig_stars.Rd create mode 100644 radiant.data/man/slice_data.Rd create mode 100644 radiant.data/man/square.Rd create mode 100644 radiant.data/man/sshh.Rd create mode 100644 radiant.data/man/sshhr.Rd create mode 100644 radiant.data/man/standardize.Rd create mode 100644 radiant.data/man/store.Rd create mode 100644 radiant.data/man/store.explore.Rd create mode 100644 radiant.data/man/store.pivotr.Rd create mode 100644 radiant.data/man/subplot.Rd create mode 100644 radiant.data/man/summary.explore.Rd create mode 100644 radiant.data/man/summary.pivotr.Rd create mode 100644 radiant.data/man/superheroes.Rd create mode 100644 radiant.data/man/table2data.Rd create mode 100644 radiant.data/man/titanic.Rd create mode 100644 radiant.data/man/to_fct.Rd create mode 100644 radiant.data/man/varpop.Rd create mode 100644 radiant.data/man/varprop.Rd create mode 100644 radiant.data/man/view_data.Rd create mode 100644 radiant.data/man/visualize.Rd create mode 100644 radiant.data/man/wday.Rd create mode 100644 radiant.data/man/weighted.sd.Rd create mode 100644 radiant.data/man/which.pmax.Rd create mode 100644 radiant.data/man/which.pmin.Rd create mode 100644 radiant.data/man/write_parquet.Rd create mode 100644 radiant.data/man/xtile.Rd create mode 100644 radiant.data/tests/testthat.R create mode 100644 radiant.data/tests/testthat/data/css_example.css create mode 100644 radiant.data/tests/testthat/data/csv_example.csv create mode 100644 radiant.data/tests/testthat/data/flights.csv create mode 100644 radiant.data/tests/testthat/data/jpeg_example.jpeg create mode 100644 radiant.data/tests/testthat/data/js_example.js create mode 100644 radiant.data/tests/testthat/data/markdown_example.md create mode 100644 radiant.data/tests/testthat/data/python_example.py create mode 100644 radiant.data/tests/testthat/data/r_example.R create mode 100644 radiant.data/tests/testthat/data/rda_example.rda create mode 100644 radiant.data/tests/testthat/data/rds_example.rds create mode 100644 radiant.data/tests/testthat/data/sql_example.sql create mode 100644 radiant.data/tests/testthat/data/sqlite_example.sqlite create mode 100644 radiant.data/tests/testthat/data/tsv_example.tsv create mode 100644 radiant.data/tests/testthat/data/unknow_example.unknown create mode 100644 radiant.data/tests/testthat/data/xlsx_example.xlsx create mode 100644 radiant.data/tests/testthat/data/yaml_example.yaml create mode 100644 radiant.data/tests/testthat/test_funs.R create mode 100644 radiant.data/vignettes/pkgdown/_combine.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_explore.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_footer.md create mode 100644 radiant.data/vignettes/pkgdown/_manage.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_pivotr.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_report_r.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_report_rmd.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_state.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_transform.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_view.Rmd create mode 100644 radiant.data/vignettes/pkgdown/_visualize.Rmd create mode 100644 radiant.data/vignettes/pkgdown/combine.Rmd create mode 100644 radiant.data/vignettes/pkgdown/explore.Rmd create mode 100644 radiant.data/vignettes/pkgdown/images/by-sa.png create mode 100644 radiant.data/vignettes/pkgdown/manage.Rmd create mode 100644 radiant.data/vignettes/pkgdown/pivotr.Rmd create mode 100644 radiant.data/vignettes/pkgdown/report_r.Rmd create mode 100644 radiant.data/vignettes/pkgdown/report_rmd.Rmd create mode 100644 radiant.data/vignettes/pkgdown/state.Rmd create mode 100644 radiant.data/vignettes/pkgdown/transform.Rmd create mode 100644 radiant.data/vignettes/pkgdown/view.Rmd create mode 100644 radiant.data/vignettes/pkgdown/visualize.Rmd delete mode 160000 radiant.design create mode 100644 radiant.design/.Rbuildignore create mode 100644 radiant.design/.gitignore create mode 100644 radiant.design/.travis.yml create mode 100644 radiant.design/CRAN-RELEASE create mode 100644 radiant.design/CRAN-SUBMISSION create mode 100644 radiant.design/DESCRIPTION create mode 100644 radiant.design/LICENSE create mode 100644 radiant.design/NAMESPACE create mode 100644 radiant.design/NEWS.md create mode 100644 radiant.design/R/aaa.R create mode 100644 radiant.design/R/doe.R create mode 100644 radiant.design/R/radiant.R create mode 100644 radiant.design/R/randomizer.R create mode 100644 radiant.design/R/sample_size.R create mode 100644 radiant.design/R/sample_size_comp.R create mode 100644 radiant.design/R/sampling.R create mode 100644 radiant.design/README.md create mode 100644 radiant.design/_pkgdown.yml create mode 100644 radiant.design/build/build.R create mode 100644 radiant.design/build/build_mac.R create mode 100644 radiant.design/build/build_win.R create mode 100644 radiant.design/data/rndnames.rda create mode 100644 radiant.design/inst/app/global.R create mode 100644 radiant.design/inst/app/help.R create mode 100644 radiant.design/inst/app/init.R create mode 100644 radiant.design/inst/app/server.R create mode 100644 radiant.design/inst/app/tools/analysis/doe_ui.R create mode 100644 radiant.design/inst/app/tools/analysis/randomizer_ui.R create mode 100644 radiant.design/inst/app/tools/analysis/sample_size_comp_ui.R create mode 100644 radiant.design/inst/app/tools/analysis/sample_size_ui.R create mode 100644 radiant.design/inst/app/tools/analysis/sampling_ui.R create mode 100644 radiant.design/inst/app/tools/help/doe.md create mode 100644 radiant.design/inst/app/tools/help/figures/doe_factors.png create mode 100644 radiant.design/inst/app/tools/help/figures/doe_output.png create mode 100644 radiant.design/inst/app/tools/help/figures/doe_output_partial.png create mode 100644 radiant.design/inst/app/tools/help/figures/randomizer.png create mode 100644 radiant.design/inst/app/tools/help/figures/randomizer_block.png create mode 100644 radiant.design/inst/app/tools/help/figures/sample_size_ex1a.png create mode 100644 radiant.design/inst/app/tools/help/figures/sample_size_ex1b.png create mode 100644 radiant.design/inst/app/tools/help/figures/sample_size_ex2a.png create mode 100644 radiant.design/inst/app/tools/help/figures/sample_size_ex2b.png create mode 100644 radiant.design/inst/app/tools/help/figures/sampling.png create mode 100644 radiant.design/inst/app/tools/help/randomizer.md create mode 100644 radiant.design/inst/app/tools/help/sample_size.Rmd create mode 100644 radiant.design/inst/app/tools/help/sample_size.md create mode 100644 radiant.design/inst/app/tools/help/sample_size_comp.Rmd create mode 100644 radiant.design/inst/app/tools/help/sample_size_comp.md create mode 100644 radiant.design/inst/app/tools/help/sampling.md create mode 100644 radiant.design/inst/app/ui.R create mode 100644 radiant.design/inst/app/www/js/run_return.js create mode 100644 radiant.design/inst/translations/translation_zh.csv create mode 100644 radiant.design/man/doe.Rd create mode 100644 radiant.design/man/estimable.Rd create mode 100644 radiant.design/man/plot.sample_size_comp.Rd create mode 100644 radiant.design/man/radiant.design.Rd create mode 100644 radiant.design/man/radiant.design_viewer.Rd create mode 100644 radiant.design/man/radiant.design_window.Rd create mode 100644 radiant.design/man/randomizer.Rd create mode 100644 radiant.design/man/rndnames.Rd create mode 100644 radiant.design/man/sample_size.Rd create mode 100644 radiant.design/man/sample_size_comp.Rd create mode 100644 radiant.design/man/sampling.Rd create mode 100644 radiant.design/man/summary.doe.Rd create mode 100644 radiant.design/man/summary.randomizer.Rd create mode 100644 radiant.design/man/summary.sample_size.Rd create mode 100644 radiant.design/man/summary.sample_size_comp.Rd create mode 100644 radiant.design/man/summary.sampling.Rd create mode 100644 radiant.design/tests/testthat.R create mode 100644 radiant.design/tests/testthat/output/regress1.txt create mode 100644 radiant.design/tests/testthat/test_stats.R create mode 100644 radiant.design/vignettes/pkgdown/_doe.Rmd create mode 100644 radiant.design/vignettes/pkgdown/_footer.md create mode 100644 radiant.design/vignettes/pkgdown/_randomizer.Rmd create mode 100644 radiant.design/vignettes/pkgdown/_sample_size.Rmd create mode 100644 radiant.design/vignettes/pkgdown/_sample_size_comp.Rmd create mode 100644 radiant.design/vignettes/pkgdown/_sampling.Rmd create mode 100644 radiant.design/vignettes/pkgdown/doe.Rmd create mode 100644 radiant.design/vignettes/pkgdown/images/by-nc-sa.png create mode 100644 radiant.design/vignettes/pkgdown/randomizer.Rmd create mode 100644 radiant.design/vignettes/pkgdown/sample_size.Rmd create mode 100644 radiant.design/vignettes/pkgdown/sample_size_comp.Rmd create mode 100644 radiant.design/vignettes/pkgdown/sampling.Rmd delete mode 160000 radiant.model create mode 100644 radiant.model/.Rbuildignore create mode 100644 radiant.model/.gitignore create mode 100644 radiant.model/.travis.yml create mode 100644 radiant.model/COPYING create mode 100644 radiant.model/CRAN-RELEASE create mode 100644 radiant.model/CRAN-SUBMISSION create mode 100644 radiant.model/DESCRIPTION create mode 100644 radiant.model/LICENSE create mode 100644 radiant.model/NAMESPACE create mode 100644 radiant.model/NEWS.md create mode 100644 radiant.model/R/aaa.R create mode 100644 radiant.model/R/cox.R create mode 100644 radiant.model/R/crs.R create mode 100644 radiant.model/R/crtree.R create mode 100644 radiant.model/R/deprecated.R create mode 100644 radiant.model/R/dtree.R create mode 100644 radiant.model/R/evalbin.R create mode 100644 radiant.model/R/evalreg.R create mode 100644 radiant.model/R/gbt.R create mode 100644 radiant.model/R/logistic.R create mode 100644 radiant.model/R/mnl.R create mode 100644 radiant.model/R/nb.R create mode 100644 radiant.model/R/nn.R create mode 100644 radiant.model/R/radiant.R create mode 100644 radiant.model/R/regress.R create mode 100644 radiant.model/R/rforest.R create mode 100644 radiant.model/R/simulater.R create mode 100644 radiant.model/R/svm.R create mode 100644 radiant.model/README.md create mode 100644 radiant.model/_pkgdown.yml create mode 100644 radiant.model/build/build.R create mode 100644 radiant.model/build/build_mac.R create mode 100644 radiant.model/build/build_win.R create mode 100644 radiant.model/build/remove_screenshots.R create mode 100644 radiant.model/data/catalog.rda create mode 100644 radiant.model/data/direct_marketing.rda create mode 100644 radiant.model/data/dvd.rda create mode 100644 radiant.model/data/houseprices.rda create mode 100644 radiant.model/data/ideal.rda create mode 100644 radiant.model/data/kaggle_uplift.rda create mode 100644 radiant.model/data/ketchup.rda create mode 100644 radiant.model/data/movie_contract.rda create mode 100644 radiant.model/data/ratings.rda create mode 100644 radiant.model/inst/app/global.R create mode 100644 radiant.model/inst/app/help.R create mode 100644 radiant.model/inst/app/init.R create mode 100644 radiant.model/inst/app/radiant.R create mode 100644 radiant.model/inst/app/server.R create mode 100644 radiant.model/inst/app/tools/analysis/cox_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/crs_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/crtree_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/dtree_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/evalbin_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/evalreg_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/gbt_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/logistic_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/mnl_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/naivebayes_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/nn_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/regress_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/rforest_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/simulater_ui.R create mode 100644 radiant.model/inst/app/tools/analysis/svm_ui.R create mode 100644 radiant.model/inst/app/tools/help/anova.Rmd create mode 100644 radiant.model/inst/app/tools/help/anova.md create mode 100644 radiant.model/inst/app/tools/help/cox.md create mode 100644 radiant.model/inst/app/tools/help/crs.md create mode 100644 radiant.model/inst/app/tools/help/crtree.md create mode 100644 radiant.model/inst/app/tools/help/dtree.Rmd create mode 100644 radiant.model/inst/app/tools/help/dtree.md create mode 100644 radiant.model/inst/app/tools/help/evalbin.md create mode 100644 radiant.model/inst/app/tools/help/evalreg.md create mode 100644 radiant.model/inst/app/tools/help/figures/cf_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/dtree_model.png create mode 100644 radiant.model/inst/app/tools/help/figures/dtree_plot_final.png create mode 100644 radiant.model/inst/app/tools/help/figures/dtree_plot_initial.png create mode 100644 radiant.model/inst/app/tools/help/figures/dtree_sensitivity.png create mode 100644 radiant.model/inst/app/tools/help/figures/evalbin_confusion.png create mode 100644 radiant.model/inst/app/tools/help/figures/evalbin_lift_gains.png create mode 100644 radiant.model/inst/app/tools/help/figures/evalbin_logistic.png create mode 100644 radiant.model/inst/app/tools/help/figures/evalreg_nn.png create mode 100644 radiant.model/inst/app/tools/help/figures/evalreg_summary_plot.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_dvd-full.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_dvd.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_plot.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_predict.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_predict_data.png create mode 100644 radiant.model/inst/app/tools/help/figures/logistic_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/mnl_choice_shares.png create mode 100644 radiant.model/inst/app/tools/help/figures/mnl_plot.png create mode 100644 radiant.model/inst/app/tools/help/figures/mnl_predict.png create mode 100644 radiant.model/inst/app/tools/help/figures/mnl_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_catalog_F_critical.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_catalog_F_test.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_catalog_prob_calc.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_catalog_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_diamonds_corr.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_diamonds_dashboard.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_diamonds_hist.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_diamonds_res_vs_pred.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_diamonds_scatter.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_corr.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_dashboard.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_hist.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_res_vs_pred.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_scatter.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_ideal_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_corr.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_dashboard.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_hist.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_res_vs_pred.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_scatter.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_summary.png create mode 100644 radiant.model/inst/app/tools/help/figures/regress_log_diamonds_viz_scatter.png create mode 100644 radiant.model/inst/app/tools/help/figures/simulater_repeat.png create mode 100644 radiant.model/inst/app/tools/help/figures/simulater_repeat_plot.png create mode 100644 radiant.model/inst/app/tools/help/figures/simulater_sim.png create mode 100644 radiant.model/inst/app/tools/help/figures/simulater_sim_plot.png create mode 100644 radiant.model/inst/app/tools/help/figures/simulater_view.png create mode 100644 radiant.model/inst/app/tools/help/gbt.md create mode 100644 radiant.model/inst/app/tools/help/logistic.Rmd create mode 100644 radiant.model/inst/app/tools/help/logistic.md create mode 100644 radiant.model/inst/app/tools/help/mnl.Rmd create mode 100644 radiant.model/inst/app/tools/help/mnl.html create mode 100644 radiant.model/inst/app/tools/help/mnl.md create mode 100644 radiant.model/inst/app/tools/help/nb.md create mode 100644 radiant.model/inst/app/tools/help/nn.md create mode 100644 radiant.model/inst/app/tools/help/regress.Rmd create mode 100644 radiant.model/inst/app/tools/help/regress.md create mode 100644 radiant.model/inst/app/tools/help/rforest.md create mode 100644 radiant.model/inst/app/tools/help/simulater.Rmd create mode 100644 radiant.model/inst/app/tools/help/simulater.md create mode 100644 radiant.model/inst/app/tools/help/svm.md create mode 100644 radiant.model/inst/app/ui.R create mode 100644 radiant.model/inst/app/www/js/store.js create mode 100644 radiant.model/inst/app/www/style.css create mode 100644 radiant.model/inst/translations/translation_zh.csv create mode 100644 radiant.model/man/MAE.Rd create mode 100644 radiant.model/man/RMSE.Rd create mode 100644 radiant.model/man/Rsq.Rd create mode 100644 radiant.model/man/auc.Rd create mode 100644 radiant.model/man/catalog.Rd create mode 100644 radiant.model/man/confint_robust.Rd create mode 100644 radiant.model/man/confusion.Rd create mode 100644 radiant.model/man/coxp.Rd create mode 100644 radiant.model/man/crs.Rd create mode 100644 radiant.model/man/crtree.Rd create mode 100644 radiant.model/man/cv.crtree.Rd create mode 100644 radiant.model/man/cv.gbt.Rd create mode 100644 radiant.model/man/cv.nn.Rd create mode 100644 radiant.model/man/cv.rforest.Rd create mode 100644 radiant.model/man/direct_marketing.Rd create mode 100644 radiant.model/man/dot-as_int.Rd create mode 100644 radiant.model/man/dot-as_num.Rd create mode 100644 radiant.model/man/dtree.Rd create mode 100644 radiant.model/man/dtree_parser.Rd create mode 100644 radiant.model/man/dvd.Rd create mode 100644 radiant.model/man/evalbin.Rd create mode 100644 radiant.model/man/evalreg.Rd create mode 100644 radiant.model/man/find_max.Rd create mode 100644 radiant.model/man/find_min.Rd create mode 100644 radiant.model/man/gbt.Rd create mode 100644 radiant.model/man/houseprices.Rd create mode 100644 radiant.model/man/ideal.Rd create mode 100644 radiant.model/man/kaggle_uplift.Rd create mode 100644 radiant.model/man/ketchup.Rd create mode 100644 radiant.model/man/logistic.Rd create mode 100644 radiant.model/man/minmax.Rd create mode 100644 radiant.model/man/mnl.Rd create mode 100644 radiant.model/man/movie_contract.Rd create mode 100644 radiant.model/man/nb.Rd create mode 100644 radiant.model/man/nn.Rd create mode 100644 radiant.model/man/onehot.Rd create mode 100644 radiant.model/man/pdp_plot.Rd create mode 100644 radiant.model/man/plot.confusion.Rd create mode 100644 radiant.model/man/plot.crs.Rd create mode 100644 radiant.model/man/plot.crtree.Rd create mode 100644 radiant.model/man/plot.dtree.Rd create mode 100644 radiant.model/man/plot.evalbin.Rd create mode 100644 radiant.model/man/plot.evalreg.Rd create mode 100644 radiant.model/man/plot.gbt.Rd create mode 100644 radiant.model/man/plot.logistic.Rd create mode 100644 radiant.model/man/plot.mnl.Rd create mode 100644 radiant.model/man/plot.mnl.predict.Rd create mode 100644 radiant.model/man/plot.model.predict.Rd create mode 100644 radiant.model/man/plot.nb.Rd create mode 100644 radiant.model/man/plot.nb.predict.Rd create mode 100644 radiant.model/man/plot.nn.Rd create mode 100644 radiant.model/man/plot.regress.Rd create mode 100644 radiant.model/man/plot.repeater.Rd create mode 100644 radiant.model/man/plot.rforest.Rd create mode 100644 radiant.model/man/plot.rforest.predict.Rd create mode 100644 radiant.model/man/plot.simulater.Rd create mode 100644 radiant.model/man/plot.uplift.Rd create mode 100644 radiant.model/man/pred_plot.Rd create mode 100644 radiant.model/man/predict.coxp.Rd create mode 100644 radiant.model/man/predict.crtree.Rd create mode 100644 radiant.model/man/predict.gbt.Rd create mode 100644 radiant.model/man/predict.logistic.Rd create mode 100644 radiant.model/man/predict.mnl.Rd create mode 100644 radiant.model/man/predict.nb.Rd create mode 100644 radiant.model/man/predict.nn.Rd create mode 100644 radiant.model/man/predict.regress.Rd create mode 100644 radiant.model/man/predict.rforest.Rd create mode 100644 radiant.model/man/predict.svm.Rd create mode 100644 radiant.model/man/predict_model.Rd create mode 100644 radiant.model/man/print.coxp.predict.Rd create mode 100644 radiant.model/man/print.crtree.predict.Rd create mode 100644 radiant.model/man/print.gbt.predict.Rd create mode 100644 radiant.model/man/print.logistic.predict.Rd create mode 100644 radiant.model/man/print.mnl.predict.Rd create mode 100644 radiant.model/man/print.nb.predict.Rd create mode 100644 radiant.model/man/print.nn.predict.Rd create mode 100644 radiant.model/man/print.regress.predict.Rd create mode 100644 radiant.model/man/print.rforest.predict.Rd create mode 100644 radiant.model/man/print.svm.predict.Rd create mode 100644 radiant.model/man/print_predict_model.Rd create mode 100644 radiant.model/man/profit.Rd create mode 100644 radiant.model/man/radiant.model-deprecated.Rd create mode 100644 radiant.model/man/radiant.model.Rd create mode 100644 radiant.model/man/radiant.model_viewer.Rd create mode 100644 radiant.model/man/radiant.model_window.Rd create mode 100644 radiant.model/man/ratings.Rd create mode 100644 radiant.model/man/regress.Rd create mode 100644 radiant.model/man/remove_comments.Rd create mode 100644 radiant.model/man/render.DiagrammeR.Rd create mode 100644 radiant.model/man/repeater.Rd create mode 100644 radiant.model/man/rforest.Rd create mode 100644 radiant.model/man/rig.Rd create mode 100644 radiant.model/man/scale_df.Rd create mode 100644 radiant.model/man/sdw.Rd create mode 100644 radiant.model/man/sensitivity.Rd create mode 100644 radiant.model/man/sensitivity.dtree.Rd create mode 100644 radiant.model/man/sim_cleaner.Rd create mode 100644 radiant.model/man/sim_cor.Rd create mode 100644 radiant.model/man/sim_splitter.Rd create mode 100644 radiant.model/man/sim_summary.Rd create mode 100644 radiant.model/man/simulater.Rd create mode 100644 radiant.model/man/store.crs.Rd create mode 100644 radiant.model/man/store.mnl.predict.Rd create mode 100644 radiant.model/man/store.model.Rd create mode 100644 radiant.model/man/store.model.predict.Rd create mode 100644 radiant.model/man/store.nb.predict.Rd create mode 100644 radiant.model/man/store.rforest.predict.Rd create mode 100644 radiant.model/man/summary.confusion.Rd create mode 100644 radiant.model/man/summary.coxp.Rd create mode 100644 radiant.model/man/summary.crs.Rd create mode 100644 radiant.model/man/summary.crtree.Rd create mode 100644 radiant.model/man/summary.dtree.Rd create mode 100644 radiant.model/man/summary.evalbin.Rd create mode 100644 radiant.model/man/summary.evalreg.Rd create mode 100644 radiant.model/man/summary.gbt.Rd create mode 100644 radiant.model/man/summary.logistic.Rd create mode 100644 radiant.model/man/summary.mnl.Rd create mode 100644 radiant.model/man/summary.nb.Rd create mode 100644 radiant.model/man/summary.nn.Rd create mode 100644 radiant.model/man/summary.regress.Rd create mode 100644 radiant.model/man/summary.repeater.Rd create mode 100644 radiant.model/man/summary.rforest.Rd create mode 100644 radiant.model/man/summary.simulater.Rd create mode 100644 radiant.model/man/summary.svm.Rd create mode 100644 radiant.model/man/summary.uplift.Rd create mode 100644 radiant.model/man/svm.Rd create mode 100644 radiant.model/man/test_specs.Rd create mode 100644 radiant.model/man/uplift.Rd create mode 100644 radiant.model/man/var_check.Rd create mode 100644 radiant.model/man/varimp.Rd create mode 100644 radiant.model/man/varimp_plot.Rd create mode 100644 radiant.model/man/write.coeff.Rd create mode 100644 radiant.model/tests/testthat.R create mode 100644 radiant.model/tests/testthat/output/regress1.txt create mode 100644 radiant.model/tests/testthat/test_stats.R create mode 100644 radiant.model/vignettes/pkgdown/_crs.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_crtree.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_dtree.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_evalbin.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_evalreg.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_footer.md create mode 100644 radiant.model/vignettes/pkgdown/_gbt.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_logistic.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_mnl.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_nb.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_nn.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_regress.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_rforest.Rmd create mode 100644 radiant.model/vignettes/pkgdown/_simulater.Rmd create mode 100644 radiant.model/vignettes/pkgdown/crs.Rmd create mode 100644 radiant.model/vignettes/pkgdown/crtree.Rmd create mode 100644 radiant.model/vignettes/pkgdown/dtree.Rmd create mode 100644 radiant.model/vignettes/pkgdown/evalbin.Rmd create mode 100644 radiant.model/vignettes/pkgdown/evalreg.Rmd create mode 100644 radiant.model/vignettes/pkgdown/gbt.Rmd create mode 100644 radiant.model/vignettes/pkgdown/images/by-nc-sa.png create mode 100644 radiant.model/vignettes/pkgdown/logistic.Rmd create mode 100644 radiant.model/vignettes/pkgdown/mnl.Rmd create mode 100644 radiant.model/vignettes/pkgdown/nb.Rmd create mode 100644 radiant.model/vignettes/pkgdown/nn.Rmd create mode 100644 radiant.model/vignettes/pkgdown/regress.Rmd create mode 100644 radiant.model/vignettes/pkgdown/rforest.Rmd create mode 100644 radiant.model/vignettes/pkgdown/simulater.Rmd delete mode 160000 radiant.multivariate create mode 100644 radiant.multivariate/.Rbuildignore create mode 100644 radiant.multivariate/.gitignore create mode 100644 radiant.multivariate/.travis.yml create mode 100644 radiant.multivariate/COPYING create mode 100644 radiant.multivariate/CRAN-RELEASE create mode 100644 radiant.multivariate/CRAN-SUBMISSION create mode 100644 radiant.multivariate/DESCRIPTION create mode 100644 radiant.multivariate/LICENSE create mode 100644 radiant.multivariate/NAMESPACE create mode 100644 radiant.multivariate/NEWS.md create mode 100644 radiant.multivariate/R/aaa.R create mode 100644 radiant.multivariate/R/conjoint.R create mode 100644 radiant.multivariate/R/full_factor.R create mode 100644 radiant.multivariate/R/hclus.R create mode 100644 radiant.multivariate/R/kclus.R create mode 100644 radiant.multivariate/R/mds.R create mode 100644 radiant.multivariate/R/pre_factor.R create mode 100644 radiant.multivariate/R/prmap.R create mode 100644 radiant.multivariate/R/radiant.R create mode 100644 radiant.multivariate/README.md create mode 100644 radiant.multivariate/_pkgdown.yml create mode 100644 radiant.multivariate/build/build.R create mode 100644 radiant.multivariate/build/build_mac.R create mode 100644 radiant.multivariate/build/build_win.R create mode 100644 radiant.multivariate/build/remove_screenshots.R create mode 100644 radiant.multivariate/data/carpet.rda create mode 100644 radiant.multivariate/data/city.rda create mode 100644 radiant.multivariate/data/city2.rda create mode 100644 radiant.multivariate/data/computer.rda create mode 100644 radiant.multivariate/data/movie.rda create mode 100644 radiant.multivariate/data/mp3.rda create mode 100644 radiant.multivariate/data/retailers.rda create mode 100644 radiant.multivariate/data/shopping.rda create mode 100644 radiant.multivariate/data/toothpaste.rda create mode 100644 radiant.multivariate/data/tpbrands.rda create mode 100644 radiant.multivariate/inst/app/global.R create mode 100644 radiant.multivariate/inst/app/help.R create mode 100644 radiant.multivariate/inst/app/init.R create mode 100644 radiant.multivariate/inst/app/server.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/conjoint_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/full_factor_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/hclus_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/kclus_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/mds_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/pre_factor_ui.R create mode 100644 radiant.multivariate/inst/app/tools/analysis/prmap_ui.R create mode 100644 radiant.multivariate/inst/app/tools/help/conjoint.md create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_carpet_design.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_expand.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_predict.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/conjoint_view.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/full_factor_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/full_factor_plot_rotation.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/full_factor_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/full_factor_summary_shopping.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/hclus_dendro.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/hclus_scree.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/kclus_cross_tabs_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/kclus_cross_tabs_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/kclus_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/kclus_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/kclus_transform_recode.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/mds_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/mds_plot_flip.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/mds_plot_tpbrands.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/mds_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/mds_summary_tpbrands.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/place_holder.txt create mode 100644 radiant.multivariate/inst/app/tools/help/figures/pre_factor_plot.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/pre_factor_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/prmap_plot_all.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/prmap_plot_brands.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/prmap_plot_brands_attr.png create mode 100644 radiant.multivariate/inst/app/tools/help/figures/prmap_summary.png create mode 100644 radiant.multivariate/inst/app/tools/help/full_factor.md create mode 100644 radiant.multivariate/inst/app/tools/help/hclus.md create mode 100644 radiant.multivariate/inst/app/tools/help/kclus.md create mode 100644 radiant.multivariate/inst/app/tools/help/mds.md create mode 100644 radiant.multivariate/inst/app/tools/help/pre_factor.md create mode 100644 radiant.multivariate/inst/app/tools/help/prmap.md create mode 100644 radiant.multivariate/inst/app/ui.R create mode 100644 radiant.multivariate/inst/app/www/js/store.js create mode 100644 radiant.multivariate/inst/translations/translation_zh.csv create mode 100644 radiant.multivariate/man/carpet.Rd create mode 100644 radiant.multivariate/man/city.Rd create mode 100644 radiant.multivariate/man/city2.Rd create mode 100644 radiant.multivariate/man/clean_loadings.Rd create mode 100644 radiant.multivariate/man/computer.Rd create mode 100644 radiant.multivariate/man/conjoint.Rd create mode 100644 radiant.multivariate/man/full_factor.Rd create mode 100644 radiant.multivariate/man/hclus.Rd create mode 100644 radiant.multivariate/man/kclus.Rd create mode 100644 radiant.multivariate/man/mds.Rd create mode 100644 radiant.multivariate/man/movie.Rd create mode 100644 radiant.multivariate/man/mp3.Rd create mode 100644 radiant.multivariate/man/plot.conjoint.Rd create mode 100644 radiant.multivariate/man/plot.full_factor.Rd create mode 100644 radiant.multivariate/man/plot.hclus.Rd create mode 100644 radiant.multivariate/man/plot.kclus.Rd create mode 100644 radiant.multivariate/man/plot.mds.Rd create mode 100644 radiant.multivariate/man/plot.pre_factor.Rd create mode 100644 radiant.multivariate/man/plot.prmap.Rd create mode 100644 radiant.multivariate/man/pre_factor.Rd create mode 100644 radiant.multivariate/man/predict.conjoint.Rd create mode 100644 radiant.multivariate/man/predict_conjoint_by.Rd create mode 100644 radiant.multivariate/man/print.conjoint.predict.Rd create mode 100644 radiant.multivariate/man/prmap.Rd create mode 100644 radiant.multivariate/man/radiant.multivariate.Rd create mode 100644 radiant.multivariate/man/radiant.multivariate_viewer.Rd create mode 100644 radiant.multivariate/man/radiant.multivariate_window.Rd create mode 100644 radiant.multivariate/man/retailers.Rd create mode 100644 radiant.multivariate/man/shopping.Rd create mode 100644 radiant.multivariate/man/store.conjoint.Rd create mode 100644 radiant.multivariate/man/store.conjoint.predict.Rd create mode 100644 radiant.multivariate/man/store.full_factor.Rd create mode 100644 radiant.multivariate/man/store.hclus.Rd create mode 100644 radiant.multivariate/man/store.kclus.Rd create mode 100644 radiant.multivariate/man/summary.conjoint.Rd create mode 100644 radiant.multivariate/man/summary.full_factor.Rd create mode 100644 radiant.multivariate/man/summary.hclus.Rd create mode 100644 radiant.multivariate/man/summary.kclus.Rd create mode 100644 radiant.multivariate/man/summary.mds.Rd create mode 100644 radiant.multivariate/man/summary.pre_factor.Rd create mode 100644 radiant.multivariate/man/summary.prmap.Rd create mode 100644 radiant.multivariate/man/the_table.Rd create mode 100644 radiant.multivariate/man/toothpaste.Rd create mode 100644 radiant.multivariate/man/tpbrands.Rd create mode 100644 radiant.multivariate/radiant.multivariate.Rproj create mode 100644 radiant.multivariate/tests/testthat.R create mode 100644 radiant.multivariate/tests/testthat/test_stats.R create mode 100644 radiant.multivariate/vignettes/pkgdown/_conjoint.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_footer.md create mode 100644 radiant.multivariate/vignettes/pkgdown/_full_factor.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_hclus.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_kclus.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_mds.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_pre_factor.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/_prmap.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/conjoint.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/full_factor.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/hclus.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/images/by-nc-sa.png create mode 100644 radiant.multivariate/vignettes/pkgdown/kclus.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/mds.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/pre_factor.Rmd create mode 100644 radiant.multivariate/vignettes/pkgdown/prmap.Rmd diff --git a/radiant.basics b/radiant.basics deleted file mode 160000 index c0e10c0..0000000 --- a/radiant.basics +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c0e10c0d4fd378c339353a2a7c082ed50c66e4b7 diff --git a/radiant.basics/.Rbuildignore b/radiant.basics/.Rbuildignore new file mode 100644 index 0000000..8961cda --- /dev/null +++ b/radiant.basics/.Rbuildignore @@ -0,0 +1,11 @@ +^CRAN-RELEASE$ +^.*\.Rproj$ +^\.Rproj\.user$ +^\.travis\.yml$ +build/ +docs/ +vignettes/ +_pkgdown.yml +cran-comments.md +radiant.basics.code-workspace +^CRAN-SUBMISSION$ diff --git a/radiant.basics/.gitignore b/radiant.basics/.gitignore new file mode 100644 index 0000000..9910276 --- /dev/null +++ b/radiant.basics/.gitignore @@ -0,0 +1,10 @@ +.Rproj.user +.Rhistory +.Rapp.history +.RData +.Ruserdata +radiant.basics.Rproj +.DS_Store +revdep/ +cran-comments.md +docs/ diff --git a/radiant.basics/.travis.yml b/radiant.basics/.travis.yml new file mode 100644 index 0000000..ccb28d7 --- /dev/null +++ b/radiant.basics/.travis.yml @@ -0,0 +1,29 @@ +language: r +cache: packages +r: + - oldrel + - release + - devel +warnings_are_errors: true +sudo: required +dist: trusty + +r_packages: + - devtools + +r_github_packages: + - trestletech/shinyAce + - radiant-rstats/radiant.data + +## based on https://www.datacamp.com/community/tutorials/cd-package-docs-pkgdown-travis +after_success: + - Rscript -e 'pkgdown::build_site()' + +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_PAT + keep-history: true + local-dir: docs + on: + branch: master diff --git a/radiant.basics/CRAN-RELEASE b/radiant.basics/CRAN-RELEASE new file mode 100644 index 0000000..fbd69c1 --- /dev/null +++ b/radiant.basics/CRAN-RELEASE @@ -0,0 +1,2 @@ +This package was submitted to CRAN on 2019-07-29. +Once it is accepted, delete this file and tag the release (commit e39ce5d3d8). diff --git a/radiant.basics/CRAN-SUBMISSION b/radiant.basics/CRAN-SUBMISSION new file mode 100644 index 0000000..c1d27c8 --- /dev/null +++ b/radiant.basics/CRAN-SUBMISSION @@ -0,0 +1,3 @@ +Version: 1.6.6 +Date: 2024-05-15 02:25:12 UTC +SHA: f2b85d9412496c91fd69fbcd61535de79b780b3e diff --git a/radiant.basics/DESCRIPTION b/radiant.basics/DESCRIPTION new file mode 100644 index 0000000..2745654 --- /dev/null +++ b/radiant.basics/DESCRIPTION @@ -0,0 +1,40 @@ +Package: radiant.basics +Type: Package +Title: Basics Menu for Radiant: Business Analytics using R and Shiny +Version: 1.6.6 +Date: 2024-5-14 +Authors@R: person("Vincent", "Nijs", , "radiant@rady.ucsd.edu", c("aut", "cre")) +Description: The Radiant Basics menu includes interfaces for probability + calculation, central limit theorem simulation, comparing means and proportions, + goodness-of-fit testing, cross-tabs, and correlation. The application extends + the functionality in 'radiant.data'. +Depends: + R (>= 4.3.0), + radiant.data (>= 1.6.6) +Imports: + ggplot2 (>= 2.2.1), + scales (>= 0.4.0), + dplyr (>= 1.0.7), + tidyr (>= 0.8.2), + magrittr (>= 1.5), + shiny (>= 1.8.1), + psych (>= 1.8.3.3), + import (>= 1.1.0), + lubridate (>= 1.7.4), + polycor (>= 0.7.10), + patchwork (>= 1.0.0), + shiny.i18n, + rlang (>= 1.0.6) +Suggests: + testthat (>= 2.0.0), + pkgdown (>= 1.1.0), + markdown (>= 1.3) +URL: https://github.com/radiant-rstats/radiant.basics/, + https://radiant-rstats.github.io/radiant.basics/, + https://radiant-rstats.github.io/docs/ +BugReports: https://github.com/radiant-rstats/radiant.basics/issues/ +License: AGPL-3 | file LICENSE +LazyData: true +Encoding: UTF-8 +Language: en-US +RoxygenNote: 7.3.2 diff --git a/radiant.basics/LICENSE b/radiant.basics/LICENSE new file mode 100644 index 0000000..fa3c043 --- /dev/null +++ b/radiant.basics/LICENSE @@ -0,0 +1,105 @@ +Radiant is licensed under AGPL3 (see https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) and https://www.r-project.org/Licenses/AGPL-3). The radiant help files are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA (https://creativecommons.org/licenses/by-nc-sa/4.0/). + +As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +If you are interested in using Radiant please email me at radiant@rady.ucsd.edu + +ALL HELPFILES IN THE RADIANT APPLICATION USE THE FOLLOWING LICENSE (https://creativecommons.org/licenses/by-nc-sa/4.0/) +======================================================================================================================== + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + +Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. +Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. +BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. +Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. +Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. +Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. +License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. +Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. +Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. +Licensor means the individual(s) or entity(ies) granting rights under this Public License. +NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. +Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. +Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. +You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + +License grant. +Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: +reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and +produce, reproduce, and Share Adapted Material for NonCommercial purposes only. +Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. +Term. The term of this Public License is specified in Section 6(a). +Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. +Downstream recipients. +Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. +No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. +No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). +Other rights. + +Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. +Patent and trademark rights are not licensed under this Public License. +To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +Attribution. + +If You Share the Licensed Material (including in modified form), You must: + +retain the following if it is supplied by the Licensor with the Licensed Material: +identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); +a copyright notice; +a notice that refers to this Public License; +a notice that refers to the disclaimer of warranties; +a URI or hyperlink to the Licensed Material to the extent reasonably practicable; +indicate if You modified the Licensed Material and retain an indication of any previous modifications; and +indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. +You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. +If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. +ShareAlike. +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. +You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. +You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; +if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and +You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. +To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. +The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + +This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. +Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + +automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or +upon express reinstatement by the Licensor. +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. +For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. +Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + +The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. +Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + +For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. +To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. +No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. +Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/radiant.basics/NAMESPACE b/radiant.basics/NAMESPACE new file mode 100644 index 0000000..0499a29 --- /dev/null +++ b/radiant.basics/NAMESPACE @@ -0,0 +1,152 @@ +# Generated by roxygen2: do not edit by hand + +S3method(plot,clt) +S3method(plot,compare_means) +S3method(plot,compare_props) +S3method(plot,correlation) +S3method(plot,cross_tabs) +S3method(plot,goodness) +S3method(plot,homo_variance_test) +S3method(plot,normality_test) +S3method(plot,prob_binom) +S3method(plot,prob_chisq) +S3method(plot,prob_disc) +S3method(plot,prob_expo) +S3method(plot,prob_fdist) +S3method(plot,prob_lnorm) +S3method(plot,prob_norm) +S3method(plot,prob_pois) +S3method(plot,prob_tdist) +S3method(plot,prob_unif) +S3method(plot,single_mean) +S3method(plot,single_prop) +S3method(print,rcorr) +S3method(summary,compare_means) +S3method(summary,compare_props) +S3method(summary,correlation) +S3method(summary,cross_tabs) +S3method(summary,goodness) +S3method(summary,homo_variance_test) +S3method(summary,normality_test) +S3method(summary,prob_binom) +S3method(summary,prob_chisq) +S3method(summary,prob_disc) +S3method(summary,prob_expo) +S3method(summary,prob_fdist) +S3method(summary,prob_lnorm) +S3method(summary,prob_norm) +S3method(summary,prob_pois) +S3method(summary,prob_tdist) +S3method(summary,prob_unif) +S3method(summary,single_mean) +S3method(summary,single_prop) +export(clt) +export(compare_means) +export(compare_props) +export(cor2df) +export(correlation) +export(cross_tabs) +export(goodness) +export(homo_variance_test) +export(normality_test) +export(prob_binom) +export(prob_chisq) +export(prob_disc) +export(prob_expo) +export(prob_fdist) +export(prob_lnorm) +export(prob_norm) +export(prob_pois) +export(prob_tdist) +export(prob_unif) +export(radiant.basics) +export(radiant.basics_viewer) +export(radiant.basics_window) +export(single_mean) +export(single_prop) +import(ggplot2) +import(radiant.data) +import(shiny) +importFrom(dplyr,arrange) +importFrom(dplyr,bind_cols) +importFrom(dplyr,count) +importFrom(dplyr,filter) +importFrom(dplyr,funs) +importFrom(dplyr,group_by_at) +importFrom(dplyr,left_join) +importFrom(dplyr,mutate) +importFrom(dplyr,mutate_all) +importFrom(dplyr,mutate_if) +importFrom(dplyr,rename) +importFrom(dplyr,select) +importFrom(dplyr,summarise) +importFrom(dplyr,summarise_all) +importFrom(dplyr,summarise_at) +importFrom(graphics,pairs) +importFrom(graphics,par) +importFrom(graphics,plot) +importFrom(graphics,points) +importFrom(graphics,strwidth) +importFrom(graphics,text) +importFrom(import,from) +importFrom(lubridate,is.Date) +importFrom(magrittr,"%<>%") +importFrom(magrittr,"%>%") +importFrom(magrittr,divide_by) +importFrom(magrittr,set_colnames) +importFrom(magrittr,set_names) +importFrom(magrittr,set_rownames) +importFrom(patchwork,plot_annotation) +importFrom(patchwork,wrap_plots) +importFrom(polycor,hetcor) +importFrom(psych,corr.test) +importFrom(radiant.data,launch) +importFrom(rlang,.data) +importFrom(scales,percent) +importFrom(stats,binom.test) +importFrom(stats,chisq.test) +importFrom(stats,cor.test) +importFrom(stats,cov) +importFrom(stats,dbinom) +importFrom(stats,dchisq) +importFrom(stats,dexp) +importFrom(stats,df) +importFrom(stats,dlnorm) +importFrom(stats,dnorm) +importFrom(stats,dpois) +importFrom(stats,dt) +importFrom(stats,dunif) +importFrom(stats,na.omit) +importFrom(stats,p.adjust) +importFrom(stats,pbinom) +importFrom(stats,pchisq) +importFrom(stats,pexp) +importFrom(stats,pf) +importFrom(stats,plnorm) +importFrom(stats,pnorm) +importFrom(stats,ppois) +importFrom(stats,prop.test) +importFrom(stats,pt) +importFrom(stats,punif) +importFrom(stats,qbinom) +importFrom(stats,qchisq) +importFrom(stats,qexp) +importFrom(stats,qf) +importFrom(stats,qlnorm) +importFrom(stats,qnorm) +importFrom(stats,qpois) +importFrom(stats,qt) +importFrom(stats,qunif) +importFrom(stats,rbinom) +importFrom(stats,relevel) +importFrom(stats,rexp) +importFrom(stats,rnorm) +importFrom(stats,runif) +importFrom(stats,sd) +importFrom(stats,setNames) +importFrom(stats,symnum) +importFrom(stats,t.test) +importFrom(stats,wilcox.test) +importFrom(tidyr,gather) +importFrom(tidyr,spread) +importFrom(utils,combn) diff --git a/radiant.basics/NEWS.md b/radiant.basics/NEWS.md new file mode 100644 index 0000000..f4b6ba8 --- /dev/null +++ b/radiant.basics/NEWS.md @@ -0,0 +1,178 @@ +# radiant.basics 1.6.6.0 + +* Require Shiny 1.8.1. Adjustments related to icon-buttons were made to address a breaking change in Shiny 1.8.1 +* Reverting changes that removed `req(input$dataset)` in different places + +# radiant.basics 1.6.1.0 + +* Require shiny 1.8.0. This fixes a bug in the shiny 1.7 versions that caused issues with all radiant packages. +* Added `.groups` arguments as needed to avoid messages about grouping from dplyr + +# radiant.basics 1.6.0.0 + +* Relabeled web app to "Radiant for R" to distinguish from "Radiant for Python" +* Addressed package documentation issue connected to a change in roxygen2 +* Simplified and improved color assignment for discrete probability distributions in the probability calculator + +# radiant.basics 1.5.0.0 + +* Improvements to screenshot feature. Navigation bar is omitted and the image is adjusted to the length of the UI. +* Removed all references to `aes_string` which is being deprecated in ggplot soon +* Code cleanup + +# radiant.basics 1.4.5.0 + +* Fixed plot titles for _Basics > Central Limit Theorem_ + +# radiant.basics 1.4.4.0 + +* Added option to create screenshots of settings on a page. Approach is inspired by the snapper package by @yonicd + +# radiant.basics 1.4.1.0 + +* Fixed `is_empty` function clash with `rlang` +* Adjustments to work with the latest version of `shiny` and `bootstrap4` + +# radiant.basics 1.4.0.0 + +Adjusted DESCRIPTION file by adding 'markdown' to the Suggests section. This addresses an issue in radiant.basics, similar to the issue linked below +https://github.com/radiant-rstats/radiant/issues/157. This is issue originated with https://github.com/yihui/knitr/issues/1864 + +# radiant.basics 1.3.4.0 + +* Minor adjustments in anticipation of dplyr 1.0.0 + +# radiant.basics 1.3.0.0 + +* Documentation updates to link to new video tutorials +* Use `patchwork` for grouping multiple plots together +* Use `polycor::hetcor` to calculate correlations for a mix of numeric and categorical variables +* Updated correlation plot that accommodates a mix of numeric and categorical variables +* Fix for sd estimate in `single_prop` and `compare_prop` functions +* Add dimension labels to all tables in _Basics > Cross-tabs_ + +# radiant.basics 1.2.0.0 + +* Update action buttons that initiate calculations when one or more relevant inputs are changed. When, for example, a CLT simulation should be updated, a spinning "refresh" icon will be shown +* Allow fractions as input for the `Goodness of fit` and `Probability calculator > Discrete` tools + +# radiant.basics 1.1.4.0 + +* Summary statistics provided for _single_mean_, _single_prop_, _compare_means_, and _compare_props_ are now consistent +* `n_missing` were not show correctly for _compare_means_ and _compare_props_ + +# radiant.basics 1.1.3.0 + +* Fix for code generation from the probability calculator when the `distribution` type is set to binomial +* Fix for input restoration from a state file for the probability calculator. For the _value_ or _probability_ inputs two sided values might be restored when only a one-sided input was previously specified + +# radiant.basics 1.1.1.0 + +* Documentation updates (i.e., key functions for each tool) +* Improvements in `goodness` and `prob_dics` to allow fractions in generated code sent to _Report > rmd_ or _Report > R_ +* Improved checks for variables that show no variation +* Numerous small code changes to support enhanced auto-completion, tooltips, and annotations in shinyAce 0.4.1 + +# radiant.basics 1.0.0.0 + +* Flexible adjustment of level of jitter in `plot.correlation` +* Support for variables of type `ts` + +# radiant.basics 0.9.9.0 + +* Various fixes to address (soft) deprecations in dplyr 0.8.0 + +# radiant.basics 0.9.8.0 + +* Option to pass additional arguments to `shiny::runApp` when starting radiant such as the port to use. For example, radiant.basics::radiant.basics("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda", port = 8080) +* Catch settings where the number of levels in a comparison of means or proportions is the same as the number of rows in the data (e.g., grouping by a unique identifier) +* Show significant stars for `Compare means` and `Compare proportions` even when `Show additional output` is not selected +* `ci` in summary table `compare_means` and `compare_props` should be margin of err (`me`) +* Option to use `Z-test` in `single_prop` + +# radiant.basics 0.9.7.2 + +* Load a state file on startup by providing a (relative) file path or a url + +# radiant.basics 0.9.7.0 + +* Using [`shinyFiles`](https://github.com/thomasp85/shinyFiles) to provide convenient access to data located on a server + +# radiant.basics 0.9.5.0 + +## Major changes + +* Various changes to the code to accommodate the use of `shiny::makeReactiveBinding`. The advantage is that the code generated for _Report > Rmd_ and _Report > R_ will no longer have to use `r_data` to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as well. + +# radiant.basics 0.9.2.0 + +## Major changes + +* Upload and download data using the Rstudio file browser. Allows using relative paths to files (e.g., data or images inside an Rstudio project) +* Variable selection in Summary tabs only to simplify Plot interface + +## Bug fixes + +* Fix for [#43](https://github.com/radiant-rstats/radiant/issues/43) where scatter plot was not shown for a dataset with less than 1,000 rows + +# radiant.basics 0.9.0.4 + +## Minor changes + +* Format tables with thousand separator +* Added print method for return from `correlation` + +# radiant.basics 0.9.0.3 + +## Minor changes + +* Enhanced keyboard shortcuts +* `summary.single_prop` will not print row numbers +* Added log.normal as an option in the probability calculator +* The correlation plot now has an option to select a sample of data for scatter plots (e.g., 1K, 5K, 10K, or All) + +# radiant.basics 0.8.9.0 + +## Minor changes + +* Upgraded broom dependency to 0.4.3 +* Upgraded dplyr dependency to 0.7.4 +* Upgraded tidyr dependency to 0.7.2 +* Fixed CI printing error for `compare_prop` +* Applied `styler` to code +* Long lines of code generated for _Report > Rmd_ and _Report > R_ will be wrapped to enhance readability + +# radiant.basics 0.8.3.0 + +## Minor changes + +* `correlation` defaults to all variables if no value for `var` is provided +* Renamed methods `summary.correlation_` and `plot.correlation_` to `summary.correlation` and `plot.correlation` +* Added `tab` argument to `goodness` and `cross_tabs` so a table object can be passed directly +* Documentation updates +* Scatter plots in _Correlation > Plot_ are now based on 1,000 data points by default. Use _Report > Rmd_ or _Report > R_ to adjust (e.g., `plot(result, n = -1)`) + +## Bug fixes + +* Fix for level ordering in goodness-of-fit expected-values plot +* Code clean-up and various minor fixes and improvements + +# radiant.basics 0.8.0.0 + +## Major changes + +- Show dataset name in output if dataframe passed directly to analysis function +- Scatter plots in Basics > Correlation > Plot now based on 1,000 data points by default. Add n = -1 to use all data points +- As an alternative to using the Estimate button to run a model you can now also use CTRL-enter or CMD-enter +- Use ALT-enter to put code into _Report > Rmd_ or _Report > R_ +- Documentation added on how to customize plots + +## Bug fixes + +- Fixed correlation dropdown. Correlations did not change when method was changed (thanks @Fiordmaster) +- Improved formatting for small negative values in Basics > Correlation +- Convert numeric bounds to integer in Basics > Probability calculator > Binomial to avoid warnings + +## Deprecated + +- Use of *_each is deprecated diff --git a/radiant.basics/R/aaa.R b/radiant.basics/R/aaa.R new file mode 100644 index 0000000..f64e494 --- /dev/null +++ b/radiant.basics/R/aaa.R @@ -0,0 +1,60 @@ +# to avoid 'no visible binding for global variable' NOTE +globalVariables(c( + ".", "n", "se", "me", "Freq", "ci", "col1", "n", + "y", "parameter", "variable", "dec", "df1", "df2", "lambda", + "lb", "meanlog", "p_elb", "p_eub", "p_int", "p_lb", "p_lelb", + "p_leub", "p_ub", "plb", "pub", "rate", "sdlog", "stdev", + "ub", "v", "v_lb", "v_ub", "vlb", "vp_elb", "vp_eub", "vp_int", + "vp_lb", "vp_lelb", "vp_leub", "vp_ub", "vub", "n_miss" +)) + +#' radiant.basics +#' +#' @name radiant.basics +#' @import radiant.data shiny ggplot2 +#' @importFrom dplyr mutate_all mutate_if summarise_all summarise_at funs rename bind_cols select filter group_by_at summarise arrange mutate count left_join +#' @importFrom tidyr gather spread +#' @importFrom scales percent +#' @importFrom magrittr %>% %<>% set_rownames set_colnames set_names divide_by +#' @importFrom graphics pairs par points strwidth text +#' @importFrom patchwork wrap_plots plot_annotation +#' @importFrom stats na.omit binom.test chisq.test cor.test cov dbinom dchisq dexp df dnorm dpois dt dunif p.adjust pbinom pchisq pexp pf pnorm ppois prop.test pt punif qbinom qchisq qexp qf qpois qt qunif qnorm rbinom dlnorm plnorm qlnorm relevel sd setNames symnum t.test wilcox.test +#' @importFrom utils combn +#' @importFrom import from +NULL + +#' Newspaper readership +#' @details Newspaper readership data for 580 consumers. Description provided in attr(newspaper,"description") +#' @docType data +#' @keywords datasets +#' @name newspaper +#' @usage data(newspaper) +#' @format A data frame with 580 rows and 2 variables +NULL + +#' Car brand consideration +#' @details Survey data of consumer purchase intentions. Description provided in attr(consider,"description") +#' @docType data +#' @keywords datasets +#' @name consider +#' @usage data(consider) +#' @format A data frame with 1000 rows and 2 variables +NULL + +#' Demand in the UK +#' @details Survey data of consumer purchase intentions. Description provided in attr(demand_uk,"description") +#' @docType data +#' @keywords datasets +#' @name demand_uk +#' @usage data(demand_uk) +#' @format A data frame with 1000 rows and 2 variables +NULL + +#' Salaries for Professors +#' @details 2008-2009 nine-month salary for professors in a college in the US. Description provided in attr(salary,description") +#' @docType data +#' @keywords datasets +#' @name salary +#' @usage data(salary) +#' @format A data frame with 397 rows and 6 variables +NULL diff --git a/radiant.basics/R/clt.R b/radiant.basics/R/clt.R new file mode 100644 index 0000000..d22fb17 --- /dev/null +++ b/radiant.basics/R/clt.R @@ -0,0 +1,85 @@ +#' Central Limit Theorem simulation +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/clt.html} for an example in Radiant +#' +#' @param dist Distribution to simulate +#' @param n Sample size +#' @param m Number of samples +#' @param norm_mean Mean for the normal distribution +#' @param norm_sd Standard deviation for the normal distribution +#' @param binom_size Size for the binomial distribution +#' @param binom_prob Probability for the binomial distribution +#' @param unif_min Minimum for the uniform distribution +#' @param unif_max Maximum for the uniform distribution +#' @param expo_rate Rate for the exponential distribution +#' +#' @importFrom stats rexp rnorm runif rbinom +#' +#' @return A list with the name of the Distribution and a matrix of simulated data +#' +#' @examples +#' clt("Uniform", 10, 10, unif_min = 10, unif_max = 20) +#' +#' @export +clt <- function(dist, n = 100, m = 100, + norm_mean = 0, norm_sd = 1, + binom_size = 10, binom_prob = 0.2, + unif_min = 0, unif_max = 1, + expo_rate = 1) { + if (dist == "Uniform") { + sim <- matrix(runif(n * m, min = unif_min, max = unif_max), n, m) + } else if (dist == "Normal") { + sim <- matrix(rnorm(n * m, mean = norm_mean, sd = norm_sd), n, m) + } else if (dist == "Exponential") { + sim <- matrix(rexp(n * m, rate = expo_rate), n, m) + } else if (dist == "Binomial") { + sim <- matrix(rbinom(n * m, size = binom_size, prob = binom_prob), n, m) + } + + add_class(list(dist = dist, sim = sim), "clt") +} + +#' Plot method for the Central Limit Theorem simulation +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/clt.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{clt}} +#' @param stat Statistic to use (sum or mean) +#' @param bins Number of bins to use +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' clt("Uniform", 100, 100, unif_min = 10, unif_max = 20) %>% plot() +#' +#' @export +plot.clt <- function(x, stat = "sum", bins = 15, ...) { + if (stat == "sum") { + sstat <- data.frame(stat = colSums(x$sim), stringsAsFactors = FALSE) + } else { + sstat <- data.frame(stat = colMeans(x$sim), stringsAsFactors = FALSE) + } + + m <- dim(x$sim)[2] + data1 <- data.frame(sample_1 = x$sim[, 1], stringsAsFactors = FALSE) + datam <- data.frame(sample_m = x$sim[, m], stringsAsFactors = FALSE) + + plot_list <- list() + plot_list[[1]] <- visualize(data1, xvar = "sample_1", bins = bins, custom = TRUE) + + labs(x = "Histogram of sample #1") + + plot_list[[2]] <- visualize(datam, xvar = "sample_m", bins = bins, custom = TRUE) + + labs(x = paste0("Histogram of sample #", m)) + + plot_list[[3]] <- visualize(sstat, xvar = "stat", bins = bins, custom = TRUE) + + labs(x = ifelse(stat == "sum", "Histogram of sample sums", "Histogram of sample means")) + + + plot_list[[4]] <- visualize(sstat, xvar = "stat", type = "density", custom = TRUE) + + stat_function(fun = dnorm, args = list( + mean = mean(sstat[[1]]), + sd = sd(sstat[[1]]) + ), color = "black", size = 1) + + labs(x = ifelse(stat == "sum", "Density of sample sums", "Density of sample means")) + + patchwork::wrap_plots(plot_list, ncol = 2) + patchwork::plot_annotation(title = glue("CLT: {x$dist} distribution")) +} diff --git a/radiant.basics/R/compare_means.R b/radiant.basics/R/compare_means.R new file mode 100644 index 0000000..3a6071d --- /dev/null +++ b/radiant.basics/R/compare_means.R @@ -0,0 +1,309 @@ +#' Compare sample means +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param var1 A numeric variable or factor selected for comparison +#' @param var2 One or more numeric variables for comparison. If var1 is a factor only one variable can be selected and the mean of this variable is compared across (factor) levels of var1 +#' @param samples Are samples independent ("independent") or not ("paired") +#' @param alternative The alternative hypothesis ("two.sided", "greater" or "less") +#' @param conf_lev Span of the confidence interval +#' @param comb Combinations to evaluate +#' @param adjust Adjustment for multiple comparisons ("none" or "bonf" for Bonferroni) +#' @param test t-test ("t") or Wilcox ("wilcox") +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of all variables defined in the function as an object of class compare_means +#' +#' @examples +#' compare_means(diamonds, "cut", "price") %>% str() +#' +#' @seealso \code{\link{summary.compare_means}} to summarize results +#' @seealso \code{\link{plot.compare_means}} to plot results +#' +#' @export +compare_means <- function(dataset, var1, var2, samples = "independent", + alternative = "two.sided", conf_lev = .95, + comb = "", adjust = "none", test = "t", + data_filter = "", envir = parent.frame()) { + vars <- c(var1, var2) + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, na.rm = FALSE, envir = envir) + + ## in case : was used for var2 + vars <- colnames(dataset) + + if (is.numeric(dataset[[var1]])) { + dataset %<>% gather("variable", "values", !!vars) + dataset[["variable"]] %<>% factor(levels = vars) + cname <- " " + } else { + if (is.character(dataset[[var1]])) dataset[[var1]] <- as.factor(dataset[[var1]]) + if (length(levels(dataset[[var1]])) == nrow(dataset)) { + return("Test requires multiple observations in each group. Please select another variable." %>% + add_class("compare_means")) + } + colnames(dataset) <- c("variable", "values") + cname <- var1 + } + + ## needed with new tidyr + dataset$variable %<>% as.factor() + + not_vary <- vars[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("compare_means")) + } + + ## resetting option to independent if the number of observations is unequal + ## summary on factor gives counts + if (samples == "paired") { + if (summary(dataset[["variable"]]) %>% (function(x) max(x) != min(x))) { + samples <- "independent (obs. per level unequal)" + } + } + + levs <- levels(dataset[["variable"]]) + + cmb <- combn(levs, 2) %>% + t() %>% + as.data.frame(stringsAsFactors = FALSE) + rownames(cmb) <- cmb %>% + apply(1, paste, collapse = ":") + colnames(cmb) <- c("group1", "group2") + + if (!is.empty(comb)) { + if (all(comb %in% rownames(cmb))) { + cmb <- cmb[comb, ] + } else { + cmb <- cmb[1, ] + } + } + + res <- cmb + res[, c("t.value", "p.value", "df", "ci_low", "ci_high", "cis_low", "cis_high")] <- 0 + + for (i in 1:nrow(cmb)) { + sel <- sapply(cmb[i, ], as.character) + x <- filter(dataset, variable == sel[1]) %>% .[["values"]] + y <- filter(dataset, variable == sel[2]) %>% .[["values"]] + + res[i, c("t.value", "p.value", "df", "ci_low", "ci_high")] <- + t.test(x, y, paired = samples == "paired", alternative = alternative, conf.level = conf_lev) %>% + tidy() %>% + .[1, c("statistic", "p.value", "parameter", "conf.low", "conf.high")] + + if (test != "t") { + res[i, "p.value"] <- + wilcox.test( + x, y, + paired = samples == "paired", alternative = alternative, + conf.int = FALSE, conf.level = conf_lev + ) %>% + tidy() %>% + .[1, "p.value"] + } + + ## bootstrap confidence intervals + ## seem almost identical, even with highly skewed data + # nr_x <- length(x) + # nr_y <- length(y) + + # sim_ci <- + # replicate(1000, mean(sample(x, nr_x, replace = TRUE)) - + # mean(sample(y, nr_y, replace = TRUE))) %>% + # quantile(probs = {(1-conf_lev)/2} %>% c(., 1 - .)) + + # res[i, c("cis_low", "cis_high")] <- sim_ci + } + + if (adjust != "none") { + res$p.value %<>% p.adjust(method = adjust) + } + + ## adding significance stars + res$sig_star <- sig_stars(res$p.value) + + ## from http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/ + me_calc <- function(se, n, conf.lev = .95) { + se * qt(conf.lev / 2 + .5, n - 1) + } + + dat_summary <- group_by_at(dataset, .vars = "variable") %>% + summarise_all( + list( + mean = ~ mean(., na.rm = TRUE), + n = length, + n_missing = n_missing, + sd = ~ sd(., na.rm = TRUE), + se = ~ se(., na.rm = TRUE), + me = ~ me_calc(se, n, conf_lev) + ) + ) %>% + rename(!!!setNames("variable", cname)) + + vars <- paste0(vars, collapse = ", ") + rm(x, y, sel, i, me_calc, envir) + as.list(environment()) %>% add_class("compare_means") +} + +#' Summary method for the compare_means function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{compare_means}} +#' @param show Show additional output (i.e., t.value, df, and confidence interval) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- compare_means(diamonds, "cut", "price") +#' summary(result) +#' +#' @seealso \code{\link{compare_means}} to calculate results +#' @seealso \code{\link{plot.compare_means}} to plot results +#' +#' @export +summary.compare_means <- function(object, show = FALSE, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat(paste0("Pairwise mean comparisons (", object$test, "-test)\n")) + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variables :", object$vars, "\n") + cat("Samples :", object$samples, "\n") + cat("Confidence:", object$conf_lev, "\n") + cat("Adjustment:", if (object$adjust == "bonf") "Bonferroni" else "None", "\n\n") + + object$dat_summary %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + cat("\n") + + hyp_symbol <- c( + "two.sided" = "not equal to", + "less" = "<", + "greater" = ">" + )[object$alternative] + + means <- object$dat_summary$mean + names(means) <- as.character(object$dat_summary[[1]]) + + ## determine lower and upper % for ci + ci_perc <- ci_label(object$alternative, object$conf_lev) + + mod <- object$res + mod$`Alt. hyp.` <- paste(mod$group1, hyp_symbol, mod$group2, " ") + mod$`Null hyp.` <- paste(mod$group1, "=", mod$group2, " ") + mod$diff <- + (means[as.character(mod$group1)] - means[as.character(mod$group2)]) %>% + round(dec) + + if (show) { + mod$se <- (mod$diff / mod$t.value) %>% round(dec) + mod <- mod[, c("Null hyp.", "Alt. hyp.", "diff", "p.value", "se", "t.value", "df", "ci_low", "ci_high", "sig_star")] + if (!is.integer(mod[["df"]])) mod[["df"]] %<>% round(dec) + mod[, c("t.value", "ci_low", "ci_high")] %<>% round(dec) + mod <- rename(mod, !!!setNames(c("ci_low", "ci_high"), ci_perc)) + } else { + mod <- mod[, c("Null hyp.", "Alt. hyp.", "diff", "p.value", "sig_star")] + } + + mod <- rename(mod, ` ` = "sig_star") + mod$p.value <- round(mod$p.value, dec) + mod$p.value[mod$p.value < .001] <- "< .001" + print(mod, row.names = FALSE, right = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") +} + +#' Plot method for the compare_means function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{compare_means}} +#' @param plots One or more plots ("bar", "density", "box", or "scatter") +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- compare_means(diamonds, "cut", "price") +#' plot(result, plots = c("bar", "density")) +#' +#' @seealso \code{\link{compare_means}} to calculate results +#' @seealso \code{\link{summary.compare_means}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.compare_means <- function(x, plots = "scatter", shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(x) + } + cn <- colnames(x$dataset) + v1 <- cn[1] + v2 <- cn[-1] + + ## cname is equal to " " when the xvar is numeric + if (is.empty(x$cname)) { + var1 <- v1 + var2 <- v2 + } else { + var1 <- x$var1 + var2 <- x$var2 + } + + ## from http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/ + plot_list <- list() + if ("bar" %in% plots) { + colnames(x$dat_summary)[1] <- "variable" + ## use of `which` allows the user to change the order of the plots shown + plot_list[[which("bar" == plots)]] <- + ggplot( + x$dat_summary, + aes(x = .data$variable, y = .data$mean, fill = .data$variable) + ) + + geom_bar(stat = "identity") + + geom_errorbar(width = .1, aes(ymin = mean - me, ymax = mean + me)) + + geom_errorbar(width = .05, aes(ymin = mean - se, ymax = mean + se), color = "blue") + + theme(legend.position = "none") + + labs(x = var1, y = paste0(var2, " (mean)")) + } + + ## graphs on full data + if ("box" %in% plots) { + plot_list[[which("box" == plots)]] <- + visualize(x$dataset, xvar = v1, yvar = v2, type = "box", custom = TRUE) + + theme(legend.position = "none") + + labs(x = var1, y = var2) + } + + if ("density" %in% plots) { + plot_list[[which("density" == plots)]] <- + visualize(x$dataset, xvar = v2, type = "density", fill = v1, custom = TRUE) + + labs(x = var2) + + guides(fill = guide_legend(title = var1)) + } + + if ("scatter" %in% plots) { + plot_list[[which("scatter" == plots)]] <- + visualize(x$dataset, xvar = v1, yvar = v2, type = "scatter", check = "jitter", alpha = 0.3, custom = TRUE) + + labs(x = var1, y = paste0(var2, " (mean)")) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} diff --git a/radiant.basics/R/compare_props.R b/radiant.basics/R/compare_props.R new file mode 100644 index 0000000..83e9cee --- /dev/null +++ b/radiant.basics/R/compare_props.R @@ -0,0 +1,282 @@ +#' Compare sample proportions across groups +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param var1 A grouping variable to split the data for comparisons +#' @param var2 The variable to calculate proportions for +#' @param levs The factor level selected for the proportion comparison +#' @param alternative The alternative hypothesis ("two.sided", "greater" or "less") +#' @param conf_lev Span of the confidence interval +#' @param comb Combinations to evaluate +#' @param adjust Adjustment for multiple comparisons ("none" or "bonf" for Bonferroni) +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of all variables defined in the function as an object of class compare_props +#' +#' @examples +#' compare_props(titanic, "pclass", "survived") %>% str() +#' +#' @seealso \code{\link{summary.compare_props}} to summarize results +#' @seealso \code{\link{plot.compare_props}} to plot results +#' +#' @export +compare_props <- function(dataset, var1, var2, levs = "", + alternative = "two.sided", conf_lev = .95, + comb = "", adjust = "none", data_filter = "", + envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + vars <- c(var1, var2) + dataset <- get_data(dataset, vars, filt = data_filter, na.rm = FALSE, envir = envir) %>% + mutate_all(as.factor) + + dataset <- dataset[!is.na(dataset[[1]]), , drop = FALSE] + n_miss_df <- group_by_at(dataset, var1) %>% + summarise_at(n_missing, .vars = var2) %>% + set_colnames(c(var1, "n_miss")) + dataset <- na.omit(dataset) + + if (length(levels(dataset[[var1]])) == nrow(dataset)) { + return("Test requires multiple observations in each group. Please select another variable." %>% + add_class("compare_props")) + } + + lv <- levels(dataset[[var2]]) + if (levs != "") { + if (levs %in% lv && lv[1] != levs) { + dataset[[var2]] %<>% as.character %>% + as.factor() %>% + relevel(levs) + lv <- levels(dataset[[var2]]) + } + } + + ## check if there is variation in the data + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("compare_props")) + } + + rn <- "" + prop_input <- group_by_at(dataset, .vars = c(var1, var2)) %>% + summarise(n = n(), .groups = "drop") %>% + spread(!!var2, "n") %>% + as.data.frame(stringsAsFactors = FALSE) %>% + (function(x) { + rn <<- x[[1]] %>% as.character() + select(x, -1) %>% + as.matrix() %>% + set_rownames(rn) + }) + + prop_input[is.na(prop_input)] <- 0 + + lv <- rownames(prop_input) + cmb <- combn(lv, 2) %>% + t() %>% + as.data.frame(stringsAsFactors = FALSE) + + rownames(cmb) <- cmb %>% apply(1, paste, collapse = ":") + colnames(cmb) <- c("group1", "group2") + + if (!is.empty(comb)) { + if (all(comb %in% rownames(cmb))) { + cmb <- cmb[comb, ] + } else { + cmb <- cmb[1, ] + } + } + + res <- cmb + res[, c("chisq.value", "p.value", "df", "ci_low", "ci_high", "sim")] <- 0 + for (i in 1:nrow(cmb)) { + ind <- c(which(cmb[i, 1] == rownames(prop_input)), which(cmb[i, 2] == rownames(prop_input))) + + pinp <- prop_input[ind, ] + + res[i, c("chisq.value", "p.value", "df", "ci_low", "ci_high")] <- + sshhr(prop.test(pinp, alternative = alternative, conf.level = conf_lev, correct = FALSE)) %>% + tidy() %>% + .[1, c("statistic", "p.value", "parameter", "conf.low", "conf.high")] + + ## calculate expected values + E <- (rowSums(pinp) %*% t(colSums(pinp))) / sum(pinp) + if (any(E < 5)) { + res[i, "p.value"] <- sshhr(chisq.test(pinp, simulate.p.value = TRUE, B = 2000) %>% tidy() %>% .$p.value) + res[i, "df"] <- NA + } + } + + if (adjust != "none") { + res$p.value %<>% p.adjust(method = adjust) + } + + ## adding significance stars + res$sig_star <- sig_stars(res$p.value) + + ## from http://www.cookbook-r.com/Graphs/Plotting_props_and_error_bars_(ggplot2)/ + me_calc <- function(se, conf.lev = .95) { + se * qnorm(conf.lev / 2 + .5, lower.tail = TRUE) + } + + dat_summary <- data.frame(prop_input, check.names = FALSE, stringsAsFactors = FALSE) %>% + mutate_if(is.numeric, as.integer) %>% + mutate( + p = .[[1]] / as.integer(rowSums(.[, 1:2])), + n = as.integer(rowSums(.[, 1:2])), + n_missing = 0, + sd = sqrt(p * (1 - p)), + se = sqrt(p * (1 - p) / n), + me = me_calc(se, conf_lev) + ) %>% + set_rownames(rownames(prop_input)) %>% + rownames_to_column(var = var1) + + dat_summary[[var1]] %<>% factor(., levels = .) + dat_summary <- suppressWarnings(left_join(dat_summary, n_miss_df, by = var1)) %>% + mutate(n_missing = n_miss) %>% + select(-n_miss) + vars <- paste0(vars, collapse = ", ") + rm(i, me_calc, envir) + as.list(environment()) %>% add_class("compare_props") +} + +#' Summary method for the compare_props function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{compare_props}} +#' @param show Show additional output (i.e., chisq.value, df, and confidence interval) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- compare_props(titanic, "pclass", "survived") +#' summary(result) +#' +#' @seealso \code{\link{compare_props}} to calculate results +#' @seealso \code{\link{plot.compare_props}} to plot results +#' +#' @export +summary.compare_props <- function(object, show = FALSE, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat("Pairwise proportion comparisons\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variables :", object$vars, "\n") + cat("Level :", object$levs, "in", object$var2, "\n") + cat("Confidence:", object$conf_lev, "\n") + cat("Adjustment:", if (object$adjust == "bonf") "Bonferroni" else "None", "\n\n") + + object$dat_summary %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + cat("\n") + + hyp_symbol <- c( + "two.sided" = "not equal to", + "less" = "<", + "greater" = ">" + )[object$alternative] + + props <- object$dat_summary$p + names(props) <- object$rn + + ## determine lower and upper % for ci + ci_perc <- ci_label(object$alternative, object$conf_lev) + + res <- object$res + res$`Alt. hyp.` <- paste(res$group1, hyp_symbol, res$group2, " ") + res$`Null hyp.` <- paste(res$group1, "=", res$group2, " ") + res$diff <- (props[res$group1 %>% as.character()] - props[res$group2 %>% as.character()]) %>% round(dec) + + res_sim <- is.na(res$df) + if (show) { + res <- res[, c("Null hyp.", "Alt. hyp.", "diff", "p.value", "chisq.value", "df", "ci_low", "ci_high", "sig_star")] + res[, c("chisq.value", "ci_low", "ci_high")] %<>% format_df(dec, mark = ",") + + res$df[res_sim] <- "*1*" + res <- rename(res, !!!setNames(c("ci_low", "ci_high"), ci_perc)) + } else { + res <- res[, c("Null hyp.", "Alt. hyp.", "diff", "p.value", "sig_star")] + } + + res <- rename(res, ` ` = "sig_star") + res$p.value[res$p.value >= .001] %<>% round(dec) + res$p.value[res$p.value < .001] <- "< .001" + res$p.value[res_sim] %<>% paste0(" (2000 replicates)") + print(res, row.names = FALSE, right = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") +} + +#' Plot method for the compare_props function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{compare_props}} +#' @param plots One or more plots of proportions ("bar" or "dodge") +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- compare_props(titanic, "pclass", "survived") +#' plot(result, plots = c("bar", "dodge")) +#' +#' @seealso \code{\link{compare_props}} to calculate results +#' @seealso \code{\link{summary.compare_props}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.compare_props <- function(x, plots = "bar", shiny = FALSE, + custom = FALSE, ...) { + if (is.character(x)) { + return(x) + } + v1 <- colnames(x$dataset)[1] + v2 <- colnames(x$dataset)[-1] + lev_name <- x$levs + + ## from http://www.cookbook-r.com/Graphs/Plotting_props_and_error_bars_(ggplot2)/ + plot_list <- list() + if ("bar" %in% plots) { + ## use of `which` allows the user to change the order of the plots shown + plot_list[[which("bar" == plots)]] <- + ggplot(x$dat_summary, aes(x = .data[[v1]], y = .data$p, fill = .data[[v1]])) + + geom_bar(stat = "identity", alpha = 0.5) + + geom_errorbar(width = .1, aes(ymin = p - me, ymax = p + me)) + + geom_errorbar(width = .05, aes(ymin = p - se, ymax = p + se), color = "blue") + + theme(legend.position = "none") + + scale_y_continuous(labels = scales::percent) + + labs(y = paste0("Proportion of \"", lev_name, "\" in ", v2)) + } + + if ("dodge" %in% plots) { + plot_list[[which("dodge" == plots)]] <- group_by_at(x$dataset, .vars = c(v1, v2)) %>% + summarise(count = n(), .groups = "drop") %>% + group_by_at(.vars = v1) %>% + mutate(perc = count / sum(count)) %>% + ggplot(aes(x = .data[[v1]], y = .data$perc, fill = .data[[v2]])) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs(y = paste0("Proportions per level of ", v1)) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} diff --git a/radiant.basics/R/correlation.R b/radiant.basics/R/correlation.R new file mode 100644 index 0000000..6914f36 --- /dev/null +++ b/radiant.basics/R/correlation.R @@ -0,0 +1,318 @@ +#' Calculate correlations for two or more variables +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param vars Variables to include in the analysis. Default is all but character and factor variables with more than two unique values are removed +#' @param method Type of correlations to calculate. Options are "pearson", "spearman", and "kendall". "pearson" is the default +#' @param hcor Use polycor::hetcor to calculate the correlation matrix +#' @param hcor_se Calculate standard errors when using polycor::hetcor +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in the function as an object of class compare_means +#' +#' @examples +#' correlation(diamonds, c("price", "carat")) %>% str() +#' correlation(diamonds, "x:z") %>% str() +#' +#' @seealso \code{\link{summary.correlation}} to summarize results +#' @seealso \code{\link{plot.correlation}} to plot results +#' +#' @importFrom psych corr.test +#' @importFrom lubridate is.Date +#' @importFrom polycor hetcor +#' +#' +#' @export +correlation <- function(dataset, vars = "", method = "pearson", hcor = FALSE, hcor_se = FALSE, + data_filter = "", envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + + ## data.matrix as the last step in the chain is about 25% slower using + ## system.time but results (using diamonds and mtcars) are identical + dataset <- get_data(dataset, vars, filt = data_filter, envir = envir) %>% + mutate_if(is.Date, as_numeric) + anyCategorical <- sapply(dataset, is.numeric) == FALSE + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("correlation")) + } + + num_dat <- mutate_all(dataset, radiant.data::as_numeric) + + ## calculate the correlation matrix with p.values using the psych package + if (hcor) { + ## added as.data.frame due to hetcor throwing errors when using tibbles + cmath <- try(sshhr(polycor::hetcor(as.data.frame(dataset), ML = FALSE, std.err = hcor_se)), silent = TRUE) + if (inherits(cmath, "try-error")) { + message("Calculating the heterogeneous correlation matrix produced an error.\nUsing standard correlation matrix instead") + hcor <- "Calculation failed" + cmat <- sshhr(psych::corr.test(num_dat, method = method)) + } else { + cmat <- list() + cmat$r <- cmath$correlations + cmat$p <- matrix(NA, ncol(cmat$r), nrow(cmat$r)) + rownames(cmat$p) <- colnames(cmat$p) <- colnames(cmat$r) + if (hcor_se) { + cmat_z <- cmat$r / cmath$std.errors + cmat$p <- 2 * pnorm(abs(cmat_z), lower.tail = FALSE) + } + } + rm(cmath) + } else { + cmat <- sshhr(psych::corr.test(num_dat, method = method)) + } + + ## calculate covariance matrix + cvmat <- sshhr(cov(num_dat, method = method)) + rm(num_dat, envir) + + if (sum(anyCategorical) > 0) { + if (isTRUE(hcor)) { + adj_text <- "\n\nNote: Categorical variables are assumed to be ordinal and were calculated using polycor::hetcor\n\n" + } else { + adj_text <- "\n\nNote: Categorical variables were included without adjustment\n\n" + } + } else { + adj_text <- "\n\n" + } + descr <- paste0("## Correlation matrix\n\nCorrelations were calculated using the \"", df_name, "\" dataset", adj_text, "Variables used:\n\n* ", paste0(vars, collapse = "\n* ")) + + as.list(environment()) %>% + add_class("correlation") %>% + add_class("rcorr") +} + +#' Summary method for the correlation function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{correlation}} +#' @param cutoff Show only correlations larger than the cutoff in absolute value. Default is a cutoff of 0 +#' @param covar Show the covariance matrix (default is FALSE) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods. +#' +#' @examples +#' result <- correlation(diamonds, c("price", "carat", "table")) +#' summary(result, cutoff = .3) +#' +#' @seealso \code{\link{correlation}} to calculate results +#' @seealso \code{\link{plot.correlation}} to plot results +#' +#' @export +summary.correlation <- function(object, cutoff = 0, covar = FALSE, dec = 2, ...) { + if (is.character(object)) { + return(object) + } + + ## calculate the correlation matrix with p.values using the psych package + cr <- object$cmat$r + crf <- try(format_nr(cr, dec = dec, na.rm = FALSE), silent = TRUE) + if (inherits(crf, "try-error")) { + cr <- round(cr, dec) + } else { + cr[1:nrow(cr), 1:ncol(cr)] <- crf + } + cr[is.na(object$cmat$r)] <- "-" + cr[abs(object$cmat$r) < cutoff] <- "" + ltmat <- lower.tri(cr) + cr[!ltmat] <- "" + + cp <- object$cmat$p + cpf <- try(format_nr(cp, dec = dec, na.rm = FALSE), silent = TRUE) + if (inherits(cpf, "try-error")) { + cp <- round(cp, dec) + } else { + cp[1:nrow(cp), 1:ncol(cp)] <- cpf + } + cp[is.na(object$cmat$p)] <- "-" + cp[abs(object$cmat$r) < cutoff] <- "" + cp[!ltmat] <- "" + + cat("Correlation\n") + cat("Data :", object$df_name, "\n") + method <- paste0(toupper(substring(object$method, 1, 1)), substring(object$method, 2)) + if (is.character(object$hcor)) { + cat(paste0("Method : ", method, " (adjustment using polycor::hetcor failed)\n")) + } else if (isTRUE(object$hcor)) { + if (sum(object$anyCategorical) > 0) { + cat(paste0("Method : Heterogeneous correlations using polycor::hetcor\n")) + } else { + cat(paste0("Method : ", method, " (no adjustment applied)\n")) + } + } else { + cat("Method :", method, "\n") + } + if (cutoff > 0) { + cat("Cutoff :", cutoff, "\n") + } + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variables :", paste0(object$vars, collapse = ", "), "\n") + cat("Null hyp. : variables x and y are not correlated\n") + cat("Alt. hyp. : variables x and y are correlated\n") + if (sum(object$anyCategorical) > 0) { + if (isTRUE(object$hcor)) { + cat("** Variables of type {factor} are assumed to be ordinal **\n\n") + } else { + cat("** Variables of type {factor} included without adjustment **\n\n") + } + } else if (isTRUE(object$hcor)) { + cat("** No variables of type {factor} selected. No adjustment applied **\n\n") + } else { + cat("\n") + } + + cat("Correlation matrix:\n") + cr[-1, -ncol(cr), drop = FALSE] %>% + format(justify = "right") %>% + print(quote = FALSE) + + if (!isTRUE(object$hcor) || isTRUE(object$hcor_se)) { + cat("\np.values:\n") + cp[-1, -ncol(cp), drop = FALSE] %>% + format(justify = "right") %>% + print(quote = FALSE) + } + + if (covar) { + cvr <- apply(object$cvmat, 2, format_nr, dec = dec) %>% + set_rownames(rownames(object$cvmat)) + cvr[abs(object$cmat$r) < cutoff] <- "" + ltmat <- lower.tri(cvr) + cvr[!ltmat] <- "" + + cat("\nCovariance matrix:\n") + cvr[-1, -ncol(cvr), drop = FALSE] %>% + format(justify = "right") %>% + print(quote = FALSE) + } + + return(invisible()) +} + +#' Print method for the correlation function +#' +#' @param x Return value from \code{\link{correlation}} +#' @param ... further arguments passed to or from other methods +#' +#' @export +print.rcorr <- function(x, ...) summary.correlation(x, ...) + +#' Plot method for the correlation function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{correlation}} +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param jit A numeric vector that determines the amount of jittering to apply to the x and y variables in a scatter plot. Default is 0. Use, e.g., 0.3 to add some jittering +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods. +#' +#' @examples +#' result <- correlation(diamonds, c("price", "carat", "table")) +#' plot(result) +#' +#' @seealso \code{\link{correlation}} to calculate results +#' @seealso \code{\link{summary.correlation}} to summarize results +#' +#' @importFrom graphics plot +#' +#' @export +plot.correlation <- function(x, nrobs = -1, jit = c(0, 0), dec = 2, ...) { + if (is.character(x)) { + return(NULL) + } + if (is.null(x[["dataset"]])) { + if (any(sapply(x, is.factor))) { + x <- correlation(x, hcor = TRUE, hcor_se = FALSE) + } else { + x <- correlation(x, hcor = FALSE) + } + } + + cor_text <- function(r, p, dec = 2) { + if (is.na(p)) p <- 1 + sig <- symnum( + p, + corr = FALSE, na = TRUE, + cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), + symbols = c("***", "**", "*", ".", " ") + ) + + rt <- format(r, digits = dec) + cex <- 0.5 / strwidth(rt) + plot(c(0, 1), c(0, 1), ann = FALSE, type = "n", xaxt = "n", yaxt = "n") + text(.5, .5, rt, cex = cex * abs(r)) + text(.8, .8, sig, cex = cex, col = "blue") + } + + cor_label <- function(label, longest) { + plot(c(0, 1), c(0, 1), ann = FALSE, type = "n", xaxt = "n", yaxt = "n") + cex <- 0.5 / strwidth(longest) + text(.5, .5, label, cex = cex) + } + + cor_plot <- function(x, y, nobs = 1000) { + if (nobs != Inf && nobs != -1) { + ind <- sample(seq_len(length(y)), min(nobs, length(y))) + x <- x[ind] + y <- y[ind] + } + if (is.factor(y) && is.factor(x)) { + plot(x, y, axes = FALSE, xlab = "", ylab = "") + } else if (is.factor(y) & is.numeric(x)) { + plot(y, x, ann = FALSE, xaxt = "n", yaxt = "n", horizontal = TRUE) + } else if (is.numeric(y) & is.factor(x)) { + plot(x, y, ann = FALSE, xaxt = "n", yaxt = "n") + } else { + y <- as.numeric(y) + x <- as.numeric(x) + plot(jitter(x, jit[1]), jitter(y, jit[2]), ann = FALSE, xaxt = "n", yaxt = "n") + } + } + + cor_mat <- function(dataset, cmat, pmat = NULL, dec = 2, nobs = 1000) { + nr <- ncol(dataset) + ops <- par(mfrow = c(nr, nr), mar = rep(0.2, 4)) + on.exit(par(ops)) + cn <- colnames(dataset) + longest <- names(sort(sapply(cn, nchar), decreasing = TRUE))[1] + for (i in seq_along(cn)) { + for (j in seq_along(cn)) { + if (i == j) { + cor_label(cn[i], longest) + } else if (i > j) { + cor_plot(dataset[[i]], dataset[[j]], nobs = nobs) + } else { + cor_text(cmat[i, j], pmat[i, j], dec = 2) + } + } + } + } + + cor_mat(x$dataset, cmat = x$cmat$r, pmat = x$cmat$p, dec = dec, nobs = nrobs) +} + +#' Store a correlation matrix as a (long) data.frame +#' +#' @details Return the correlation matrix as a (long) data.frame. See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{correlation}} +#' @param labels Column names for the correlation pairs +#' @param ... further arguments passed to or from other methods +#' +#' @export +cor2df <- function(object, labels = c("label1", "label2"), ...) { + cmat <- object$cmat$r + correlation <- cmat[lower.tri(cmat)] + distance <- 0.5 * (1 - correlation) + labs <- as.data.frame(t(combn(colnames(cmat), 2))) + colnames(labs) <- labels + cbind(labs, correlation, distance) +} diff --git a/radiant.basics/R/cross_tabs.R b/radiant.basics/R/cross_tabs.R new file mode 100644 index 0000000..08b4ad8 --- /dev/null +++ b/radiant.basics/R/cross_tabs.R @@ -0,0 +1,372 @@ +#' Evaluate associations between categorical variables +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant +#' +#' @param dataset Dataset (i.e., a data.frame or table) +#' @param var1 A categorical variable +#' @param var2 A categorical variable +#' @param tab Table with frequencies as alternative to dataset +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of all variables used in cross_tabs as an object of class cross_tabs +#' +#' @examples +#' cross_tabs(newspaper, "Income", "Newspaper") %>% str() +#' table(select(newspaper, Income, Newspaper)) %>% cross_tabs(tab = .) +#' +#' @seealso \code{\link{summary.cross_tabs}} to summarize results +#' @seealso \code{\link{plot.cross_tabs}} to plot results +#' +#' @export +cross_tabs <- function(dataset, var1, var2, tab = NULL, + data_filter = "", envir = parent.frame()) { + if (is.table(tab)) { + df_name <- deparse(substitute(tab)) + + if (missing(var1) || missing(var2)) { + nm <- names(dimnames(tab)) + var1 <- nm[1] + var2 <- nm[2] + } + + if (is.empty(var1) || is.empty(var2)) { + return("The provided table does not have dimension names. See ?cross_tabs for an example" %>% + add_class("cross_tabs")) + } + } else { + df_name <- if (!is_string(dataset)) deparse(substitute(dataset)) else dataset + dataset <- get_data(dataset, c(var1, var2), filt = data_filter, envir = envir) + + ## Use simulated p-values when + # http://stats.stackexchange.com/questions/100976/n-1-pearsons-chi-square-in-r + # http://stats.stackexchange.com/questions/14226/given-the-power-of-computers-these-days-is-there-ever-a-reason-to-do-a-chi-squa/14230#14230 + # http://stats.stackexchange.com/questions/62445/rules-to-apply-monte-carlo-simulation-of-p-values-for-chi-squared-test + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("cross_tabs")) + } + + tab <- table(dataset[[var1]], dataset[[var2]]) + tab[is.na(tab)] <- 0 + tab <- tab[, colSums(tab) > 0] %>% + (function(x) x[rowSums(x) > 0, ]) %>% + as.table() + ## dataset not needed in summary or plot + rm(dataset) + } + + cst <- sshhr(chisq.test(tab, correct = FALSE)) + + ## adding the % deviation table + cst$chi_sq <- with(cst, (observed - expected)^2 / expected) + + res <- tidy(cst) %>% + mutate(parameter = as.integer(parameter)) + elow <- sum(cst$expected < 5) + + if (elow > 0) { + res$p.value <- chisq.test(cst$observed, simulate.p.value = TRUE, B = 2000) %>% + tidy() %>% + .$p.value + res$parameter <- paste0("*", res$parameter, "*") + } + + rm(envir) + + as.list(environment()) %>% add_class("cross_tabs") +} + +#' Summary method for the cross_tabs function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant + +#' @param object Return value from \code{\link{cross_tabs}} +#' @param check Show table(s) for variables var1 and var2. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "dev_perc" for the percentage difference between the observed and expected frequencies (i.e., (o - e) / e) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods. +#' +#' @examples +#' result <- cross_tabs(newspaper, "Income", "Newspaper") +#' summary(result, check = c("observed", "expected", "chi_sq")) +#' +#' @seealso \code{\link{cross_tabs}} to calculate results +#' @seealso \code{\link{plot.cross_tabs}} to plot results +#' +#' @export +summary.cross_tabs <- function(object, check = "", dec = 2, ...) { + if (is.character(object)) { + return(object) + } + cat("Cross-tabs\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variables:", paste0(c(object$var1, object$var2), collapse = ", "), "\n") + cat("Null hyp.: there is no association between", object$var1, "and", object$var2, "\n") + cat("Alt. hyp.: there is an association between", object$var1, "and", object$var2, "\n") + + rnames <- object$cst$observed %>% + rownames() %>% + c(., "Total") + cnames <- object$cst$observed %>% + colnames() %>% + c(., "Total") + + if ("observed" %in% check) { + cat("\nObserved:\n") + observed <- object$cst$observed %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + format(big.mark = ",", scientific = FALSE) + + names(attributes(observed)$dimnames) <- c(object$var1, object$var2) + print(observed, quote = FALSE) + } + + if ("expected" %in% check) { + cat("\nExpected: (row total x column total) / total\n") + expected <- object$cst$expected %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + round(dec) %>% + format(big.mark = ",", scientific = FALSE) + + names(attributes(expected)$dimnames) <- c(object$var1, object$var2) + print(expected, quote = FALSE) + } + + if ("chi_sq" %in% check) { + cat("\nContribution to chi-squared: (o - e)^2 / e\n") + chi_sq <- object$cst$chi_sq %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + round(dec) %>% + format(big.mark = ",", scientific = FALSE) + + names(attributes(chi_sq)$dimnames) <- c(object$var1, object$var2) + print(chi_sq, quote = FALSE) + } + + if ("dev_std" %in% check) { + cat("\nDeviation standardized: (o - e) / sqrt(e)\n") + resid <- round(object$cst$residuals, dec) ## standardized residuals + names(attributes(resid)$dimnames) <- c(object$var1, object$var2) + print(resid) + } + + if ("row_perc" %in% check) { + cat("\nRow percentages:\n") + row_perc <- object$cst$observed %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + (function(x) x / x[, "Total"]) %>% + round(dec) + + names(attributes(row_perc)$dimnames) <- c(object$var1, object$var2) + print(row_perc) + } + + if ("col_perc" %in% check) { + cat("\nColumn percentages:\n") + col_perc <- object$cst$observed %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + (function(x) t(x) / x["Total", ]) %>% + t() %>% + round(dec) + + names(attributes(col_perc)$dimnames) <- c(object$var1, object$var2) + print(col_perc) + } + + if ("perc" %in% check) { + cat("\nProbability table:\n") + perc <- object$cst$observed %>% + rbind(colSums(.)) %>% + set_rownames(rnames) %>% + cbind(rowSums(.)) %>% + set_colnames(cnames) %>% + (function(x) x / x["Total", "Total"]) %>% + round(dec) + + names(attributes(perc)$dimnames) <- c(object$var1, object$var2) + print(perc) + } + + object$res <- format_df(object$res, dec = dec + 1, mark = ",") + + if (object$res$p.value < .001) object$res$p.value <- "< .001" + cat(paste0("\nChi-squared: ", object$res$statistic, " df(", object$res$parameter, "), p.value ", object$res$p.value), "\n\n") + cat(paste(sprintf("%.1f", 100 * (object$elow / length(object$cst$expected))), "% of cells have expected values below 5\n"), sep = "") + if (object$elow > 0) cat("p.value for chi-squared statistics obtained using simulation (2,000 replicates)") +} + +#' Plot method for the cross_tabs function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{cross_tabs}} +#' @param check Show plots for variables var1 and var2. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "row_perc", "col_perc", and "perc" for row, column, and table percentages respectively +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- cross_tabs(newspaper, "Income", "Newspaper") +#' plot(result, check = c("observed", "expected", "chi_sq")) +#' +#' @seealso \code{\link{cross_tabs}} to calculate results +#' @seealso \code{\link{summary.cross_tabs}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.cross_tabs <- function(x, check = "", shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(x) + } + gather_table <- function(tab) { + data.frame(tab, check.names = FALSE, stringsAsFactors = FALSE) %>% + mutate(rnames = rownames(.)) %>% + (function(x) sshhr(gather(x, "variable", "values", !!base::setdiff(colnames(x), "rnames")))) + } + + plot_list <- list() + if (is.empty(check)) check <- "observed" + + if ("observed" %in% check) { + fact_names <- x$cst$observed %>% + dimnames() %>% + as.list() + tab <- as.data.frame(x$cst$observed, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1:2] <- c(x$var1, x$var2) + tab[[1]] %<>% factor(levels = fact_names[[1]]) + tab[[2]] %<>% factor(levels = fact_names[[2]]) + + plot_list[["observed"]] <- + ggplot(tab, aes(x = .data[[x$var2]], y = .data$Freq, fill = .data[[x$var1]])) + + geom_bar(stat = "identity", position = "fill", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs( + title = paste("Observed frequencies for ", x$var2, " versus ", x$var1, sep = ""), + x = x$var2, + y = "", + fill = x$var1 + ) + } + + if ("expected" %in% check) { + fact_names <- x$cst$expected %>% + dimnames() %>% + as.list() + tab <- gather_table(x$cst$expected) + tab$rnames %<>% factor(levels = fact_names[[1]]) + tab$variable %<>% factor(levels = fact_names[[2]]) + plot_list[["expected"]] <- + ggplot(tab, aes(x = .data$variable, y = .data$values, fill = .data$rnames)) + + geom_bar(stat = "identity", position = "fill", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs( + title = paste("Expected frequencies for ", x$var2, " versus ", x$var1, sep = ""), + x = x$var2, + y = "", + fill = x$var1 + ) + } + + if ("chi_sq" %in% check) { + tab <- as.data.frame(x$cst$chi_sq, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1:2] <- c(x$var1, x$var2) + plot_list[["chi_sq"]] <- + ggplot(tab, aes(x = .data[[x$var2]], y = .data$Freq, fill = .data[[x$var1]])) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + labs( + title = paste("Contribution to chi-squared for ", x$var2, " versus ", x$var1, sep = ""), + x = x$var2, + y = "" + ) + } + + if ("dev_std" %in% check) { + tab <- as.data.frame(x$cst$residuals, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1:2] <- c(x$var1, x$var2) + plot_list[["dev_std"]] <- + ggplot(tab, aes(x = .data[[x$var2]], y = .data$Freq, fill = .data[[x$var1]])) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + geom_hline(yintercept = c(-1.96, 1.96, -1.64, 1.64), color = "black", linetype = "longdash", linewidth = .5) + + geom_text(x = 1, y = 2.11, label = "95%", vjust = 0) + + geom_text(x = 1, y = 1.49, label = "90%", vjust = 1) + + labs( + title = paste("Deviation standardized for ", x$var2, " versus ", x$var1, sep = ""), + x = x$var2, + y = "" + ) + } + + if ("row_perc" %in% check) { + plot_list[["row_perc"]] <- as.data.frame(x$cst$observed, check.names = FALSE, stringsAsFactors = FALSE) %>% + group_by_at(.vars = "Var1") %>% + mutate(perc = Freq / sum(Freq)) %>% + ggplot(aes(x = .data$Var2, y = .data$perc, fill = .data$Var1)) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs( + title = "Row percentages", + y = "Percentage", + x = x$var2, + fill = x$var1 + ) + } + + if ("col_perc" %in% check) { + plot_list[["col_perc"]] <- as.data.frame(x$cst$observed, check.names = FALSE, stringsAsFactors = FALSE) %>% + group_by_at(.vars = "Var2") %>% + mutate(perc = Freq / sum(Freq)) %>% + ggplot(aes(x = .data$Var2, y = .data$perc, fill = .data$Var1)) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs( + title = "Column percentages", + y = "Percentage", + x = x$var2, + fill = x$var1 + ) + } + + if ("perc" %in% check) { + plot_list[["perc"]] <- as.data.frame(x$cst$observed, check.names = FALSE, stringsAsFactors = FALSE) %>% + mutate(perc = Freq / sum(Freq)) %>% + ggplot(aes(x = .data$Var2, y = .data$perc, fill = .data$Var1)) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + labs( + title = "Table percentages", + y = "Percentage", + x = x$var2, + fill = x$var1 + ) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} diff --git a/radiant.basics/R/goodness.R b/radiant.basics/R/goodness.R new file mode 100644 index 0000000..5ecf668 --- /dev/null +++ b/radiant.basics/R/goodness.R @@ -0,0 +1,276 @@ +#' Evaluate if sample data for a categorical variable is consistent with a hypothesized distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/goodness.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param var A categorical variable +#' @param p Hypothesized distribution as a number, fraction, or numeric vector. If unspecified, defaults to an even distribution +#' @param tab Table with frequencies as alternative to dataset +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of all variables used in goodness as an object of class goodness +#' +#' @examples +#' goodness(newspaper, "Income") %>% str() +#' goodness(newspaper, "Income", p = c(3 / 4, 1 / 4)) %>% str() +#' table(select(newspaper, Income)) %>% goodness(tab = .) +#' +#' @seealso \code{\link{summary.goodness}} to summarize results +#' @seealso \code{\link{plot.goodness}} to plot results +#' +#' @export +goodness <- function(dataset, var, p = NULL, tab = NULL, + data_filter = "", envir = parent.frame()) { + if (is.table(tab)) { + df_name <- deparse(substitute(tab)) + if (missing(var)) var <- "variable" + } else { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, var, filt = data_filter, envir = envir) + + ## creating and cleaning up the table + tab <- table(dataset[[var]]) + tab[is.na(tab)] <- 0 + tab <- as.table(tab) + } + ## dataset not needed in summary or plot + rm(dataset) + + if (is.empty(p)) { + p <- rep(1 / length(tab), length(tab)) + } else if (is.numeric(p)) { + if (length(p) == 1) p <- rep(p, length(tab)) + } else if (is.character(p)) { + p <- gsub(",", " ", p) %>% + strsplit("\\s+") %>% + unlist() %>% + strsplit("/") + asNum <- function(x) ifelse(length(x) > 1, as.numeric(x[1]) / as.numeric(x[2]), as.numeric(x[1])) + p <- sshhr(sapply(p, asNum)) + + if (anyNA(p)) { + return(paste0("Invalid inputs: ", paste0(p, collapse = ", ")) %>% add_class("goodness")) + } + + lp <- length(p) + lt <- length(tab) + if (lt != lp && lt %% lp == 0) p <- rep(p, lt / lp) + } + + if (!is.numeric(p) || sum(p) != 1) { + return( + paste0("Probabilities do not sum to 1 (", round(sum(p), 3), ")\nUse fractions if appropriate. Variable ", var, " has ", length(tab), " unique values.") %>% + add_class("goodness") + ) + } + + cst <- sshhr(chisq.test(tab, p = p, correct = FALSE)) + + ## adding the chi-sq table + cst$chi_sq <- with(cst, (observed - expected)^2 / expected) + + res <- tidy(cst) %>% + mutate(parameter = as.integer(parameter)) + elow <- sum(cst$expected < 5) + + if (elow > 0) { + res$p.value <- chisq.test(cst$observed, simulate.p.value = TRUE, B = 2000) %>% + tidy() %>% + .$p.value + res$parameter <- paste0("*", res$parameter, "*") + } + + rm(envir) + + as.list(environment()) %>% add_class("goodness") +} + +#' Summary method for the goodness function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/goodness} for an example in Radiant +#' +#' @param object Return value from \code{\link{goodness}} +#' @param check Show table(s) for the selected variable (var). "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "dev_perc" for the percentage difference between the observed and expected frequencies (i.e., (o - e) / e) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods. +#' +#' @examples +#' result <- goodness(newspaper, "Income", c(.3, .7)) +#' summary(result, check = c("observed", "expected", "chi_sq")) +#' goodness(newspaper, "Income", c(1 / 3, 2 / 3)) %>% summary("observed") +#' +#' @seealso \code{\link{goodness}} to calculate results +#' @seealso \code{\link{plot.goodness}} to plot results +#' +#' @export +summary.goodness <- function(object, check = "", dec = 2, ...) { + if (is.character(object)) { + return(object) + } + + cat("Goodness of fit test\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (length(object$var) > 0) { + cat("Variable :", object$var, "\n") + } + cat("Specified:", object$p, "\n") + cat("Null hyp.: the distribution of", object$var, "is consistent with the specified distribution\n") + cat("Alt. hyp.: the distribution of", object$var, "is not consistent with the specified distribution\n") + + if ("observed" %in% check) { + cat("\nObserved:\n") + object$cst$observed %>% + (function(x) { + x["Total"] <- sum(x) + x + }) %>% + format(big.mark = ",", scientific = FALSE) %>% + print(quote = FALSE) + } + + if ("expected" %in% check) { + cat("\nExpected: total x p\n") + object$cst$expected %>% + (function(x) { + x["Total"] <- sum(x) + return(x) + }) %>% + round(dec) %>% + format(big.mark = ",", scientific = FALSE) %>% + print(quote = FALSE) + } + + if ("chi_sq" %in% check) { + cat("\nContribution to chi-squared: (o - e)^2 / e\n") + object$cst$chi_sq %>% + (function(x) { + x["Total"] <- sum(x) + return(x) + }) %>% + round(dec) %>% + format(big.mark = ",", scientific = FALSE) %>% + print(quote = FALSE) + } + + if ("dev_std" %in% check) { + cat("\nDeviation standardized: (o - e) / sqrt(e)\n") + print(round(object$cst$residuals, dec)) + } + + object$res <- format_df(object$res, dec = dec + 1, mark = ",") + + if (object$res$p.value < .001) object$res$p.value <- "< .001" + cat(paste0("\nChi-squared: ", object$res$statistic, " df(", object$res$parameter, "), p.value ", object$res$p.value), "\n\n") + cat(paste(sprintf("%.1f", 100 * (object$elow / length(object$cst$expected))), "% of cells have expected values below 5\n"), sep = "") + if (object$elow > 0) cat("p.value for chi-squared statistics obtained using simulation (2,000 replicates)") +} + +#' Plot method for the goodness function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/goodness} for an example in Radiant +#' +#' @param x Return value from \code{\link{goodness}} +#' @param check Show plots for variable var. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), and "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)) +#' @param fillcol Color used for bar plots +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- goodness(newspaper, "Income") +#' plot(result, check = c("observed", "expected", "chi_sq")) +#' goodness(newspaper, "Income") %>% plot(c("observed", "expected")) +#' +#' @seealso \code{\link{goodness}} to calculate results +#' @seealso \code{\link{summary.goodness}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.goodness <- function(x, check = "", fillcol = "blue", + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(x) + } + plot_list <- list() + if (is.empty(check)) check <- "observed" + + if ("observed" %in% check) { + fact_names <- names(x$cst$observed) + tab <- as.data.frame(x$cst$observed, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1] <- x$var + tab[[1]] %<>% factor(levels = fact_names) + tab[["Freq"]] %<>% { + . / sum(.) + } + plot_list[["observed"]] <- + ggplot(tab, aes(x = .data[[x$var]], y = .data$Freq)) + + geom_bar(stat = "identity", alpha = 0.5, fill = fillcol) + + scale_y_continuous(labels = scales::percent) + + labs( + title = paste("Observed frequencies for", x$var), + x = x$var, + y = "" + ) + } + + if ("expected" %in% check) { + fact_names <- names(x$cst$expected) + tab <- as.data.frame(x$cst$expected, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1] <- "Freq" + tab[[x$var]] <- factor(rownames(tab), levels = rownames(tab)) + tab[["Freq"]] %<>% (function(x) x / sum(x)) + plot_list[["expected"]] <- + ggplot(tab, aes(x = .data[[x$var]], y = .data$Freq)) + + geom_bar(stat = "identity", alpha = 0.5, fill = fillcol) + + scale_y_continuous(labels = scales::percent) + + labs( + title = paste("Expected frequencies for", x$var), + x = x$var, + y = "" + ) + } + + if ("chi_sq" %in% check) { + tab <- as.data.frame(x$cst$chi_sq, check.names = FALSE, stringsAsFactors = FALSE) + colnames(tab)[1] <- x$var + plot_list[["chi_sq"]] <- + ggplot(tab, aes(x = .data[[x$var]], y = .data$Freq)) + + geom_bar(stat = "identity", alpha = 0.5, fill = fillcol) + + labs( + title = paste("Contribtion to chi-squared for", x$var), + x = x$var, + y = "" + ) + } + + if ("dev_std" %in% check) { + tab <- as.data.frame(x$cst$residuals, check.names = FALSE, stringsAsFactors = FALSE) + mult <- max(abs(tab$Freq)) / 5 + colnames(tab)[1] <- x$var + plot_list[["dev_std"]] <- + ggplot(tab, aes(x = .data[[x$var]], y = .data$Freq)) + + geom_bar(stat = "identity", position = "dodge", alpha = 0.5, fill = fillcol) + + geom_hline(yintercept = c(-1.96, 1.96, -1.64, 1.64), color = "black", linetype = "longdash", linewidth = .5) + + geom_text(x = 1, y = 2.11, label = "95%", vjust = 0) + + geom_text(x = 1, y = 1.49, label = "90%", vjust = 1) + + labs( + title = paste("Deviation standardized for", x$var), + x = x$var, + y = "" + ) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (shiny) x else print(x)) + } + } +} diff --git a/radiant.basics/R/homo_variance_test.R b/radiant.basics/R/homo_variance_test.R new file mode 100644 index 0000000..30a8aa7 --- /dev/null +++ b/radiant.basics/R/homo_variance_test.R @@ -0,0 +1,86 @@ +############################################ +## Homogeneity of variance test - 空壳版(照抄 single_mean) +############################################ + +# Homogeneity of variance tests for radiant.basics +#' @export +homo_variance_test <- function(dataset, var, group, method = "levene", + conf_lev = .95, data_filter = "", + envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, var, group, filt = data_filter, na.rm = TRUE, envir = envir) + x <- dataset[[var]] + g <- dataset[[group]] + if (!is.numeric(x)) stop(i18n$t("Variable must be numeric")) + if (length(unique(g)) < 2) stop(i18n$t("Grouping variable must have at least 2 levels")) + + ## ---- 空壳结果 ---- + res <- tibble::tribble( + ~Test, ~Statistic, ~p.value, + "Levene", 0.42, 0.52, + "Bartlett", 0.38, 0.54, + "Fligner", 0.45, 0.50 + ) + + dat_summary <- dataset %>% + group_by(!!sym(group)) %>% + summarise( + n = n(), + mean = mean(!!sym(var), na.rm = TRUE), + sd = sd(!!sym(var), na.rm = TRUE), + .groups = "drop" + ) + + ## 绘图数据 + plot_obj <- list(hist = list(type = "hist", data = dataset, var = var, group = group), + density = list(type = "density", data = dataset, var = var, group = group), + boxplot = list(type = "boxplot", data = dataset, var = var, group = group)) + + as.list(environment()) %>% add_class("homo_variance_test") +} + +# Summary method +#' @export +summary.homo_variance_test <- function(object, dec = 3, ...) { + cat("Homogeneity of variance tests\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variable :", object$var, "\n") + cat("Group :", object$group, "\n\n") + + ## 打印统计量表 + object$res %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec) %>% + print(row.names = FALSE) + cat("\n") +} + +# Plot method +#' @export +plot.homo_variance_test <- function(x, plots = c("boxplot", "density"), + shiny = FALSE, custom = FALSE, ...) { + plot_list <- list() + if ("boxplot" %in% plots) { + plot_list[[which("boxplot" == plots)]] <- + ggplot(x$dat_summary, aes(x = .data[[x$group]], y = .data[[x$var]])) + + geom_boxplot(fill = "lightblue", alpha = 0.7) + } + if ("density" %in% plots) { + plot_list[[which("density" == plots)]] <- + ggplot(x$dat_summary, aes(x = .data[[x$var]], fill = .data[[x$group]])) + + geom_density(alpha = 0.5) + } + if ("hist" %in% plots) { + plot_list[[which("hist" == plots)]] <- + ggplot(x$dat_summary, aes(x = .data[[x$var]], fill = .data[[x$group]])) + + geom_histogram(alpha = 0.5, position = "identity", bins = 30) + } + + if (length(plot_list) == 0) return(invisible()) + patchwork::wrap_plots(plot_list, ncol = 1) %>% + { if (shiny) print(.) else print(.) } + invisible(x) +} \ No newline at end of file diff --git a/radiant.basics/R/normality_test.R b/radiant.basics/R/normality_test.R new file mode 100644 index 0000000..be9e11f --- /dev/null +++ b/radiant.basics/R/normality_test.R @@ -0,0 +1,86 @@ +############################################ +## Normality test +############################################ + +# Batch normality tests for radiant.basics +# +#' @export +normality_test <- function(dataset, var, method = "shapiro", + conf_lev = .95, data_filter = "", + envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, var, filt = data_filter, na.rm = TRUE, envir = envir) + x <- dataset[[var]] + if (!is.numeric(x)) stop(i18n$t("Variable must be numeric")) + + ## ---- 空壳结果 ---- + res <- tibble::tribble( + ~Test, ~Statistic, ~p.value, + "Shapiro-Wilk", 0.99, 0.12, + "Kolmogorov-Smirnov", 0.05, 0.30, + "Anderson-Darling", 0.80, 0.25 + ) + + dat_summary <- tibble::tribble( + ~mean, ~n, ~n_missing, ~sd, ~se, + mean(x, na.rm = TRUE), length(x), sum(is.na(x)), sd(x, na.rm = TRUE), sd(x, na.rm = TRUE)/sqrt(length(x)) + ) + + ## 绘图数据 + plot_obj <- list(qq = list(type = "qq", data = x), + hist = list(type = "hist", data = x), + pp = list(type = "pp", data = x), + density = list(type = "density", data = x)) + + as.list(environment()) %>% add_class("normality_test") +} + +# Summary method +#' @export +summary.normality_test <- function(object, dec = 3, ...) { + cat("Normality tests\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variable :", object$var, "\n\n") + + ## 打印统计量表 + object$res %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec) %>% + print(row.names = FALSE) + cat("\n") +} + +# Plot method +#' @export +plot.normality_test <- function(x, plots = c("qq", "hist"), + shiny = FALSE, custom = FALSE, ...) { + plot_list <- list() + if ("qq" %in% plots) { + plot_list[[which("qq" == plots)]] <- + ggplot(data.frame(y = x$x), aes(sample = y)) + + stat_qq() + stat_qq_line() + } + if ("hist" %in% plots) { + plot_list[[which("hist" == plots)]] <- + ggplot(data.frame(y = x$x), aes(y)) + + geom_histogram(fill = "blue", bins = 30) + } + if ("pp" %in% plots) { + plot_list[[which("pp" == plots)]] <- + ggplot(data.frame(y = x$x), aes(sample = y)) + + stat_pp_band() + stat_pp_line() + stat_pp_point() + } + if ("density" %in% plots) { + plot_list[[which("density" == plots)]] <- + ggplot(data.frame(y = x$x), aes(y)) + + geom_density(fill = "blue", alpha = 0.5) + } + + if (length(plot_list) == 0) return(invisible()) + patchwork::wrap_plots(plot_list, ncol = 1) %>% + { if (shiny) print(.) else print(.) } + invisible(x) +} \ No newline at end of file diff --git a/radiant.basics/R/prob_calc.R b/radiant.basics/R/prob_calc.R new file mode 100644 index 0000000..27ffc8c --- /dev/null +++ b/radiant.basics/R/prob_calc.R @@ -0,0 +1,2463 @@ +#' Probability calculator for the normal distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param mean Mean +#' @param stdev Standard deviation +#' @param lb Lower bound (default is -Inf) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @examples +#' prob_norm(mean = 0, stdev = 1, ub = 0) +#' +#' @seealso \code{\link{summary.prob_norm}} to summarize results +#' @seealso \code{\link{plot.prob_norm}} to plot results +#' +#' @export +prob_norm <- function(mean, stdev, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + p_ub <- pnorm(ub, mean, stdev) + p_lb <- pnorm(lb, mean, stdev) + p_int <- max(p_ub - p_lb, 0) %>% round(dec) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qnorm(pub, mean, stdev) %>% round(dec) + v_lb <- qnorm(plb, mean, stdev) %>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_norm") +} + +#' Plot method for the probability calculator (normal) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_norm}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- prob_norm(mean = 0, stdev = 1, ub = 0) +#' plot(result) +#' +#' @seealso \code{\link{prob_norm}} to calculate results +#' @seealso \code{\link{summary.prob_norm}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_norm <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + mean <- x$mean + stdev <- x$stdev + + limits <- c(mean - 3 * stdev, mean + 3 * stdev) + + dnorm_limit <- function(x) { + y <- dnorm(x, mean = mean, sd = stdev) + y[x < lb | x > ub] <- 0 + y + } + + dnorm_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dnorm(x, mean = mean, sd = stdev) + y[x > lb] <- 0 + y + } + + dnorm_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dnorm(x, mean = mean, sd = stdev) + y[x < ub] <- 0 + y + } + + dnorm_lines <- c(ub, lb) %>% na.omit() + if (length(dnorm_lines) == 0) dnorm_lines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(data.frame(x = limits), aes(x = .data$x)) + + stat_function(fun = stats::dnorm, args = list(mean = mean, sd = stdev)) + + stat_function(fun = dnorm_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dnorm_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dnorm_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = dnorm_lines, color = "black", linetype = "dashed", linewidth = .5) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (normal) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_norm}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- prob_norm(mean = 0, stdev = 1, ub = 0) +#' summary(result) +#' +#' @seealso \code{\link{prob_norm}} to calculate results +#' @seealso \code{\link{plot.prob_norm}} to plot results +#' +#' @export +summary.prob_norm <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Normal\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Mean :", round(mean, dec), "\n") + cat("St. dev :", round(stdev, dec), "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "-Inf" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the log normal distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param meanlog Mean of the distribution on the log scale +#' @param sdlog Standard deviation of the distribution on the log scale +#' @param lb Lower bound (default is -Inf) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_lnorm}} to summarize results +#' @seealso \code{\link{plot.prob_lnorm}} to plot results +#' +#' @examples +#' prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) +#' +#' @export +prob_lnorm <- function(meanlog, sdlog, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + p_ub <- plnorm(ub, meanlog, sdlog) + p_lb <- plnorm(lb, meanlog, sdlog) + p_int <- max(p_ub - p_lb, 0) %>% round(dec) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qlnorm(pub, meanlog, sdlog) %>% round(dec) + v_lb <- qlnorm(plb, meanlog, sdlog) %>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_lnorm") +} + +#' Plot method for the probability calculator (log normal) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_norm}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_lnorm}} to calculate results +#' @seealso \code{\link{plot.prob_lnorm}} to plot results +#' +#' @examples +#' result <- prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_lnorm <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + meanlog <- x$meanlog + sdlog <- x$sdlog + + # limits <- c(meanlog - 3 * sdlog, meanlog + 3 * sdlog) + limits <- c(0, meanlog + ub * sdlog) + + dlnorm_limit <- function(x) { + y <- dlnorm(x, meanlog = meanlog, sdlog = sdlog) + y[x < lb | x > ub] <- 0 + y + } + + dlnorm_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dlnorm(x, meanlog = meanlog, sdlog = sdlog) + y[x > lb] <- 0 + y + } + + dlnorm_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dlnorm(x, meanlog = meanlog, sdlog = sdlog) + y[x < ub] <- 0 + y + } + + dlnorm_lines <- c(ub, lb) %>% na.omit() + if (length(dlnorm_lines) == 0) dlnorm_lines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(data.frame(x = limits), aes(x = .data$x)) + + stat_function(fun = stats::dlnorm, args = list(meanlog = meanlog, sdlog = sdlog)) + + stat_function(fun = dlnorm_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dlnorm_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dlnorm_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = dlnorm_lines, color = "black", linetype = "dashed", linewidth = .5) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (log normal) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_norm}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_lnorm}} to calculate results +#' @seealso \code{\link{plot.prob_lnorm}} to summarize results +#' +#' @examples +#' result <- prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) +#' summary(result, type = "values") +#' +#' @export +summary.prob_lnorm <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Log normal\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Mean log :", round(meanlog, dec), "\n") + cat("St. dev log :", round(sdlog, dec), "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "-Inf" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat(paste0("Lower bound : ", if (plb < 0) "0" else plb, " (", v_lb, ")\n")) + cat(paste0("Upper bound : ", if (pub > 1) "1" else pub, " (", v_ub, ")\n")) + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the t-distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param df Degrees of freedom +#' @param lb Lower bound (default is -Inf) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_tdist}} to summarize results +#' @seealso \code{\link{plot.prob_tdist}} to plot results +#' +#' @examples +#' prob_tdist(df = 10, ub = 2.228) +#' +#' @export +prob_tdist <- function(df, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + p_ub <- pt(ub, df) + p_lb <- pt(lb, df) + p_int <- max(p_ub - p_lb, 0) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + p_int %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qt(pub, df) + v_lb <- qt(plb, df) + + v_ub %<>% round(dec) + v_lb %<>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_tdist") +} + +#' Plot method for the probability calculator (t-distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_tdist}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_tdist}} to calculate results +#' @seealso \code{\link{summary.prob_tdist}} to summarize results +#' +#' @examples +#' result <- prob_tdist(df = 10, ub = 2.228) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_tdist <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + df <- x$df + + limits <- c(-3, 3) + dt_limit <- function(x) { + y <- dt(x, df = df) + y[x < lb | x > ub] <- 0 + y + } + + dt_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dt(x, df = df) + y[x > lb] <- 0 + y + } + + dt_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dt(x, df = df) + y[x < ub] <- 0 + y + } + + dt_lines <- c(ub, lb) %>% na.omit() + if (length(dt_lines) == 0) dt_lines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(data.frame(x = limits), aes(x = .data$x)) + + stat_function(fun = stats::dt, args = list(df = df)) + + stat_function(fun = dt_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dt_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dt_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = dt_lines, color = "black", linetype = "dashed", linewidth = .5) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (t-distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_tdist}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_tdist}} to calculate results +#' @seealso \code{\link{plot.prob_tdist}} to plot results +#' +#' @examples +#' result <- prob_tdist(df = 10, ub = 2.228) +#' summary(result, type = "values") +#' +#' @export +summary.prob_tdist <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: t\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + n <- df + 1 + cat("Df :", df, "\n") + cat("Mean :", 0, "\n") + cat("St. dev :", ifelse(n > 2, round(n / (n - 2), dec), "NA"), "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "-Inf" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the F-distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param df1 Degrees of freedom +#' @param df2 Degrees of freedom +#' @param lb Lower bound (default is 0) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_fdist}} to summarize results +#' @seealso \code{\link{plot.prob_fdist}} to plot results +#' +#' @examples +#' prob_fdist(df1 = 10, df2 = 10, ub = 2.978) +#' +#' @export +prob_fdist <- function(df1, df2, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + if (!is_not(lb) && lb < 0) lb <- 0 + if (!is_not(ub) && ub < 0) ub <- 0 + + p_ub <- pf(ub, df1, df2) + p_lb <- pf(lb, df1, df2) + p_int <- max(p_ub - p_lb, 0) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + p_int %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qf(pub, df1, df2) + v_lb <- qf(plb, df1, df2) + + v_ub %<>% round(dec) + v_lb %<>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_fdist") +} + +#' Plot method for the probability calculator (F-distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_fdist}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_fdist}} to calculate results +#' @seealso \code{\link{summary.prob_fdist}} to summarize results +#' +#' @examples +#' result <- prob_fdist(df1 = 10, df2 = 10, ub = 2.978) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_fdist <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + df1 <- x$df1 + df2 <- x$df2 + + limits <- c( + floor(qf(0.01, df1 = df1, df2 = df2)), + ceiling(qf(1 - 0.01, df1 = df1, df2 = df2)) + ) + + dat <- data.frame( + x = limits, + Probability = df(limits, df1 = df1, df2 = df2), + df1 = df1, + df2 = df2, + stringsAsFactors = FALSE + ) + + df_line <- function(x) df(x, df1 = df1, df2 = df2) + + df_limit <- function(x) { + y <- df(x, df1 = df1, df2 = df2) + y[x < lb | x > ub] <- 0 + y + } + + df_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- df(x, df1 = df1, df2 = df2) + y[x > lb] <- 0 + y + } + + df_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- df(x, df1 = df1, df2 = df2) + y[x < ub] <- 0 + y + } + + vlines <- c(ub, lb) %>% na.omit() + if (length(vlines) == 0) vlines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(dat, aes(x = .data$x)) + + stat_function(fun = df_line, geom = "line") + + stat_function(fun = df_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = df_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = df_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = vlines, color = "black", linetype = "dashed", linewidth = 0.5) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (F-distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_fdist}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_fdist}} to calculate results +#' @seealso \code{\link{plot.prob_fdist}} to plot results +#' +#' @examples +#' result <- prob_fdist(df1 = 10, df2 = 10, ub = 2.978) +#' summary(result, type = "values") +#' +#' @export +summary.prob_fdist <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: F\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Df 1 :", df1, "\n") + cat("Df 2 :", df2, "\n") + m <- if (df2 > 2) round(df2 / (df2 - 2), dec) else "NA" + variance <- if (df2 > 4) { + round((2 * df2^2 * (df1 + df2 - 2)) / (df1 * (df2 - 2)^2 * (df2 - 4)), dec) + } else { + "NA" + } + cat("Mean :", m, "\n") + cat("Variance :", variance, "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "0" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the chi-squared distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param df Degrees of freedom +#' @param lb Lower bound (default is 0) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_chisq}} to summarize results +#' @seealso \code{\link{plot.prob_chisq}} to plot results +#' +#' @examples +#' prob_chisq(df = 1, ub = 3.841) +#' +#' @export +prob_chisq <- function(df, lb = NA, ub = NA, plb = NA, + pub = NA, dec = 3) { + if (!is_not(lb) && lb < 0) lb <- 0 + if (!is_not(ub) && ub < 0) ub <- 0 + + p_ub <- pchisq(ub, df) + p_lb <- pchisq(lb, df) + p_int <- max(p_ub - p_lb, 0) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + p_int %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qchisq(pub, df) + v_lb <- qchisq(plb, df) + + v_ub %<>% round(dec) + v_lb %<>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_chisq") +} + +#' Plot method for the probability calculator (Chi-squared distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_chisq}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_chisq}} to calculate results +#' @seealso \code{\link{summary.prob_chisq}} to summarize results +#' +#' @examples +#' result <- prob_chisq(df = 1, ub = 3.841) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_chisq <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + df <- x$df + + limits <- c( + floor(qchisq(0.001, df = df)), + ceiling(qchisq(1 - 0.001, df = df)) + ) + + dat <- data.frame( + x = limits, + Probability = dchisq(limits, df = df), + df = df, + stringsAsFactors = FALSE + ) + + dchisq_limit <- function(x) { + y <- dchisq(x, df = df) + y[x < lb | x > ub] <- 0 + y + } + + dchisq_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dchisq(x, df = df) + y[x > lb] <- 0 + y + } + + dchisq_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dchisq(x, df = df) + y[x < ub] <- 0 + y + } + + vlines <- c(ub, lb) %>% na.omit() + if (length(vlines) == 0) vlines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(dat, aes(x = .data$x)) + + stat_function(fun = stats::dchisq, args = list(df = df)) + + stat_function(fun = dchisq_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dchisq_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dchisq_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = vlines, color = "black", linetype = "dashed", linewidth = 0.5) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (Chi-squared distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_chisq}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_chisq}} to calculate results +#' @seealso \code{\link{plot.prob_chisq}} to plot results +#' +#' @examples +#' result <- prob_chisq(df = 1, ub = 3.841) +#' summary(result, type = "values") +#' +#' @export +summary.prob_chisq <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Chi-squared\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Df :", df, "\n") + cat("Mean :", df, "\n") + cat("Variance :", 2 * df, "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "0" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the uniform distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param min Minimum value +#' @param max Maximum value +#' @param lb Lower bound (default = 0) +#' @param ub Upper bound (default = 1) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_unif}} to summarize results +#' @seealso \code{\link{plot.prob_unif}} to plot results +#' +#' @examples +#' prob_unif(min = 0, max = 1, ub = 0.3) +#' +#' @export +prob_unif <- function(min, max, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + if (min > max) { + mess_values <- "\nThe maximum value must be larger than the minimum value" + mess_probs <- "\nThe maximum value must be larger than the minimum value" + } + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + p_ub <- punif(ub, min, max) + p_lb <- punif(lb, min, max) + p_int <- max(p_ub - p_lb, 0) %>% round(dec) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qunif(pub, min, max) %>% round(dec) + v_lb <- qunif(plb, min, max) %>% round(dec) + + mean <- (max + min) / 2 + stdev <- sqrt((max - min)^2 / 12) + + as.list(environment()) %>% add_class("prob_unif") +} + +#' Plot method for the probability calculator (uniform) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_unif}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_unif}} to calculate results +#' @seealso \code{\link{summary.prob_unif}} to summarize results +#' +#' @examples +#' result <- prob_unif(min = 0, max = 1, ub = 0.3) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_unif <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + min <- x$min + max <- x$max + + if (min > max) { + return(" ") + } + + limits <- c(min, max) + dunif_limit <- function(x) { + y <- dunif(x, min = min, max = max) + y[x < lb | x > ub] <- 0 + y + } + + dunif_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dunif(x, min = min, max = max) + y[x > lb] <- 0 + y + } + + dunif_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dunif(x, min = min, max = max) + y[x < ub] <- 0 + y + } + + dunif_lines <- c(ub, lb) %>% + na.omit() %>% + base::setdiff(c(min, max)) + if (length(dunif_lines) == 0) dunif_lines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- data.frame(x = limits, y = dunif(limits, limits[1], limits[2]), lb = lb, ub = ub) %>% + ggplot(aes(x = .data$x)) + + stat_function(fun = dunif_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dunif_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dunif_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = dunif_lines, color = "black", linetype = "dashed", linewidth = 0.5) + + geom_segment(aes(x = x[1], y = 0, xend = x[1], yend = y[1])) + + geom_segment(aes(x = x[2], y = 0, xend = x[2], yend = y[2])) + + geom_segment(aes(x = x[1], y = y[1], xend = x[2], yend = y[2])) + + labs(x = "", y = "") + + sshhr(plt) +} + +#' Summary method for the probability calculator (uniform) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_unif}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_unif}} to calculate results +#' @seealso \code{\link{plot.prob_unif}} to plot results +#' +#' @examples +#' result <- prob_unif(min = 0, max = 1, ub = 0.3) +#' summary(result, type = "values") +#' +#' @export +summary.prob_unif <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Uniform\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Min :", min, "\n") + cat("Max :", max, "\n") + if (max > min) { + cat("Mean :", round(mean, dec), "\n") + cat("St. dev :", round(stdev, dec), "\n") + } + + if (type == "values") { + cat("Lower bound :", ifelse(is.na(lb), min, lb), "\n") + cat("Upper bound :", ifelse(is.na(ub), max, ub), "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the binomial distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param n Number of trials +#' @param p Probability +#' @param lb Lower bound on the number of successes +#' @param ub Upper bound on the number of successes +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_binom}} to summarize results +#' @seealso \code{\link{plot.prob_binom}} to plot results +#' +#' @examples +#' prob_binom(n = 10, p = 0.3, ub = 3) +#' +#' @export +prob_binom <- function(n, p, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + + ## making sure n is integer + n <- as_integer(n) + + if (!is_not(lb) && lb < 0) lb <- 0 + if (!is_not(ub) && ub < 0) ub <- 0 + + if (is.na(lb) || lb < 0) { + p_elb <- p_lb <- lb <- NA + } else { + lb <- as_integer(lb) + if (lb > n) lb <- n + p_elb <- dbinom(lb, n, p) %>% round(dec) + p_lelb <- pbinom(lb, n, p) %>% round(dec) + if (lb > 0) { + p_lb <- sum(dbinom(0:max((lb - 1), 0), n, p)) %>% round(dec) + } else { + p_lb <- 0 + } + } + + if (is.na(ub) || ub < 0) { + p_eub <- p_ub <- ub <- NA + } else { + ub <- as_integer(ub) + if (ub > n) ub <- n + p_eub <- dbinom(ub, n, p) %>% round(dec) + p_leub <- pbinom(ub, n, p) %>% round(dec) + if (ub > 0) { + p_ub <- sum(dbinom(0:max((ub - 1), 0), n, p)) %>% round(dec) + } else { + p_ub <- 0 + } + } + + if (!is.na(ub) && !is.na(lb)) { + p_int <- sum(dbinom(lb:ub, n, p)) %>% + max(0) %>% + round(dec) + } else { + p_int <- NA + } + + if (is.na(plb)) { + vlb <- NA + } else { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + vlb <- qbinom(plb, n, p) + + vp_elb <- dbinom(vlb, n, p) %>% round(dec) + vp_lelb <- pbinom(vlb, n, p) %>% round(dec) + if (vlb > 0) { + vp_lb <- sum(dbinom(0:max((vlb - 1), 0), n, p)) %>% round(dec) + } else { + vp_lb <- 0 + } + } + + if (is.na(pub)) { + vub <- NA + } else { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + vub <- qbinom(pub, n, p) + + vp_eub <- dbinom(vub, n, p) %>% round(dec) + vp_leub <- pbinom(vub, n, p) %>% round(dec) + if (vub > 0) { + vp_ub <- sum(dbinom(0:max((vub - 1), 0), n, p)) %>% round(dec) + } else { + vp_ub <- 0 + } + } + + if (!is.na(pub) && !is.na(plb)) { + vp_int <- sum(dbinom(vlb:vub, n, p)) %>% + max(0) %>% + round(dec) + } else { + vp_int <- NA + } + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(vlb) && !is.na(vub)) { + if (vlb > vub) { + plb <- pub <- vlb <- vub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_binom") +} + + +make_colors_discrete <- function(ub, lb, x_range) { + colors <- factor(rep("blue", length(x_range)), levels = c("red", "green", "blue")) + if (!is.na(lb) & !is.na(ub)) { + colors[x_range == lb | x_range == ub] <- "green" + colors[x_range > lb & x_range < ub] <- "blue" + colors[x_range > ub | x_range < lb] <- "red" + } else if (!is.na(lb)) { + if (lb %in% x_range) colors[x_range == lb] <- "green" + colors[x_range > lb] <- "blue" + colors[x_range < lb] <- "red" + } else if (!is.na(ub)) { + if (ub %in% x_range) colors[x_range == ub] <- "green" + colors[x_range > ub] <- "red" + colors[x_range < ub] <- "blue" + } else { + colors[1:length(colors)] <- "blue" + } + return(colors) +} + +make_bar_plot <- function(ub, lb, x_range, y_range) { + colors <- make_colors_discrete(ub, lb, x_range) + dat <- data.frame(x_range = x_range, y_range = y_range, colors = colors) + + if (nrow(dat) < 40) { + # makes sure each bar has a label + dat <- dat %>% mutate(x_range = factor(x_range)) + } + + cols <- c(red = "red", green = "green", blue = "blue") + plt <- ggplot(dat, aes(x = .data$x_range, y = .data$y_range, fill = .data$colors)) + + geom_bar(stat = "identity", alpha = 0.5) + + labs(x = "", y = "Probability") + + scale_fill_manual(values = cols) + + theme(legend.position = "none") + + sshhr(plt) +} + +#' Plot method for the probability calculator (binomial) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_binom}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +# +#' @seealso \code{\link{prob_binom}} to calculate results +#' @seealso \code{\link{summary.prob_binom}} to summarize results +#' +#' @examples +#' result <- prob_binom(n = 10, p = 0.3, ub = 3) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_binom <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$vlb + ub <- x$vub + } + + n <- x$n + p <- x$p + + limits <- 0:n + dat <- data.frame( + x_range = limits, + y_range = dbinom(limits, size = n, prob = p), + stringsAsFactors = FALSE + ) %>% + filter(., .$y_range > 0.00001) + + make_bar_plot(ub, lb, dat$x_range, dat$y_range) +} + +#' Summary method for the probability calculator (binomial) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_binom}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_binom}} to calculate results +#' @seealso \code{\link{plot.prob_binom}} to plot results +#' +#' @examples +#' result <- prob_binom(n = 10, p = 0.3, ub = 3) +#' summary(result, type = "values") +#' +#' @export +summary.prob_binom <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Binomial\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("n :", n, "\n") + cat("p :", p, "\n") + cat("Mean :", round(n * p, dec), "\n") + cat("St. dev :", sqrt(n * p * (1 - p)) %>% round(dec), "\n") + + if (type == "values") { + cat("Lower bound :", ifelse(is.na(lb), "", lb), "\n") + cat("Upper bound :", ifelse(is.na(ub), "", ub), "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X = ", lb, ") = ", p_elb, "\n")) + if (lb > 0) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X <= ", lb, ") = ", p_lelb, "\n")) + } + if (lb < n) { + cat(paste0("P(X > ", lb, ") = ", round(1 - (p_lb + p_elb), dec), "\n")) + cat(paste0("P(X >= ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + } + + if (!is.na(ub)) { + cat(paste0("P(X = ", ub, ") = ", p_eub, "\n")) + if (ub > 0) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X <= ", ub, ") = ", p_leub, "\n")) + } + if (ub < n) { + cat(paste0("P(X > ", ub, ") = ", round(1 - (p_ub + p_eub), dec), "\n")) + cat(paste0("P(X >= ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " <= X <= ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " <= X <= ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + cat("Lower bound :", if (is.na(plb)) "\n" else paste0(plb, " (", vlb, ")\n")) + cat("Upper bound :", if (is.na(pub)) "\n" else paste0(pub, " (", vub, ")\n")) + + if (!is.na(pub) || !is.na(plb)) { + cat("\n") + + if (!is.na(plb)) { + cat(paste0("P(X = ", vlb, ") = ", vp_elb, "\n")) + if (vlb > 0) { + cat(paste0("P(X < ", vlb, ") = ", vp_lb, "\n")) + cat(paste0("P(X <= ", vlb, ") = ", vp_lelb, "\n")) + } + if (vlb < n) { + cat(paste0("P(X > ", vlb, ") = ", round(1 - (vp_lb + vp_elb), dec), "\n")) + cat(paste0("P(X >= ", vlb, ") = ", round(1 - vp_lb, dec), "\n")) + } + } + + if (!is.na(pub)) { + cat(paste0("P(X = ", vub, ") = ", vp_eub, "\n")) + if (vub > 0) { + cat(paste0("P(X < ", vub, ") = ", vp_ub, "\n")) + cat(paste0("P(X <= ", vub, ") = ", vp_leub, "\n")) + } + if (vub < n) { + cat(paste0("P(X > ", vub, ") = ", round(1 - (vp_ub + vp_eub), dec), "\n")) + cat(paste0("P(X >= ", vub, ") = ", round(1 - vp_ub, dec), "\n")) + } + } + + if (!is.na(plb) && !is.na(pub)) { + cat(paste0("P(", vlb, " <= X <= ", vub, ") = ", vp_int, "\n")) + cat(paste0("1 - P(", vlb, " <= X <= ", vub, ") = ", round(1 - vp_int, dec), "\n")) + } + } + } +} + +#' Probability calculator for a discrete distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param v Values +#' @param p Probabilities +#' @param lb Lower bound on the number of successes +#' @param ub Upper bound on the number of successes +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_disc}} to summarize results +#' @seealso \code{\link{plot.prob_disc}} to plot results +#' +#' @examples +#' prob_disc(v = 1:6, p = 1 / 6, pub = 0.95) +#' prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) +#' +#' @export +prob_disc <- function(v, p, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + + # Think about adding an "expand.grid" setup so you can run this n times. e.g., rolling multiple dice + # expand.grid(height = 1:6, weight = 1:6) + rex <- "(\\s*,\\s*|\\s*;\\s*|\\s+)" + if (is.character(v)) v <- strsplit(v, rex) %>% unlist() + if (is.character(p)) p <- strsplit(p, rex) %>% unlist() + rm(rex) + + lp <- length(p) + lv <- length(v) + if (lv != lp && lv %% lp == 0) p <- rep(p, lv / lp) + + if (length(v) != length(p)) { + mess <- "The number of values must be the same or a multiple of the number of probabilities" + return(list(mess_probs = mess, mess_values = mess) %>% add_class("prob_disc")) + } + + asNum <- function(x) ifelse(length(x) > 1, as.numeric(x[1]) / as.numeric(x[2]), as.numeric(x[1])) + if (is.character(v)) v <- sshhr(strsplit(v, "/") %>% sapply(asNum)) + if (is.character(p)) p <- sshhr(strsplit(p, "/") %>% sapply(asNum)) + + if (anyNA(p) | anyNA(v)) { + mess <- "The number of probabilities entered must be a multiple of the number of values" + mess <- paste0("Invalid inputs:\n\nv: ", paste0(v, collapse = " "), "\np: ", paste0(p, collapse = " ")) + return(list(mess_probs = mess, mess_values = mess) %>% add_class("prob_disc")) + } + + ## make sure values and probabilities are ordered correctly + df <- data.frame(v = v, p = p, stringsAsFactors = FALSE) %>% + arrange(v) + p <- df$p + v <- df$v + + if (sum(p) < .99 || sum(p) > 1.01) { + mess_probs <- mess_values <- paste0("Probabilities for a discrete variable do not sum to 1 (", round(sum(p), 3), ")") + return(as.list(environment()) %>% add_class("prob_disc")) + } + + ddisc <- function(b, df) filter(df, v == b)$p + pdisc <- function(b, df) filter(df, v < b)$p %>% sum() + ## consistent with http://www.stat.umn.edu/geyer/old/5101/rlook.html#qbinom + qdisc <- function(prob, df) { + mutate(df, p = cumsum(df$p)) %>% + filter(p >= prob) %>% + .$v %>% + min() + } + + if (is.na(lb)) { + p_elb <- p_lb <- lb <- NA + } else if (!lb %in% v) { + p_elb <- 0 + p_lb <- ifelse(lb < min(v), 0, pdisc(lb, df) %>% round(dec)) + p_lelb <- p_elb + p_lb + } else { + p_elb <- ddisc(lb, df) %>% round(dec) + p_lb <- pdisc(lb, df) %>% round(dec) + p_lelb <- p_elb + p_lb + } + + if (is.na(ub)) { + p_eub <- p_ub <- ub <- NA + } else if (!ub %in% v) { + p_eub <- 0 + p_ub <- ifelse(ub < min(v), 0, pdisc(ub, df) %>% round(dec)) + p_leub <- p_eub + p_ub + } else { + p_eub <- ddisc(ub, df) %>% round(dec) + p_ub <- pdisc(ub, df) %>% round(dec) + p_leub <- p_eub + p_ub + } + + if (!is.na(ub) && !is.na(lb)) { + p_int <- p_leub - p_lb + } else { + p_int <- NA + } + + if (is.na(plb)) { + plb <- vlb <- NA + } else if (length(qdisc(plb, df)) == 0) { + mess_probs <- "Lower bound is too low" + return(as.list(environment()) %>% add_class("prob_disc")) + } else { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + vlb <- qdisc(plb, df) + vp_elb <- ddisc(vlb, df) %>% round(dec) + vp_lb <- pdisc(vlb, df) %>% round(dec) + vp_lelb <- vp_elb + vp_lb + } + + if (is.na(pub)) { + pub <- vub <- NA + } else if (length(qdisc(pub, df)) == 0) { + mess_probs <- "Upper bound is too low" + return(as.list(environment()) %>% add_class("prob_disc")) + } else { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + vub <- qdisc(pub, df) + vp_eub <- ddisc(vub, df) %>% round(dec) + vp_ub <- pdisc(vub, df) %>% round(dec) + vp_leub <- vp_eub + vp_ub + } + + if (!is.na(pub) && !is.na(plb)) { + vp_int <- vp_leub - vp_lb + } else { + vp_int <- NA + } + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(vlb) && !is.na(vub)) { + if (vlb > vub || plb > pub) { + plb <- pub <- vlb <- vub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + rm(qdisc, pdisc, ddisc, asNum) + + as.list(environment()) %>% add_class("prob_disc") +} + +#' Plot method for the probability calculator (discrete) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_disc}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_disc}} to calculate results +#' @seealso \code{\link{summary.prob_disc}} to summarize results +#' +#' @examples +#' result <- prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) +#' plot(result, type = "probs") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_disc <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$vlb + ub <- x$vub + } + + make_bar_plot(ub, lb, x$v, x$p) +} + +#' Summary method for the probability calculator (discrete) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_disc}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_disc}} to calculate results +#' @seealso \code{\link{plot.prob_disc}} to plot results +#' +#' @examples +#' result <- prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) +#' summary(result, type = "probs") +#' +#' @export +summary.prob_disc <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution : Discrete\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Values :", paste0(v, collapse = " "), "\n") + cat("Probabilities:", paste0(round(p, dec), collapse = " "), "\n") + m <- sum(v * p) + std <- sqrt(sum(p * (v - m)^2)) + cat("Mean :", round(m, dec), "\n") + cat("St. dev :", round(std, dec), "\n") + + if (type == "values") { + cat("Lower bound :", ifelse(is.na(lb), "", lb), "\n") + cat("Upper bound :", ifelse(is.na(ub), "", ub), "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X = ", lb, ") = ", p_elb, "\n")) + if (lb > min(v)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X <= ", lb, ") = ", p_lelb, "\n")) + } + if (lb < max(v)) { + cat(paste0("P(X > ", lb, ") = ", round(1 - (p_lb + p_elb), dec), "\n")) + cat(paste0("P(X >= ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + } + + if (!is.na(ub)) { + cat(paste0("P(X = ", ub, ") = ", p_eub, "\n")) + if (ub > min(v)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X <= ", ub, ") = ", p_leub, "\n")) + } + if (ub < max(v)) { + cat(paste0("P(X > ", ub, ") = ", round(1 - (p_ub + p_eub), dec), "\n")) + cat(paste0("P(X >= ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " <= X <= ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " <= X <= ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + cat("Lower bound :", if (is.na(plb)) "\n" else paste0(plb, " (", vlb, ")\n")) + cat("Upper bound :", if (is.na(pub)) "\n" else paste0(pub, " (", vub, ")\n")) + + if (!is.na(pub) || !is.na(plb)) { + cat("\n") + + if (!is.na(plb)) { + cat(paste0("P(X = ", vlb, ") = ", vp_elb, "\n")) + if (vlb > min(v)) { + cat(paste0("P(X < ", vlb, ") = ", vp_lb, "\n")) + cat(paste0("P(X <= ", vlb, ") = ", vp_lelb, "\n")) + } + if (vlb < max(v)) { + cat(paste0("P(X > ", vlb, ") = ", round(1 - (vp_lb + vp_elb), dec), "\n")) + cat(paste0("P(X >= ", vlb, ") = ", round(1 - vp_lb, dec), "\n")) + } + } + + if (!is.na(pub)) { + cat(paste0("P(X = ", vub, ") = ", vp_eub, "\n")) + if (vub > min(v)) { + cat(paste0("P(X < ", vub, ") = ", vp_ub, "\n")) + cat(paste0("P(X <= ", vub, ") = ", vp_leub, "\n")) + } + if (vub < max(v)) { + cat(paste0("P(X > ", vub, ") = ", round(1 - (vp_ub + vp_eub), dec), "\n")) + cat(paste0("P(X >= ", vub, ") = ", round(1 - vp_ub, dec), "\n")) + } + } + + if (!is.na(plb) && !is.na(pub)) { + cat(paste0("P(", vlb, " <= X <= ", vub, ") = ", vp_int, "\n")) + cat(paste0("1 - P(", vlb, " <= X <= ", vub, ") = ", round(1 - vp_int, dec), "\n")) + } + } + } +} + +#' Probability calculator for the exponential distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param rate Rate +#' @param lb Lower bound (default is 0) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_expo}} to summarize results +#' @seealso \code{\link{plot.prob_expo}} to plot results +#' +#' @examples +#' prob_expo(rate = 1, ub = 2.996) +#' +#' @export +prob_expo <- function(rate, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + if (!is_not(lb) && lb < 0) lb <- 0 + if (!is_not(ub) && ub < 0) ub <- 0 + + p_ub <- pexp(ub, rate) + p_lb <- pexp(lb, rate) + p_int <- max(p_ub - p_lb, 0) + + p_ub %<>% round(dec) + p_lb %<>% round(dec) + p_int %<>% round(dec) + + if (!is.na(pub)) { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + } + + if (!is.na(plb)) { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + } + + v_ub <- qexp(pub, rate) %>% round(dec) + v_lb <- qexp(plb, rate) %>% round(dec) + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(plb) && !is.na(pub)) { + if (plb > pub) { + plb <- pub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + as.list(environment()) %>% add_class("prob_expo") +} + +#' Plot method for the probability calculator (Exponential distribution) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_expo}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_expo}} to calculate results +#' @seealso \code{\link{summary.prob_expo}} to summarize results +#' +#' @examples +#' result <- prob_expo(rate = 1, ub = 2.996) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_expo <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$v_lb + ub <- x$v_ub + } + + rate <- x$rate + + limits <- c( + floor(qexp(0.001, rate = rate)), + ceiling(qexp(1 - 0.001, rate = rate)) + ) + + dat <- data.frame( + x = limits, + Probability = dexp(limits, rate = rate), + rate = rate, + stringsAsFactors = FALSE + ) + + dexp_limit <- function(x) { + y <- dexp(x, rate = rate) + y[x < lb | x > ub] <- 0 + y + } + + dexp_lb <- function(x) { + if (is.na(lb)) { + return(0) + } + y <- dexp(x, rate = rate) + y[x > lb] <- 0 + y + } + + dexp_ub <- function(x) { + if (is.na(ub)) { + return(0) + } + y <- dexp(x, rate = rate) + y[x < ub] <- 0 + y + } + + vlines <- c(ub, lb) %>% na.omit() + if (length(vlines) == 0) vlines <- c(-Inf, Inf) + + ## based on https://rstudio-pubs-static.s3.amazonaws.com/58753_13e35d9c089d4f55b176057235778679.html + ## and R Graphics Cookbook + plt <- ggplot(dat, aes(x = .data$x)) + + stat_function(fun = stats::dexp, args = list(rate = rate)) + + stat_function(fun = dexp_limit, geom = "area", fill = "blue", alpha = 0.5, n = 501) + + stat_function(fun = dexp_lb, geom = "area", fill = "red", alpha = 0.5, n = 501) + + stat_function(fun = dexp_ub, geom = "area", fill = "red", alpha = 0.5, n = 501) + + geom_vline(xintercept = vlines, color = "black", linetype = "dashed", linewidth = 0.5) + + labs(x = "", y = "") + + sshhr(plt) +} + + +#' Summary method for the probability calculator (exponential) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_expo}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_expo}} to calculate results +#' @seealso \code{\link{plot.prob_expo}} to plot results +#' +#' @examples +#' result <- prob_expo(rate = 1, ub = 2.996) +#' summary(result, type = "values") +#' +#' @export +summary.prob_expo <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Exponential\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Rate :", rate, "\n") + cat("Mean :", round(1 / rate, dec), "\n") + cat("Variance :", round(rate^-2, dec), "\n") + + if (type == "values") { + cat("Lower bound :", if (is.na(lb)) "0" else lb, "\n") + cat("Upper bound :", if (is.na(ub)) "Inf" else ub, "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X > ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X > ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " < X < ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " < X < ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + pub <- if (is.na(pub)) 2 else pub + plb <- if (is.na(plb)) -1 else plb + + cat("Lower bound :", if (plb < 0) "0" else plb, "\n") + cat("Upper bound :", if (pub > 1) "1" else pub, "\n") + + if (pub <= 1 || plb >= 0) { + cat("\n") + + if (plb >= 0) { + cat(paste0("P(X < ", v_lb, ") = ", plb, "\n")) + cat(paste0("P(X > ", v_lb, ") = ", round(1 - plb, dec), "\n")) + } + + if (pub <= 1) { + cat(paste0("P(X < ", v_ub, ") = ", pub, "\n")) + cat(paste0("P(X > ", v_ub, ") = ", round(1 - pub, dec), "\n")) + } + + if (pub <= 1 && plb >= 0) { + cat(paste0("P(", v_lb, " < X < ", v_ub, ") = ", pub - plb, "\n")) + cat(paste0("1 - P(", v_lb, " < X < ", v_ub, ") = ", round(1 - (pub - plb), dec), "\n")) + } + } + } +} + +#' Probability calculator for the poisson distribution +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param lambda Rate +#' @param lb Lower bound (default is 0) +#' @param ub Upper bound (default is Inf) +#' @param plb Lower probability bound +#' @param pub Upper probability bound +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{summary.prob_pois}} to summarize results +#' @seealso \code{\link{plot.prob_pois}} to plot results +#' +#' @examples +#' prob_pois(lambda = 1, ub = 3) +#' +#' @export +prob_pois <- function(lambda, lb = NA, ub = NA, + plb = NA, pub = NA, dec = 3) { + if (lambda <= 0) mess_values <- "\nLambda must be positive" + + if (!is_not(lb) && lb < 0) lb <- 0 + if (!is_not(ub) && ub < 0) ub <- 0 + + if (is.na(lb) || lb < 0) { + p_elb <- p_lb <- lb <- NA + } else { + p_elb <- dpois(lb, lambda) %>% round(dec) + p_lelb <- ppois(lb, lambda) %>% round(dec) + if (lb > 0) { + p_lb <- (ppois(lb, lambda) - dpois(lb, lambda)) %>% round(dec) + } else { + p_lb <- 0 + } + } + + if (is.na(ub) || ub < 0) { + p_eub <- p_ub <- ub <- NA + } else { + p_eub <- dpois(ub, lambda) %>% round(dec) + p_leub <- ppois(ub, lambda) %>% round(dec) + if (ub > 0) { + p_ub <- (ppois(ub, lambda) - dpois(ub, lambda)) %>% round(dec) + } else { + p_ub <- 0 + } + } + + if (!is.na(ub) && !is.na(lb)) { + p_int <- sum(dpois(lb:ub, lambda)) %>% + max(0) %>% + round(dec) + } else { + p_int <- NA + } + + if (is.na(plb)) { + vlb <- NA + } else { + if (plb > 1) plb <- 1 + if (plb < 0) plb <- 0 + vlb <- qpois(plb, lambda) + + vp_elb <- dpois(vlb, lambda) %>% round(dec) + vp_lelb <- ppois(vlb, lambda) %>% round(dec) + if (vlb > 0) { + vp_lb <- (ppois(vlb, lambda) - dpois(vlb, lambda)) %>% round(dec) + } else { + vp_lb <- 0 + } + } + + if (is.na(pub)) { + vub <- NA + } else { + if (pub > 1) pub <- 1 + if (pub < 0) pub <- 0 + vub <- qpois(pub, lambda) + + vp_eub <- dpois(vub, lambda) %>% round(dec) + vp_leub <- ppois(vub, lambda) %>% round(dec) + if (vub > 0) { + vp_ub <- (ppois(vub, lambda) - dpois(vub, lambda)) %>% round(dec) + } else { + vp_ub <- 0 + } + } + + if (!is.na(lb) && !is.na(ub)) { + if (lb > ub) { + lb <- ub <- NA + mess_values <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(vlb) && !is.na(vub)) { + if (vlb > vub || plb > pub) { + plb <- pub <- vlb <- vub <- NA + mess_probs <- "\nPlease ensure the lower bound is smaller than the upper bound" + } + } + + if (!is.na(pub) && !is.na(plb)) { + vp_int <- sum(dpois(vlb:vub, lambda)) %>% + max(0) %>% + round(dec) + } else { + vp_int <- NA + } + + as.list(environment()) %>% add_class("prob_pois") +} + +#' Plot method for the probability calculator (poisson) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{prob_pois}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_pois}} to calculate results +#' @seealso \code{\link{summary.prob_pois}} to summarize results +#' +#' @examples +#' result <- prob_pois(lambda = 1, ub = 3) +#' plot(result, type = "values") +#' +#' @importFrom rlang .data +#' +#' @export +plot.prob_pois <- function(x, type = "values", ...) { + mess <- paste0("mess_", type) + if (!is.null(x[[mess]])) { + return(" ") + } + + if (type == "values") { + lb <- x$lb + ub <- x$ub + } else { + lb <- x$vlb + ub <- x$vub + } + + lambda <- x$lambda + limits <- 0:(ceiling(qpois(1 - 0.00001, lambda))) + n <- max(limits) + + if (!is.na(lb) && lb > n) { + limits <- 0:lb + n <- lb + } + + if (!is.na(ub) && ub > n) { + limits <- 0:ub + n <- ub + } + + dat <- data.frame( + x_range = limits, + y_range = dpois(limits, lambda), + stringsAsFactors = FALSE + ) %>% filter(., .$y_range > 0.00001) + + make_bar_plot(ub, lb, dat$x_range, dat$y_range) + +} + +#' Summary method for the probability calculator (poisson) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{prob_pois}} +#' @param type Probabilities ("probs") or values ("values") +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{prob_pois}} to calculate results +#' @seealso \code{\link{plot.prob_pois}} to plot results +#' +#' @examples +#' result <- prob_pois(lambda = 1, ub = 3) +#' summary(result, type = "values") +#' +#' @export +summary.prob_pois <- function(object, type = "values", ...) { + cat("Probability calculator\n") + cat("Distribution: Poisson\n") + + mess <- object[[paste0("mess_", type)]] + if (!is.null(mess)) { + return(mess) + } + env <- environment() + ret <- sapply(names(object), function(x) assign(x, object[[x]], envir = env)) + + cat("Lambda :", lambda, "\n") + cat("Mean :", lambda, "\n") + cat("Variance :", lambda, "\n") + + if (type == "values") { + cat("Lower bound :", ifelse(is.na(lb), "", lb), "\n") + cat("Upper bound :", ifelse(is.na(ub), "", ub), "\n") + + if (!is.na(ub) || !is.na(lb)) { + cat("\n") + + if (!is.na(lb)) { + cat(paste0("P(X = ", lb, ") = ", p_elb, "\n")) + if (lb > 0) { + cat(paste0("P(X < ", lb, ") = ", p_lb, "\n")) + cat(paste0("P(X <= ", lb, ") = ", p_lelb, "\n")) + } + cat(paste0("P(X > ", lb, ") = ", round(1 - (p_lb + p_elb), dec), "\n")) + cat(paste0("P(X >= ", lb, ") = ", round(1 - p_lb, dec), "\n")) + } + + if (!is.na(ub)) { + cat(paste0("P(X = ", ub, ") = ", p_eub, "\n")) + if (ub > 0) { + cat(paste0("P(X < ", ub, ") = ", p_ub, "\n")) + cat(paste0("P(X <= ", ub, ") = ", p_leub, "\n")) + } + cat(paste0("P(X > ", ub, ") = ", round(1 - (p_ub + p_eub), dec), "\n")) + cat(paste0("P(X >= ", ub, ") = ", round(1 - p_ub, dec), "\n")) + } + + if (!is.na(lb) && !is.na(ub)) { + cat(paste0("P(", lb, " <= X <= ", ub, ") = ", p_int, "\n")) + cat(paste0("1 - P(", lb, " <= X <= ", ub, ") = ", round(1 - p_int, dec), "\n")) + } + } + } else { + cat("Lower bound :", if (is.na(plb)) "\n" else paste0(plb, " (", vlb, ")\n")) + cat("Upper bound :", if (is.na(pub)) "\n" else paste0(pub, " (", vub, ")\n")) + + if (!is.na(pub) || !is.na(plb)) { + cat("\n") + + if (!is.na(plb)) { + cat(paste0("P(X = ", vlb, ") = ", vp_elb, "\n")) + if (vlb > 0) { + cat(paste0("P(X < ", vlb, ") = ", vp_lb, "\n")) + cat(paste0("P(X <= ", vlb, ") = ", vp_lelb, "\n")) + } + cat(paste0("P(X > ", vlb, ") = ", round(1 - (vp_lb + vp_elb), dec), "\n")) + cat(paste0("P(X >= ", vlb, ") = ", round(1 - vp_lb, dec), "\n")) + } + + if (!is.na(pub)) { + cat(paste0("P(X = ", vub, ") = ", vp_eub, "\n")) + if (vub > 0) { + cat(paste0("P(X < ", vub, ") = ", vp_ub, "\n")) + cat(paste0("P(X <= ", vub, ") = ", vp_leub, "\n")) + } + cat(paste0("P(X > ", vub, ") = ", round(1 - (vp_ub + vp_eub), dec), "\n")) + cat(paste0("P(X >= ", vub, ") = ", round(1 - vp_ub, dec), "\n")) + } + + if (!is.na(plb) && !is.na(pub)) { + cat(paste0("P(", vlb, " <= X <= ", vub, ") = ", vp_int, "\n")) + cat(paste0("1 - P(", vlb, " <= X <= ", vub, ") = ", round(1 - vp_int, dec), "\n")) + } + } + } +} diff --git a/radiant.basics/R/radiant.R b/radiant.basics/R/radiant.R new file mode 100644 index 0000000..f6e015d --- /dev/null +++ b/radiant.basics/R/radiant.R @@ -0,0 +1,48 @@ +#' Launch radiant.basics in the default browser +#' +#' @description Launch radiant.basics in the default web browser +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.basics() +#' } +#' @export +radiant.basics <- function(state, ...) radiant.data::launch(package = "radiant.basics", run = "browser", state, ...) + +#' Launch radiant.basics in an Rstudio window +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.basics_window() +#' } +#' @export +radiant.basics_window <- function(state, ...) radiant.data::launch(package = "radiant.basics", run = "window", state, ...) + +#' Launch radiant.basics in the Rstudio viewer +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.basics_viewer() +#' } +#' @export +radiant.basics_viewer <- function(state, ...) radiant.data::launch(package = "radiant.basics", run = "viewer", state, ...) diff --git a/radiant.basics/R/single_mean.R b/radiant.basics/R/single_mean.R new file mode 100644 index 0000000..0c4804c --- /dev/null +++ b/radiant.basics/R/single_mean.R @@ -0,0 +1,236 @@ +#' Compare a sample mean to a population mean +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param var The variable selected for the mean comparison +#' @param comp_value Population value to compare to the sample mean +#' @param alternative The alternative hypothesis ("two.sided", "greater", or "less") +#' @param conf_lev Span for the confidence interval +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of variables defined in single_mean as an object of class single_mean +#' +#' @examples +#' single_mean(diamonds, "price") %>% str() +#' +#' @seealso \code{\link{summary.single_mean}} to summarize results +#' @seealso \code{\link{plot.single_mean}} to plot results +#' +#' @export +single_mean <- function(dataset, var, comp_value = 0, + alternative = "two.sided", conf_lev = .95, + data_filter = "", envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, var, filt = data_filter, na.rm = FALSE, envir = envir) + + ## counting missing values + # miss <- n_missing(dataset) + ## removing any missing values + # dataset <- na.omit(dataset) + + res <- t.test(dataset[[var]], mu = comp_value, alternative = alternative, conf.level = conf_lev) %>% + tidy() + + ## from http://www.cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/ + me_calc <- function(se, n, conf.lev = .95) { + se * qt(conf.lev / 2 + .5, n - 1) + } + + dat_summary <- summarise_all( + dataset, + list( + diff = ~ mean(., na.rm = TRUE) - comp_value, + mean = ~ mean(., na.rm = TRUE), + n = length, + n_missing = n_missing, + sd = ~ sd(., na.rm = TRUE), + se = se, + me = ~ me_calc(se, n, conf_lev) + ) + ) + + # removing unneeded arguments + rm(envir, me_calc) + + as.list(environment()) %>% add_class("single_mean") +} + +#' Summary method for the single_mean function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{single_mean}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- single_mean(diamonds, "price") +#' summary(result) +#' diamonds %>% +#' single_mean("price") %>% +#' summary() +#' +#' @seealso \code{\link{single_mean}} to generate the results +#' @seealso \code{\link{plot.single_mean}} to plot results +#' +#' @export +summary.single_mean <- function(object, dec = 3, ...) { + cat("Single mean test\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variable :", object$var, "\n") + cat("Confidence:", object$conf_lev, "\n") + + hyp_symbol <- c( + "two.sided" = "not equal to", + "less" = "<", + "greater" = ">" + )[object$alternative] + + cat("Null hyp. : the mean of", object$var, "=", object$comp_value, "\n") + cat("Alt. hyp. : the mean of", object$var, "is", hyp_symbol, object$comp_value, "\n\n") + + ## determine lower and upper % for ci + ci_perc <- ci_label(object$alternative, object$conf_lev) + + ## print summary statistics + object$dat_summary %>% + select(-1) %>% + # select_at(c("mean", "n", "n_missing", "sd", "se", "me")) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + cat("\n") + + res <- object$res + res <- bind_cols( + data.frame( + diff = object$dat_summary[["diff"]], + se = object$dat_summary[["se"]], + stringsAsFactors = FALSE + ), + res[, -1] + ) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + select(base::setdiff(colnames(.), c("method", "alternative"))) %>% + mutate(parameter = as.integer(parameter)) + + + names(res) <- c("diff", "se", "t.value", "p.value", "df", ci_perc[1], ci_perc[2]) + res %<>% round(dec) ## restrict the number of decimals + res$` ` <- sig_stars(res$p.value) + if (res$p.value < .001) res$p.value <- "< .001" + + ## print statistics + print(res, row.names = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") +} + +#' Plot method for the single_mean function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{single_mean}} +#' @param plots Plots to generate. "hist" shows a histogram of the data along with vertical lines that indicate the sample mean and the confidence interval. "simulate" shows the location of the sample mean and the comparison value (comp_value). Simulation is used to demonstrate the sampling variability in the data under the null-hypothesis +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- single_mean(diamonds, "price", comp_value = 3500) +#' plot(result, plots = c("hist", "simulate")) +#' +#' @seealso \code{\link{single_mean}} to generate the result +#' @seealso \code{\link{summary.single_mean}} to summarize results +#' +#' @importFrom rlang .data +#' +#' @export +plot.single_mean <- function(x, plots = "hist", + shiny = FALSE, custom = FALSE, ...) { + plot_list <- list() + if ("hist" %in% plots) { + bw <- x$dataset %>% + range(na.rm = TRUE) %>% + diff() %>% + divide_by(10) + + plot_list[[which("hist" == plots)]] <- + ggplot(x$dataset, aes(x = .data[[x$var]])) + + geom_histogram(fill = "blue", binwidth = bw, alpha = 0.5) + + geom_vline( + xintercept = x$comp_value, + color = "red", + linetype = "solid", + linewidth = 1 + ) + + geom_vline( + xintercept = x$res$estimate, + color = "black", + linetype = "solid", + linewidth = 1 + ) + + geom_vline( + xintercept = c(x$res$conf.low, x$res$conf.high), + color = "black", + linetype = "longdash", + linewidth = 0.5 + ) + } + if ("simulate" %in% plots) { + var <- na.omit(x$dataset[[x$var]]) + nr <- length(var) + + simdat <- replicate(1000, mean(sample(var, nr, replace = TRUE))) %>% + (function(z) (z - mean(z)) + x$comp_value) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + set_colnames(x$var) + + cip <- ci_perc(simdat[[x$var]], x$alternative, x$conf_lev) + + bw <- simdat %>% + range() %>% + diff() %>% + divide_by(20) + + plot_list[[which("simulate" == plots)]] <- + ggplot(simdat, aes(x = .data[[x$var]])) + + geom_histogram( + fill = "blue", + binwidth = bw, + alpha = 0.5 + ) + + geom_vline( + xintercept = x$comp_value, + color = "red", + linetype = "solid", + linewidth = 1 + ) + + geom_vline( + xintercept = x$res$estimate, + color = "black", + linetype = "solid", + linewidth = 1 + ) + + geom_vline( + xintercept = cip, + color = "red", + linetype = "longdash", + linewidth = 0.5 + ) + + labs(title = paste0("Simulated means if null hyp. is true (", x$var, ")")) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (shiny) x else print(x)) + } + } +} diff --git a/radiant.basics/R/single_prop.R b/radiant.basics/R/single_prop.R new file mode 100644 index 0000000..314c18e --- /dev/null +++ b/radiant.basics/R/single_prop.R @@ -0,0 +1,242 @@ +#' Compare a sample proportion to a population proportion +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param var The variable selected for the proportion comparison +#' @param lev The factor level selected for the proportion comparison +#' @param comp_value Population value to compare to the sample proportion +#' @param alternative The alternative hypothesis ("two.sided", "greater", or "less") +#' @param conf_lev Span of the confidence interval +#' @param test bionomial exact test ("binom") or Z-test ("z") +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param envir Environment to extract data from +#' +#' @return A list of variables used in single_prop as an object of class single_prop +#' +#' @examples +#' single_prop(titanic, "survived") %>% str() +#' single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") %>% str() +#' +#' @seealso \code{\link{summary.single_prop}} to summarize the results +#' @seealso \code{\link{plot.single_prop}} to plot the results +#' +#' @export +single_prop <- function(dataset, var, lev = "", comp_value = 0.5, + alternative = "two.sided", conf_lev = .95, + test = "binom", data_filter = "", + envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, var, filt = data_filter, na.rm = FALSE, envir = envir) %>% + mutate_all(as.factor) + + ## removing any missing values + n_miss <- n_missing(dataset) + dataset <- na.omit(dataset) + + levs <- levels(dataset[[var]]) + if (lev != "") { + if (lev %in% levs && levs[1] != lev) { + dataset[[var]] %<>% as.character %>% + as.factor() %>% + relevel(lev) + levs <- levels(dataset[[var]]) + } + } else { + lev <- levs[1] + } + + n <- nrow(dataset) + ns <- sum(dataset == lev) + p <- ns / n + + dat_summary <- data.frame( + diff = p - comp_value, + p = p, + ns = ns, + n = n, + n_missing = n_miss, + stringsAsFactors = FALSE + ) %>% mutate( + sd = sqrt(p * (1 - p)), + se = sqrt(p * (1 - p) / n), + me = se * qnorm(conf_lev / 2 + .5, lower.tail = TRUE) + ) + + if (test == "z") { + ## use z-test + res <- sshhr(prop.test( + ns, n, + p = comp_value, alternative = alternative, + conf.level = conf_lev, correct = FALSE + )) + res <- tidy(res) + ## convert chi-square stat to a z-score + res$statistic <- sqrt(res$statistic) * ifelse(res$estimate < comp_value, -1, 1) + } else { + ## use binom.test for exact + res <- binom.test( + ns, n, + p = comp_value, alternative = alternative, + conf.level = conf_lev + ) + res <- tidy(res) + } + + # removing unneeded arguments + rm(envir) + + as.list(environment()) %>% add_class("single_prop") +} + +#' Summary method for the single_prop function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{single_prop}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") +#' summary(result) +#' +#' @seealso \code{\link{single_prop}} to generate the results +#' @seealso \code{\link{plot.single_prop}} to plot the results +#' +#' @export +summary.single_prop <- function(object, dec = 3, ...) { + if (object$test == "z") { + cat("Single proportion test (z-test)\n") + } else { + cat("Single proportion test (binomial exact)\n") + } + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + cat("Variable :", object$var, "\n") + cat("Level :", object$lev, "in", object$var, "\n") + cat("Confidence:", object$conf_lev, "\n") + + hyp_symbol <- c( + "two.sided" = "not equal to", + "less" = "<", + "greater" = ">" + )[object$alternative] + + cat("Null hyp. : the proportion of", object$lev, "in", object$var, "=", object$comp_value, "\n") + cat("Alt. hyp. : the proportion of", object$lev, "in", object$var, hyp_symbol, object$comp_value, "\n\n") + + ## determine lower and upper % for ci + ci_perc <- ci_label(object$alternative, object$conf_lev) + + ## print summary statistics + object$dat_summary[-1] %>% + as.data.frame(stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + cat("\n") + + res <- object$res + res <- bind_cols(data.frame(diff = object$dat_summary[["diff"]]), res[, -1]) %>% + select(base::setdiff(colnames(.), c("parameter", "method", "alternative"))) + + if (object$test == "z") { + names(res) <- c("diff", "z.value", "p.value", ci_perc[1], ci_perc[2]) + res <- format_df(res, dec = dec, mark = ",") # restrict the number of decimals + } else { + names(res) <- c("diff", "ns", "p.value", ci_perc[1], ci_perc[2]) + res <- format_df(mutate(res, ns = as.integer(res$ns)), dec = dec, mark = ",") # restrict the number of decimals + } + res$` ` <- sig_stars(res$p.value) + if (res$p.value < .001) res$p.value <- "< .001" + + ## print statistics + print(as.data.frame(res, stringsAsFactors = FALSE), row.names = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") +} + +#' Plot method for the single_prop function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{single_prop}} +#' @param plots Plots to generate. "bar" shows a bar chart of the data. The "simulate" chart shows the location of the sample proportion and the comparison value (comp_value). Simulation is used to demonstrate the sampling variability in the data under the null-hypothesis +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") +#' plot(result, plots = c("bar", "simulate")) +#' +#' @seealso \code{\link{single_prop}} to generate the result +#' @seealso \code{\link{summary.single_prop}} to summarize the results +#' +#' @importFrom rlang .data +#' +#' @export +plot.single_prop <- function(x, plots = "bar", + shiny = FALSE, custom = FALSE, ...) { + if (any(!plots %in% c("bar", "simulate"))) { + stop("Available plot types for 'single_prop' are \"bar\" and \"simulate\"") + } + + lev_name <- x$levs[1] + plot_list <- list() + if ("bar" %in% plots) { + plot_list[[which("bar" == plots)]] <- + ggplot(x$dataset, aes(x = .data[[x$var]], fill = .data[[x$var]])) + + geom_bar(aes(y = after_stat(count) / sum(after_stat(count))), alpha = 0.5) + + scale_y_continuous(labels = scales::percent) + + theme(legend.position = "none") + + labs( + title = paste0("Single proportion: ", lev_name, " in ", x$var), + y = "" + ) + } + if ("simulate" %in% plots) { + simdat <- rbinom(1000, prob = x$comp_value, x$n) %>% + divide_by(x$n) %>% + data.frame(stringsAsFactors = FALSE) %>% + set_colnames(lev_name) + + cip <- ci_perc(simdat[[lev_name]], x$alternative, x$conf_lev) %>% set_names(NULL) + + bw <- simdat %>% + range() %>% + diff() %>% + divide_by(20) + + # to avoid problems with levels that start with numbers or contain spaces + # http://stackoverflow.com/questions/13445435/ggplot2-aes-string-fails-to-handle-names-starting-with-numbers-or-containing-s + names(simdat) <- "col1" + + plot_list[[which("simulate" == plots)]] <- + ggplot(simdat, aes(x = col1)) + + geom_histogram(fill = "blue", binwidth = bw, alpha = 0.5) + + geom_vline( + xintercept = x$comp_value, color = "red", + linetype = "solid", linewidth = 1 + ) + + geom_vline( + xintercept = x$res$estimate, color = "black", + linetype = "solid", linewidth = 1 + ) + + geom_vline(xintercept = cip, color = "red", linetype = "longdash", linewidth = .5) + + labs( + title = paste0("Simulated proportions if null hyp. is true (", lev_name, " in ", x$var, ")"), + x = paste0("Level ", lev_name, " in variable ", x$var) + ) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (shiny) x else print(x)) + } + } +} diff --git a/radiant.basics/README.md b/radiant.basics/README.md new file mode 100644 index 0000000..0a2a001 --- /dev/null +++ b/radiant.basics/README.md @@ -0,0 +1,188 @@ +# Radiant - Business analytics using R and Shiny + + + +[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/radiant.basics)](https://CRAN.R-project.org/package=radiant.basics) + + +Radiant is an open-source platform-independent browser-based interface for business analytics in [R](https://www.r-project.org/). The application is based on the [Shiny](https://shiny.posit.co/) package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.basics/issues. For other questions and comments please use radiant@rady.ucsd.edu. + +## Key features + +- Explore: Quickly and easily summarize, visualize, and analyze your data +- Cross-platform: It runs in a browser on Windows, Mac, and Linux +- Reproducible: Recreate results and share work with others as a state file or an [Rmarkdown](https://rmarkdown.rstudio.com/) report +- Programming: Integrate Radiant's analysis functions with your own R-code +- Context: Data and examples focus on business applications + + + + +#### Playlists + +There are two youtube playlists with video tutorials. The first provides a general introduction to key features in Radiant. The second covers topics relevant in a course on business analytics (i.e., Probability, Decision Analysis, Hypothesis Testing, Linear Regression, and Simulation). + +* Introduction to Radiant +* Radiant Tutorial Series + +#### Explore + +Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., `Estimate` in _Model > Estimate > Logistic regression (GLM)_). This facilitates rapid exploration and understanding of the data. + +#### Cross-platform + +Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server. + +#### Reproducible + +To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using [Rmarkdown](https://rmarkdown.rstudio.com/). See also the section on `Saving and loading state` below + +If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to [Joe Cheng](https://github.com/jcheng5). + +#### Programming + +Although Radiant's web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant's functions directly from R-code). For more information about programming with Radiant see the [programming](https://radiant-rstats.github.io/docs/programming.html) page on the documentation site. + +#### Context + +Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve. + +## How to install Radiant + +- Required: [R](https://cran.r-project.org/) version 4.0.0 or later +- Required: [Rstudio](https://posit.co/download/rstudio-server/) + +In Rstudio you can start and update Radiant through the `Addins` menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Once all packages are installed, select `Start radiant` from the `Addins` menu in Rstudio or use the command below to launch the app: + +```r +radiant::radiant() +``` + +To launch Radiant in Rstudio's viewer pane use the command below: + +```r +radiant::radiant_viewer() +``` + +To launch Radiant in an Rstudio Window use the command below: + +```r +radiant::radiant_window() +``` + +To easily update Radiant and the required packages, install the `radiant.update` package using: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("remotes") +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never") +``` + +Then select `Update radiant` from the `Addins` menu in Rstudio or use the command below: + +```r +radiant.update::radiant.update() +``` + +See the [installing radiant](https://radiant-rstats.github.io/docs/install.html) page additional for details. + +**Optional:** You can also create a launcher on your Desktop to start Radiant by typing `radiant::launcher()` in the R(studio) console and pressing return. A file called `radiant.bat` (windows) or `radiant.command` (mac) will be created that you can double-click to start Radiant in your default browser. The `launcher` command will also create a file called `update_radiant.bat` (windows) or `update_radiant.command` (mac) that you can double-click to update Radiant to the latest release. + +When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click `Stop`. The Radiant process will stop and the browser window will close (Chrome) or gray-out. + +## Documentation + +Documentation and tutorials are available at and in the Radiant web interface (the icons on each page and the icon in the navigation bar). + +Individual Radiant packages also each have their own [pkgdown](https://github.com/r-lib/pkgdown) sites: + +* http://radiant-rstats.github.io/radiant +* http://radiant-rstats.github.io/radiant.data +* http://radiant-rstats.github.io/radiant.design +* http://radiant-rstats.github.io/radiant.basics +* http://radiant-rstats.github.io/radiant.model +* http://radiant-rstats.github.io/radiant.multivariate + +Want some help getting started? Watch the tutorials on the [documentation site](https://radiant-rstats.github.io/docs/tutorials.html). + + +## Reporting issues + +Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant. + +## Try Radiant online + +Not ready to install Radiant on your computer? Try it online at the link below: + +https://vnijs.shinyapps.io/radiant + +Do **not** upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons. + +## Running Radiant on shinyapps.io + +To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running `radiant/inst/app/for.shinyapps.io.R`. Finally, open `radiant/inst/app/ui.R` and [deploy](https://shiny.posit.co/articles/shinyapps.html) the application. + +## Running Radiant on shiny-server + +You can also host Radiant using [shiny-server](https://posit.co/download/shiny-server/). First, install radiant on the server using the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Then clone the radiant repo and point shiny-server to the `inst/app/` directory. As a courtesy, please let me know if you intend to use Radiant on a server. + +When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in _Report > Rmd_ and _Report > R_ will not be evaluated for security reasons. If you have `sudo` access to the server and have appropriate security in place you can change these settings by adding the following lines to `.Rprofile` for the `shiny` user on the server. + +```bash +options(radiant.maxRequestSize = -1) ## no file size limit +options(radiant.report = TRUE) +``` + +## Running Radiant in the cloud (e.g., AWS) + +To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details + +## Saving and loading state + +To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on `Save radiant state file` (see also the _Data > Manage_ tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file [`radiant-example.state.rda`](https://radiant-rstats.github.io/docs/examples/radiant-example.state.rda) by clicking on the icon in the navbar and then on `Load radiant state file`. Go to _Data > View_ and _Data > Visualize_ to see some of the settings from the previous "state" of the app. There is also a report in _Report > Rmd_ that was created using the Radiant interface. The html file `radiant-example.nb.html` contains the output. + +A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use `Refresh` in the menu in the navigation bar to return to a clean/new state. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > `Stop` to stop the app, lists called `r_data`, `r_info`, and `r_state` will be put into Rstudio's global workspace. If you start radiant again using `radiant::radiant()` it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state. + +**Technical note**: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called `r_state`. If there is, this value is used. The `r_state` list is created when saving state using `reactiveValuesToList(input)`. An example of a call to `numericInput` is given below where the `state_init` function from `radiant.R` is used to check if a value from `r_state` can be used. + +```r +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0)) +``` + +## Source code + +The source code for the radiant application is available on GitHub at . `radiant.data`, offers tools to load, save, view, visualize, summarize, combine, and transform data. `radiant.design` builds on `radiant.data` and adds tools for experimental design, sampling, and sample size calculation. `radiant.basics` covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. `radiant.model` covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, `radiant.multivariate` includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis. + +These tools are used in the _Business Analytics_, _Quantitative Analysis_, _Research for Marketing Decisions_, _Applied Market Research_, _Consumer Behavior_, _Experiments in Firms_, _Pricing_, _Pricing Analytics_, and _Customer Analytics_ classes at the Rady School of Management (UCSD). + +## Credits + +Radiant would not be possible without [R](https://cran.r-project.org/) and [Shiny](https://shiny.posit.co/). I would like to thank [Joe Cheng](https://github.com/jcheng5), [Winston Chang](https://github.com/wch), and [Yihui Xie](https://github.com/yihui) for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, shinyFiles, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page. + + +## License + + +Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +The documentation, images, and videos for the `radiant.data` package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for `radiant.design`, `radiant.basics`, `radiant.model`, and `radiant.multivariate`, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA. + +If you are interested in using any of the radiant packages please email me at radiant@rady.ucsd.edu + +© Vincent Nijs (2023) Creative Commons License \ No newline at end of file diff --git a/radiant.basics/_pkgdown.yml b/radiant.basics/_pkgdown.yml new file mode 100644 index 0000000..36f5023 --- /dev/null +++ b/radiant.basics/_pkgdown.yml @@ -0,0 +1,136 @@ +url: https://radiant-rstats.github.io/radiant.basics + +template: + params: + docsearch: + api_key: 0629d253426ce7046f92e2bc5bb11b03 + index_name: radiant_basics + +navbar: + title: "radiant.basics" + left: + - icon: fa-home fa-lg + href: index.html + - text: "Reference" + href: reference/index.html + - text: "Articles" + href: articles/index.html + - text: "Changelog" + href: news/index.html + - text: "Other Packages" + menu: + - text: "radiant" + href: https://radiant-rstats.github.io/radiant/ + - text: "radiant.data" + href: https://radiant-rstats.github.io/radiant.data/ + - text: "radiant.design" + href: https://radiant-rstats.github.io/radiant.design/ + - text: "radiant.basics" + href: https://radiant-rstats.github.io/radiant.basics/ + - text: "radiant.model" + href: https://radiant-rstats.github.io/radiant.model/ + - text: "radiant.multivariate" + href: https://radiant-rstats.github.io/radiant.multivariate/ + - text: "docker" + href: https://github.com/radiant-rstats/docker + right: + - icon: fa-twitter fa-lg + href: https://twitter.com/vrnijs + - icon: fa-github fa-lg + href: https://github.com/radiant-rstats + +reference: +- title: Basics > Probability + desc: Functions used with the Probability Calculator and the Central Limit Theorem simulator + contents: + - clt + - plot.clt + - prob_binom + - summary.prob_binom + - plot.prob_binom + - prob_chisq + - summary.prob_chisq + - plot.prob_chisq + - prob_disc + - summary.prob_disc + - plot.prob_disc + - prob_expo + - summary.prob_expo + - plot.prob_expo + - prob_fdist + - summary.prob_fdist + - plot.prob_fdist + - prob_lnorm + - summary.prob_lnorm + - plot.prob_lnorm + - prob_norm + - summary.prob_norm + - plot.prob_norm + - prob_pois + - summary.prob_pois + - plot.prob_pois + - prob_tdist + - summary.prob_tdist + - plot.prob_tdist + - prob_unif + - summary.prob_unif + - plot.prob_unif +- title: Basics > Means + desc: Functions used with Basics > Means + contents: + - single_mean + - summary.single_mean + - plot.single_mean + - compare_means + - summary.compare_means + - plot.compare_means +- title: Basics > Proportions + desc: Functions used with Basics > Proportions + contents: + - single_prop + - summary.single_prop + - plot.single_prop + - compare_props + - summary.compare_props + - plot.compare_props +- title: Basics > Tables + desc: Functions used with Basics > Tables + contents: + - goodness + - summary.goodness + - plot.goodness + - cross_tabs + - summary.cross_tabs + - plot.cross_tabs + - correlation + - summary.correlation + - plot.correlation + - print.rcorr + - cor2df +- title: Data sets + desc: Data sets bundled with radiant.basics + contents: + - consider + - demand_uk + - newspaper + - salary +- title: Starting radiant.basics + desc: Functions used to start the radiant.basics shiny app + contents: + - radiant.basics + - radiant.basics_viewer + - radiant.basics_window +articles: +- title: Basics Menu + desc: > + These vignettes provide an introduction to the Basics menu in radiant + contents: + - pkgdown/clt + - pkgdown/prob_calc + - pkgdown/single_mean + - pkgdown/compare_means + - pkgdown/single_prop + - pkgdown/compare_props + - pkgdown/goodness + - pkgdown/cross_tabs + - pkgdown/correlation diff --git a/radiant.basics/build/build.R b/radiant.basics/build/build.R new file mode 100644 index 0000000..c901d8c --- /dev/null +++ b/radiant.basics/build/build.R @@ -0,0 +1,87 @@ +setwd(rstudioapi::getActiveProject()) +curr <- getwd() +pkg <- basename(curr) + +## building package for mac and windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) stop("Change R-version") + +dirsrc <- "../minicran/src/contrib" + +if (rv < "3.4") { + dirmac <- fs::path("../minicran/bin/macosx/mavericks/contrib", rv) +} else if (rv > "3.6") { + dirmac <- c( + fs::path("../minicran/bin/macosx/big-sur-arm64/contrib", rv), + fs::path("../minicran/bin/macosx/contrib", rv) + ) +} else { + dirmac <- fs::path("../minicran/bin/macosx/el-capitan/contrib", rv) +} + +dirwin <- fs::path("../minicran/bin/windows/contrib", rv) + +if (!fs::file_exists(dirsrc)) fs::dir_create(dirsrc, recursive = TRUE) +for (d in dirmac) { + if (!fs::file_exists(d)) fs::dir_create(d, recursive = TRUE) +} +if (!fs::file_exists(dirwin)) fs::dir_create(dirwin, recursive = TRUE) + +# delete older version of radiant +rem_old <- function(pkg) { + unlink(paste0(dirsrc, "/", pkg, "*")) + for (d in dirmac) { + unlink(paste0(d, "/", pkg, "*")) + } + unlink(paste0(dirwin, "/", pkg, "*")) +} + +sapply(pkg, rem_old) + +## avoid 'loaded namespace' stuff when building for mac +system(paste0(Sys.which("R"), " -e \"setwd('", getwd(), "'); app <- '", pkg, "'; source('build/build_mac.R')\"")) + + +win <- readline(prompt = "Did you build on Windows? y/n: ") +if (grepl("[yY]", win)) { + + fl <- list.files(pattern = "*.zip", path = "~/Dropbox/r-packages/", full.names = TRUE) + for (f in fl) { + file.copy(f, "~/gh/") + } + + ## move packages to radiant_miniCRAN. must package in Windows first + # path <- normalizePath("../") + pth <- fs::path_abs("../") + + sapply(list.files(pth, pattern = "*.tar.gz", full.names = TRUE), file.copy, dirsrc) + unlink("../*.tar.gz") + for (d in dirmac) { + sapply(list.files(pth, pattern = "*.tgz", full.names = TRUE), file.copy, d) + } + unlink("../*.tgz") + sapply(list.files(pth, pattern = "*.zip", full.names = TRUE), file.copy, dirwin) + unlink("../*.zip") + + tools::write_PACKAGES(dirwin, type = "win.binary") + for (d in dirmac) { + tools::write_PACKAGES(d, type = "mac.binary") + } + tools::write_PACKAGES(dirsrc, type = "source") + + # commit to repo + setwd("../minicran") + system("git add --all .") + mess <- paste0(pkg, " package update: ", format(Sys.Date(), format = "%m-%d-%Y")) + system(paste0("git commit -m '", mess, "'")) + system("git push") +} + +setwd(curr) + +# remove.packages(c("radiant.model", "radiant.data")) +# radiant.update::radiant.update() +# install.packages("radiant.update") diff --git a/radiant.basics/build/build_mac.R b/radiant.basics/build/build_mac.R new file mode 100644 index 0000000..1452bac --- /dev/null +++ b/radiant.basics/build/build_mac.R @@ -0,0 +1,6 @@ +## build for mac +app <- basename(getwd()) +curr <- setwd("../") +f <- devtools::build(app) +system(paste0("R CMD INSTALL --build ", f)) +setwd(curr) diff --git a/radiant.basics/build/build_win.R b/radiant.basics/build/build_win.R new file mode 100644 index 0000000..e6861ce --- /dev/null +++ b/radiant.basics/build/build_win.R @@ -0,0 +1,26 @@ +## build for windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) + stop("Change R-version using Rstudio > Tools > Global Options > Rversion") + +## build for windows +setwd(rstudioapi::getActiveProject()) +f <- devtools::build(binary = TRUE) +devtools::install(upgrade = "never") + +fl <- list.files(pattern = "*.zip", path = "../", full.names = TRUE) + +for (f in fl) { + print(glue::glue("Copying: {f}")) + file.copy(f, "C:/Users/vnijs/Dropbox/r-packages/", overwrite = TRUE) + unlink(f) +} + +#options(repos = c(RSM = "https://radiant-rstats.github.io/minicran")) +#install.packages("radiant.data", type = "binary") +# remove.packages(c("radiant.data", "radiant.model")) +#install.packages("radiant.update") +# radiant.update::radiant.update() diff --git a/radiant.basics/data/consider.rda b/radiant.basics/data/consider.rda new file mode 100644 index 0000000000000000000000000000000000000000..d00b31838f8bf9cbe39ca333d1fba82a47346ba9 GIT binary patch literal 3248 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/data/demand_uk.rda b/radiant.basics/data/demand_uk.rda new file mode 100644 index 0000000000000000000000000000000000000000..558d54557306b612a4faca6a794635d8e3ad3ce1 GIT binary patch literal 5539 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

*;hbkFVrcI$QOF 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/data/salary.rda b/radiant.basics/data/salary.rda new file mode 100644 index 0000000000000000000000000000000000000000..811a3223f58c686fb16683300103e95d6bad34b6 GIT binary patch literal 3304 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 m{otFLSQ=g&RKMPm literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/global.R b/radiant.basics/inst/app/global.R new file mode 100644 index 0000000..f83f097 --- /dev/null +++ b/radiant.basics/inst/app/global.R @@ -0,0 +1,32 @@ +library(shiny.i18n) +# file with translations +i18n <- Translator$new(translation_csvs_path = "../translations") + +# change this to zh +i18n$set_translation_language("zh") + +## sourcing from radiant.data +options(radiant.path.data = system.file(package = "radiant.data")) +source(file.path(getOption("radiant.path.data"), "app/global.R"), encoding = getOption("radiant.encoding", default = "UTF-8"), local = TRUE) + +ifelse(grepl("radiant.basics", getwd()) && file.exists("../../inst"), "..", system.file(package = "radiant.basics")) %>% + options(radiant.path.basics = .) + +## setting path for figures in help files +addResourcePath("figures_basics", "tools/help/figures/") + +## setting path for www resources +addResourcePath("www_basics", file.path(getOption("radiant.path.basics"), "app/www/")) + +## loading urls and ui +source("init.R", encoding = getOption("radiant.encoding", "UTF-8"), local = TRUE) +options(radiant.url.patterns = make_url_patterns()) + +## if radiant.data is not in search main function from dplyr etc. won't be available +if (!"package:radiant.basics" %in% search() && + isTRUE(getOption("radiant.development")) && + getOption("radiant.path.basics") == "..") { + options(radiant.from.package = FALSE) +} else { + options(radiant.from.package = TRUE) +} diff --git a/radiant.basics/inst/app/help.R b/radiant.basics/inst/app/help.R new file mode 100644 index 0000000..040ebd7 --- /dev/null +++ b/radiant.basics/inst/app/help.R @@ -0,0 +1,27 @@ +help_basics <- c( + "Probability calculator" = "prob_calc.md", "Central limit theorem" = "clt.md", + "Single mean" = "single_mean.md", "Compare means" = "compare_means.md", + "Single proportion" = "single_prop.md", "Compare proportions" = "compare_props.md", + "Goodness of fit" = "goodness.md", "Cross-tabs" = "cross_tabs.md", + "Correlation" = "correlation.md" +) + +output$help_basics <- reactive(append_help("help_basics", file.path(getOption("radiant.path.basics"), "app/tools/help"), Rmd = TRUE)) + +observeEvent(input$help_basics_all, { + help_switch(input$help_basics_all, "help_basics") +}) +observeEvent(input$help_basics_none, { + help_switch(input$help_basics_none, "help_basics", help_on = FALSE) +}) + +help_basics_panel <- tagList( + wellPanel( + HTML(""), + checkboxGroupInput( + "help_basics", NULL, help_basics, + selected = state_group("help_basics"), inline = TRUE + ) + ) +) diff --git a/radiant.basics/inst/app/init.R b/radiant.basics/inst/app/init.R new file mode 100644 index 0000000..5f95133 --- /dev/null +++ b/radiant.basics/inst/app/init.R @@ -0,0 +1,49 @@ +## urls for menu +r_url_list <- getOption("radiant.url.list") +r_url_list[["Single mean"]] <- + list("tabs_single_mean" = list("Summary" = "basics/single-mean/", "Plot" = "basics/single-mean/plot/")) +r_url_list[["Compare means"]] <- + list("tabs_compare_means" = list("Summary" = "basics/compare-means/", "Plot" = "basics/compare-means/plot/")) +r_url_list[["Single proportion"]] <- + list("tabs_single_prop" = list("Summary" = "basics/single-prop/", "Plot" = "basics/single-prop/plot/")) +r_url_list[["Compare proportions"]] <- + list("tabs_compare_props" = list("Summary" = "basics/compare-props/", "Plot" = "basics/compare-props/plot/")) +r_url_list[["Goodness of fit"]] <- + list("tabs_goodness" = list("Summary" = "basics/goodness/", "Plot" = "basics/goodness/plot/")) +r_url_list[["Cross-tabs"]] <- + list("tabs_cross_tabs" = list("Summary" = "basics/cross-tabs/", "Plot" = "basics/cross-tabs/plot/")) +r_url_list[["Correlation"]] <- + list("tabs_correlation" = list("Summary" = "basics/correlation/", "Plot" = "basics`/correlation/plot/")) +options(radiant.url.list = r_url_list) +rm(r_url_list) + +## try http://127.0.0.1:3174/?url=basics/goodness/plot/&SSUID=local +## http://127.0.0.1:7407/?url=basics/compare-means/plot/&SSUID=local-a82049 + +## design menu +options( + radiant.basics_ui = + tagList( + navbarMenu( + i18n$t("Basics"), + tags$head( + tags$script(src = "www_basics/js/run_return.js") + ), + i18n$t("Probability"), + tabPanel(i18n$t("Probability calculator"), uiOutput("prob_calc")), + tabPanel(i18n$t("Central Limit Theorem"), uiOutput("clt")), + "----", i18n$t("Means"), + tabPanel(i18n$t("Single mean"), uiOutput("single_mean")), + tabPanel(i18n$t("Compare means"), uiOutput("compare_means")), + tabPanel(i18n$t("Normality test"),uiOutput("normality_test")), + tabPanel(i18n$t("Homogeneity of variance test"),uiOutput("homo_variance_test")), + "----", i18n$t("Proportions"), + tabPanel(i18n$t("Single proportion"), uiOutput("single_prop")), + tabPanel(i18n$t("Compare proportions"), uiOutput("compare_props")), + "----", i18n$t("Tables"), + tabPanel(i18n$t("Goodness of fit"), uiOutput("goodness")), + tabPanel(i18n$t("Cross-tabs"), uiOutput("cross_tabs")), + tabPanel(i18n$t("Correlation"), uiOutput("correlation")) + ) + ) +) diff --git a/radiant.basics/inst/app/server.R b/radiant.basics/inst/app/server.R new file mode 100644 index 0000000..dd26d78 --- /dev/null +++ b/radiant.basics/inst/app/server.R @@ -0,0 +1,59 @@ +if (isTRUE(getOption("radiant.from.package"))) { + library(radiant.basics) +} + +shinyServer(function(input, output, session) { + + ## source shared functions + source(file.path(getOption("radiant.path.data"), "app/init.R"), encoding = getOption("radiant.encoding"), local = TRUE) + source(file.path(getOption("radiant.path.data"), "app/radiant.R"), encoding = getOption("radiant.encoding"), local = TRUE) + source("help.R", encoding = getOption("radiant.encoding"), local = TRUE) + + ## help ui + output$help_basics_ui <- renderUI({ + sidebarLayout( + sidebarPanel( + help_data_panel, + help_basics_panel, + uiOutput("help_text"), + width = 3 + ), + mainPanel( + HTML(paste0("

Select help files to show and search


")), + htmlOutput("help_data"), + htmlOutput("help_basics") + ) + ) + }) + + ## packages to use for example data + options(radiant.example.data = c("radiant.data", "radiant.basics")) + + ## source data & app tools from radiant.data + for (file in list.files( + c( + file.path(getOption("radiant.path.data"), "app/tools/app"), + file.path(getOption("radiant.path.data"), "app/tools/data") + ), + pattern = "\\.(r|R)$", full.names = TRUE + )) + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + + ## 'sourcing' package functions in the server.R environment for development + if (!isTRUE(getOption("radiant.from.package"))) { + for (file in list.files("../../R", pattern = "\\.(r|R)$", full.names = TRUE)) { + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + } + cat("\nGetting radiant.basics from source ...\n") + } else { + ## weired but required + summary.correlation <- radiant.basics:::summary.correlation + } + + ## source analysis tools for basic app + for (file in list.files(c("tools/analysis"), pattern = "\\.(r|R)$", full.names = TRUE)) + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + + ## save state on refresh or browser close + saveStateOnRefresh(session) +}) diff --git a/radiant.basics/inst/app/tools/analysis/clt_ui.R b/radiant.basics/inst/app/tools/analysis/clt_ui.R new file mode 100644 index 0000000..fd2b94b --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/clt_ui.R @@ -0,0 +1,252 @@ +############################### +# Central Limit Theorem +############################### +clt_dist <- c("Normal", "Binomial", "Uniform", "Exponential") %>% + setNames(c( + i18n$t("Normal"), + i18n$t("Binomial"), + i18n$t("Uniform"), + i18n$t("Exponential") + )) + +clt_stat <- c("sum", "mean") %>% + setNames(c( + i18n$t("Sum"), + i18n$t("Mean") + )) +clt_args <- as.list(formals(clt)) + +clt_inputs <- reactive({ + for (i in names(clt_args)) { + clt_args[[i]] <- input[[paste0("clt_", i)]] + } + clt_args +}) + +## add a spinning refresh icon if the tabel needs to be (re)calculated +run_refresh(clt_args, "clt", init = "dist", label = i18n$t("Run simulation"), relabel = i18n$t("Re-run simulation"), data = FALSE) + +output$ui_clt <- renderUI({ + tagList( + wellPanel( + actionButton("clt_run", i18n$t("Run simulation"), width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") + ), + wellPanel( + selectInput( + "clt_dist", i18n$t("Distribution:"), + choices = clt_dist, + selected = state_single("clt_dist", clt_dist), + multiple = FALSE + ), + conditionalPanel( + condition = "input.clt_dist == 'Uniform'", + make_side_by_side( + numericInput( + "clt_unif_min", i18n$t("Min:"), + value = state_init("clt_unif_min", 0) + ), + numericInput( + "clt_unif_max", i18n$t("Max:"), + value = state_init("clt_unif_max", 1) + ) + ) + ), + conditionalPanel( + condition = "input.clt_dist == 'Normal'", + make_side_by_side( + numericInput( + "clt_norm_mean", i18n$t("Mean:"), + value = state_init("clt_norm_mean", 0) + ), + numericInput( + "clt_norm_sd", i18n$t("SD:"), + value = state_init("clt_norm_sd", 1), + min = 0.1, step = 0.1 + ) + ) + ), + conditionalPanel( + condition = "input.clt_dist == 'Exponential'", + numericInput( + "clt_expo_rate", i18n$t("Rate:"), + value = state_init("clt_expo_rate", 1), + min = 1, step = 1 + ) + ), + conditionalPanel( + condition = "input.clt_dist == 'Binomial'", + make_side_by_side( + numericInput( + "clt_binom_size", i18n$t("Size:"), + value = state_init("clt_binom_size", 10), + min = 1, step = 1 + ), + numericInput( + "clt_binom_prob", i18n$t("Prob:"), + value = state_init("clt_binom_prob", 0.2), + min = 0, max = 1, step = .1 + ) + ) + ), + make_side_by_side( + numericInput( + "clt_n", i18n$t("Sample size:"), + value = state_init("clt_n", 100), + min = 2, step = 1 + ), + numericInput( + "clt_m", i18n$t("# of samples:"), + value = state_init("clt_m", 100), + min = 2, step = 1 + ) + ), + sliderInput( + "clt_bins", + label = i18n$t("Number of bins:"), + min = 1, max = 50, step = 1, + value = state_init("clt_bins", 15), + ), + radioButtons( + "clt_stat", NULL, + choices = clt_stat, + selected = state_init("clt_stat", "sum"), + inline = TRUE + ) + ), + help_and_report( + modal_title = i18n$t("Central Limit Theorem"), fun_name = "clt", + help_file = inclRmd(file.path(getOption("radiant.path.basics"), "app/tools/help/clt.md")) + ) + ) +}) + +clt_plot_width <- function() 700 +clt_plot_height <- function() 700 + +## output is called from the main radiant ui.R +output$clt <- renderUI({ + register_plot_output( + "plot_clt", ".plot_clt", + height_fun = "clt_plot_height", + width_fun = "clt_plot_width" + ) + + ## two separate tabs + clt_output_panels <- tagList( + tabPanel( + "Plot", + download_link("dlp_clt"), + plotOutput("plot_clt", width = "100%", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Probability"), + tool = i18n$t("Central Limit Theorem"), + data = NULL, + tool_ui = "ui_clt", + output_panels = clt_output_panels + ) +}) + +.clt <- eventReactive(input$clt_run, { + ## avoiding input errors + ret <- "" + if (is.na(input$clt_n) || input$clt_n < 2) { + ret <- i18n$t("Please choose a sample size larger than 2") + } else if (is.na(input$clt_m) || input$clt_m < 2) { + ret <- i18n$t("Please choose 2 or more samples") + } else if (input$clt_dist == "Uniform") { + if (is.na(input$clt_unif_min)) { + ret <- i18n$t("Please choose a minimum value for the uniform distribution") + } else if (is.na(input$clt_unif_max)) { + ret <- i18n$t("Please choose a maximum value for the uniform distribution") + } else if (input$clt_unif_max <= input$clt_unif_min) { + ret <- i18n$t("The maximum value for the uniform distribution\nmust be larger than the minimum value") + } + } else if (input$clt_dist == "Normal") { + if (is.na(input$clt_norm_mean)) { + ret <- i18n$t("Please choose a mean value for the normal distribution") + } else if (is.na(input$clt_norm_sd) || input$clt_norm_sd < .001) { + ret <- i18n$t("Please choose a non-zero standard deviation for the normal distribution") + } + } else if (input$clt_dist == "Exponential") { + if (is.na(input$clt_expo_rate) || input$clt_expo_rate < 1) { + ret <- i18n$t("Please choose a rate larger than 1 for the exponential distribution") + } + } else if (input$clt_dist == "Binomial") { + if (is.na(input$clt_binom_size) || input$clt_binom_size < 1) { + ret <- i18n$t("Please choose a size parameter larger than 1 for the binomial distribution") + } else if (is.na(input$clt_binom_prob) || input$clt_binom_prob < 0.01) { + ret <- i18n$t("Please choose a probability between 0 and 1 for the binomial distribution") + } + } + if (is.empty(ret)) { + do.call(clt, clt_inputs()) + } else { + ret + } +}) + +.plot_clt <- reactive({ + if (not_pressed(input$clt_run)) { + return(i18n$t("** Press the Run simulation button to simulate data **")) + } + clt <- .clt() + validate(need(!is.character(clt), paste0("\n\n\n ", clt))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(clt, stat = input$clt_stat, bins = input$clt_bins) + }) +}) + +clt_report <- function() { + outputs <- c("plot") + inp_out <- list(list(stat = input$clt_stat, bins = input$clt_bins)) + inp <- clt_inputs() + inp3 <- inp[!grepl("_", names(inp))] + if (input$clt_dist == "Normal") { + inp <- c(inp3, inp[grepl("norm_", names(inp))]) + } else if (input$clt_dist == "Uniform") { + inp <- c(inp3, inp[grepl("unif", names(inp))]) + } else if (input$clt_dist == "Binomial") { + inp <- c(inp3, inp[grepl("binom_", names(inp))]) + } else if (input$clt_dist == "Exponential") { + inp <- c(inp3, inp[grepl("expo_", names(inp))]) + } + + update_report( + inp_main = clean_args(inp, clt_args), + fun_name = "clt", + inp_out = inp_out, + outputs = outputs, + figs = TRUE, + fig.width = clt_plot_width(), + fig.height = clt_plot_height() + ) +} + +download_handler( + id = "dlp_clt", + fun = download_handler_plot, + fn = function() paste0(tolower(input$clt_dist), "_clt"), + type = "png", + caption = i18n$t("Save central limit theorem plot"), + plot = .plot_clt, + width = clt_plot_width, + height = clt_plot_height +) + +observeEvent(input$clt_report, { + r_info[["latest_screenshot"]] <- NULL + clt_report() +}) + +observeEvent(input$clt_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_clt_screenshot") +}) + +observeEvent(input$modal_clt_screenshot, { + clt_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/compare_means_ui.R b/radiant.basics/inst/app/tools/analysis/compare_means_ui.R new file mode 100644 index 0000000..4e0de2e --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/compare_means_ui.R @@ -0,0 +1,317 @@ +## choice lists for compare means +cm_alt <- c( + "two.sided", + "less", + "greater" +) %>% setNames(c( + i18n$t("Two sided"), + i18n$t("Less than"), + i18n$t("Greater than") +)) + +cm_samples <- c( + "independent", + "paired" +) %>% setNames(c( + i18n$t("independent"), + i18n$t("paired") +)) + +cm_adjust <- c( + "none", + "bonf" +) %>% setNames(c( + i18n$t("None"), + i18n$t("Bonferroni") +)) + +cm_plots <- c( + "scatter", + "box", + "density", + "bar" +) %>% setNames(c( + i18n$t("Scatter"), + i18n$t("Box"), + i18n$t("Density"), + i18n$t("Bar") +)) +## list of function arguments +cm_args <- as.list(formals(compare_means)) + +## list of function inputs selected by user +cm_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + cm_args$data_filter <- if (input$show_filter) input$data_filter else "" + cm_args$dataset <- input$dataset + for (i in r_drop(names(cm_args))) { + cm_args[[i]] <- input[[paste0("cm_", i)]] + } + cm_args +}) + +############################### +# Compare means +############################### +output$ui_cm_var1 <- renderUI({ + vars <- c("None" = "", groupable_vars()) + isNum <- .get_class() %in% c("integer", "numeric", "ts") + + ## can't use unique here - removes variable type information + vars <- c(vars, varnames()[isNum]) %>% .[!duplicated(.)] + + selectInput( + inputId = "cm_var1", + label = i18n$t("Select a factor or numeric variable:"), + choices = vars, + selected = state_single("cm_var1", vars), + multiple = FALSE + ) +}) + +output$ui_cm_var2 <- renderUI({ + if (not_available(input$cm_var1)) { + return() + } + isNum <- .get_class() %in% c("integer", "numeric", "ts") + vars <- varnames()[isNum] + + if (input$cm_var1 %in% vars) { + ## when cm_var1 is numeric comparisons for multiple variables are possible + vars <- vars[-which(vars == input$cm_var1)] + if (length(vars) == 0) { + return() + } + + selectizeInput( + inputId = "cm_var2", label = i18n$t("Numeric variable(s):"), + selected = state_multiple("cm_var2", vars, isolate(input$cm_var2)), + choices = vars, multiple = TRUE, + options = list(placeholder = "None", plugins = list("remove_button", "drag_drop")) + ) + } else { + ## when cm_var1 is not numeric comparisons are across levels/groups + vars <- c("None" = "", vars) + selectInput( + "cm_var2", i18n$t("Numeric variable:"), + selected = state_single("cm_var2", vars), + choices = vars, + multiple = FALSE + ) + } +}) + +output$ui_cm_comb <- renderUI({ + if (not_available(input$cm_var1)) { + return() + } + + if (.get_class()[[input$cm_var1]] == "factor") { + levs <- .get_data()[[input$cm_var1]] %>% levels() + } else { + levs <- c(input$cm_var1, input$cm_var2) + } + + if (length(levs) > 2) { + cmb <- combn(levs, 2) %>% apply(2, paste, collapse = ":") + } else { + return() + } + + selectizeInput( + "cm_comb", + label = i18n$t("Choose combinations:"), + choices = cmb, + selected = state_multiple("cm_comb", cmb, cmb[1]), + multiple = TRUE, + options = list(placeholder = i18n$t("Evaluate all combinations"), plugins = list("remove_button", "drag_drop")) + ) +}) + + +output$ui_compare_means <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + uiOutput("ui_cm_var1"), + uiOutput("ui_cm_var2"), + condition = "input.tabs_compare_means == 'Summary'", + uiOutput("ui_cm_comb"), + selectInput( + inputId = "cm_alternative", label = i18n$t("Alternative hypothesis:"), + choices = cm_alt, + selected = state_single("cm_alternative", cm_alt, cm_args$alternative) + ), + sliderInput( + "cm_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, step = 0.01, + value = state_init("cm_conf_lev", cm_args$conf_lev) + ), + checkboxInput("cm_show", i18n$t("Show additional statistics"), value = state_init("cm_show", FALSE)), + radioButtons( + inputId = "cm_samples", label = i18n$t("Sample type:"), cm_samples, + selected = state_init("cm_samples", cm_args$samples), + inline = TRUE + ), + radioButtons( + inputId = "cm_adjust", label = i18n$t("Multiple comp. adjustment:"), cm_adjust, + selected = state_init("cm_adjust", cm_args$adjust), + inline = TRUE + ), + radioButtons( + inputId = "cm_test", label = i18n$t("Test type:"), + choices = c( + "t", + "wilcox" + ) %>% setNames(c( + i18n$t("t-test"), + i18n$t("Wilcox") + )), + selected = state_init("cm_test", cm_args$test), + inline = TRUE + ) + ), + conditionalPanel( + condition = "input.tabs_compare_means == 'Plot'", + selectizeInput( + inputId = "cm_plots", label = i18n$t("Select plots:"), + choices = cm_plots, + selected = state_multiple("cm_plots", cm_plots, "scatter"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Compare means"), + fun_name = "compare_means", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/compare_means.md")) + ) + ) +}) + +cm_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$cm_plots), 1)) +}) + +cm_plot_width <- function() { + cm_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +cm_plot_height <- function() { + cm_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 400) +} + +# output is called from the main radiant ui.R +output$compare_means <- renderUI({ + register_print_output("summary_compare_means", ".summary_compare_means", ) + register_plot_output( + "plot_compare_means", ".plot_compare_means", + height_fun = "cm_plot_height" + ) + + # two separate tabs + cm_output_panels <- tabsetPanel( + id = "tabs_compare_means", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_compare_means")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_compare_means"), + plotOutput("plot_compare_means", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Means"), + tool = i18n$t("Compare means"), + tool_ui = "ui_compare_means", + output_panels = cm_output_panels + ) +}) + +cm_available <- reactive({ + if (not_available(input$cm_var1) || not_available(input$cm_var2)) { + return(i18n$t("This analysis requires at least two variables. The first can be of type\nfactor, numeric, or interval. The second must be of type numeric or interval.\nIf these variable types are not available please select another dataset.\n\n") %>% suggest_data("salary")) + } else if (length(input$cm_var2) > 1 && .get_class()[input$cm_var1] == "factor") { + " " + } else if (input$cm_var1 %in% input$cm_var2) { + " " + } else { + "available" + } +}) + +.compare_means <- reactive({ + cmi <- cm_inputs() + cmi$envir <- r_data + do.call(compare_means, cmi) +}) + +.summary_compare_means <- reactive({ + if (cm_available() != "available") { + return(cm_available()) + } + if (input$cm_show) summary(.compare_means(), show = TRUE) else summary(.compare_means()) +}) + +.plot_compare_means <- reactive({ + if (cm_available() != "available") { + return(cm_available()) + } + validate(need(input$cm_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.compare_means(), plots = input$cm_plots, shiny = TRUE) + }) +}) + +compare_means_report <- function() { + if (is.empty(input$cm_var1) || is.empty(input$cm_var2)) { + return(invisible()) + } + figs <- FALSE + outputs <- c("summary") + inp_out <- list(list(show = input$cm_show), "") + if (length(input$cm_plots) > 0) { + outputs <- c("summary", "plot") + inp_out[[2]] <- list(plots = input$cm_plots, custom = FALSE) + figs <- TRUE + } + update_report( + inp_main = clean_args(cm_inputs(), cm_args), + fun_name = "compare_means", + inp_out = inp_out, + outputs = outputs, + figs = figs, + fig.width = cm_plot_width(), + fig.height = cm_plot_height() + ) +} + +download_handler( + id = "dlp_compare_means", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_compare_means"), + type = "png", + caption = i18n$t("Save compare means plot"), + plot = .plot_compare_means, + width = cm_plot_width, + height = cm_plot_height +) + +observeEvent(input$compare_means_report, { + r_info[["latest_screenshot"]] <- NULL + compare_means_report() +}) + +observeEvent(input$compare_means_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_compare_means_screenshot") +}) + +observeEvent(input$modal_compare_means_screenshot, { + compare_means_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/compare_props_ui.R b/radiant.basics/inst/app/tools/analysis/compare_props_ui.R new file mode 100644 index 0000000..8e814a8 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/compare_props_ui.R @@ -0,0 +1,281 @@ +## choice lists for compare proportions(不使用等号命名) +cp_alt <- c("two.sided", "less", "greater") %>% + setNames(c( + i18n$t("Two sided"), + i18n$t("Less than"), + i18n$t("Greater than") + )) + +cp_adjust <- c("none", "bonf") %>% + setNames(c( + i18n$t("None"), + i18n$t("Bonferroni") + )) + +# cp_plots <- c("props", "counts") %>% setNames(c(i18n$t("Proportions"), i18n$t("Relative"))) +cp_plots <- c("bar", "dodge") %>% + setNames(c( + i18n$t("Bar"), + i18n$t("Dodge") + )) + +## list of function arguments +cp_args <- as.list(formals(compare_props)) + +## list of function inputs selected by user +cp_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + cp_args$data_filter <- if (input$show_filter) input$data_filter else "" + cp_args$dataset <- input$dataset + for (i in r_drop(names(cp_args))) { + cp_args[[i]] <- input[[paste0("cp_", i)]] + } + cp_args +}) + +############################### +# Compare proportions +############################### +output$ui_cp_var1 <- renderUI({ + vars <- c("None" = "", groupable_vars()) + selectInput( + "cp_var1", i18n$t("Select a grouping variable:"), + choices = vars, + selected = state_single("cp_var1", vars), + multiple = FALSE + ) +}) + +output$ui_cp_var2 <- renderUI({ + vars <- two_level_vars() + if (not_available(input$cp_var1)) { + return() + } + if (input$cp_var1 %in% vars) vars <- vars[-which(vars == input$cp_var1)] + + vars <- c("None" = "", vars) + selectInput( + inputId = "cp_var2", i18n$t("Variable (select one):"), + selected = state_single("cp_var2", vars), + choices = vars, + multiple = FALSE + ) +}) + +output$ui_cp_levs <- renderUI({ + if (not_available(input$cp_var2)) { + return() + } else { + levs <- .get_data()[[input$cp_var2]] %>% + as.factor() %>% + levels() + } + + selectInput( + inputId = "cp_levs", i18n$t("Choose level:"), + choices = levs, + selected = state_single("cp_levs", levs), + multiple = FALSE + ) +}) + +output$ui_cp_comb <- renderUI({ + if (not_available(input$cp_var1)) { + return() + } + + dat <- .get_data()[[input$cp_var1]] %>% as.factor() + levs <- levels(dat) + alevs <- unique(dat) + len <- length(dat) + levs <- levs[levs %in% alevs] + + if (length(levs) > 2 && length(levs) < len) { + cmb <- combn(levs, 2) %>% apply(2, paste, collapse = ":") + } else { + return() + } + + selectizeInput( + "cp_comb", i18n$t("Choose combinations:"), + choices = cmb, + selected = state_multiple("cp_comb", cmb, cmb[1]), + multiple = TRUE, + options = list(placeholder = i18n$t("Evaluate all combinations"), plugins = list("remove_button", "drag_drop")) + ) +}) + + +output$ui_compare_props <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_compare_props == 'Summary'", + uiOutput("ui_cp_var1"), + uiOutput("ui_cp_var2"), + uiOutput("ui_cp_levs"), + uiOutput("ui_cp_comb"), + selectInput( + inputId = "cp_alternative", i18n$t("Alternative hypothesis:"), + choices = cp_alt, + selected = state_single("cp_alternative", cp_alt, cp_args$alternative) + ), + checkboxInput( + "cp_show", i18n$t("Show additional statistics"), + value = state_init("cp_show", FALSE) + ), + sliderInput( + "cp_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, step = 0.01, + value = state_init("cp_conf_lev", cp_args$conf_lev) + ), + radioButtons( + inputId = "cp_adjust", i18n$t("Multiple comp. adjustment:"), + cp_adjust, + selected = state_init("cp_adjust", cp_args$adjust), + inline = TRUE + ) + ), + conditionalPanel( + condition = "input.tabs_compare_props == 'Plot'", + selectizeInput( + inputId = "cp_plots", label = i18n$t("Select plots:"), + choices = cp_plots, + selected = state_multiple("cp_plots", cp_plots, "bar"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Compare proportions"), + fun_name = "compare_props", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/compare_props.md")) + ) + ) +}) + +cp_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$cp_plots), 1)) +}) + +cp_plot_width <- function() { + cp_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +cp_plot_height <- function() { + cp_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 400) +} + +# output is called from the main radiant ui.R +output$compare_props <- renderUI({ + register_print_output("summary_compare_props", ".summary_compare_props", ) + register_plot_output( + "plot_compare_props", ".plot_compare_props", + height_fun = "cp_plot_height" + ) + + # two separate tabs + cp_output_panels <- tabsetPanel( + id = "tabs_compare_props", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_compare_props")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_compare_props"), + plotOutput("plot_compare_props", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Proportions"), + tool = i18n$t("Compare proportions"), + tool_ui = "ui_compare_props", + output_panels = cp_output_panels + ) +}) + +cp_available <- reactive({ + if (not_available(input$cp_var1) || not_available(input$cp_var2)) { + i18n$t("This analysis requires two categorical variables. The first must have\ntwo or more levels. The second can have only two levels. If these\nvariable types are not available please select another dataset.\n\n") %>% suggest_data("titanic") + } else if (input$cp_var1 %in% input$cp_var2) { + " " + } else { + "available" + } +}) + +.compare_props <- reactive({ + cpi <- cp_inputs() + cpi$envir <- r_data + do.call(compare_props, cpi) +}) + +.summary_compare_props <- reactive({ + if (cp_available() != "available") { + return(cp_available()) + } + if (input$cp_show) summary(.compare_props(), show = TRUE) else summary(.compare_props()) +}) + +.plot_compare_props <- reactive({ + if (cp_available() != "available") { + return(cp_available()) + } + validate(need(input$cp_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.compare_props(), plots = input$cp_plots, shiny = TRUE) + }) +}) + +compare_props_report <- function() { + if (is.empty(input$cp_var1) || is.empty(input$cp_var2)) { + return(invisible()) + } + figs <- FALSE + outputs <- c("summary") + inp_out <- list(list(show = input$cp_show), "") + if (length(input$cp_plots) > 0) { + outputs <- c("summary", "plot") + inp_out[[2]] <- list(plots = input$cp_plots, custom = FALSE) + figs <- TRUE + } + + update_report( + inp_main = clean_args(cp_inputs(), cp_args), + fun_name = "compare_props", + inp_out = inp_out, + outputs = outputs, + figs = figs, + fig.width = cp_plot_width(), + fig.height = cp_plot_height() + ) +} + +download_handler( + id = "dlp_compare_props", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_compare_props"), + type = "png", + caption = i18n$t("Save compare proportions plot"), + plot = .plot_compare_props, + width = cp_plot_width, + height = cp_plot_height +) + +observeEvent(input$compare_props_report, { + r_info[["latest_screenshot"]] <- NULL + compare_props_report() +}) + +observeEvent(input$compare_props_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_compare_props_screenshot") +}) + +observeEvent(input$modal_compare_props_screenshot, { + compare_props_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/correlation_ui.R b/radiant.basics/inst/app/tools/analysis/correlation_ui.R new file mode 100644 index 0000000..89417d7 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/correlation_ui.R @@ -0,0 +1,330 @@ +############################### +## Correlation +############################### +cor_method <- c( + "pearson", + "spearman", + "kendall" +) %>% setNames(c( + i18n$t("Pearson"), + i18n$t("Spearman"), + i18n$t("Kendall") +)) +## list of function arguments +cor_args <- as.list(formals(correlation)) + +## list of function inputs selected by user +cor_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + cor_args$data_filter <- if (input$show_filter) input$data_filter else "" + cor_args$dataset <- input$dataset + for (i in r_drop(names(cor_args))) { + cor_args[[i]] <- input[[paste0("cor_", i)]] + } + cor_args +}) + +output$ui_cor_method <- renderUI({ + if (isTRUE(input$cor_hcor)) { + cor_method <- c("pearson") %>% + setNames(c(i18n$t("Pearson"))) + } + selectInput( + "cor_method", i18n$t("Method:"), + choices = cor_method, + selected = state_single("cor_method", cor_method, "pearson"), + multiple = FALSE + ) +}) + +cor_sum_args <- as.list(if (exists("summary.correlation")) { + formals(summary.correlation) +} else { + formals(radiant.basics::summary.correlation) +}) + +## list of function inputs selected by user +cor_sum_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(cor_sum_args)) { + cor_sum_args[[i]] <- input[[paste0("cor_", i)]] + } + cor_sum_args +}) + +output$ui_cor_vars <- renderUI({ + withProgress(message = i18n$t("Acquiring variable information"), value = 1, { + vars <- varnames() + toSelect <- .get_class() %in% c("numeric", "integer", "date", "factor") + vars <- vars[toSelect] + }) + if (length(vars) == 0) { + return() + } + selectInput( + inputId = "cor_vars", label = i18n$t("Select variables:"), + choices = vars, + selected = state_multiple("cor_vars", vars, isolate(input$cor_vars)), + multiple = TRUE, + size = min(10, length(vars)), + selectize = FALSE + ) +}) + +output$ui_cor_nrobs <- renderUI({ + nrobs <- nrow(.get_data()) + choices <- c("1,000" = 1000, "5,000" = 5000, "10,000" = 10000, "All" = -1) %>% + .[. < nrobs] + selectInput( + "cor_nrobs", i18n$t("Number of data points plotted:"), + choices = choices, + selected = state_single("cor_nrobs", choices, 1000) + ) +}) + +output$ui_cor_name <- renderUI({ + req(input$dataset) + textInput("cor_name", i18n$t("Store as data.frame:"), "", placeholder = "Provide a name") +}) + +## add a spinning refresh icon if correlations need to be (re)calculated +run_refresh(cor_args, "cor", init = "vars", tabs = "tabs_correlation", label = i18n$t("Calculate correlation"), relabel = i18n$t("Re-calculate correlations")) + +output$ui_correlation <- renderUI({ + req(input$dataset) + tagList( + conditionalPanel( + condition = "input.tabs_correlation == 'Summary'", + wellPanel( + actionButton("cor_run", i18n$t("Calculate correlation"), width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") + ) + ), + wellPanel( + conditionalPanel( + condition = "input.tabs_correlation == 'Summary'", + uiOutput("ui_cor_vars"), + uiOutput("ui_cor_method"), + checkboxInput("cor_hcor", i18n$t("Adjust for {factor} variables"), value = state_init("cor_hcor", FALSE)), + conditionalPanel( + condition = "input.cor_hcor == true", + checkboxInput("cor_hcor_se", i18n$t("Calculate adjusted p.values"), value = state_init("cor_hcor_se", FALSE)) + ), + numericInput( + "cor_cutoff", i18n$t("Correlation cutoff:"), + min = 0, max = 1, step = 0.05, + value = state_init("cor_cutoff", 0) + ), + conditionalPanel( + condition = "input.cor_hcor == false", + checkboxInput( + "cor_covar", i18n$t("Show covariance matrix"), + value = state_init("cor_covar", FALSE) + ) + ), + ), + conditionalPanel( + condition = "input.tabs_correlation == 'Plot'", + uiOutput("ui_cor_nrobs") + ) + ), + conditionalPanel( + condition = "input.tabs_correlation == 'Summary'", + wellPanel( + tags$table( + tags$td(uiOutput("ui_cor_name")), + tags$td(actionButton("cor_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE)), class = "top") + ) + ) + ), + help_and_report( + modal_title = i18n$t("Correlation"), + fun_name = "correlation", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/correlation.md")) + ) + ) +}) + +observeEvent(input$cor_hcor, { + if (input$cor_hcor == FALSE) { + updateCheckboxInput(session, "cor_hcor_se", value = FALSE) + } else { + updateCheckboxInput(session, "cor_covar", value = FALSE) + } +}) + +cor_plot <- reactive({ + max(2, length(input$cor_vars)) %>% + (function(x) list(plot_width = 400 + 75 * x, plot_height = 400 + 75 * x)) +}) + +cor_plot_width <- function() { + cor_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +cor_plot_height <- function() { + cor_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 650) +} + +## output is called from the main radiant ui.R +output$correlation <- renderUI({ + register_print_output("summary_correlation", ".summary_correlation") + register_plot_output( + "plot_correlation", ".plot_correlation", + height_fun = "cor_plot_height", + width_fun = "cor_plot_width" + ) + + ## two separate tabs + cor_output_panels <- tabsetPanel( + id = "tabs_correlation", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_correlation")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_correlation"), + plotOutput( + "plot_correlation", + width = "100%", + height = "100%" + ) + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Tables"), + tool = i18n$t("Correlation"), + tool_ui = "ui_correlation", + output_panels = cor_output_panels + ) +}) + +cor_available <- reactive({ + if (not_available(input$cor_vars) || length(input$cor_vars) < 2) { + return(i18n$t("This analysis requires two or more variables or type numeric,\ninteger,or date. If these variable types are not available\nplease select another dataset.\n\n") %>% suggest_data("salary")) + } + "available" +}) + +# .correlation <- reactive({ +.correlation <- eventReactive(input$cor_run, { + cori <- cor_inputs() + cori$envir <- r_data + do.call(correlation, cori) +}) + +.summary_correlation <- reactive({ + if (cor_available() != "available") { + return(cor_available()) + } + if (not_pressed(input$cor_run)) { + return(i18n$t("** Press the Calculate correlation button to generate output **")) + } + validate( + need( + input$cor_cutoff >= 0 && input$cor_cutoff <= 1, + i18n$t("Provide a correlation cutoff value in the range from 0 to 1") + ) + ) + withProgress(message = i18n$t("Calculating correlations"), value = 0.5, { + do.call(summary, c(list(object = .correlation()), cor_sum_inputs())) + }) +}) + +.plot_correlation <- reactive({ + if (cor_available() != "available") { + return(cor_available()) + } + if (not_pressed(input$cor_run)) { + return(i18n$t("** Press the Calculate correlation button to generate output **")) + } + req(input$cor_nrobs) + withProgress(message = i18n$t("Generating correlation plot"), value = 0.5, { + capture_plot(plot(.correlation(), nrobs = input$cor_nrobs)) + }) +}) + +correlation_report <- function() { + if (length(input$cor_vars) < 2) { + return(invisible()) + } + inp_out <- list("", "") + nrobs <- ifelse(is.empty(input$cor_nrobs), 1000, as_integer(input$cor_nrobs)) + inp_out[[1]] <- clean_args(cor_sum_inputs(), cor_sum_args[-1]) + inp_out[[2]] <- list(nrobs = nrobs) + + if (!is.empty(input$cor_name)) { + dataset <- fix_names(input$cor_name) + if (input$cor_name != dataset) { + updateTextInput(session, inputId = "cor_name", value = dataset) + } + xcmd <- paste0(dataset, " <- cor2df(result)\nregister(\"", dataset, "\", descr = result$descr)") + } else { + xcmd <- "" + } + + update_report( + inp_main = clean_args(cor_inputs(), cor_args), + fun_name = "correlation", + inp_out = inp_out, + fig.width = cor_plot_width(), + fig.height = cor_plot_height(), + xcmd = xcmd + ) +} + +download_handler( + id = "dlp_correlation", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_correlation"), + type = "png", + caption = i18n$t("Save correlation plot"), + plot = .plot_correlation, + width = cor_plot_width, + height = cor_plot_height +) + +observeEvent(input$cor_store, { + req(input$cor_name) + cmat <- try(.correlation(), silent = TRUE) + if (inherits(cmat, "try-error") || is.null(cmat)) { + return() + } + + dataset <- fix_names(input$cor_name) + updateTextInput(session, inputId = "cor_name", value = dataset) + r_data[[dataset]] <- cor2df(cmat) + register(dataset, descr = cmat$descr) + updateSelectInput(session, "dataset", selected = input$dataset) + + ## See https://shiny.posit.co//reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + i18n$t( + "Dataset '{dataset}' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen.", + dataset = dataset + ) + ), + footer = modalButton(i18n$t("OK")), + size = "s", + easyClose = TRUE + ) + ) +}) + +observeEvent(input$correlation_report, { + r_info[["latest_screenshot"]] <- NULL + correlation_report() +}) + +observeEvent(input$correlation_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_correlation_screenshot") +}) + +observeEvent(input$modal_correlation_screenshot, { + correlation_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/cross_tabs_ui.R b/radiant.basics/inst/app/tools/analysis/cross_tabs_ui.R new file mode 100644 index 0000000..b349d23 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/cross_tabs_ui.R @@ -0,0 +1,211 @@ +## alternative hypothesis options +ct_check <- c( + "observed", + "expected", + "chi_sq", + "dev_std", + "row_perc", + "col_perc", + "perc" +) + +names(ct_check) <- c( + i18n$t("Observed"), + i18n$t("Expected"), + i18n$t("Chi-squared"), + i18n$t("Deviation std."), + i18n$t("Row percentages"), + i18n$t("Column percentages"), + i18n$t("Table percentages") +) + +## list of function arguments +ct_args <- as.list(formals(cross_tabs)) + +## list of function inputs selected by user +ct_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + ct_args$data_filter <- if (input$show_filter) input$data_filter else "" + ct_args$dataset <- input$dataset + for (i in r_drop(names(ct_args))) { + ct_args[[i]] <- input[[paste0("ct_", i)]] + } + ct_args +}) + +############################### +# Cross-tabs +############################### +output$ui_ct_var1 <- renderUI({ + vars <- c("None" = "", groupable_vars()) + selectInput( + inputId = "ct_var1", label = i18n$t("Select a categorical variable:"), + choices = vars, selected = state_single("ct_var1", vars), multiple = FALSE + ) +}) + +output$ui_ct_var2 <- renderUI({ + if (not_available(input$ct_var1)) { + return() + } + vars <- c("None" = "", groupable_vars()) + + if (length(vars) > 0) vars <- vars[-which(vars == input$ct_var1)] + selectInput( + inputId = "ct_var2", label = i18n$t("Select a categorical variable:"), + selected = state_single("ct_var2", vars), + choices = vars, multiple = FALSE + ) +}) + +output$ui_cross_tabs <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_cross_tabs == 'Summary'", + uiOutput("ui_ct_var1"), + uiOutput("ui_ct_var2") + ), + br(), + checkboxGroupInput( + "ct_check", NULL, + choices = ct_check, + selected = state_group("ct_check"), + inline = FALSE + ) + ), + help_and_report( + modal_title = i18n$t("Cross-tabs"), + fun_name = "cross_tabs", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/cross_tabs.md")) + ) + ) +}) + +ct_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$ct_check), 1)) +}) + +ct_plot_width <- function() { + ct_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +ct_plot_height <- function() { + ct_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 400) +} + +## output is called from the main radiant ui.R +output$cross_tabs <- renderUI({ + register_print_output("summary_cross_tabs", ".summary_cross_tabs") + register_plot_output( + "plot_cross_tabs", ".plot_cross_tabs", + height_fun = "ct_plot_height", + width_fun = "ct_plot_width" + ) + + ## two separate tabs + ct_output_panels <- tabsetPanel( + id = "tabs_cross_tabs", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_cross_tabs")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_cross_tabs"), + plotOutput("plot_cross_tabs", width = "100%", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Tables"), + tool = i18n$t("Cross-tabs"), + tool_ui = "ui_cross_tabs", + output_panels = ct_output_panels + ) +}) + +ct_available <- reactive({ + if (not_available(input$ct_var1) || not_available(input$ct_var2)) { + i18n$t("This analysis requires two categorical variables. Both must have two or more levels.\nIf these variable types are not available please select another dataset.\n\n") %>% + suggest_data("newspaper") + } else { + "available" + } +}) + +.cross_tabs <- reactive({ + cti <- ct_inputs() + cti$envir <- r_data + do.call(cross_tabs, cti) +}) + +.summary_cross_tabs <- reactive({ + if (ct_available() != "available") { + return(ct_available()) + } + summary(.cross_tabs(), check = input$ct_check) +}) + +.plot_cross_tabs <- reactive({ + if (ct_available() != "available") { + return(ct_available()) + } + validate(need(input$ct_check, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.cross_tabs(), check = input$ct_check, shiny = TRUE) + }) +}) + +cross_tabs_report <- function() { + if (is.empty(input$ct_var1) || is.empty(input$ct_var2)) { + return(invisible()) + } + inp_out <- list("", "") + if (length(input$ct_check) > 0) { + outputs <- c("summary", "plot") + inp_out[[1]] <- list(check = input$ct_check) + inp_out[[2]] <- list(check = input$ct_check, custom = FALSE) + figs <- TRUE + } else { + outputs <- "summary" + inp_out[[1]] <- list(check = "") + figs <- FALSE + } + + update_report( + inp_main = clean_args(ct_inputs(), ct_args), + inp_out = inp_out, + fun_name = "cross_tabs", + outputs = outputs, + figs = figs, + fig.width = ct_plot_width(), + fig.height = ct_plot_height() + ) +} + +download_handler( + id = "dlp_cross_tabs", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_cross_tabs"), + type = "png", + caption = i18n$t("Save cross-tabs plot"), + plot = .plot_cross_tabs, + width = ct_plot_width, + height = ct_plot_height +) + +observeEvent(input$cross_tabs_report, { + r_info[["latest_screenshot"]] <- NULL + cross_tabs_report() +}) + +observeEvent(input$cross_tabs_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_cross_tabs_screenshot") +}) + +observeEvent(input$modal_cross_tabs_screenshot, { + cross_tabs_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/goodness_ui.R b/radiant.basics/inst/app/tools/analysis/goodness_ui.R new file mode 100644 index 0000000..66723f0 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/goodness_ui.R @@ -0,0 +1,197 @@ +## alternative hypothesis options +gd_check <- c("observed", "expected", "chi_sq", "dev_std") +names(gd_check) <- c( + i18n$t("Observed"), + i18n$t("Expected"), + i18n$t("Chi-squared"), + i18n$t("Deviation std.") +) + +## list of function arguments +gd_args <- as.list(formals(goodness)) + +## list of function inputs selected by user +gd_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + gd_args$data_filter <- if (input$show_filter) input$data_filter else "" + gd_args$dataset <- input$dataset + for (i in r_drop(names(gd_args))) { + gd_args[[i]] <- input[[paste0("gd_", i)]] + } + gd_args +}) + +############################### +# Goodness of fit test +############################### +output$ui_gd_var <- renderUI({ + vars <- c("None" = "", groupable_vars()) + selectInput( + "gd_var", i18n$t("Select a categorical variable:"), + choices = vars, + selected = state_single("gd_var", vars), + multiple = FALSE + ) +}) + +output$ui_gd_p <- renderUI({ + req(input$gd_var) + returnTextInput( + "gd_p", i18n$t("Probabilities:"), + value = state_init("gd_p", ""), + placeholder = i18n$t("Enter probabilities (e.g., 1/2 1/2)") + ) +}) + +output$ui_goodness <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_goodness == 'Summary'", + uiOutput("ui_gd_var"), + uiOutput("ui_gd_p"), + br() + ), + checkboxGroupInput( + "gd_check", NULL, + choices = gd_check, + selected = state_group("gd_check"), + inline = FALSE + ) + ), + help_and_report( + modal_title = i18n$t("Goodness of fit"), + fun_name = "goodness", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/goodness.md")) + ) + ) +}) + +gd_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$gd_check), 1)) +}) + +gd_plot_width <- function() { + gd_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +gd_plot_height <- function() { + gd_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 400) +} + +## output is called from the main radiant ui.R +output$goodness <- renderUI({ + register_print_output("summary_goodness", ".summary_goodness") + register_plot_output( + "plot_goodness", ".plot_goodness", + height_fun = "gd_plot_height", + width_fun = "gd_plot_width" + ) + + ## two separate tabs + gd_output_panels <- tabsetPanel( + id = "tabs_goodness", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_goodness")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_goodness"), + plotOutput("plot_goodness", width = "100%", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Tables"), + tool = i18n$t("Goodness of fit"), + tool_ui = "ui_goodness", + output_panels = gd_output_panels + ) +}) + +gd_available <- reactive({ + if (not_available(input$gd_var)) { + i18n$t("This analysis requires a categorical variables with two or more levels.\nIf such a variable type is not available please select another dataset.\n\n") %>% suggest_data("newspaper") + } else { + "available" + } +}) + +.goodness <- reactive({ + gdi <- gd_inputs() + gdi$envir <- r_data + do.call(goodness, gdi) +}) + +.summary_goodness <- reactive({ + if (gd_available() != "available") { + return(gd_available()) + } + summary(.goodness(), check = input$gd_check) +}) + +.plot_goodness <- reactive({ + if (gd_available() != "available") { + return(gd_available()) + } + validate(need(input$gd_check, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.goodness(), check = input$gd_check, shiny = TRUE) + }) +}) + +goodness_report <- function() { + if (is.empty(input$gd_var)) { + return(invisible()) + } + inp_out <- list("", "") + if (length(input$gd_check) > 0) { + outputs <- c("summary", "plot") + inp_out[[1]] <- list(check = input$gd_check) + inp_out[[2]] <- list(check = input$gd_check, custom = FALSE) + figs <- TRUE + } else { + outputs <- "summary" + figs <- FALSE + } + + gdi <- gd_inputs() + gdi$p <- radiant.data::make_vec(gdi$p) + + update_report( + inp_main = clean_args(gdi, gd_args), + inp_out = inp_out, + fun_name = "goodness", + outputs = outputs, + figs = figs, + fig.width = gd_plot_width(), + fig.height = gd_plot_height() + ) +} + +download_handler( + id = "dlp_goodness", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_goodness"), + type = "png", + caption = i18n$t("Save goodness of fit plot"), + plot = .plot_goodness, + width = gd_plot_width, + height = gd_plot_height +) + +observeEvent(input$goodness_report, { + r_info[["latest_screenshot"]] <- NULL + goodness_report() +}) + +observeEvent(input$goodness_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_goodness_screenshot") +}) + +observeEvent(input$modal_goodness_screenshot, { + goodness_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/homo_variance_test_ui.R b/radiant.basics/inst/app/tools/analysis/homo_variance_test_ui.R new file mode 100644 index 0000000..7a400fd --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/homo_variance_test_ui.R @@ -0,0 +1,190 @@ +############################################ +## Homogeneity of variance test - ui +############################################ + +## 1. 翻译标签 +hv_method <- c("levene", "bartlett", "fligner") +names(hv_method) <- c(i18n$t("Levene"), + i18n$t("Bartlett"), + i18n$t("Fligner")) + +hv_plots <- c("hist", "density", "boxplot") +names(hv_plots) <- c(i18n$t("Histogram"), + i18n$t("Density"), + i18n$t("Boxplot")) + +## 2. 函数形参 +hv_args <- as.list(formals(homo_variance_test)) + +## 3. 收集输入 +hv_inputs <- reactive({ + hv_args$data_filter <- if (input$show_filter) input$data_filter else "" + hv_args$dataset <- input$dataset + for (i in r_drop(names(hv_args))) { + hv_args[[i]] <- input[[paste0("hv_", i)]] + } + hv_args +}) + +## 4. 变量选择(numeric + grouping) +output$ui_hv_var <- renderUI({ + isNum <- .get_class() %in% c("integer", "numeric", "ts") + vars <- c("None" = "", varnames()[isNum]) + selectInput( + inputId = "hv_var", label = i18n$t("Variable (select one):"), + choices = vars, selected = state_single("hv_var", vars), multiple = FALSE + ) +}) + +output$ui_hv_group <- renderUI({ + vars <- groupable_vars() + selectInput( + inputId = "hv_group", label = i18n$t("Grouping variable:"), + choices = vars, selected = state_single("hv_group", vars), multiple = FALSE + ) +}) + +## 5. 主 UI +output$ui_homo_variance_test <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_homo_variance_test == 'Summary'", + uiOutput("ui_hv_var"), + uiOutput("ui_hv_group"), + selectInput( + inputId = "hv_method", label = i18n$t("Test method:"), + choices = hv_method, + selected = state_single("hv_method", hv_method, "levene"), + multiple = FALSE + ), + sliderInput( + "hv_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, + value = state_init("hv_conf_lev", 0.95), step = 0.01 + ) + ), + conditionalPanel( + condition = "input.tabs_homo_variance_test == 'Plot'", + selectizeInput( + inputId = "hv_plots", label = i18n$t("Select plots:"), + choices = hv_plots, + selected = state_multiple("hv_plots", hv_plots, "boxplot"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), + plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Homogeneity of variance test"), + fun_name = "homo_variance_test", + help_file = inclMD(file.path(getOption("radiant.path.basics"), + "app/tools/help/homo_variance_test.md")) + ) + ) +}) + +## 6. 画图尺寸 +hv_plot <- reactive({ + list(plot_width = 650, + plot_height = 400 * max(length(input$hv_plots), 1)) +}) +hv_plot_width <- function() hv_plot()$plot_width +hv_plot_height <- function() hv_plot()$plot_height + +## 7. 输出面板 +output$homo_variance_test <- renderUI({ + register_print_output("summary_homo_variance_test", ".summary_homo_variance_test") + register_plot_output("plot_homo_variance_test", ".plot_homo_variance_test", + height_fun = "hv_plot_height") + + hv_output_panels <- tabsetPanel( + id = "tabs_homo_variance_test", + tabPanel(title = i18n$t("Summary"), + value = "Summary", + verbatimTextOutput("summary_homo_variance_test")), + tabPanel(title = i18n$t("Plot"), + value = "Plot", + download_link("dlp_homo_variance_test"), + plotOutput("plot_homo_variance_test", height = "100%")) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Homogeneity"), + tool = i18n$t("Homogeneity of variance test"), + tool_ui = "ui_homo_variance_test", + output_panels = hv_output_panels + ) +}) + +## 8. 可用性检查 +hv_available <- reactive({ + if (not_available(input$hv_var)) + return(i18n$t("This analysis requires a numeric variable. If none are\navailable please select another dataset.") %>% suggest_data("demand_uk")) + if (not_available(input$hv_group)) + return(i18n$t("Please select a grouping variable.")) + "available" +}) + +## 9. 计算核心 +.homo_variance_test <- reactive({ + hvi <- hv_inputs() + hvi$envir <- r_data + do.call(homo_variance_test, hvi) +}) + +.summary_homo_variance_test <- reactive({ + if (hv_available() != "available") return(hv_available()) + summary(.homo_variance_test()) +}) + +.plot_homo_variance_test <- reactive({ + if (hv_available() != "available") return(hv_available()) + validate(need(input$hv_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, + plot(.homo_variance_test(), plots = input$hv_plots, shiny = TRUE)) +}) + +## 10. Report +homo_variance_test_report <- function() { + if (is.empty(input$hv_var)) return(invisible()) + figs <- length(input$hv_plots) > 0 + outputs <- if (figs) c("summary", "plot") else "summary" + inp_out <- if (figs) list("", list(plots = input$hv_plots, custom = FALSE)) else list("", "") + update_report(inp_main = clean_args(hv_inputs(), hv_args), + fun_name = "homo_variance_test", + inp_out = inp_out, + outputs = outputs, + figs = figs, + fig.width = hv_plot_width(), + fig.height = hv_plot_height()) +} + +## 11. 下载 & 截图 +download_handler( + id = "dlp_homo_variance_test", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_homo_variance_test"), + type = "png", + caption = i18n$t("Save homogeneity of variance plot"), + plot = .plot_homo_variance_test, + width = hv_plot_width, + height = hv_plot_height +) + +observeEvent(input$homo_variance_test_report, { + r_info[["latest_screenshot"]] <- NULL + homo_variance_test_report() +}) + +observeEvent(input$homo_variance_test_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_homo_variance_test_screenshot") +}) + +observeEvent(input$modal_homo_variance_test_screenshot, { + homo_variance_test_report() + removeModal() +}) diff --git a/radiant.basics/inst/app/tools/analysis/normality_test_ui.R b/radiant.basics/inst/app/tools/analysis/normality_test_ui.R new file mode 100644 index 0000000..b22ad9a --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/normality_test_ui.R @@ -0,0 +1,181 @@ +############################################ +## Normality test - ui +############################################ + +## 1. 翻译标签 +nt_method <- c("shapiro", "ks", "ad") # 先给 3 个常用方法 +names(nt_method) <- c(i18n$t("Shapiro-Wilk"), + i18n$t("Kolmogorov-Smirnov"), + i18n$t("Anderson-Darling")) + +nt_plots <- c("qq", "hist", "pp", "density") +names(nt_plots) <- c(i18n$t("Q-Q plot"), + i18n$t("Histogram"), + i18n$t("P-P plot"), + i18n$t("Density")) + +## 2. 函数形参 +nt_args <- as.list(formals(normality_test)) + +## 3. 收集输入 +nt_inputs <- reactive({ + nt_args$data_filter <- if (input$show_filter) input$data_filter else "" + nt_args$dataset <- input$dataset + for (i in r_drop(names(nt_args))) { + nt_args[[i]] <- input[[paste0("nt_", i)]] + } + nt_args +}) + +## 4. 变量选择(仅 numeric) +output$ui_nt_var <- renderUI({ + isNum <- .get_class() %in% c("integer", "numeric", "ts") + vars <- c("None" = "", varnames()[isNum]) + selectInput( + inputId = "nt_var", label = i18n$t("Variable (select one):"), + choices = vars, selected = state_single("nt_var", vars), multiple = FALSE + ) +}) + +## 5. 主 UI +output$ui_normality_test <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_normality_test == 'Summary'", + uiOutput("ui_nt_var"), + selectInput( + inputId = "nt_method", label = i18n$t("Test method:"), + choices = nt_method, + selected = state_single("nt_method", nt_method, "shapiro"), + multiple = FALSE + ), + sliderInput( + "nt_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, + value = state_init("nt_conf_lev", 0.95), step = 0.01 + ) + ), + conditionalPanel( + condition = "input.tabs_normality_test == 'Plot'", + selectizeInput( + inputId = "nt_plots", label = i18n$t("Select plots:"), + choices = nt_plots, + selected = state_multiple("nt_plots", nt_plots, "qq"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), + plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Normality test"), + fun_name = "normality_test", + help_file = inclMD(file.path(getOption("radiant.path.basics"), + "app/tools/help/normality_test.md")) + ) + ) +}) + +## 6. 画图尺寸(直接抄) +nt_plot <- reactive({ + list(plot_width = 650, + plot_height = 400 * max(length(input$nt_plots), 1)) +}) +nt_plot_width <- function() nt_plot()$plot_width +nt_plot_height <- function() nt_plot()$plot_height + + +## 7. 输出面板 +output$normality_test <- renderUI({ + register_print_output("summary_normality_test", ".summary_normality_test") + register_plot_output("plot_normality_test", ".plot_normality_test", + height_fun = "nt_plot_height") + + nt_output_panels <- tabsetPanel( + id = "tabs_normality_test", + tabPanel(title = i18n$t("Summary"), + value = "Summary", + verbatimTextOutput("summary_normality_test")), + tabPanel(title = i18n$t("Plot"), + value = "Plot", + download_link("dlp_normality_test"), + plotOutput("plot_normality_test", height = "100%")) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Normality"), + tool = i18n$t("Normality test"), + tool_ui = "ui_normality_test", + output_panels = nt_output_panels + ) +}) + +## 8. 可用性检查 +nt_available <- reactive({ + if (not_available(input$nt_var)) + return(i18n$t("This analysis requires a numeric variable. If none are\navailable please select another dataset.") %>% suggest_data("demand_uk")) + "available" +}) + +## 9. 计算核心 +.normality_test <- reactive({ + nti <- nt_inputs() + nti$envir <- r_data + do.call(normality_test, nti) +}) + +.summary_normality_test <- reactive({ + if (nt_available() != "available") return(nt_available()) + summary(.normality_test()) +}) + +.plot_normality_test <- reactive({ + if (nt_available() != "available") return(nt_available()) + validate(need(input$nt_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, + plot(.normality_test(), plots = input$nt_plots, shiny = TRUE)) +}) + +## 10. Report +normality_test_report <- function() { + if (is.empty(input$nt_var)) return(invisible()) + figs <- length(input$nt_plots) > 0 + outputs <- if (figs) c("summary", "plot") else "summary" + inp_out <- if (figs) list("", list(plots = input$nt_plots, custom = FALSE)) else list("", "") + update_report(inp_main = clean_args(nt_inputs(), nt_args), + fun_name = "normality_test", + inp_out = inp_out, + outputs = outputs, + figs = figs, + fig.width = nt_plot_width(), + fig.height = nt_plot_height()) +} + +## 11. 下载 & 截图 +download_handler( + id = "dlp_normality_test", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_normality_test"), + type = "png", + caption = i18n$t("Save normality test plot"), + plot = .plot_normality_test, + width = nt_plot_width, + height = nt_plot_height +) + +observeEvent(input$normality_test_report, { + r_info[["latest_screenshot"]] <- NULL + normality_test_report() +}) + +observeEvent(input$normality_test_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_normality_test_screenshot") +}) + +observeEvent(input$modal_normality_test_screenshot, { + normality_test_report() + removeModal() +}) \ No newline at end of file diff --git a/radiant.basics/inst/app/tools/analysis/prob_calc_ui.R b/radiant.basics/inst/app/tools/analysis/prob_calc_ui.R new file mode 100644 index 0000000..a842298 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/prob_calc_ui.R @@ -0,0 +1,572 @@ +pc_dist <- c("binom", "chisq", "disc", "expo", "fdist", "lnorm", "norm", "pois", "tdist", "unif") +names(pc_dist) <- c( + i18n$t("Binomial"), i18n$t("Chi-squared"), i18n$t("Discrete"), + i18n$t("Exponential"), i18n$t("F"), i18n$t("Log normal"), + i18n$t("Normal"), i18n$t("Poisson"), i18n$t("t"), i18n$t("Uniform") +) + +pc_type <- c("values", "probs") +names(pc_type) <- c(i18n$t("Values"), i18n$t("Probabilities")) + + +make_pc_values_input <- function(lb, lb_init = NA, ub, ub_init = 0) { + if(!is.empty(r_state[[lb]])) ub_init <- NA + if(!is.empty(r_state[[ub]])) lb_init <- NA + tags$table( + tags$td(numericInput(lb, i18n$t("Lower bound:"), value = state_init(lb, lb_init))), + tags$td(numericInput(ub, i18n$t("Upper bound:"), value = state_init(ub, ub_init))) + ) +} + +make_side_by_side <- function(a, b) { + tags$table( + tags$td(a, width="50%"), + tags$td(b, width="50%"), + width="100%" + ) +} + +make_pc_prob_input <- function(lb, lb_init = NA, ub, ub_init = 0.95) { + if(!is.empty(r_state[[lb]])) ub_init <- NA + if(!is.empty(r_state[[ub]])) lb_init <- NA + make_side_by_side( + numericInput( + lb, i18n$t("Lower bound:"), value = state_init(lb, lb_init), + min = 0, max = 1, step = .005 + ), + numericInput( + ub, i18n$t("Upper bound:"), value = state_init(ub, ub_init), + min = 0, max = 1, step = .005 + ) + ) +} + +output$ui_pc_pois <- renderUI({ + numericInput( + "pcp_lambda", i18n$t("Lambda:"), + value = state_init("pcp_lambda", 1), + min = 1 + ) +}) + +output$ui_pc_input_pois <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcp_lb", lb_init = NA, "pcp_ub", ub_init = 3) + } else { + make_pc_prob_input("pcp_plb", lb_init = NA, "pcp_pub", ub_init = 0.95) + } +}) + +output$ui_pc_expo <- renderUI({ + numericInput( + "pce_rate", i18n$t("Rate:"), + value = state_init("pce_rate", 1), + min = 0 + ) +}) + +output$ui_pc_input_expo <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pce_lb", lb_init = NA, "pce_ub", ub_init = 2.996) + } else { + make_pc_prob_input("pce_plb", lb_init = NA, "pce_pub", ub_init = 0.95) + } +}) + +output$ui_pc_disc <- renderUI({ + tagList( + returnTextInput( + "pcd_v", i18n$t("Values:"), + value = state_init("pcd_v", "1 2 3 4 5 6") + ), + returnTextInput( + "pcd_p", i18n$t("Probabilities:"), + value = state_init("pcd_p", "1/6") + ) + ) +}) + +output$ui_pc_input_disc <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcd_lb", lb_init = NA, "pcd_ub", ub_init = 3) + } else { + make_pc_prob_input("pcd_plb", lb_init = NA, "pcd_pub", ub_init = 0.95) + } +}) + +output$ui_pc_fdist <- renderUI({ + tagList( + numericInput( + "pcf_df1", i18n$t("Degrees of freedom 1:"), + value = state_init("pcf_df1", 10), + min = 1 + ), + numericInput( + "pcf_df2", i18n$t("Degrees of freedom 2:"), + value = state_init("pcf_df2", 10), + min = 5 + ) + ) +}) + +output$ui_pc_input_fdist <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcf_lb", lb_init = NA, "pcf_ub", ub_init = 2.978) + } else { + make_pc_prob_input("pcf_plb", lb_init = NA, "pcf_pub", ub_init = 0.95) + } +}) + +output$ui_pc_chisq <- renderUI({ + numericInput( + "pcc_df", i18n$t("Degrees of freedom:"), + value = state_init("pcc_df", 1), + min = 1 + ) +}) + +output$ui_pc_input_chisq <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcc_lb", lb_init = NA, "pcc_ub", ub_init = 3.841) + } else { + make_pc_prob_input("pcc_plb", lb_init = NA, "pcc_pub", ub_init = 0.95) + } +}) + +output$ui_pc_tdist <- renderUI({ + numericInput( + "pct_df", i18n$t("Degrees of freedom:"), + value = state_init("pct_df", 10), + min = 3 + ) +}) + +output$ui_pc_input_tdist <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pct_lb", lb_init = -Inf, "pct_ub", ub_init = 2.228) + } else { + make_pc_prob_input("pct_plb", lb_init = 0.025, "pct_pub", ub_init = 0.975) + } +}) + +output$ui_pc_norm <- renderUI({ + make_side_by_side( + numericInput( + "pc_mean", i18n$t("Mean:"), + value = state_init("pc_mean", 0) + ), + numericInput( + "pc_stdev", i18n$t("St. dev:"), + min = 0, + value = state_init("pc_stdev", 1) + ) + ) +}) + +output$ui_pc_input_norm <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pc_lb", lb_init = -Inf, "pc_ub", ub_init = 0) + } else { + make_pc_prob_input("pc_plb", lb_init = 0.025, "pc_pub", ub_init = 0.975) + } +}) + +output$ui_pc_lnorm <- renderUI({ + make_side_by_side( + numericInput( + "pcln_meanlog", i18n$t("Mean log:"), + value = state_init("pcln_meanlog", 0) + ), + numericInput( + "pcln_sdlog", i18n$t("St. dev log:"), + min = 0, + value = state_init("pcln_sdlog", 1) + ) + ) +}) + +output$ui_pc_input_lnorm <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcln_lb", lb_init = 0, "pcln_ub", ub_init = 1) + } else { + make_pc_prob_input("pcln_plb", lb_init = 0.025, "pcln_pub", ub_init = 0.975) + } +}) + +output$ui_pc_binom <- renderUI({ + make_side_by_side( + numericInput( + "pcb_n", label = i18n$t("n:"), + value = state_init("pcb_n", 10), min = 0 + ), + numericInput( + "pcb_p", i18n$t("p:"), + min = 0, max = 1, step = .005, + value = state_init("pcb_p", .2) + ) + ) +}) + +output$ui_pc_input_binom <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcb_lb", lb_init = NA, "pcb_ub", ub_init = 3) + } else { + make_pc_prob_input("pcb_plb", lb_init = NA, "pcb_pub", ub_init = 0.3) + } +}) + +output$ui_pc_unif <- renderUI({ + make_side_by_side( + numericInput( + "pcu_min", i18n$t("Min:"), + value = state_init("pcu_min", 0) + ), + numericInput( + "pcu_max", i18n$t("Max:"), + value = state_init("pcu_max", 1) + ) + ) +}) + +output$ui_pc_input_unif <- renderUI({ + if (input$pc_type == "values") { + make_pc_values_input("pcu_lb", lb_init = NA, "pcu_ub", ub_init = 0.3) + } else { + make_pc_prob_input("pcu_plb", lb_init = NA, "pcu_pub", ub_init = 0.3) + } +}) + +output$ui_prob_calc <- renderUI({ + tagList( + wellPanel( + selectInput( + "pc_dist", label = i18n$t("Distribution:"), + choices = pc_dist, + selected = state_init("pc_dist", "norm"), + multiple = FALSE + ), + conditionalPanel( + "input.pc_dist == 'norm'", + uiOutput("ui_pc_norm") + ), + conditionalPanel( + "input.pc_dist == 'lnorm'", + uiOutput("ui_pc_lnorm") + ), + conditionalPanel( + "input.pc_dist == 'binom'", + uiOutput("ui_pc_binom") + ), + conditionalPanel( + "input.pc_dist == 'unif'", + uiOutput("ui_pc_unif") + ), + conditionalPanel( + "input.pc_dist == 'tdist'", + uiOutput("ui_pc_tdist") + ), + conditionalPanel( + "input.pc_dist == 'fdist'", + uiOutput("ui_pc_fdist") + ), + conditionalPanel( + "input.pc_dist == 'chisq'", + uiOutput("ui_pc_chisq") + ), + conditionalPanel( + "input.pc_dist == 'disc'", + uiOutput("ui_pc_disc") + ), + conditionalPanel( + "input.pc_dist == 'expo'", + uiOutput("ui_pc_expo") + ), + conditionalPanel( + "input.pc_dist == 'pois'", + uiOutput("ui_pc_pois") + ) + ), + wellPanel( + radioButtons( + "pc_type", i18n$t("Input type:"), + choices = pc_type, + selected = state_init("pc_type", "values"), + inline = TRUE + ), + conditionalPanel( + "input.pc_dist == 'norm'", + uiOutput("ui_pc_input_norm") + ), + conditionalPanel( + "input.pc_dist == 'lnorm'", + uiOutput("ui_pc_input_lnorm") + ), + conditionalPanel( + "input.pc_dist == 'binom'", + uiOutput("ui_pc_input_binom") + ), + conditionalPanel( + "input.pc_dist == 'unif'", + uiOutput("ui_pc_input_unif") + ), + conditionalPanel( + "input.pc_dist == 'tdist'", + uiOutput("ui_pc_input_tdist") + ), + conditionalPanel( + "input.pc_dist == 'fdist'", + uiOutput("ui_pc_input_fdist") + ), + conditionalPanel( + "input.pc_dist == 'chisq'", + uiOutput("ui_pc_input_chisq") + ), + conditionalPanel( + "input.pc_dist == 'disc'", + uiOutput("ui_pc_input_disc") + ), + conditionalPanel( + "input.pc_dist == 'expo'", + uiOutput("ui_pc_input_expo") + ), + conditionalPanel( + "input.pc_dist == 'pois'", + uiOutput("ui_pc_input_pois") + ), + numericInput( + "pc_dec", i18n$t("Decimals:"), + value = state_init("pc_dec", 3), + min = 0 + ) + ), + help_and_report( + modal_title = i18n$t("Probability calculator"), + fun_name = "prob_calc", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/prob_calc.md")) + ) + ) +}) + +pc_plot_width <- function() + if (!is.null(input$viz_plot_width)) input$viz_plot_width else 650 + +pc_plot_height <- function() 400 + +pc_args <- reactive({ + pc_dist <- input$pc_dist + if (is.empty(pc_dist) || pc_dist == "norm") { + as.list(formals(prob_norm)) + } else if (pc_dist == "lnorm") { + as.list(formals(prob_lnorm)) + } else if (pc_dist == "binom") { + as.list(formals(prob_binom)) + } else if (pc_dist == "unif") { + as.list(formals(prob_unif)) + } else if (pc_dist == "tdist") { + as.list(formals(prob_tdist)) + } else if (pc_dist == "fdist") { + as.list(formals(prob_fdist)) + } else if (pc_dist == "chisq") { + as.list(formals(prob_chisq)) + } else if (pc_dist == "disc") { + as.list(formals(prob_disc)) + } else if (pc_dist == "expo") { + as.list(formals(prob_expo)) + } else if (pc_dist == "pois") { + as.list(formals(prob_pois)) + } +}) + +## list of function inputs selected by user +pc_inputs <- reactive({ + pc_dist <- input$pc_dist + if (is.empty(pc_dist) || pc_dist == "norm") { + pre <- "pc_" + } else if (pc_dist == "lnorm") { + pre <- "pcln_" + } else if (pc_dist == "binom") { + pre <- "pcb_" + } else if (pc_dist == "unif") { + pre <- "pcu_" + } else if (pc_dist == "tdist") { + pre <- "pct_" + } else if (pc_dist == "fdist") { + pre <- "pcf_" + } else if (pc_dist == "chisq") { + pre <- "pcc_" + } else if (pc_dist == "disc") { + pre <- "pcd_" + } else if (pc_dist == "expo") { + pre <- "pce_" + } else if (pc_dist == "pois") { + pre <- "pcp_" + } + + # loop needed because reactive values don't allow single bracket indexing + args <- pc_args() + for (i in names(args)) + args[[i]] <- input[[paste0(pre, i)]] + + validate( + need( + input$pc_dec, + i18n$t("Provide an integer value for the number of decimal places") + ) + ) + + args[["dec"]] <- input$pc_dec + args +}) + +## output is called from the main radiant ui.R +output$prob_calc <- renderUI({ + register_print_output("summary_prob_calc", ".summary_prob_calc") + register_plot_output( + "plot_prob_calc", ".plot_prob_calc", + height_fun = "pc_plot_height", + width_fun = "pc_plot_width" + ) + + ## two separate tabs + pc_output_panels <- tagList( + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_prob_calc")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_prob_calc"), + plotOutput("plot_prob_calc", width = "100%", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Probability"), + tool = i18n$t("Probability calculator"), + data = NULL, + tool_ui = "ui_prob_calc", + output_panels = pc_output_panels + ) +}) + +pc_available <- reactive({ + if (is.empty(input$pc_dist) || is.empty(input$pc_type)) { + "" + } else { + a <- "available" + if (input$pc_dist == "norm") { + if (is_not(input$pc_mean) || is_not(input$pc_stdev) || input$pc_stdev <= 0) { + a <- i18n$t("Please provide a mean and standard deviation (> 0)") + } + } else if (input$pc_dist == "lnorm") { + if (is_not(input$pcln_meanlog) || is_not(input$pcln_sdlog) || input$pcln_sdlog <= 0) { + a <- i18n$t("Please provide a mean and standard deviation (> 0)") + } + } else if (input$pc_dist == "binom") { + if (is_not(input$pcb_n) || input$pcb_n < 0 || is_not(input$pcb_p) || input$pcb_p < 0) { + a <- i18n$t("Please provide a value for n (number of trials) and p (probability of success)") + } + } else if (input$pc_dist == "unif") { + if (is_not(input$pcu_min) || is_not(input$pcu_max)) { + a <- i18n$t("Please provide a minimum and a maximum value") + } + } else if (input$pc_dist == "tdist") { + if (is_not(input$pct_df)) { + a <- i18n$t("Please provide a value for the degrees of freedom (> 0)") + } + } else if (input$pc_dist == "fdist") { + if (is_not(input$pcf_df1) || is_not(input$pcf_df2) || input$pcf_df1 < 1 || input$pcf_df2 < 5) { + a <- i18n$t("Please provide a value for Degrees of freedom 1 (> 0)\nand for Degrees of freedom 2 (> 4)") + } + } else if (input$pc_dist == "chisq") { + if (is_not(input$pcc_df)) { + a <- i18n$t("Please provide a value for the degrees of freedom (> 0)") + } + } else if (input$pc_dist == "disc") { + if (is.empty(input$pcd_v) || is.empty(input$pcd_p)) { + a <- i18n$t("Please provide a set of values and probabilities.\nSeparate numbers using spaces (e.g., 1/2 1/2)") + } + } else if (input$pc_dist == "expo") { + if (is_not(input$pce_rate) || input$pce_rate <= 0) { + a <- i18n$t("Please provide a value for the rate (> 0)") + } + } else if (input$pc_dist == "pois") { + if (is_not(input$pcp_lambda) || input$pcp_lambda <= 0) { + a <- i18n$t("Please provide a value for lambda (> 0)") + } + } else { + a <- "" + } + a + } +}) + +.prob_calc <- reactive({ + validate( + need(pc_available() == "available", pc_available()) + ) + do.call(get(paste0("prob_", input$pc_dist)), pc_inputs()) +}) + +.summary_prob_calc <- reactive({ + type <- if (is.empty(input$pc_type)) "values" else input$pc_type + summary(.prob_calc(), type = type) +}) + +.plot_prob_calc <- reactive({ + req(pc_available() == "available") + type <- if (is.empty(input$pc_type)) "values" else input$pc_type + plot(.prob_calc(), type = type) +}) + +prob_calc_report <- function() { + req(input$pc_dist) + type <- input$pc_type + inp <- pc_inputs() + if (!is.null(type) && type == "probs") { + inp_out <- list(type = type) %>% list(., .) + inp[["ub"]] <- inp[["lb"]] <- NA + } else { + inp_out <- list("", "") + inp[["pub"]] <- inp[["plb"]] <- NA + } + + if (input$pc_dist == "disc") { + inp$v <- radiant.data::make_vec(inp$v) + inp$p <- radiant.data::make_vec(inp$p) + } + + outputs <- c("summary", "plot") + update_report( + inp_main = clean_args(inp, pc_args()), + fun_name = paste0("prob_", input$pc_dist), + inp_out = inp_out, + outputs = outputs, + figs = TRUE, + fig.width = pc_plot_width(), + fig.height = pc_plot_height() + ) +} + +download_handler( + id = "dlp_prob_calc", + fun = download_handler_plot, + fn = function() paste0(input$pc_dist, "_prob_calc"), + type = "png", + caption = i18n$t("Save probability calculator plot"), + plot = .plot_prob_calc, + width = pc_plot_width, + height = pc_plot_height +) + +observeEvent(input$prob_calc_report, { + r_info[["latest_screenshot"]] <- NULL + prob_calc_report() +}) + +observeEvent(input$prob_calc_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_prob_calc_screenshot") +}) + +observeEvent(input$modal_prob_calc_screenshot, { + prob_calc_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/single_mean_ui.R b/radiant.basics/inst/app/tools/analysis/single_mean_ui.R new file mode 100644 index 0000000..7dd1259 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/single_mean_ui.R @@ -0,0 +1,201 @@ +############################### +## Single mean - ui +############################### + +## alternative hypothesis options +sm_alt <- c("two.sided", "less", "greater") +names(sm_alt) <- c(i18n$t("Two sided"), i18n$t("Less than"), i18n$t("Greater than")) + +sm_plots <- c("hist", "simulate") +names(sm_plots) <- c(i18n$t("Histogram"), i18n$t("Simulate")) + +## list of function arguments +sm_args <- as.list(formals(single_mean)) + +## list of function inputs selected by user +sm_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + sm_args$data_filter <- if (input$show_filter) input$data_filter else "" + sm_args$dataset <- input$dataset + for (i in r_drop(names(sm_args))) { + sm_args[[i]] <- input[[paste0("sm_", i)]] + } + sm_args +}) + +output$ui_sm_var <- renderUI({ + isNum <- .get_class() %in% c("integer", "numeric", "ts") + vars <- c("None" = "", varnames()[isNum]) + selectInput( + inputId = "sm_var", label = i18n$t("Variable (select one):"), + choices = vars, selected = state_single("sm_var", vars), multiple = FALSE + ) +}) + +output$ui_single_mean <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_single_mean == 'Summary'", + uiOutput("ui_sm_var"), + selectInput( + inputId = "sm_alternative", label = i18n$t("Alternative hypothesis:"), + choices = sm_alt, + selected = state_single("sm_alternative", sm_alt, sm_args$alternative), + multiple = FALSE + ), + sliderInput( + "sm_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, + value = state_init("sm_conf_lev", sm_args$conf_lev), step = 0.01 + ), + numericInput( + "sm_comp_value", i18n$t("Comparison value:"), + state_init("sm_comp_value", sm_args$comp_value) + ) + ), + conditionalPanel( + condition = "input.tabs_single_mean == 'Plot'", + selectizeInput( + inputId = "sm_plots", label = i18n$t("Select plots:"), + choices = sm_plots, + selected = state_multiple("sm_plots", sm_plots, "hist"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Single mean"), + fun_name = "single_mean", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/single_mean.md")) + ) + ) +}) + +sm_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$sm_plots), 1)) +}) + +sm_plot_width <- function() { + sm_plot() %>% + { + if (is.list(.)) .$plot_width else 650 + } +} + +sm_plot_height <- function() { + sm_plot() %>% + { + if (is.list(.)) .$plot_height else 400 + } +} + +## output is called from the main radiant ui.R +output$single_mean <- renderUI({ + register_print_output("summary_single_mean", ".summary_single_mean") + register_plot_output( + "plot_single_mean", ".plot_single_mean", + height_fun = "sm_plot_height" + ) + + ## two separate tabs + sm_output_panels <- tabsetPanel( + id = "tabs_single_mean", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_single_mean")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_single_mean"), + plotOutput("plot_single_mean", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Means"), + tool = i18n$t("Single mean"), + tool_ui = "ui_single_mean", + output_panels = sm_output_panels + ) +}) + +sm_available <- reactive({ + if (not_available(input$sm_var)) { + i18n$t("This analysis requires a variable of type numeric or interval. If none are\navailable please select another dataset.\n\n") %>% suggest_data("demand_uk") + } else if (is.na(input$sm_comp_value)) { + i18n$t("Please choose a comparison value") + } else { + "available" + } +}) + +.single_mean <- reactive({ + smi <- sm_inputs() + smi$envir <- r_data + do.call(single_mean, smi) +}) + +.summary_single_mean <- reactive({ + if (sm_available() != "available") { + return(sm_available()) + } + summary(.single_mean()) +}) + +.plot_single_mean <- reactive({ + if (sm_available() != "available") { + return(sm_available()) + } + validate(need(input$sm_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.single_mean(), plots = input$sm_plots, shiny = TRUE) + }) +}) + +single_mean_report <- function() { + if (is.empty(input$sm_var)) { + return(invisible()) + } + if (length(input$sm_plots) == 0) { + figs <- FALSE + outputs <- c("summary") + inp_out <- list("", "") + } else { + outputs <- c("summary", "plot") + inp_out <- list("", list(plots = input$sm_plots, custom = FALSE)) + figs <- TRUE + } + update_report( + inp_main = clean_args(sm_inputs(), sm_args), + fun_name = "single_mean", inp_out = inp_out, + outputs = outputs, figs = figs, + fig.width = sm_plot_width(), + fig.height = sm_plot_height() + ) +} + +download_handler( + id = "dlp_single_mean", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_single_mean"), + type = "png", + caption = i18n$t("Save single mean plot"), + plot = .plot_single_mean, + width = sm_plot_width, + height = sm_plot_height +) + +observeEvent(input$single_mean_report, { + r_info[["latest_screenshot"]] <- NULL + single_mean_report() +}) + +observeEvent(input$single_mean_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_single_mean_screenshot") +}) + +observeEvent(input$modal_single_mean_screenshot, { + single_mean_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/analysis/single_prop_ui.R b/radiant.basics/inst/app/tools/analysis/single_prop_ui.R new file mode 100644 index 0000000..df99c83 --- /dev/null +++ b/radiant.basics/inst/app/tools/analysis/single_prop_ui.R @@ -0,0 +1,228 @@ +############################### +# Single proportion - ui +############################### + +## alternative hypothesis options +sp_alt <- list("two.sided", "less", "greater") +names(sp_alt) <- c( + i18n$t("Two sided"), + i18n$t("Less than"), + i18n$t("Greater than") +) +sp_plots <- c("bar", "simulate") +names(sp_plots) <- c(i18n$t("Bar"), i18n$t("Simulate")) + +## list of function arguments +sp_args <- as.list(formals(single_prop)) + +## list of function inputs selected by user +sp_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + sp_args$data_filter <- if (input$show_filter) input$data_filter else "" + sp_args$dataset <- input$dataset + for (i in r_drop(names(sp_args))) { + sp_args[[i]] <- input[[paste0("sp_", i)]] + } + sp_args +}) + +output$ui_sp_var <- renderUI({ + vars <- c("None" = "", groupable_vars()) + selectInput( + inputId = "sp_var", label = i18n$t("Variable (select one):"), + choices = vars, + selected = state_single("sp_var", vars), + multiple = FALSE + ) +}) + +output$up_sp_lev <- renderUI({ + req(available(input$sp_var)) + levs <- .get_data()[[input$sp_var]] %>% + as.factor() %>% + levels() + + selectInput( + "sp_lev", i18n$t("Choose level:"), + choices = levs, + selected = state_single("sp_lev", levs), + multiple = FALSE + ) +}) + +output$ui_single_prop <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + conditionalPanel( + condition = "input.tabs_single_prop == 'Summary'", + uiOutput("ui_sp_var"), + uiOutput("up_sp_lev"), + selectInput( + "sp_alternative", i18n$t("Alternative hypothesis:"), + choices = sp_alt, + selected = state_single("sp_alternative", sp_alt, sp_args$alternative), + multiple = FALSE + ), + sliderInput( + "sp_conf_lev", i18n$t("Confidence level:"), + min = 0.85, max = 0.99, step = 0.01, + value = state_init("sp_conf_lev", sp_args$conf_lev) + ), + numericInput( + "sp_comp_value", i18n$t("Comparison value:"), + value = state_init("sp_comp_value", sp_args$comp_value), + min = 0.01, max = 0.99, step = 0.01 + ), + # radioButtons("sp_type", label = "Test:", c("Binomial" = "binom", "Chi-square" = "chisq"), + radioButtons( + inputId = "sp_test", + label = i18n$t("Test type:"), + choices = { + opts <- c("binom", "z") + names(opts) <- c(i18n$t("Binomial exact"), i18n$t("Z-test")) + opts + }, + selected = state_init("sp_test", "binom"), inline = TRUE + ) + ), + conditionalPanel( + condition = "input.tabs_single_prop == 'Plot'", + selectizeInput( + "sp_plots", i18n$t("Select plots:"), + choices = sp_plots, + selected = state_multiple("sp_plots", sp_plots, "bar"), + multiple = TRUE, + options = list(placeholder = i18n$t("Select plots"), plugins = list("remove_button", "drag_drop")) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Single proportion"), + fun_name = "single_prop", + help_file = inclMD(file.path(getOption("radiant.path.basics"), "app/tools/help/single_prop.md")) + ) + ) +}) + +sp_plot <- reactive({ + list(plot_width = 650, plot_height = 400 * max(length(input$sp_plots), 1)) +}) + +sp_plot_width <- function() { + sp_plot() %>% + (function(x) if (is.list(x)) x$plot_width else 650) +} + +sp_plot_height <- function() { + sp_plot() %>% + (function(x) if (is.list(x)) x$plot_height else 400) +} + +## output is called from the main radiant ui.R +output$single_prop <- renderUI({ + register_print_output("summary_single_prop", ".summary_single_prop") + register_plot_output( + "plot_single_prop", ".plot_single_prop", + height_fun = "sp_plot_height" + ) + + ## two separate tabs + sp_output_panels <- tabsetPanel( + id = "tabs_single_prop", + tabPanel(i18n$t("Summary"), value = "Summary", verbatimTextOutput("summary_single_prop")), + tabPanel( + i18n$t("Plot"), value = "Plot", + download_link("dlp_single_prop"), + plotOutput("plot_single_prop", height = "100%") + ) + ) + + stat_tab_panel( + menu = i18n$t("Basics > Proportions"), + tool = i18n$t("Single proportion"), + tool_ui = "ui_single_prop", + output_panels = sp_output_panels + ) +}) + +sp_available <- reactive({ + if (not_available(input$sp_var)) { + i18n$t("This analysis requires a categorical variable. In none are available\nplease select another dataset.\n\n") %>% suggest_data("consider") + } else if (input$sp_comp_value %>% (function(x) is.na(x) | x > 1 | x <= 0)) { + i18n$t("Please choose a comparison value between 0 and 1") + } else { + "available" + } +}) + +.single_prop <- reactive({ + spi <- sp_inputs() + spi$envir <- r_data + do.call(single_prop, spi) +}) + +.summary_single_prop <- reactive({ + if (sp_available() != "available") { + return(sp_available()) + } + summary(.single_prop()) +}) + +.plot_single_prop <- reactive({ + if (sp_available() != "available") { + return(sp_available()) + } + validate(need(input$sp_plots, i18n$t("Nothing to plot. Please select a plot type"))) + withProgress(message = i18n$t("Generating plots"), value = 1, { + plot(.single_prop(), plots = input$sp_plots, shiny = TRUE) + }) +}) + +single_prop_report <- function() { + if (is.empty(input$sp_var)) { + return(invisible()) + } + if (length(input$sp_plots) == 0) { + figs <- FALSE + outputs <- c("summary") + inp_out <- list("", "") + } else { + outputs <- c("summary", "plot") + inp_out <- list("", list(plots = input$sp_plots, custom = FALSE)) + figs <- TRUE + } + update_report( + inp_main = clean_args(sp_inputs(), sp_args), + fun_name = "single_prop", inp_out = inp_out, + outputs = outputs, figs = figs, + fig.width = sp_plot_width(), + fig.height = sp_plot_height() + ) +} + +download_handler( + id = "dlp_single_prop", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_single_prop"), + type = "png", + caption = i18n$t("Save single proportion plot"), + plot = .plot_single_prop, + width = sp_plot_width, + height = sp_plot_height +) + +observeEvent(input$single_prop_report, { + r_info[["latest_screenshot"]] <- NULL + single_prop_report() +}) + +observeEvent(input$single_prop_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_single_prop_screenshot") +}) + +observeEvent(input$modal_single_prop_screenshot, { + single_prop_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.basics/inst/app/tools/help/clt.md b/radiant.basics/inst/app/tools/help/clt.md new file mode 100644 index 0000000..a446ed5 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/clt.md @@ -0,0 +1,19 @@ +> 用随机抽样说明中心极限定理 + +### 什么是中心极限定理? + +“在概率论中,中心极限定理(CLT)指出,在特定条件下,大量独立随机变量(每个变量都有明确的期望值和方差)的算术平均值将近似服从正态分布,而与变量的潜在分布无关。也就是说,假设获取一个包含大量观测值的样本,每个观测值都是随机生成的,且不依赖于其他观测值的值,然后计算观测值的算术平均值。如果多次执行此过程,中心极限定理表明,计算得到的平均值将服从正态分布(通常称为‘钟形曲线’)。” + +来源:维基百科 + +## 抽样 + +要生成样本,请从 “分布(Distribution)” 下拉菜单中选择一种分布,并接受(或更改)默认值。然后点击 “抽样(Sample)” 按钮或按`CTRL-enter`(Mac 上为`CMD-enter`)运行模拟并显示模拟数据的图表。 + +### Khan 讲解中心极限定理 + +
+ +### R 函数 + +有关 Radiant 中用于概率计算的相关 R 函数概述,请参见*基础 > 概率* 。 \ No newline at end of file diff --git a/radiant.basics/inst/app/tools/help/compare_means.md b/radiant.basics/inst/app/tools/help/compare_means.md new file mode 100644 index 0000000..be4a420 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/compare_means.md @@ -0,0 +1,120 @@ +> 比较数据中两个或多个变量或组的均值 + +均值比较 t 检验用于比较一个组中某个变量的均值与一个或多个其他组中同一变量的均值。总体中组间差异的原假设设为零。我们使用样本数据检验这一假设。 + +我们可以执行单侧检验(即`小于`或`大于`)或双侧检验(见 “备择假设(Alternative hypothesis)” 下拉菜单)。单侧检验用于评估现有数据是否提供证据表明组间样本均值差异小于(或大于)零。 + +### 示例:教授薪资 + +我们获取了美国某学院助理教授、副教授和教授的 9 个月学术薪资数据(2008-09 学年)。这些数据是学院行政部门为监测男女教师薪资差异而持续收集的一部分。数据包含 397 个观测值和以下 6 个变量: + +- `rank` = 因子,水平为 AsstProf(助理教授)、AssocProf(副教授)、Prof(教授) +- `discipline` = 因子,水平为 A(“理论型” 院系)或 B(“应用型” 院系) +- `yrs.since.phd` = 获得博士学位后的年数 +- `yrs.service` = 任职年数 +- `sex` = 因子,水平为 Female(女性)和 Male(男性) +- `salary` = 9 个月薪资(美元) + +这些数据来自 CAR 包,与以下书籍相关:Fox J. 和 Weisberg, S. (2011)《应用回归的 R 伴侣(第二版)》,Sage 出版社。 + +假设我们要检验职级较低的教授是否比职级较高的教授薪资更低。为检验这一假设,我们首先选择教授`rank`,并选择`salary`作为要在不同职级间比较的数值变量。在 “选择组合(Choose combinations)” 框中选择所有可用条目,对三个职级进行两两比较。注意,移除所有条目会自动选择所有组合。我们关注单侧假设(即`小于`)。 + +

+ +输出的前两个区块显示检验的基本信息(如所选变量和置信水平)和汇总统计量(如每组的均值、标准差、误差边际等)。最后一个区块显示以下内容: + +* `Null hyp.`是原假设,`Alt. hyp.`是备择假设 +* `diff`是两组样本均值的差异(例如,80775.99 - 93876.44 = -13100.45)。如果原假设为真,我们预期这一差异较小(即接近零) +* `p.value`是在原假设为真时,找到与`diff`一样极端或更极端值的概率 + +如果勾选 “显示额外统计量(Show additional statistics)”,会添加以下输出: + +
+Pairwise mean comparisons (t-test)
+Data      : salary 
+Variables : rank, salary 
+Samples   : independent 
+Confidence: 0.95 
+Adjustment: None 
+
+      rank        mean   n n_missing         sd        se        me
+  AsstProf  80,775.985  67         0  8,174.113   998.627 1,993.823
+ AssocProf  93,876.438  64         0 13,831.700 1,728.962 3,455.056
+      Prof 126,772.109 266         0 27,718.675 1,699.541 3,346.322
+
+ Null hyp.              Alt. hyp.              diff      p.value se       t.value df      0%   95%           
+ AsstProf = AssocProf   AsstProf < AssocProf   -13100.45 < .001  1996.639  -6.561 101.286 -Inf  -9785.958 ***
+ AsstProf = Prof        AsstProf < Prof        -45996.12 < .001  1971.217 -23.334 324.340 -Inf -42744.474 ***
+ AssocProf = Prof       AssocProf < Prof       -32895.67 < .001  2424.407 -13.569 199.325 -Inf -28889.256 ***
+
+Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+
+ +* `se`是标准误(即`diff`抽样分布的标准差) +* `t.value`是与`diff`相关的 t 统计量,可与 t 分布比较(即`diff` / `se`) +* `df`是统计检验的自由度。注意,自由度使用 Welch 近似法计算 +* `0% 95%`显示样本均值差异的 95% 置信区间。这些数值提供了真实总体差异可能落入的范围 + +### 检验方法 + +我们可以使用三种方法评估原假设。我们选择显著性水平为 0.05。1 当然,每种方法会得出相同结论。 + +#### p 值 + +由于每个 p 值都**小于**显著性水平,我们拒绝每个评估的教授职级对的原假设。数据表明,副教授薪资高于助理教授,教授薪资高于助理教授和副教授。注意,“***” 用作显著性指标。 + +#### 置信区间 + +由于任何置信区间都**不**包含零,我们拒绝每个评估的职级组合的原假设。由于我们的备择假设是`小于`,置信区间实际上是总体薪资差异的 95% 置信上限(即 - 9785.958、-42744.474 和 - 28889.256)。 + +#### t 值 + +由于计算的 t 值(-6.561、-23.334 和 - 13.569)**小于**相应的临界 t 值,我们拒绝每个评估的职级组合的原假设。可通过 “基础(Basics)” 菜单中的概率计算器获取临界 t 值。以助理教授与副教授的检验为例,我们发现对于自由度为 101.286 的 t 分布(见`df`),临界 t 值为 1.66。由于备择假设是`小于`,我们选择 0.05 作为下侧概率界。 + +

+ +除 “摘要(Summary)” 标签页中的数值输出外,我们还可以可视化研究`rank`与`salary`之间的关联(见 “绘图(Plot)” 标签页)。下方截图显示教授薪资的散点图和带有置信区间(黑色)与标准误(蓝色)条的条形图。与 “摘要” 标签页中的结果一致,不同职级的薪资存在明显差异。我们也可以选择将样本数据绘制成箱线图或密度曲线图。 + +

+ +### 多重比较调整 + +我们评估的比较越多,即使原假设为真,仅因随机因素而发现 “显著” 结果的可能性就越大。如果我们进行 100 次检验,并将**显著性水平**设为 0.05(或 5%),即使总体中不存在关联,我们也可能预期有 5 个 p 值小于或等于 0.05。 + +Bonferroni 调整确保 p 值根据所进行的检验数量适当缩放。这幅 XKCD 漫画清晰地说明了这类调整的必要性。 + +### 统计术语 + +这是**均值比较**检验,原假设为真实总体**均值差异**等于**0**。使用 0.05 的显著性水平,我们拒绝每个评估的职级对的原假设,并得出结论:真实总体**均值差异小于**0。 + +助理教授与副教授薪资差异检验的 p 值为 **< .001**。这是在原假设为真时,观察到与数据中样本**均值差异**一样极端或更极端的样本**均值差异**的概率。在本例中,它是当真实总体**均值差异**为**0**时,观察到样本**均值差异**小于(或等于)**-13100.45**的概率。 + +95% 置信界为 **-9785.958**。如果重复抽样并为每个样本计算 95% 置信界,真实总体均值将在 95% 的样本中低于该下界。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, plots = "scatter", custom = TRUE) + labs(title = "均值比较")`)。详情请参见*数据 > 可视化*。 + +### R 函数 + +有关 Radiant 中用于评估均值的相关 R 函数概述,请参见*基础 > 均值*。 + +`compare_means`工具中使用的来自`stats`包的核心函数是`t.test`。 + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中假设检验模块使用的所有材料: + +
usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
+ +均值比较假设检验 + +- 本视频展示如何进行均值比较假设检验 +- 主题列表: + - 按组计算汇总统计量 + - 在 Radiant 中设置均值比较的假设检验 + - 使用 p 值和置信区间评估假设检验 diff --git a/radiant.basics/inst/app/tools/help/compare_props.md b/radiant.basics/inst/app/tools/help/compare_props.md new file mode 100644 index 0000000..d309afe --- /dev/null +++ b/radiant.basics/inst/app/tools/help/compare_props.md @@ -0,0 +1,119 @@ +> 比较数据中两个或多个组的比例 + +比例比较检验用于评估某些事件、行为、意图等的发生频率在不同组间是否存在差异。总体中组间比例差异的原假设设为零。我们使用样本数据检验这一假设。 + +我们可以执行单侧检验(即`小于`或`大于`)或双侧检验(见 “备择假设(Alternative hypothesis)” 下拉菜单)。单侧检验适用于评估样本数据是否表明,例如,某一无线运营商的掉话比例比其他运营商更高(或更低)。 + +### 示例 + +我们将使用泰坦尼克号乘客生存状态数据集的一个样本。泰坦尼克号乘客数据的主要来源是《泰坦尼克号百科全书》。原始来源之一是 Eaton & Haas(1994)的《泰坦尼克号:胜利与悲剧》(Patrick Stephens Ltd 出版),其中包含由多位研究者整理、经 Michael A. Findlay 编辑的乘客名单。我们关注数据中的两个变量: + +- `survived` = 因子,水平为`Yes`(是)和`No`(否) +- `pclass` = 乘客等级(1 等、2 等、3 等),作为社会经济地位(SES)的替代指标:1 等≈上层;2 等≈中层;3 等≈下层 + +假设我们要检验泰坦尼克号沉没事件中,不同乘客等级的生存比例是否存在差异。为检验这一假设,我们选择`pclass`作为分组变量,并计算`survived`中`yes`的比例(见 “选择水平(Choose level)”)(见 “变量(选择一个)(Variable (select one))”)。 + +在 “选择组合(Choose combinations)” 框中选择所有可用条目,对三个乘客等级进行两两比较。注意,移除所有条目会自动选择所有组合。除非我们对效应方向有明确假设,否则应使用双侧检验(即`two.sided`)。我们的第一个备择假设是 “1 等舱乘客的生存比例与 2 等舱乘客不同”。 + +

+ +输出的前两个区块显示检验的基本信息(如所选变量和置信水平)和汇总统计量(如每组的比例、标准误、误差边际等)。最后一个区块显示以下内容: + +* `Null hyp.`是原假设,`Alt. hyp.`是备择假设 +* `diff`是两组样本比例的差异(例如,0.635 - 0.441 = 0.194)。如果原假设为真,我们预期这一差异较小(即接近零) +* `p.value`是在原假设为真时,找到与`diff`一样极端或更极端值的概率 + +如果勾选 “显示额外统计量(Show additional statistics)”,会添加以下输出: + +
+Pairwise proportion comparisons
+Data      : titanic 
+Variables : pclass, survived 
+Level     : Yes in survived 
+Confidence: 0.95 
+Adjustment: None 
+
+ pclass Yes  No     p   n n_missing    sd    se    me
+    1st 179 103 0.635 282         0 8.086 0.029 0.056
+    2nd 115 146 0.441 261         0 8.021 0.031 0.060
+    3rd 131 369 0.262 500         0 9.832 0.020 0.039
+
+ Null hyp.   Alt. hyp.              diff  p.value chisq.value df 2.5%  97.5%    
+ 1st = 2nd   1st not equal to 2nd   0.194 < .001  20.576      1  0.112 0.277 ***
+ 1st = 3rd   1st not equal to 3rd   0.373 < .001  104.704     1  0.305 0.441 ***
+ 2nd = 3rd   2nd not equal to 3rd   0.179 < .001  25.008      1  0.107 0.250 ***
+
+Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+
+ +* `chisq.value`是与`diff`相关的卡方统计量,可与卡方分布比较。关于该指标的计算方法,详见 “基础> 表格 > 交叉表” 的帮助文件。每组组合都会计算等效的 2×2 交叉表。 +* `df`是每个统计检验的自由度(1)。 +* `2.5% 97.5%`显示样本比例差异的 95% 置信区间。这些数值提供了真实总体差异可能落入的范围。 + +### 检验方法 + +我们可以使用三种方法评估原假设。我们选择显著性水平为 0.05。1 当然,每种方法会得出相同结论。 + +#### p 值 + +由于每个两两比较的 p 值都**小于**显著性水平,基于可用样本数据,我们可以拒绝比例相等的原假设。结果表明,1 等舱乘客比 2 等舱和 3 等舱乘客更可能在沉没事件中幸存;同样,2 等舱乘客比 3 等舱乘客更可能幸存。 + +#### 置信区间 + +由于任何置信区间都**不**包含零,我们拒绝每个评估的乘客等级组合的原假设。 + +#### 卡方值 + +由于计算的卡方值(20.576、104.704 和 25.008)**大于**相应的临界卡方值,我们拒绝每个评估的乘客等级组合的原假设。可通过 “基础(Basics)” 菜单中的概率计算器获取临界卡方值。以 1 等舱与 2 等舱乘客的检验为例,我们发现对于自由度为 1(见`df`)、置信水平为 0.95 的卡方分布,临界卡方值为 3.841。 + +

+ +除 “摘要(Summary)” 标签页中的数值输出外,我们还可以可视化研究`pclass`与`survived`之间的关联(见 “绘图(Plot)” 标签页)。下方截图显示两个条形图。第一个图表包含样本中`survived`为`yes`的比例的置信区间(黑色)和标准误(蓝色)条。与 “摘要” 标签页中的结果一致,不同乘客等级的生存率存在明显差异。“并列(Dodge)” 图表按乘客等级并排显示`survived`中`yes`和`no`的比例:1 等舱乘客中`yes`的比例高于`no`,而 3 等舱乘客则相反。 + +

+ +### 技术说明 + +- Radiant 使用 R 的`prop.test`函数进行比例比较。当一个或多个期望频数较小时(例如≤5),该检验的 p 值通过模拟方法计算。出现这种情况时,建议使用 “基础> 表格 > 交叉表” 重新运行检验,并评估是否有单元格的期望频数低于 1。 +- 对于单侧检验(即`小于`或`大于`),临界值必须通过概率计算器中的正态分布获取,并对相应的 Z 统计量进行平方。 + +### 多重比较调整 + +我们评估的比较越多,即使原假设为真,仅因随机因素而发现 “显著” 结果的可能性就越大。如果我们进行 100 次检验,并将**显著性水平**设为 0.05(或 5%),即使总体中不存在关联,我们也可能预期有 5 个 p 值小于或等于 0.05。 + +邦费罗尼调整(Bonferroni adjustment)确保 p 值根据所进行的检验数量适当缩放。这幅 XKCD 漫画清晰地说明了这类调整的必要性。 + +### 统计术语 + +这是**比例比较**检验,原假设为真实总体**比例差异**等于**0**。使用 0.05 的显著性水平,我们拒绝每个评估的乘客等级对的原假设,并得出结论:真实总体**比例差异不等于 0**。 + +1 等舱与 2 等舱乘客生存比例差异检验的 p 值为 **< .001**。这是在原假设为真时,观察到与数据中样本**比例差异**一样极端或更极端的样本**比例差异**的概率。在本例中,它是当真实总体**比例差异**为**0**时,观察到样本**比例差异**小于 **-0.194**或大于**0.194** 的概率。 + +95% 置信区间为**0.112**至**0.277**。如果重复抽样并为每个样本计算 95% 置信区间,真实**总体比例差异**将在 95% 的样本中落入置信区间内。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, plots = "bar", custom = TRUE) + labs(title = "比例比较")`)。详情请参见*数据 > 可视化*。 + +### R 函数 + +有关 Radiant 中用于评估比例的相关 R 函数概述,请参见*基础 > 比例*。 + +`compare_props`工具中使用的来自`stats`包的核心函数是`prop.test`。 + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中假设检验模块使用的所有材料: + +
usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
+ +比例比较假设检验 + +- 本视频展示如何进行比例比较假设检验 +- 主题列表: + - 在 Radiant 中设置比例比较的假设检验 + - 使用 p 值和置信区间评估假设检验 diff --git a/radiant.basics/inst/app/tools/help/correlation.md b/radiant.basics/inst/app/tools/help/correlation.md new file mode 100644 index 0000000..9520c3e --- /dev/null +++ b/radiant.basics/inst/app/tools/help/correlation.md @@ -0,0 +1,54 @@ +> 数据中变量的相关性如何? + +创建所选变量的相关矩阵。为每个变量对提供相关性和 p 值。要仅显示高于特定(绝对)水平的相关性,使用相关性截断框。 + +注意:相关性可基于`numeric`、`integer`、`date`和`factor`类型的变量计算。当纳入因子型变量时,应勾选 “调整因子型变量(Adjust for {factor} variables)” 框。进行调整后估计相关性时,因子型变量将被视为(有序)分类变量,其他所有变量将被视为连续变量。 + +

+ +“绘图(Plot)” 标签页提供相关矩阵的可视化表示。注意,图表中的散点图默认最多显示 1000 个数据点。要生成使用所有观测值的散点图,在 “报告 > Rmd” 中使用`plot(result, n = -1)`。 + +“绘图” 标签页中显示的星号含义如下: + +- p 值在 0 到 0.001 之间:*** +- p 值在 0.001 到 0.01 之间:** +- p 值在 0.01 到 0.05 之间:* +- p 值在 0.05 到 0.1 之间:. + +

+ +图中使用的字体大小与两个变量间相关性的大小和显著性成正比。 + +### 方法) + +选择用于计算相关性的方法。最常用的方法是`Pearson`(皮尔逊)。详见维基百科。 + +### 相关性截断 + +要仅显示高于特定值的相关性,在 0 到 1 之间的数值输入框中选择非零值(例如 0.15)。 + +### 协方差矩阵 + +尽管我们通常使用相关矩阵,但也可通过勾选 “显示协方差矩阵(Show covariance matrix)” 框显示协方差矩阵。 + +## 存储为数据框 + +可通过(1)为新数据集提供名称和(2)点击 “存储(Store)” 按钮,将相关矩阵存储为数据框。新数据集将包含每个变量对的估计`correlation`(相关性)和`distance`(距离)度量,距离度量计算如下:`distance = 0.5 * (1 - correlation)`。当两个变量的相关性等于 - 1 时,该度量为 1;当两个变量的相关性等于 1 时,该度量为 0。关于此类数据集的示例,见下方 “数据> 查看” 标签页的截图。此结构的数据集可作为输入,通过 “多元分析 >(不)相似性分析” 创建基于(不)相似性的感知图。 + +

+ +### Khan 讲解相关性 + +

+ +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +默认情况下,相关性图抽样 1000 个数据点。要包含所有数据点,使用`plot(result, n = -1)`。例如,要为图表添加标题,使用`title(main = "相关性图\n\n")`。更多信息见R 图形文档。 + +### R 函数 + +有关 Radiant 中用于评估相关性的相关 R 函数概述,请参见*基础 > 表格*。 + +`correlation`工具中使用的来自`psych`包的核心函数是`corr.test`。 diff --git a/radiant.basics/inst/app/tools/help/cross_tabs.md b/radiant.basics/inst/app/tools/help/cross_tabs.md new file mode 100644 index 0000000..9019c53 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/cross_tabs.md @@ -0,0 +1,66 @@ +> 交叉表分析用于评估分类变量之间是否存在关联。该工具也被称为卡方检验或列联表分析 + +### 示例 + +数据来自 580 名报纸读者的样本,这些读者表明了(1)他们最常阅读的报纸(《今日美国》或《华尔街日报》)和(2)他们的收入水平(低收入 vs. 高收入)。数据包含三个变量:受访者标识符(id)、受访者收入(高或低)以及受访者主要阅读的报纸(《今日美国》或《华尔街日报》)。 + +我们将研究收入水平与报纸选择之间是否存在关系。具体而言,我们检验以下原假设和备择假设: + +* H0:收入水平与报纸选择之间无关联 +* Ha:收入水平与报纸选择之间有关联 + +如果拒绝原假设,我们可以进一步研究哪些单元格对假设的关联有贡献。在 Radiant(基础 > 交叉表)中,选择收入作为第一个因子,报纸作为第二个因子。首先,比较观察频数和期望频数。期望频数基于原假设(即无关联)计算,公式为(行总计 × 列总计)/ 总总计。 + +

+ +(皮尔逊)卡方检验用于评估我们是否可以拒绝两个变量独立的原假设。它通过比较观察频数(即数据中实际看到的频数)与期望频数(即如果两个变量独立时预期看到的频数)来实现。如果期望频数表与观察频数表之间存在较大差异,卡方值将**较大**。每个单元格的卡方值计算公式为`(o - e)^2 / e`,其中`o`是单元格中的观察频数,`e`是原假设成立时该单元格的期望频数。点击 “卡方(Chi-squared)” 复选框可显示这些值。总卡方值通过对所有单元格求和获得,即它是 “卡方贡献(Contribution to chi-square)” 表中所示值的总和。 + +为了确定卡方值是否可被视为**较大**,我们首先计算自由度(df)。具体而言:自由度 =(行数 - 1)×(列数 - 1)。在 2×2 表格中,自由度 =(2-1)×(2-1)=1。“摘要(Summary)” 标签页的输出显示了卡方统计量的值、相关的自由度以及检验的 p 值。我们还能看到每个单元格对总卡方统计量的贡献。 + +记住要检查期望値:所有期望频数均大于 5,因此卡方统计量的 p 值不太可能存在偏差。与通常一样,当 p 值小于 0.05 时,我们拒绝原假设。由于我们的 p 值非常小(<0.001),我们可以拒绝原假设(即数据表明报纸阅读习惯与收入之间存在关联)。 + +我们可以使用与 187.783 的卡方值相关的 p 值来评估原假设。不过,我们也可以使用概率计算器计算临界卡方值。从下方输出中可以看到,如果选择 95% 的置信水平,该值为 3.841。由于计算得到的卡方值大于临界值(187.783 > 3.841),我们拒绝 “收入(Income)” 与 “报纸(Newspaper)” 独立的原假设。 + +

+ +我们也可以使用概率计算器确定与计算得到的卡方值相关的 p 值。与 “交叉表> 摘要” 标签页的输出一致,该`p.value`为`< .001`。 + +

+ +除 “摘要” 标签页中的数值输出外,我们还可以可视化评估假设(见 “绘图(Plot)” 标签页)。我们选择与之前相同的变量,但将绘制标准化偏差。该度量的计算公式为(o-e)/sqrt (e),即衡量表格中某个单元格的观察频数与期望频数差异的得分。当单元格的标准化偏差绝对值大于 1.96 时,该单元格与独立性模型(或无关联)存在显著偏差。 + +

+ +在图中,我们看到所有单元格都对收入与阅读习惯之间的关联有贡献,因为所有标准化偏差的绝对值都大于 1.96(即条形图延伸超出了图中的外部虚线)。 + +换句话说,与无关联的原假设成立时的预期相比,阅读《华尔街日报》的低收入受访者似乎更少,阅读《华尔街日报》的高收入受访者似乎更多;此外,阅读《今日美国》的低收入受访者更多,阅读《今日美国》的高收入受访者更少。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, check = "observed", custom = TRUE) + labs(y = "百分比")`)。详情请参见*数据 > 可视化*。 + +### 技术说明 + +当一个或多个期望値较小时(例如≤5),卡方检验的 p 值通过模拟方法计算。如果某些单元格的期望计数低于 1,可能需要**合并**行和 / 或列。 + +### R 函数 + +有关 Radiant 中用于评估分类变量间关联的相关 R 函数概述,请参见*基础 > 表格*。 + +`cross_tabs`工具中使用的来自`stats`包的核心函数是`chisq.test`。 + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中假设检验模块使用的所有材料: + +
usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
+ +交叉表假设检验 + +- 本视频演示如何通过交叉表假设检验研究两个分类变量之间的关联 +- 主题列表: + - 在 Radiant 中设置交叉表的假设检验 + - 解释观察频数表、期望频数表和卡方贡献表的构建方式 + - 使用 p 值和临界值评估假设检验 diff --git a/radiant.basics/inst/app/tools/help/figures/compare_means_plot.png b/radiant.basics/inst/app/tools/help/figures/compare_means_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..78038008b60cd31b4eddaf6a4af9ab3d434b6563 GIT binary patch literal 121299 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 @^BE5g;`2y{t{0ZP%e+(X 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/compare_means_prob_calc.png b/radiant.basics/inst/app/tools/help/figures/compare_means_prob_calc.png new file mode 100644 index 0000000000000000000000000000000000000000..23277042ca69f06afbdcbda9e2c51f91e531a260 GIT binary patch literal 113344 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⁡?Ek< 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

YuUK{|Q7F_QObxP1-Xf3v?kUNZ{>pzN)6xj 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%0AfW)zFz4oNDsP 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 `P4N_Z@O++ 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 bqkYGIdn?Px28$0$_;Fse%;D^U)jR(Iw7aif literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/compare_means_summary_additional.png b/radiant.basics/inst/app/tools/help/figures/compare_means_summary_additional.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf7e4d4314f57f32aab2c12e9f502afc1a4f85a GIT binary patch literal 116975 zcmb@tRajliwl#_dcXyaraCc|o9^BpCB{&3khoC`&OK{iV8r(IwyI-=-{?FMf$>Zg# zhdHW7Ssz7JZ>{wTQ;-u!fW?Ic0Rcgfln_w_0f7(!0RioRe)pF1VGm3f1O&Fj0ti%) z1OkZ_9PLaktW7{bB*KzXpp=y~aQja^_es7$3df;Z?zKV0>H<>`*@eMK5|I@Zs=qLE z1{ev6KqP?@fPS!74v&Pa);B;_=;9|14B$q@wEj8*o?P|K)Aja9U^nY_IOVbZ*86tF zb4&mvR!jp-=p8MRAcY=nbIa;2sT0Zy zbN1NvX~(M?m3_RZHAs&Arvy%bD@Auv?BpmWbRS60MO@=5Y_aS8DF98J_&&NQC6!9(}R$)q89B`HAxW0^LMLyA;!emqj%dLDPuxypne)< zX8BgwL|~AY?>p4ahQH#VNN9K?z%R>^5wrHX*^9n8@4H+!tgv9Q=o^f8L8sAeYeyqe^(09uC z4hx?>jz+ITgbb^h3j!>P0?%&SEP-fXxJ92vlto1ao32J4@6D?((l5D zzwq|m0zD51=Tc8Hw3DgPk0nff5R?H>@|<_IeuRu*KRe%Xf?%zKdI=Fj1G&SXhC%T5 zDbeVyZ@Rb7sb1?D2DFxv;!Rh^I*5B=cx^;pxLW_06F(R%8NTE?;)gQN+wBZE5zdVSG<4;CJRNh$60*w~XN0BblB%MxhSutapGQLs$XhR9#2O2B+VFD6(|)JcBfepJ2j&Id4vy5# zunvPRIGFSGJwYN@xc`M%&=*t%s`n(81SQBS;U!{hIg1LJU$wppO-oNxvSP{#{h0V^ zj^zx(jXNr4mN)mMA$NGPZqM|J{EF@h`6K=_0`R-Jz6{eCHU$M@PhVLly1o=s2$O8; za4JtK%7`Z|rgYy_b@V)lH7`3t3vLTW3(-=jP5+HyNHrQKz8r#CxKm%yhB_xx1xN#y z8@e0eTnJv5ckl3e-8s9vfEQR+%vvZzA5m9!&+SI`1|`e|1b6@oNn|HU8NiwnA5e>8 ziz)`4AOZ=<+>?p~6ryk-4~HW34)=!iHZU_YH#5sIM;N;^doY_Y_nTA?7*3)|;-PX=Iw{~4T2)xp$|CQOYZrd0ee!$y1SZ<0Ng_j{WKi0T5@ZFN z7tSdP6x9=rHf-M%>Wc{PK}Q#j*_1U)Z~5|Sjz(Hz^NtehJqfl~7l_Y$&F>kk$R`%3pY&4M#PHjO%kx)0aU z2WD)aKUZotFUr+n)`=gOyP#c*9?(o9ebrO-Z4$Kb9|pS#=!T@kT%Pk|lVJt0s#@Vs z?@gsnOix|Sp_`w~w0^x;j40Xpl2oXY>mp|*lb(BAIQoNrlE3mfqfq8D-(+IQJjHyA z87C5r`fjlL~KQDMf{@(U$AbtZkTS!YGZr7Pv{Ho^T+4McM#ygLM2^< zfpURJ!OlJEJ)^;N!FkRq+zDCIl|=%q0K6tV6Fe2X754AAERjE=Zt-qYJ1K4`iYYKC zINmG-rIfYr^Fx;)M^UXWt zSq(}Y>I*QiCpE9#D0hp$A2b-1G^0AnVFqSvd#84FKk^5q8I)P|CCsjX&WO&GPIO}= zeLjPXuDkh0RcQsyaNUs0MAXmZy_>wHoR(;w;kL!+u#haM{;jHh7I~v_*73Zo%GR>h zPr9>LiPtLb>m38%F@gEByWCJ%wQgJ**V#aE@&=F zE^OcSxE%7R`~fya{ewS0q+l*z-lW%*)pU~ujYa+v<9`21T0>KV=G#Ze!T_)?{d%XH zlOqR%*t05VR62~h@Fe8RALLB&UX(aP4#UL*_l*G4zQH6|ntPfS)wHt3ngfjry%YJ; z$Vp4q*!g(_3?^4-M}mx<}ozSFIjI#Ipz|bXM-2bHo7iD4K+30LrqfK^#jtZK;koF z9i55Rt!v0Jl&ikmncLN=^O}ZMnL>sZZ!3+lniEWUe%1EM$xcgU(qfY83CT&^5e_XJ zz12!-hg<(D!%p#z8+9u+?ybeqQq5_P&)7>lI3W}+H5*L?wZQAZ~^6t514kL4%F?4{TFWgJ!j zRssXui^84J8cm*B(aY7{H!EISukE_C>*@4zyP4J5)^DD3Oep;4ciulA2a$q^X831) z480DX@E`9Nw!;}38BFw|I_kaQ9&YTZoh+p~QEN=gKwxp~rC>qqEJ29-NmoJ7XG9h> z#(7E2XLrYu@8o$8OU<@H1f!rpCOtqPNC|g9nBgx>+pcR(!Y@Fo%FCUffVt>e=?mIq zy&i`Aa}==_jO`3f=-qAX-&|b~5MFogx1Tm9&IZKpHrBRI z-0pmUf8OAJ`~54M0YLoEE6!GY0CiafVxXO)2{9WzD?KBCAC{PynAg$Rlv`0m>_64t zp7;Rf&d&DS3=D2=ZuD*}^mdMB3`|^HTnvoN49v`QZ*R~!dDuD|xYOA>k^WC3|F0bp z6DK1_3wvh^J6qyk?HU-`xj6Fy0KYo=-@pGEr-{48|Mg_+^q*61iLKLHAN)*=T+F=xRQRLl|GNCIsv7@Sm6es_zia+i$$x6{ zGW?psf6eHB%=J(1o4xp9c^UrK_WZCB@FRyHAc7#0B0|dUphs;8=ILsmZ=bUz<5C%6 zJ?0EYsM8H671DS`SiWFtl*p;42h1Sibp$U`8438S<5aODKhpK`AoDPw@i1<+Iv)wD zc~~3^5}8?S3&y6%8AG4P7Y}J2#p5JVssrDpjjBpFU)YAawk_u_cvL#AHDB9ky+~~K zzJgyoyPRB}^N0su&bjF9^7zI>P@ocn{w2+eLA19-Jq%UEgTTc8nf&DZ0-!0u{#Mjk zPkN?UK=``U@r?I!t@n!YdY}CY^Kn`k(CbMi2=-^vO6qiLza;Q_eOwD!vF*=(UdUFl zHccbG7=L{lmniyicPa4dbhKCpxAsgQB|#m(CHt5068qChu6MjXcAW1`l0FT0Ji#R= zC!b;Yo@1FDKgk&=sF>hftapJoYSY7#n0$2)gplz2BdvP?az4em^F}W&E;38U0WOht zDDr55<`@^e2nRLnJrqmjmH^d+JH;a`0vPZc4 zT`Yt|jwV=fB>?-8Gr+iTkwbUHYu~ehQ3#RY=X#CWe=k4=bbnbCk=hVRvJ>)H^#R}b zh<#a*f{j@yzP)B-|9Y4L6)h1*iqNra$hi5Ra4nV|Olyu1S))%n6>RcXJ{104ThGwC zvR$SgxokG~-E$g-49t+CX97BaSh{4NWI(A#EsmGQ+^W)f&iY_ z(T3QWY3!3MI+KPmpR5hQTOjhD#~{CBMPlim9)>sl{*ktklAi#mOnvff0%whZN4z-^ zB**$>?5^}l?AQk)69EDHNjBHeM*gR%i+9zDRad8h{>vt`p|pGu6BXecrdNGvZ)N z&=8lpn{zIhGLiL#k+mevE8{G3CJ%mqXhYt-O9Q@ZuVHY$(CG@eFhk?1xDB=4T)E^-60JBqMkf zrPK>hI!L8EaglIer=sU0?Y+(W@O+O0fz_kr2w@DpB^1S~;i{a7?j|x)n8hE{E+v-r zL_SIe)_n(c3oL5PC_vxz)&A781NLHpIawL+PPXHLi?^|?lV(-{Lz9`G5b8tNGpBf3 zvBLa9-w^5R@QB`!wzO$m^@G|e=Uo;NRs$W~R${!v5O3(#EnFwkn)N4Af}U~))T;K2 zcU}mHd5|B8rtDic1rI71n;7uRJ=Z;cz=;oX<|n|6L@dp1`sNqNZQPV-HJS`l?Zr4E zX-QbxAEk(%2+N3cK(Lk~j6D-J9*+1Z^Z1IAF%HLa+pw|OpOi9efm(dnjKJx|EV#d@ ztA=4Yec7z1GKE7b`|319>_NFSmnp~EwojGa&-_yTD&I~MG4&&peR|-wV0A~kp)|tv zmgUo@xJPHWaIJz)$)!{BomAnY=w`Xi+iD2f7LzAt=FG#4Dy&hxB(wYc+sie7aXp-q z_k-&2VZiuTEvh5(jg)8lbaLfK0&Nfc*;S||AtFu2;4>(ct9AmvbE5Co7%{&sEG_@e zLRbJ!U3XkiW)>|XYuJMOmFo#2>fDogOODSRogCdR1(U)Z&4D7m`0D*mr4~5QRC!i{Il7v!Rs0PPaW`3T?;0yB+ux6n8?;2{?K5lX_pa@(zqM5><~^| zN7x+%OrJ8A`HHt9h`lKLVNbA&{A0}4*X-y+{qOAFO**h^$B##?UvcsV3&{?C8%kMh zV_b}mQucZ87Gh@^>XUk`#~t0}#)Ismkg>8t(0d0Xe^VGdaV`emA8{#|Yz@qo=}y6r zuML9cj#m46>%}KlM7gd5BpUgQike<V~^5azq+_mzFxt}B>8Mhc3 z98|Ye(Gix2DPxTv(-_dcdlfsrjQLE2b?!`^0tZ_?GkWK%Nue=s)GR9nxFf57$ToSj zo$U+O>y(J!v${{l6w8Bqd@=l>&T+f9mgYsjFMEq2BG(9Or{bNJs9!>Tk2t;GpDWOv zE8CuTpV)2hrgbvq>+#MXqfE*X=Nsj@{NjWQmoEn!UueC>z%SUJ~dtrk9R8Cgj;Lg2mnX2JVfv@R0 zPIF?;X#FB_H3Y|EOTmrj=4j+rrv+~)oJ1GioA#bRyX&sW)q^3pvp80Q!Ae4-P-;50 ziQoEZN_#1QhJzH_GD)3Ptnttt28?n^Z){In zYAcmZ3w=O__L$yr&z-i9jBEp2XT*jTiin*qQ#%jR_p^nzWe()9bfaeMDM#Doy+hgi z_6(#P6FZ-mpH0f1re1-rDwC30o$S9@7qb}BB?Rl1C zC8r6A6x|9U?QlvLD^bfwLs3FAYh9M#4RpM#x;-RD>&O&?UYD*^FOmN3U3IDwR}}|H z7;{I4(mDgwOj44+(`&p)JKnF4&?jb;gJW}(%ngYOV|qt>%bMG%M7(ntZ_L(PrbJs zFyi$)(a!UuO$omPkweA7+$L%YE{aTV0kCQJPVTBpt*8u3d5ZCJvdRaukryKSWRV!| zq`?y&l$5`sg?|rc_N@O_t!91oP%J`InOpm-(h0?5l-`xf=wde=JWUEjbs-M-B-y#V z^3w9&{Z6dzut@Lnc{l9Z{fE2sJ_J!4sEhbUPuBVzC5&sq=g;M4y-$D6N4Mfz#OAcx<^f6HS8f%;ov{rr zZa;o68atQ|6ZoEo@4=!JvqTL)W?&~vV8s{O z83&Q2*`Pu=J$X^`x*)0>>n>Vqn{%xer{rh{QInf|Ve(NNHE9_!LV8#|9Ui?b`B{lm z)gY(cz5ST;aPalA)Au`)nOwTW#;i&vbU?@6v`&(>Cm;4*zP#Pk{F?aiccIayLhhDE z$EFFFLbdTC?QE%pUB5HMOSc9uz0c3kth*gh1s-bcvy3#tQK*JPI&0JEmKn$0)1WCp zo#ER<6BoMW?e-aGX)P(zx>QuPX6GPzsVpir3aU|x49o3r4RRRo`iCzvQ%(bb?JYMM zG;_G^fhtkJB<~5W#8;z)`jS^0$$hlnocPXJQiU_EtM7PNEwn8|=;%re9nDDLb;0M4 z)wGLPMyai=0da>xO_5mEYs2MWa8l~e$_z^`5W3#gDj91IIg+-$jFg7b32YR$SS72B zFF#YEEHu1mq>XEc8<(0S0L`bHv9cx@4;>8nZ~yhH5{s(_r#q3mFBH@NZ`gN*=iB;lW9{(9R;#6wz7R};^So}K@c9cpS$7UJZ{=*>2E)odCyR7Ms*2%i z7pXlKYtKVX?_S)}Bvg#^(&z59TJf@CM=C3lgm`y4)0#zehU#96Yrym}V)k6r!!rWv ztMR=9)0)mn;~~^R*oY`OJ-Tv-_KVd0rteyCv~vCQt6PH=qX`h43Usx$`colnw*LuYu(|Q>xH%mmp|cl zvXEp!m1uQ~RN$UMk-6u-##Vo2^;~iMI1sAzp-~~FuDFyo)cV?H zfWaokLtL9NSS}RgOpkoLz9d3ArN%UunNxkXttuIU(iOQE zCGDC}{pN;?_Z2t%*}q|IUJbBx>d@&K?p_GJkztxz4QVgaP?CO=4VNkSGZ@Z}CjSXY zlk#(j_|Y&i2PT*o_JFDL-Vc#7)JvQv`%EGGWF4d=&L}98DL6bGZCDBpxXFE=HLr1*K{P71KpJ)=QfCv*wXB zHF|O+kIHjY*sz4BZ9g``ITzd7a&U{JDJThf@U)cu3JrCmEjyP|GqIsAe^{Q%vfe{) z&{ug^Jt@j9=;vnnGGfEj#!Tb}1|#_Etl?-OSgq(#b@2V$Af-v~nE_Ox($*D22U2!)gJ3Q*6oT=Ak(@-oi4y@(5y>%xR&q(iWK`MWvBUDMMikUk)s120$d%MaGeq4Ip$kh#JTBIb?ES1zJQXvu z@9ZOKoOB1*Zj>p8gQWPdsZ6Jpx%rR-<`ylR0!1XdzqEl{Y5h~r>X=YxIZP*2u-n*1 zH8y!3UV{TqNxO>bGQ)c6Bn&PpT;QTtarRiW+vClVLg_HJT2`*NiJpV!NUZMYFbTyd z;j6(@*vmx`H)`vs73Xg^frc*Og}Et(BaWR%v(%&l6(UEufDI+S*l2X{1^SM9SP{a( zDgi?GA8LUjBGsk`PsNVsV3_2(!CAB}XC_-k%kQBhKR?;1yUCVf&E;nJ8MRg)=*iyr zv71$eYi-(|eEMKDRfVWo_vr$DEV$t+9W6V#r5odC{ai5(O5ZG%HAb?@=nK(cJ`u+1 zSXSl6FRPT8kL}#Pk?N5y7_rt42p{X=k9Qt<)PQgjqpY%hBRkiQSRNaN4QhE2xq8 zHRv;zfY$7^|!mUZFCSF;0e!w&`Cg&Lb>cTeTaLz37QJDw-AjJ~} z6274XWx?Z}c?vdVm@jr5dl~w;;ljH;q>{7_O)u1_n#`J8a}c{G(Nxcj?kFVThsUT8 z88{-E&o5>z5W@%tcRB*hHF%L*8+2DX6Ja?@ND{4%TH)E2sa_2ziZo!9tMQp}WLYvY zw6)3 zTi!3ft(JKy2zGJgL3+RN`W3q40^0fhHKg@W>r&i!(TZwlE1}1jX@;B28emCN_!Q&o zZ6G#Pt-3pMQjpVZP3H`y5c9WlMiGF61Rqmax_-NkX8Gt0F`Vv#W$iuPbg@j$rBn;P z@I{MzTjP&Zs%sT&Qmlw_EMdSr_8`KzUIejWo%B({M+d7|$P%xSZPk`td>ZIwi_1`# z0ZuXB)u4%Mlq($$r|>Grp*Cx+QEgH21xeS|;~G z_4EWu<@$lUA4ROOf!XRud&RTqR_TlWWQ^0MHYjN3luJ8xZDD$)K zrY~&px{){Jmzfhpb3`{JD(b6~B$0$pCVDP8yASW%ZI6Yn4nozDikFzhdo!t>*}&2v zR%oR(4oS3Z+cEi)A`X5sxbkcy-D9cDN-c1*mgFb@r~&@)Z(Rv_wkN8{2(;d!HTqac zsg<^P;{nkwOd@2LLa%0WIY7eW23zi*fhvPB)OYCBrR`Qn>@HOQINH(lods`|n_O{r zkV!@)0oz=8ZRld#Jo$9+HTkr@cMa!9xsRXj!iKp{Kxpp^c07U0gD+RW-ZhiXcEFRJ zLO^KNuhqhZXlhq-2$bs8C2y`T!xovRO%VS#%j<6jTz?ZCj8&g^QuH?K=5$#YvPV9+ zib+y6pgEvbo$9`#9u2Zq3@Ik1wLvURZ<{}7S(7w7-QU)RP|=1*_{n0Hv1<)VdEd{m z--x(sONLo}GPFj63!P$Xqt6ozDkhC)K<@w=0_d+rOYMu7a=6VmgXFzq&};iwc%`iB(l3O z?<5=Va(0a?yG{yy(sDHy>AMw-h^m>;iCV+x10qx9*jWP0)pAx;VPL9_YNkqq-1nhE z{?fLbc8+Kjr*c)Pllz}B9R&U~O6F43Y7ON{B@c+IJcugJqxF?&YW(MU6`kaj;d7}$ z|8`H;snFaX0tS>$h)b8gLtK?-^x>MK1-RQ9h0nO@1i-h<)<(Hpiwekdl_OHhgp}8yB|J$Q3C)k?z#>Za7zY_kjoz%ZH4zSReziS-4zch|kCX<*y8-B}CC3(|0 zFa*71{w89aZKAws9Gg*8o`2UkVEtw1O~inXBrv08ds>~Uhkh%jY^P@uU=ngjTLXPs zU)OA)2n*M_ae6zKioG&=CuV&2>cLkrjHVu*PQ;n&ghB2 z`bFq!zTX?JYJ;}cMrQKh;yq(`*AK!^_fFlrG1wl%{%+f#zizLJ>Op(Lc8e7&K^E)t zUXGpT*q*@L??;?lGW`kmYQq#9G(wlQt+Crt@o8tJ_h%k?s}lnCpoDM{L16aQyf z+|TG{Yli`kIcW7Rngyvl{A=O{UUr}sT_)9B>&sS43T{(yOd_Xbz2rl%T2W_fY7AQ{ z+NRuTolk8Ln6JR^LKj@RE6vMSw0o&3Hc(3aD!XPwyTy9%S(m144D=&J)teVdE@(b#y~1+II@ zzyCwtbhLF*@+yx23I1^Cs-Ecj*HSFfelg@1z3eZi_ARst{=IAhi}Z=yb0Bn(woL!S zV#e_NhsBIZYXZ62ai>7^H4;xNjZO?6TmrXORToSzXq^z>>Atd^4Jxk3V##*JZJnLm zUqIqUY1HP{b&Xt$?#$dNT}c<*Y9ZYz;6O6?*=iT%Vg*fL*K6Ne%gGbWpZ3X4?+bDs z$?{5Y98`RRD*u5wMcbMzwr2yl!L+m|rQ@-RhN16TM1}OFxrZ+`!))5=#h=1n6&*Bh zwT@}oW3QqJiMH@6U-xD}r6+WP5=-c6wBbR5!JRP^9zR~^5iqdfa2~#}(2UXJi%y5Z z8~-~n3SC%OxIM2@)ma}(?uP_Spsh!ND1;yyxZPutgkh@r2 z33FU-J4j6re;cJwqMD8nje8%;6DSp(l36u8Mur%2q^-2Ks_$U9-a~SS+bb%TmVM-$ zQ(UKW1e#wvzBOO}MO;@=QILHGGnDjan`KOmR&3V6vVBBEq)SnxWG2)Lix1~0XcGLa zHyyUX8jO445BiI#LtM2aIm5!bwY5-@w5}&( zM1H7MlHy|!6~tli)#wQVG60T8$*AC=@8ECb@w;^<92Y>!S8oFv1Xjh5xEgSoU zFLP8X)aXwseZB%BD}xx&(o0KSqLG4A+DHx0?nVM=I7nZbbe%^qfndD-ARvs&0?7Q( z9m0J5m7biuUZNkTjkPx0GEfT=$(u9e<&uO-22jRq6WNJa-PuIgTcH;NaOMe~Aiv)u zZ$`-=3=v<`lmKpHiHq3BLeUd_T=M`1Bx=TH;q|Z2c;u@X&()DFST4A=>iPD#)neH- z_8o{ACx@~0goZ_lYig9EhchkIsC{OOB52!eX9)<~hor)DOia;kI}7LR{_{Mk@`kZ4 zAy#~ELADDJ>-^EI^MI@RKXgN2D(C(nikpuU_!qdzWtS7@8Y^ohev?Usv=&7vi}{CI4NHyeq=wTzg@s!BSFx zOJb)wIg^N^`nP-LeewGz6En;(o4Ag&)X$8)u_lJH+fMDBW)Ji%1bdvb{`DvJ^se7O zdzOhHCu|`uIJ#BhWeV6#MQCV`h?z5OMM_wwv~C2eM|p9!d$}yQ87h49sB9QMsKXo^f~G5&$to)-N?>D_0YZHc^;vw%(%5R zEaU!^MwHhsx>;hnM|dTWH%4HAPUPmPaX!%CD)-9`N;g(WO2be4#w#7m+!XM=k9*=j zbT!D9md&lMLpu%oveXJ{d6=#;6Q_I@L5^*)15>`$lK|q;HA{KTjB2WXwks3MS?j0Z z(D8?fEwC?mvidbFd;0ZLE#Gz8f41Nynkmn(UdgEOLBuKbz)Ptsp5;KM5 z?l*YW2Lj8^4WFJtqFb><_Hug>KFDj+nZL$08p@3K7!GPd?lDNhM|>Fu?!6X3^tSRB zws3dO6u|)wni|aT{RQw*4ngmC^!TaoqZ^Di93?Q@A#?p+jCr01-vL#0RtM-=S~Aau zk_RSBh3>cS>oO2?Fa7q%HU-D8KX|Pyl6sIemS>Ge-Q*!a>qHHl2#_0N~htdm;r ze4#`*VT@!neDR&Xl&bWG_wZpKzu@wv`^jVh?NKhHv(iRFhda7lrX1vm? zwZJOFp;;JAoa@-pdDp4_<-z`nbLw;@Kg$%5WafGOFNDIBASMOLhrt2=XzOIq_EIv1 zq%=WDgN4^ZnD6pTem)uw@fOrdK^NI)Bldk*)1g#zkkpp-GxUey-D35Red(H-U|*%$ zR3i}Bz2$ep7fL$P!t!>n5v#>4`=_<_e6%(Xr1j-~-{% ztoxg_>FQSipJ;DmZ#m=ybF&wx&HCcEJw`1(RB3bezRXZ`4^y*YwpA?$L30h-#orwP ztM%h}S6OV(fyqXFkH4RMRin_n-a^Ldpr&rw1fa(;Xq=8-Bj$qTM82M6c#qo)Y+-D_ z(V}k_vPSvk<_`!~;iSuVK1jh;XeSexwwsBs@Q0{pGXBL+_Y-;x6*KFOkQQ{Ub-;Lc zwiK*4N)`dDiseLvKbal1CY!>yG>x}b zh|DqN)|LbkjU>)(q!T*ZCCakjhD+btl*C>zl-Y1|w{9*Ury0jA45&E*rsi9dvHDVHrox zhG$R6%$1yTI;}26t<=f1$r#dA-A>jZgh^&3wBCf;OdLcNnSNZpBU_8o?z49G(Y%K! z`p>^FI0XcM1UP_d5j3HqlJNrz+4%kXa$Gq(S4=E7-#l0fDxUJkG7=A8(6CR9^StP4 z37M{qh^(Fa@AX~^Pbp)k%j}Pxi0@U;Q6k+VwLUVOwib{pAICX-bzQEpZiykk{=$O>@ zLFDT7=F4p8@B=C8QU9jS{OB~5jk%w8t_H? z-%I~rq>=HmH6kT1Ga|)_ruwJIY+#SIGvc5fVVCBv&=!fAf2b-u-~mDQyWNI? z*mt+Q=VI-42Q}bkDOay?R+nW^o7lnPX+V!EBgY)0uS#0!D2nXQMPXk5UJhmk6Yhn+ zhXL;inDl!B=Ja$)QWW{_hw$3n>XG8L@3HZx!A9A5C*T0#lHJ>0;ZoJ_#f3R-B?!z= zScHNXQcV~?vos)o50D_MT7kA!NA5zTT(zttb>s_}e+K0|jD$=>Wm3MVYj%QL{Rhd6 zq%hfXafJCdz?Ji`erj1_1i*2HTER|F%G9-`-q)g8rd2*WpxX5Jk5E>*#gIC7XSS$P zF1Eq2w(}@D%XgR)c8_>u>&l&MWD4EkI;lN`weWK_82c&z<$X=M1Yh5=V|qLI2QQ z`EakLC|58nga7g!(I_K4t3m&w-YW+7yKW0svWKn#;;`qhxSh&O(WPqs`-<%jJh31g~J^6EFR-0E;o6F{2P)(N&75(Cd1RpX1XwQJ{q;#<=1taK=PGI zS_cuJO9CIkJR;#sZkS9TJZ*IM5uNUl-SF5@m_fiYY}}bCzug5|iTP$S4M#?oQ222v znpgUI5%;H^2VH?1t>N+ZkF>FouiQn9UQ!F1L88RzbYs>`8pFqdKHl{5IvoN2dHmI! z@n&qyZSNh=fv)D*Ahq%_?!GZs=oW2qS%F@d_ZwI_*S(yx4vO$KE zY}w)JS)>Lk>w$uAE+9b4-g2>~z=43ZU*OJADAyWka~MLzrh_r4bBT~M5w7P8CVb}k z4y{~o2v~F*BB!qF0o)wyp{4q5oxZkf@cH!Mrs_fMOyh)OtJ1;S&Ov@{^mYXe4s?aQ zzg`V9jp*)Ld}9eNNJEut?pIhw7A0|nW%h|9X>QjNA2zBqZf`$|)(ED-JH&FdIVc0e z6{=?x4%Am1fec8ibrot_pQm_He5IP=dO>`q)ADokP!52EOjOU@`lpo*zoI%M@bch^ zI`;N!=xC|6-krhv@eqF{%OfKR-uLRgW=mMEj&FHPmR0#J zy2^NCPwdtJm#sAAkisPL8`U?SEdqA4gh~coy5$Btc{E$U+>4 zAGKF65~LI**wrY)2KtS#o6zYU?-k^&ET!lWpT07D9jjlXaYZp2$R|otYwFGv*FcM1 zKNo|b*;WGcQ|tR!g}W&#Q>N0|0T;%(9r!r&k@cyd#jq?6Ry1iXKImp*89#U^yX-Jp zZoma%6^vdKvOKI3&J)%dA!25|a?=dG2>abQu2b*oGshXNn%lYbVMopJ)EYvz1@P)K zl8s%v|HrVm*vcHv_QA#7Qz_XgRdEG`ifo>>(jii~<=%NK2H37X z%ZTrL>Trn~C#Xlg0bLwnNhh8~L_8s`-M0_{37=`X!=*XQvgB`-No!1SWk26n)A%?* zJpYKF+X0^P*o8v+LGCv>!0TqF=ogU-4+)8niHb1j1Xz`@zVcw4O)Fhj9+{@kFx+LW zD0UjPVQ{x9dI({i+ z)&GjF?r>x!D&-j~e4q#guoK%TWhusN&}XSA^Yl(_&fie$K$Nmyf)2QtOrY@_z~~@3 zD0h0HpKIT)?M>y%8xA%Xn0eO#>+@)j_`GZKE`Jz3cPD&sZEYjgaTyTs$$@k=L~fYQ zp&iAoUI~z^te@o@_XmGd#Rp>@PYgJLK(K=m3JW^x!!Kj1o4D-OLcSF0vzSQnMHO+% zB@QjTOvi)PVFatPeLyyTL&AmWoCem+YmL2t@`c9iQ5;52VUHXm2;$kbOfw5eA9b;V9gI89cFKwrA;h;NwC8wf$tnNOGN)4})RxaN8yV zg~)|jJIICP;GomLV{6<(JP#^@8Ksj1A64xchKOn_gvaCL0XK!WvqM#SLbgN~F0ei< zhnqa>Y@0qQ^^AW1U{R^Pk}Fz|mld(AH#c5pAHEcU8uGmmjeML;GklR^UPcN+V@UTX zwh_0x>as}oA*!!0z{~W-GWubR@&Doc9d-1XL?ziQw#)KDg`|G4onAw$Go!1ohB#t# z40gp(eUhhEc#Eqxz`5%whxcR6n=|p&o>pV>Fe8VtcO;pWcy{?RG=R%{&7Y?=PQBJq zqMP4ScLjwF3-$~{xhOAUN_Z01OF$iTq;-hcAvyxRhg-N+)BsMugO5%)Y5gCxB4i>Z z5M5>B?^}YbBc7Ob_O|uQSMpj2NA!-m7(Y%bJW7l_hNL{REmzgV+Bl^EUpb?+<`VTu z6hkoQhO5^yL(WZ!Uw} zs#5h#=|_h%9UOn z|3~g7MvIE58_F;!&+Vg}bhn0B%>!-SStZ2;`+p3AvaVTu7!8rJS!%}Jw@Dq-d{<#+slT<+++A*l)r2&E-L zdIZryE)J33bU-J+zyA2&lmn8^Ka@k*8|9$bSof88v7i!2Fl;A4vng~JV9lbbAbB7M z-QyOCccMgyBBH$)ckI;hOGYh$sBA6C3hQ*J1^rTrvar&lEjMh_#?PVonFTuQmLtEV)IV<09+UQfF; z<>*W@BSgFW7jaSFGg%5q+_O>gAcOz8Ps}YkqM+5H`wA9>1 z$`*)XV;XEvqh*tR0w+@`>&UD_VB-w6)6c8QiJN=#u>wiy7v0^8A$tkpscQ-?oxI4% zkzwhc1#J2fGL8p&gq?n$s7p1wVOXc$C6?$;qG*ZMc;ttjy!cah9!&ZWMm^%IJtUEB z#X-~IQT*rTDWWCN%8^ATsva7r>TMqNeaO|{i93HAsek0yo9AJMj$W(EHd9^xG$V?r zL|9xZdce)fpf50^-JxRt22vVhBTE;1~=CV zPb)Py5W=+LRBiEMO0D#QP_xd<>&{oozJIU0$pN}GS#~M+VUt>wN+vK3Jf*y|DQIdM zyyT#}1SZ@Y)Ge4qmzB3AIa;{^&j|5?pZDGaipVFJev66xh1{w434WfQ$s@%;gWuE~ z+h#jo16UPQ`izQ3SRD6q48Zp?f7xKBYeVDAaTDXp-jc$y3_`mM7b_jRQ z)Xf=UU=d$yIN-B;yiiZt^gWau1>Z1+87mrIWDw4-LD#Y=-&1`1W0SZcJG+96J047H zTXhD*Y>bAS$XX4o;807-U~juASJi(SLUGn%*DNRlW^J?gX_cQ^{}wq60#g?9#xz_j zZ1HIM`C(+``MB2$O4kdcX_qHp3uK^hRN`{pN_DFKc_YvNf3HP#UJ7*{*muhU({_!j z=B0ka@^nJ$En2x4))0STIezgVqHokq7Qk9n^pC^g?Ot9L8?*xQ0`69)>Yo(J{|}YZ z--nt@tY(UCbD)Tr=BBo#3x3?Ex-m{GseMFoX1|+Qn4}`&%8C)xqF}IN01_t%o|$E0 zXUWkf7#`(oNc;Cr1i@%f<{ODGIQ_Ne3c@u7#KvlSvdTwK>l=|Lz(>G zMek4g4`njIK>6cM@Z@{PjI??840hJTfwv*iZ+{p8QC8Ussu$Sv-ia#cj_Aifw}fob zs~@SD9_PWw({(v#%iTj`FM|@3l-c2aU18c-FrzsM)V4rEOML_cPsd}-uCQ}v$Tc3| zYxN$8V6SNjYL4jBvO{Hf4ln7=e%Y~w-uh%n^38bMry)@dQB_Muf5RWcr2?1i)VN;= zBC(Kzuj=?cz4}gO69Jlq)I2+@eu`*ad4PB5|Hs~2MMbtHTf>DF?(XjH4u!kBI}}>D zOF`idg}b}EySux)yX&8)Z};iGea_?e@{e)H$d?3iZ+5P=B4S3&88OHG+K&?pk3Ycbzibk6t1ROQuEQ}`?V7M z!LNenH{a2%3nE-1^i!dRa3|Btmbn$pQR&^SuA+MkKx%X%jno-Ms=rLT36Hs%!bN^I zIrTynmI(g84-pWOD;*@D;5|K4Bh4IZFQP$7TJb#XEZ}`iC-H|~=>H4}m%|v(Z3! zjl%v|@IqQP@cQUCfKZ~59a1kgcpcLdH1MoJ@5e5-9V4=vqWBM4&&Znh+PXk^raT&% zsH7L7|K(niTQc`oz6@WV&#!$!+7j428lkzD>vVRovC6Aq$#UG)8>;3$X~L`5o_go& zyTNI;=&ZKevp|m8H2AaKVcybSSl?7T1Yc}0A_l*PZLrd{i9F7@5P#=hphx;<2jz+2 z`zfz#GrNOmsISJC9Xg1|Wu(|tBEs{3I8iZ_AuaeQ4H=38a^G8PI;L#muTZuJO z0^s#8O%A;mEXp10V%#v~Je|jq$OpSj_rdCxD&)Ls|l6JK9X0)XbKrl_~Ajp>JHb=d<&u zmn3|5iy7`*+V76y3ynxDH}5n1r}{-=)wEz>nvQ>CkPeLDI^MjWpc;oy5mGQ~wLH%Pxf4y+hEIT@b3#PP}A&!`6Fuf6mbj+a1P89r%(PN%AE zq1#ySc{)#~fk}iL_al6|VV2UHBJh|%5t3=SiGlva(}AfT#TZHQp>x=~iJtoENB)Yy zT-#x+LTGTe$H!N8nCi)&r56<}o`3>P9ADR(U52sKKQ+jt%Oo~1SwH$41GrF-b2ZLv zCdls@+f^@VEmHreD5dijqcs^;w{@2EmccLiSfZ}MQaKo|*L!gtigO4wW@<&DO`y#$+b&O_V?l$Bni+lcR5=K7h9%x4!9qj%NM*8h*< z^@)s~PxFro=lz-eU#o-_NI_c4#kTDye&rMKwQN&AOh1>j#1Owb_E24*Zy@)|kLpNo ze$zG#P)@B2(85rqgEUlNbj*Q-D@A1s!shM7nF&h@?vo6)?{3%AHg+!Yl>LVWMU4(E zuIvC}z4YkG>FyW@}CADGDG0-|@?)NJI?c-e3O1s7p z8&-KQ1k0%Uc~!TA6$Fr1Oy&=D!xvES6(iOuWm;s2}oRRNga z(Qsv>^;Lhn=XriU_ORt<3Y&Mb@TFgF;cbh7d#_4I+*Ta2-)peP_wo_LwdqkYjEi5| z?Jd8C(SWLq7#q7Kz0d1)DqI!jYa|-htPf74|Em{(%h`7x-KeR3M`rU)C4h-6U_8@;!|Fr=2OFHmBLzwkv|9b__VE`zq9nN5~(>cKQG*4H!zZ zT8rT_&8ZAQ%eb<8Aq&b;R&K0~_W%J6YuDW*bzsyMVUyD2M1pqM#F5f)+F(Dsr7A4N zo8@4$@S z^C~`B!>VTJk>vc2W?bu_^_x+?f7I;lAj^|=`q0?j0|E@#jAXV2wJ(-&N0NzXJIgDH zoBMXY^$$H&#=3M~jwF}`{P+&F0^TWjWq}d{s2gIqg&AtcwS5@sQO$S57OLmQ71V{E zX-4zBhN6EanD~{HtcP-8JI4p>V_8+Ajo=#^7}L{Ds%pKhSt*Pj6A~9lXBUwvjmASC zyq>*mxr>Z1#*zp|5ScY}?orbJwIapl+jRg*L>d9uhZ4#mj3GyaXm}?YJIq2boOpeG z!=BNKhwSVKEm`*E^!9bsl6eG4Zn)r?$*1yG*EOB7P?J8M>d(O?CRdYyy&af#);!2i51R4^c_hl zJh}?}CHAWV0!~E`5*D%|3pJJ)gFE-uMi(NmW4r6uaaMpyeY^Ql0N~uS5d;<)65(%- zfDQVep&+NIx|nd!#IhE|ny}0dxaQGx1lK!9;Z?CZ8vsMrrk7yE&rs$;za+>WCKfEL z!#zcsG@^M&Gx_81mYY4QZJHE-;0|(4E#OYnE{lgbtKX$t&@9ZDxH|=Cx~#%>%x3Pp zL}`Q??AY5$M`I-t#zpvGP$JjOgi(G6L&Iya9Cn1L4GbiLl^A`P6lKt9?clBILv>RL zFp4m=YT-zTuyB&x)YM2?Vy2~BH$}d3tYxQR# zI59i{BP;OLTNLk9AC~b`O*M!0bMatR%1|iWExL#C?V2vj9G~FRP8DGaN*xb9JIdOe z9Bh7$l>{EXz$&IbfEms{aepenxn8)kO;HO`wH-vYA3G+=9OmpuyW!PWrni?W_i=C0$V7+3@

UwD6(cqbOL^=b7U2dFJ&78%8;Gu1&AGEvkw!0cqItI`S zv`f=A@*060j`aed`Yx9eW7p;a)k_fT3?%*g@%qqf*n(;^WQ^cHc!FpNOPjes>l)T(qJTsb-t$loEr3$ zhOxIu#10BdUB1w!Wy}fC#7j584&CcAEdyQ~%XD1_LBj|+!<}sTaapu?Y5_v&Fh9j0 z+TCllH)_upEEm|n;C?)0%CA{&-VXyLZ!9eggF4QGY(20D?xv}o3s@sifE(y>c9qzV zXafFgucUF$POH%=Yzs^=09!F`0&&g*)w&j-NYoT4k)`3Q{5r8>V3K^?b&VO(`~dQ6 z0UQPL7-rrJ+Ck35wUyhB+i5^A6Oi$KBHW-Ys%!(0)G!H~b|lBRZGM*|JzdFTK1YJ! z4TzD+eNfl~bXENUq{p6UUGp%lKP1DyXK@ci+F)BH(u+tK?ouLEtTJc>N^*l`J$MjV z!P*Uoq82u)MKIgb+>fMLa&4DEFN`1LTZO8nX$xXD6kdcR`T)V)v0A&Q<4^H6&ij#<0w*X?N1jiLoy`k45?T{(6 zWo4zqmS>0rP4kR`c=}()sBcCQc}0Z#)*J!K=sGTt9b}v6%18bOW!KE)($Onyl36RG z_B~TH;NlxmW)5w-yPd-wGzjjQ{a0w>!Gk?xq-=-lBC|l6JVhw))3ox+X2*{Y@4PQn zG%VK|S9xZtv*ECq_Nas5dindmhU1ax6XBvbHVb))=@P)Vr(YHcsc8c%>2@RALj^hV zA2=+KAg?CFx%Brz|BtckXngM>Z-Vu#h2&v%ZDtKRAid!be z&#F7ZTfszx@VZWYs7@dgFUjRcIq8$t>tIyhacJ|b(~KoJxc9S(zDC71#>U=UBW+4c zDkt%pohADcL5nJT{RCLfVyau3HuV!(RoA&mMQX%3#(A(hY+teav|}6cl#m#Z46ZzO zo3Bja)%Ht7DR5$BVi1HEk*p7>Q%&HazDX&#F)4-ohrFB)1A)&uqiqq?CH8?Y=D;GF zF{erdkkGFnGYJ?_&^~{z4FRzkAKrcnFoJQf4J5F=d}%z@Dav3qcvTNb@g%!^XNVm~ z74P)b^?ngZ5Kuga#Mud#*WnQxbz%e5C@)TXCiVRWH~VbKu&@F`rb9L>I%jCf#T< zS20^+sRX;Yr>h1)gnI*6x=BGguA85IS6Cm>>fD>|u%{>Kqt}nIM$#==U2fWreQ(S>2UIV{9d6PR| zdyQIG@B2~&P3*bF|542QNwlVk?@Un%G^4Nyi_o>&ARHQAQ)zNi*5Z*seDf2-NCoFZ zL~6oJpA93vN_LQtt=vIEyWH9Oiw>BCZB0g@(5|BG+P>CVZ~4oT(9b`4SuP=I+l?qu4q9TM-x&sQolaabf{a_N4b z!-GDt3dj}DS&l|6fe2e-GLjZPWocRQbo$6MDo99*>}dePq5`1f zo`Wb@62Y);G5A5E;M47i5n5GAOtRAW*vkDt%5dGKn9(Js?x&w8ff8jmW_Lweyo8y- zgcKr{3%RQ8!#$W4k$Ghj8XJT@D2f*4ho_H4fsUYQDr2fkqD>VjsnpS{BhFo4h}i(j zgBT3j?la89mr~cyCxkA4c!X{P1EZ4)@NFfj^KdS>+wc1s`oYL$0fqe1Tz~@Zcpf@M z-dyB3O|vh{Mo@ll2=Zf0?E^-iFKbiT+W5GH`?Spu{JEPvZ#SCGz=XtCKu#>E&A;g+ zT?&LQz(iuup(;`>nQT*!_ahWWQO;vl*>v{P%NA^iRW*)o^ca!7j6@#uDT)G!>@9B1 zM8iL=|Bu*&L*b1=UISn9I-Yqxdno#L0l+uKVH6*++5^eA$VQ2rXKg)`HFbRpyU^s5 z+}#4BIKvK4H-FM%Z*nn{IN6H6)USC9X>#jbGuDrE8J+TsgGD~WOCuO(>ARXNHy|#p zYeR!a5~g{%LL4{6Gq2Qz?7KsogXx67oP=yKj-i(hef=fYsG`R^`P#EruZNiUl* zbrPh1GV(RYmOtgs4?Z5OaPk#hp7M*=NVxAmd+T5O3_+LAupEGF=d(j^ENu;pM*%Gy zt=`7~uEH|e0{h@}$qHAQY2D?|r+sw~iu|6ZW%x6|=7fX#^&<4w-BuqHV`-C5Ap+=I z6hiIHiIU)tTYxdIR}57KTo7zb0ZM32o5fa&7+O|;!<8()8FNv>N*UN2&Um-E@Tm8F zr(MZR>S>LJ6KS3m9>9`ts;~?13vu@vlp1j3vI5y^*0NS{X-m%hCt~ve+L$61Fom#a zJxA|vuT9`*9TSDAr8_2nAWMcG3RFzd5JidIQu&)a0b!rwnXHmf;>4^vg3xhm)HNI3 zchdo3e=>mRne-pV49O(!s8Jo6%!0(JV&th2sLhjK6KER&^0GtOLv7JeD&J2B3cl5V z?v8pFw;6`P{sIAF5&cV$)L?CLeMo9DlbT$HCotonu(a8Z-}NN$Rqt_6@i0EJJT)S> zzzY#2?v7ZQ64??yOHlpn_BeD5J9n@-xR)?pnL|1Ghvz*j$^1`WZAz$Jy3rMhG{<_u zn`U5t8>icug;ztOJMJ4ci9HU2)mj|+yZctIyY9vMnUrjlI{mj<9s@AM z!uP683CFu*g{o{E^xam`TNniFIkQL_>aaLoDYXB9OaAzi9t7_fr4otySugnaT=lnO z9034W^z#aPDe~Xo5n#=Eqlf^|+T(hK=ehsI!93uVLQCMtNtKHUssFjNEuZWGNd5o# zj3J44e?Oxa;{71X21GFC$X~}xv}THdLo1*na{vktyY}X2DgK4vK|1O z*V9@-(|AABUO7;_Pl0%wm(+LjAN5l1O`DfG0^FDR@NK@{66OVviO68O|JqJ7?fBv6XHM7t_(P2vLY=Y?eH`NAhPO*?IG7|@j6XC@(-J=0P_2Y{e9*M_u(&1(DB9jZMbCSB z&-u#$;RBa;q8hV704j+JNa(X3C{(j>`D(;?2iT!|w6rp-GdY+DxrO#f8^J*AaUA1n z*^}Ez0~`LtcyXZtD>+w#OSjU2FdBcnSpbkCcCVxTnM!$Un|9#sZ0optkvRWoD!l7z z;>}+e14^pUmNllIfL++XP`e`;IPx4oP&Z#`31Ci&`@o@N?Sg0H!`_Ln7ka$!YOQvG zZB9)&BqD&6FOQJp{U_zq0l>-_J_`vgaL(HJVCYzW&+^N@1puDK84iodZ>cuz$W{l7 zZQ5|F316P>Hv#ZT{R6gy8ZbKG#2D(<8%aJtFcMz5*Rb6XBgfN64c<<3+vDbRzpzP< z55Ef3>mhL~+Mcd1#Oo=Fu!w))0j~k^o+cp9n0p8{G%^W`jSo2F_DpT*i2SqtO0Mt; zE$7r3)9f&Jh}hHaTR;!v`rTJ#82o)qOl|uf*ga&~$^U)7AYNZ=8^Zz65FXN*6-nda%5p|FT>23t1B_t(PT1hE~R=Ni%!J!+Z zO9T}ar4eKR8M+aau3-q34(WK-wtoNTzR!7e-i*L!z?nUJt#w`Bx};XC^QBIYw(1_! z=p8w843_5lZFZ~z^yj7>#04sihvx%H*8Pf}&cn5awKg(JbS1!-;W`yL-$zK*b|$^e z1zL%y1wWbk%qM@|N2hO@18>sv0C&?y>^5NGJl0TKn%j&@Uu0&(*-Sn-O_F`=@mRLa z_DnehC>q0>rJIDC|H03t#npz>fL(A`?#o^zqW=a|nim^nf%%jIC@EJtXQ#PK%gihTMidx^Lijuv&9?9<+kvd=yS@h zf*tszna{WrjJcV!R0xU5;!6+(o7;h2V0So~WB9Sx>*a+^XD^szxL56RSyZ62b9s;0 z$q{z;Y8$IFhXP&jCh%b_u2~woo@T5&wsr0>w%hP|5&V@5JYyvVW=Z9b_h{e#IsoNg zlQBQ-S4z=txBF6<5E$Ru)FN%LzA%HK6-e`4tNU=%kdeida>(=3*^7uqzNALrh8Z`T z_yN%Ur-2U!3T{m)b|a;fxY345qu}^jj%wPl6`^eADl#ZGGwa`^>pEc;YiYTvgeP4u zDE+#7e7<5(bBp)~L_O?Yo&flmf40f#dI_;5`Wx&)Q|-miKY+|*bM|Igz@Te^EThIk zkJ9vl|4%f&03rw`bS5ae#y48Xc_+xHez}xXYP(;t&Q3v6K^L$n zDD5C|29~alqUusM7+l?}6v&1TJf+(QXcV#{ZhY|vTIf6aeV)tj?p1E)Xd^97z`{Hk zW9yvpsRX)~SJGx58Bl#QQG4Y;%izmWVbhaQj~C1_Wt}%K?1d|3v*7@IyK+QRafqYz zLS#Eg&7ofdD6*&NM~{s#S)jN_m2?^!s_voP_9xZ}Q;%;*V2^tj6DBi}Zkt9Vv}nQ5 z5sF9Rp`H%eyKG)d?>?yP3XE^;UbCjBVj;_;ehKq1!Cz(A!90lMa+(mXyI4k}c0~QR zc?gP>m(Ove!0x+2f!psxm zSftpPi-Qv9GU(wqyAqEYn=a%LTKai8<~;iG`sw6L>`gYL7{S@LW`Zibq!6ZAP2so} zK+wtFC}dtvv&6JmPu+ke0l7K<tP^@mNFmpH?tIV(Q1DA)nIEx+EKLCSKzehgS}{LH=N(!9A@A55S} zBYn(C?nRO=Jk%fPBa{|!+`)d@?XBwyz7 z(&o08fAwyKFsKwpzAX^?U6DV%bXHpIeZ$G4X>l`Q`*)QoeJwUqre50UgI)E((8shrDSE3 z-0SQ)3_BrZD1{6Q^F>+VS{#+td+k3lV=Tcl+0?t87{qspvS}pE=4eZg4Yda6^H~g) zIB)p@DC%m96ZyUj{}A?CWorIdO(DL6IQDZ&wOZaVvg_%JS#L7w!R@<1NPBr)`Mu?b z-P)dt2jgM^3aN_ahirTzEP~s!yd8@do;Ua?g|=PkxDGD{^qadgY9o~RyfS+m$&d7- z<|%x2vroqnM(NXgYsACpyTogC)gvk2W#YdZqOt#&A09H$nNWOx_@L1$du@Sb-=g8SE?l+M z^4X%I)>y6w6SKQ#4%Iem;CY!F*r!%>0%`#!_m5yZ>H+Hj8$A&8XjWHHDP2Fo2E@g+ zyjK=x>Gh6p%vEnoykYQ9p>_V2yyW<$%`!XfKUF%|v+TBJSm7V>9HaZ(UM0^PUag46 z!xKa|!Zg?oF2i%Bso6S{zmTxviCC7MQ|J>^s!tcORWVIcBLZGM3tfF$UPvdP@PU20 zO~PP{`*vY`W2jFP2fq6?;u|O`tO`+SKgr3mY)QP%7J9Zm0$-%{Qs0Zjd*AkzBphYI z8_W4_xMH?2)r#fGPX0QA$6-6v-@p8EOy;g#E*-{@v~c5o-O*;(@$$#za(YMoK6L8} zs)+vVC`utIB==sOdTM$!$6&qg-xB*$1h4@se59p~`hBW4lEUhw(bC2UIiYjbMwva! z5g%wobP_!RArU$I#Nyco06B78lC!+?xVrF0b-oez`Uoy5D9U}e&p7>rF(@%dES8iV zkMfZo0@H!lTyN7@rTt=R%@NCG>U@E%FYrTvuf;W&TQLUD&6h=x6rKV#=HU*EnDS0o zTim=&dFdUhpwLl!A-C1!FEDS>#&bjaC1td}FD;SW(K?>z1m5%vrI5 zhKX(D!nS69NP<_FlGwU;fV*o;A>^wZu+U}AA6YQJ%5sZb0@e>ID=w{^W%tR1CVPm? zXZ)ll%+$)424hArlaa-=(c|!q15;&>`-HCzXSY!1+xb()ilvE~^5Q%CmLE0>jM3Ym z?AR?|odV7$r-^D;v;J8rb~LwHI7+Uk^WieMSJI)b=;#m=!IiTfw$`7gDC%p+pG)UO zl+I83$g$M~-a;18$LO)OeRHYX;|yA4^%NZ>)S|k z+Op+xpoWDy-6|d05|>=RX#Qy$JCo#VA|3r`1Xgpe?cdo$PgmL-oX(fBm$WBsV#1hI zOxNFLb2P?WQgaOv?Nh4<*dN{iTVC{0^e8rnB_MOY1TKnm<sBoPW^ZrvQ3>a6CXIi)Z#!L)FYr;X$i zuX@qb75j@vI~&Wa+AGPU)Oyx8QNU#AFep%dJn>BDjU}hY(e#Dq-_H?C$CpI)Jzl@Z z_Gy;pW`O)qjT~BRf;aqIcw62ELo(iF2`*eCa_bJykq^$(?N0=NqH(g9Ya(^U5M6ce zPnuFtqyq2|dT%1HJm(|6)UW_R#R#K4WiiKZspfC?uSt?)a|2FKj*qDh)PHcjZ4&6} z4zOw!z=}=QCMPc>niF0n2o;z~QO^j=Sf_F#AMf-<9nn5Cqaz!?z16Ed%^ELtmTbtF z%u8+0%)}X<=?7zJVGx);lsovwHqAjiW9>M{GaJT=QWTyy9kT3h+o)EB#b8fsdj=ks z+r9jeTTEUOL^^%3-IOA9;Kjq#_gPG1>$r-|mil*57$0qCXf*`#H4TQ6z@@86b&~u~ z8{J)+!%5AgrJ!I6kh|nBD~62rnC6%X_GV^O-Olbb=4S}o95V>FTnxL3Mv&I-9VzhL zws|46Q)=1v$XQwXJBfNnTbuVNxIOw__y%4cSiAtwM}44?GJBJb(z5Nzm=8Gk&J`w3 z@3WDJXV>xmhO2c=^owfQO7p*qBvJn3VxrqmhbYCFE|KT7=9{D$>S@mzpKAe0^ii>A z^3|+_i&Y}M5^QLlfv}{)e6siJ_BE#G>TmvvjCl5jocT+yo0XmoWw-{6W;DE1`tjC` z6W;7r&qe2as~m@Y(CJx#M47T5k-Ai39SR>qU5p^&nAfyUVFJ7_E~TMO%nM6>N=q(V z8nf&cBNnh#GmN?6Q;Iu{$8l4I#u@wEN(HaEpiS5JPg@UiVSr18G$Y7fwpAeU$n6#) zvgb&-dLD?`vPs--nUcLrG+*AG4%}Tj`q)n8hCf(9WMS&3BG|ciEki&JQ#^7c+$VrQ zL^1mbtw_VA;0y=dUv55k#N-c!3di>k^i~FYL{k*tcfPj5B`4pE`7HVUQ%uqFHiT?<*IMkSic7BvOSBnYW05r_?vw~<^~e`(3L6Y2Z@#dUp@^eB}W>R`Z# zA4_=1wyOdBk*D82=jR)}MjsS~Sq3W#=fylKuG`6w0us7N1ZkPpUj^hS$^8qU@9`Tv z-AmD^9VqN_$d3*&QnS`ek_Tkfk&Mgt7peLhXMO|4ki0Y~8t*b{q&2s@=;%$V+`PM-cB z?HaQhPJ!D@pe_p{DIq?$bS~o#Yu8M|V{>O^T-7|_$CuaS*Tjp($;3p)4eg$eQgNagAsv@@QhORrlVJU~t@GpE zoAsp)0Ath7^3wmiLg7Uakuq9(A_5Lbg=9i<%MSMp^H@dZxdx0h`!p<8gJQ?y{ zQU`N5uGK6uHpqZ;8@YtV|EcV71&3KU5&`hY!*Y{6w` z5$S#)ex2pi%=!kdV{OSJl_emy^g`929N6yysQh64F6XU1P+*gxb>E3JR|$G&C8vHB z9^VMXJ_I3<>=ini_18s^A3QFYmji!WkNz>40BE}YpLvhMH@G~=5lX7Qb?K%wKFp7| z#l2mXO_nkJy&KrJ#TN|&s|D=X7_Di>Y0Yap`&)}#$g%eTqk8@3jmiJ>+j_$u6ihV^ zuvX%>=zJTXgYr_(cuZx?T_J?O0D#`_BYn7+)V<A`C z{F$nC0}4PY^aI=ikG_Lt+4-$YwOhSXlVImws{;B?mHVs;p+)s#hkuq1|f0cbTO6WHOA z?@*ha??F+CH;;I^@o?~E%s4!Z;knD#S2>S5H*VW(C%4%7|6`P#L08JlCgQOc|d zB-+XJZp-n2#bJnPt4w_z(bp7`j!whGjDafs4! zpz5Av38N=V#{LX#X=9v@rN!k1GUkut4&^<;iGc=pD|;3ZO;2X$QzO0>CYVIk0gdD& zP?wq`W&9JDR-Z@lM=CrLk&ONEi#;?V|5UpNvQ;+)PHflZ&Il|*wkCu~s)xxD^^J_P zHr*+DL^yuLGZ|(;@@JGC|Dwb2qsN0WuR7n|onx&G(JPL1WfSS&N4nh9uc!P+QC=1f zde~LJ&EdE7OZtoe`GLkt+P6Jf7Z~C-GIjl}jqB|`v!32>E`UL_M-wj#xlly}fNbt?}*0grrwqocQDe_mx+GA`JNe;1Dan zzJjH@hhPg6=K7?#4rnL;C+fB^qVbu}dY_j8(X*+@=_h9(1uo$vq>PRQ*&1@6yR_tv z=h_u-$!ZcLIONBObygl0PBM5;V4zGdnQ~%ak}5RerAR#^Y1Y9M)piV^kIapTna?Wq z`T@;YDHR^eV6K5{((9kjfs|UC*Kd*^_`I|f7`*ZQ54HE}hUvu}kV$3tHsx77YwM0c z6%T<0>5#Ga5eeMhbUCi5+k+_}BF18?wk6Iy2OAT|F|mM=9lUr{lKm@R;~5Do-kt0- zuA+Qn*UDD|b5FoWx`|JE+#O)qw8Se0dI0Nf%Uc7QcP_IcH`y+T$c0T!TzT`h8iy3d zW!AY^Ld9?L4WPmE4F)3xS}i~O)`|cko_Ttj-B~NU%r;&+p0*bd->D|MZ2s&1{w3~V z)gFcEB1+$tnUZA3{l*9ONeWGCtBBc@9elxZnFLKLozDj$onC;Su9`s!H_z!*Mu7xr zt+EQpO;n!*fbGTUkF+Ple8OI2?W z($Q%z@jP*~6NtW-qd97H(phTRLx+7Ad$awi#4;s(PIrKSsL)tx9FU*lV>Tf!^MJ+V zcXZKd>LGc&)WaLe&P*DdHB* zFzB_juo{9$D1L&VNgx$wSS$nn*L!+@xd^EL zAAs2Q?*gTo+P@AO5a7`LP-Bl$qZKN+ALE@Iu5gcL5!*--Gy-|G4F$eZsJqWxp%KqXh;AlsB)Ri zBrzgpSsM{Jdd>QR$9t*W;A9;E+1I4j1;c`CzPKg?d3;U<@RE8G`}7*WCxl|_EAO1B zA4M*XfFLQX40HNS#32a%b2Xb|E#~35Vqk6fu=9vvA5F9A+~-N zAAJ)XwGOE%*6L@pL~CEBloJ-K@Ty&-x7nBrVQ~3$HsK6)ai6SN+Ps4l$V0lj;K0Vv z0zADxxV%{BMwS6P?hU&6*j+R`6I>cePDn{ zBN6q<&9Fnu#N7UNJlp-bb&n)#&BrBXC|n=CR@C!3oAJQY<2qa8n=b%jR!`s>CGF&j zl~u88S|5Vsu}2>@2xi6I_MlL&1AQQ$)*u<8C|NG=? zAu|L7X|W>FhyHbbU!a1R1PtYh%u@wt22}rT3xGXr<=p5F@9Zv2`OtMxAq}s3XZ;8V z;jQO|WyAy=fgI1{V>`)_Wt1Zs@wg2QF-4`|gUrtoMVUR+G?v~({KI}U*+39T$n3lHp=g~4*8YqzO1ACFd3N!Y4E0Y5YLq z2(V;)%QR3CKqtEB{4)v#y-|Y{A$2>~-GAS2)KKKxegr8uQAh-+JBEg>Z2EzaSGD{} zVt9Rl1>OF8lCgI0mZAi}J;tecf+R}LZeX_Pzn#qaX%2?a2OwKjz`&D!{GMaLISE z(wpr!?JOUIOx2rGnp^a@sa}eEEgMd^0Xi^)Sy%9E)7}PlaHlxC15Z$jk1=SZ@gmc5 z6)4E&DBQU#?K6Pzj%bqNfkhH6IOblp%kq{SLd-e;<*{mSEKB>)OVLyigNDCrk%Npd%f?)uE z3-e9U&%5*D?!hs2{t~=z1nm8cc!OSkdupO$wD`ZZSSSrv@!Uq|BT#xKdA=@l`Xp_lAVmg!@D-myB8i#Db{;S|$V`i@T4986S_}Y7FXo{KHbm|=npi? zu~b7Z)Tq|&yM(z&HWdmxUwz(%Hg%|QvBd#$ECc`D?h~3w#|dLlaR(+S0-=18 z4$Usy#6j^Bu)4)H^ueeqT?}#WlaE7!CMdc!&^-MjQ(hlb*!zOox9(d?^bNyS=IEF@ zCWrf@vDpD6@76vp@vp7ygRSeH!HGZmnEyW^V9*<-XJch0DadNddKBDqX-K18Er}>n zLp)a_)8qI-?(e2GXI{E!y!tZp3!p9HOsjbZ{ttCY_;gD$(QtMcEN)2xG zO zw?FCsVB<_q0`M1^PnBM;{rmFY>MQQ^ICFz#S@-r=>w)0uHh->jVKPc?^O6&Ybv^Hy zg6Ly8+DQE0jhN$E_0uD9HHU-SO%pZ|KQ-(Se; z{@J^03eUI)MN8NpsnN5JIu(h5g@e@%K;klI6`>s-Vzqz1Zu&b|Y>ooP&w0RLj>3 z|Ic?;z^=_UpTp+`Qm~ppSX=v5Gt@}wpPPl74##iR;$ZnI-4w+JH$YS3jLWPdenr}Y zkEHaKp!1Y;8*c>^WvW-4Gd#VBUahQ;eq6mI25kNiL389%4yHCd9VYQG`LomtJ#aTS zd(s8gM}Wfsz{9syZ*l$FxzFD`b2g;Uv|Ba|-zDw5cmb$I2OwGUDnJu8B&!nGR1dBL z8?Alk^%s>-ETN8d6;LN#T`W)_Fw_eIv?EO?uqlk#8wiqZ(Y%9IGz{{|iDV?Z1%^C& z7!cEqogN1u*1a3q!ywcbBgaNE`CoSYK1)26cm>!OBu{Q&CwD-o@JGOkfqYkU*?jZ< zEqB@Q>M@t~@#4#{o&I?8Jc&ob>AEjn7-4yhVGdK|$qWN=M$baRC zrz$1%1C1v%9^hv%o!al1CHe2<%zjV%%#9Xst43|;%xOsR;O|_qt#~m&25Q+bS!S*F z0ZKMl=8cNc(>H1{MPNeay-YXWU_)YPL{uz{jZC(!+emhWaZF>wM#08y0+fOiKv`xI zo8O=J4_NFBmN!G+q~WeHLC70|b~0J2knep~ESNB%{Q{4B+DFa9j zfdVdS>H4c<><=L#BvxJV zO!>TKgNRM{x?CZpc*?+3?#hUoFyj>4sL8Z?Y$cQgwd(~=QIXdR#vZt)cKpqPE|{M0XZL&ShQ31tt$2!BZe!BOPzd!WQ!2WjYVD5=tI*XzLduo0E`A*& zFkV`k$0mHi!uy5%ASwiN)MuNM5)2Q1i01YP~PSCYL?mce}ZpS&pl$4$k0id=E z3-2Alz*S;f0aI5Eu2~p|0Df?i;8NTvXnCHNM?8}0AjZ#w!ipisOC9)I^&_j3C9(enVuCcx zM*$yo1paKM+O9AM&~^uuKtju4gRh`{UTP6VtK#hn|MGQ%OSTfIuAuuJ@X5qN^JhPR z)fsznr5Ym>+(zn1I)`|sIx~BNrZ^p}NeKnIv zzdf}XA??U z7ch-sR5Zl%Fp+TU8fvp^2tPO!mq=w}*p^8kkY}6Y(+UB9P#1jJ_bllYj0(!!38tb$ zYfg~2iSvAt0~*mV2+TWbmmrpY3FSt}e1#I`yGT8|nessTA!-VZp~&o*WV&J z+_>K?QQspSBj2hdV2B80*~|q&2?15s(n7VM@mT7=xQMp>41vzm_Ha}4TY>-hg-sP8 z1N2dR9s7r9AUlhHC=wJ?O0FMS={PFJ{^7d_T2)J%(iyJK7gx@T!X1t zf_3Zw0?}zqd#U-ZbO>VJHxVDjs$pk&6dnOH3pdJ3eHKE`W*DMC=Qso~T~_O-whv+a z;P?m(?pHBhHEsMfa>^i~^N;taakM4BM3{#z5)Ji?j+m+ktJ!kfiXQfHio5J+aLco5_)I_G3E}Qa3p2yesXwlOzu{`$cUCfk8%B)G6kn$coZfKaUOS+}0shMLXoD?_}YS`5Q`G+n>_+0ur%)e3=8f%>wLiwf~&uL~OmSvY}%FBo_;i6)6$A|g| zts!wt9J`Myk}Zo+(T*+matB83>cZYxtGy4OaPYr8aNJV(oUA};2+W{M70$~9XzdMM z(HlvAF2J4l!d5k$ZA(&Iu?x+R5KA%w@+T%1&y~*|W_9@yW!#o0Xrt4#rSYvc8+ss3 zgr6Sa7~TcE#verb%Ke@j1=E>c3s?hqn|&!s^|#cecS8%CVVqprQnqoZ!Avn z0c!S#$5Y!2Q?B8TNPpI<(VrY<@F4}Xq{_yRH@8f;T+V3eHaGUKe@p(?|6K-iky^xf zm@q8z1A2cdqP};g%sQGvN5If3iVGlYE?a~fiNAH}`$UcVQ@(7K ziOZ=2v?7#BP5w#FiKBM~Jls>C2gtbPVAX?CAl;rV>=mdKqW-sZ_F)jfCa3KkHxeJ|G< z6YJ9Ax)>LXzkCrM1u7Yn=icL>!(q@HRj#N)h5wA<>M9ep6z_Wnuz+cU$CW2|TUSF} zCqb=bIte6e^ge@peQYiGk#JCn*42Uv)4!0%AD!ubU<)1`D7(DFMJ-0w`Un9+$)M$)+Srm;}oM|2}GHdR>$wRuc(0jOdn z8h*<$H+`LBVg60+cgcPhh|~1XoZlCwP>zutjBFP$G|lGRJYy2HTelg@OGt2n@mZ;I z9N>)7(%FKEU%;@aLCMTH31kSH8|BH#OA>E~#`-qRM@g&3x=*@?BgkVpE<% zWKHOlb5FJUN{-=Ch$Vi8RZjPHuPttZmTT{mvYJ|id3EJE%y<>#iP|lwv2B*5Cy+m8 z%?#zE1G+Cw6ONIR)cPHt4MfN@;YrvNB~Wpp@r+LN79F-co&7Q!D>0+A#2D`4_0Vc(pY?ASiCg+fN=fnGRl{;is}r0z z03G_%EHBH}gi1mm7B!da2Ov-e_*yhYlUi&aD>21KuazIX!vnGL_y4N_H}EbiJ790U z!gJJ}2egw`$Ck_$ffJ{~UzCQOEbh9>OyB!blfW7xuF2(VOgx0scb$4`uCzg2!iWxV zd(|0Gi@(%;+zeY`H4zHPcVHOV=vX{&wSt)ElwO4g?+$|4&U_o)+e!{y*D1$OpgAKK zi0G+(uq+-4Yj5ixA`uT=p9Hi}80=+w;J><78q=5!Qf6d{>Cn%7x<;REtg`y`5WvsE zVLIHGLrGpf+F4E~-?3d1o%_0z?zti%T98}d$vyX2Jc+{l8KEVlu*_b7l62*?E)Y=9 zwA{lrCfM2Uy_P~XTMtZX2R{;Fc?*rIxej3{hY~^>tNC6b3x=IR=?~OYtlvQ}dd8sm zR*yRUtc)^UB;2S?Q$hr16SQLAntVx@xa|}?wR*=3wi*{k?ekolQi9JTJS-NzQ<@Ve z2pg8#gOvVaGV#I$Al z)Va!Fwiq7Og^u_Cci1+;x;G99$DJ{6^l7uKI#SMDH^~w0xhv|lQ~enXnXHgAOgtEr z{#6PE9pJfqU-)OjoM`07u5Sg<0mSHTMJh7yQIg>-S#$o z%CxZs8{@8~z$khryY`m9-G8z9TRC$sH$MtoiL|8?_e;ZbJVFR85c5sfocunVlyFJJ z(DB!5iBt(iKeOYK(C@v)1#fgO07C0Ct@ixZ*h)4G+DYWzn4T%MIu6agjr)%7&<@jM&b7tx|e#;dLm4*zsm;Az@KILaFi zProK53d{Qy$1r~(y;#oWYB*;lhrJieg1!5#^W=R zWKGf$=QHg8H>gBjgj4%VmSay^zSsYqdG%Mq1N|x7|NhkPvhd%dHaoypBXRFc{x6*R z|Nk}k{d50ce*aCv5Bfj!R1go_`t<3ExNS24R$V}DwRx{}9q>@w<={df{w`P>)gaQV zt4H!x&Rg-ma(Un1gDxM_G2ibjQ8EjHq^-dBexTQgxC()#4Ov?e*t_4w?teP-0dW1b5Kc7^cJDLR z7YLiB+tm1L3ZA$6j6HZ&Bjz|(4Nj=n&s$$K{<$FX?hv)P;89Uo{QH9Bd;($(Q%Kgk z4blhKATib(764LgRYS*1oHqo8f}p848KnkG@=)mqP+EOx?BYj|JN{)f26U$#V8U+q zJCJty9&%o$7>q@Oz340PcYw0It;o~+iil=2v-(%IoF#>U@*e+z-S0`bVCrYq88jFv z!T3#85+E26jvNwZP_9}n0J<1ZT%gbeV<+F*y#)@!T?IN302!H5z4O!pw zkNcIpa3HJ}Vpfd73M?-!y7sT{eVFkWebfG6{o&&8A7uoe$qNRSOO3l8EACez?Nl$y zCc}#DhbVc_c`B2B0J^vaWOwn`c9VuWh#}VR%hiBysv#Ay%_3^{#tslk6c8CfF=7*t z!v?@$VOar@KQ9p1fhi{+ty7FR^-`DDz)p3ivS$Fs4*@h;Yb=9&{soR|r!6NY5bl?Q z1)X887xn9LYf0OpckgLlZ@l?SVTekCl3yd%knZ;_R|q&0F9nBmxvMGJ;s}23 z^eWrS4PX#8a;=a~c7!jZ9uSnrH9?CehdV2il*SI2mMj2}DLc|$-%?%7X3CLX(M$+g1@5m2t#P@{?+Fbnz)Rr;Y{G?dFX@eOi@^AiwmPsbhQ2hg z3Paduu2e;S4?usHTIv8+D)h=xaVmZ(&OK7DHP$YzPl~)T%$=HL2@oD$;a!3IUFP&S zml*>#9#$K*iMY(jdxL=?2ePEBqXtOvk>)6EW+zvG=5ej-TFM@hil+#j0O0IXRLEsv z=3K^Hjh!HW^!m;GNkw9r%WLSU$nA#NNZyYCEf>Eh+eYuML=Rnx!xd~L^#`D@>Duk7 z+9<>)6pCItH*TYDW7L-p0^a(e2)Y2z<_U1R4-+z6|5B>)Uv21v$8Bruvv2=L2&E_g zm<|h)UYn+^rol+B*b)VTwF|7FAp8t)cvtnsSl8N_=_5uAbuKua z^hvErPa}`C5MB3S7Z3~5pa+>!TkTgQ{<-zD*bkSaalKig`x_{s<+w;juY0eW*lNRE z>5WmDkmoSWFpMR3CdT8lGL?_kE#uEf6J#xfqS{FDWY50-YRK07wYd?XqjEX~vCfuY z^Y8}wJ1+QFE8?fAT0;z`fb4)y4~9maEv}x8%<3PvShlSu_Panz^_r{}a14ja$afjG zENyOJqUDrSLLcpHdODs9eM3K`;r*a+Hbyr;nc0Bo^|Llo3csy}dz0x!>=AlHQk|xkgRga`lTr#yp)f%C)WsuqXyh^^vKxK9hpv zw>KU}MdkkVqBIUKY+Gc2r^M?@kM7YMk4O&Vl@~2W`raKCWYx7TqPqGQTvYkHFJp(<2kbaA9LgS@8sHEHnX>Zz_4Fx&Uh9OTVS(@uS}8F z0LUfd!Nj`O-9G7U+RVpHaXmob`6cQe60sQu4MmzF??-*7t<6V7Q64PEQ>}qR;-|7e zx7r2}=WJ(+^;Lw%o-+&gft4fU*#>6MMse|C@-f%gmLx5GwqQSF##y8I$Z}uo{;T9T zAf;6Er%K7+cl;05{xa(>yHAL!5TESl=kdsOlaw6TZph|vQr-@|c-M||VunTeMBL~n z`7>sm&@=_>K2b5Cw%E6zhG}Mr10~VA&)4=*)o(z!WS0Ii^Nn4TWFTm151(JWtUM#4 z5PnUvJ;l%hPt{36guH7VhTqft(#6d0dW-=r{Dt4ny3OHm!^ym|pn{)~`06Otnp}^s z>{_^^-wEk>5g8AwiJeg&O>0cLt>Xw4yySn69PQq!&CTII6 z@Fn}bTw&`-Vz!n+&eb}bsjHXowm;P85Hf2NvX`qIVq6n+^W30XnC1BzK*k@g1K$Sa zV0VSlW*VvfEhh1(l!Qr*~tHi>%yQ{UE zr|o55n9Ci5CRMakTi~d8qN_=5!k>N8H~}OpP_OQ(&v!Lgb58{&&3sA}+1fM$8w2v)I<5_pO^jC;I&}RMuK+&yE063M%|1u-WZ%yv>6}$x zcBc@?xbHJTLcb!?${V5_X-)Z~Yu^ILcH&&6(D-u_9Iu6R+ecazJ!0eC=^*_q^Ji8b zu>(k;mORf33)0y1Dqs2b-%=FC?POHxBv!lKaFfO2L#`w!Bu2IVY9uXlg{!-i>uht@o1~(f z!JbMuTcW`6Ku3;RXz%a@&WRd8BOEI2vp?s;I|d4Z1tw_*Fl$Qo^4FnKgL>nU3oHmE zQ{pr}CYIzHIZ4qwGc_DL6kBo{2@z37QSxki%T|$Xzu7wYZrP+Q4Adz zYoBr0+lrFL(B<>WvOph2|L&m~TzZ5(nq2XV1xmv)I%JDRiytkHcclf3Uo6a*!xe+Z zqpl&}kjMI|`c=6ehQu6&eF|f4waw}i<%1n-3iFU}J*LJUlCdoV@K)gG;1SlHUcYeu z(GBVn(~I3n{P!@s5k-pxJ}i<3BrsxN>0OHm+s&VEz&{-N5BB(u_f*dT+rh3kS@h%X z!0MJ#2EF9m&NE?yYcx4NARRe@Nmy>|;g#vz*BCCw{Q4YcaTNqu-d><}w#3+X+tS9R z2A#Wj5T=OWO)qr-5|rDQmqDY#YroJ!v85Dcb0XAupmw$L>8WOO*ZAi3QfeK}A~Ra^ zT@Zoeh5X3c&3wT^_l83+CFL_%oM&m8Vcz3|0~JB#y%}#JGy9`-7Ey3B^iCZZC~-7b z?KP!dsfoqHh?&e@;rCKW*#eVxY0qBEZr{|neKyhEZf0?YhDDM>NJL{tD61MC z3E)L7(Kx(bN94_BHR&p7@~glXQ_wH1=AIteG6ZFMI`~yFb@N)m?(1_vq1(|1;l-+S zivJa`T$Ac zT75xLj^k4~acl&q*0<#=>{^@qc@L)UPaxJUSx@qlnCzuB*irX^)WdB;;vUnGcbnEwH|;jM#(fjzd4ca)s+rSUo@c&us@~Q zG>~cy6wx_u@8Y$p%1uO<%UW_wbdZTPrLE(+VMht2@PbAe9Y~c%W%F*?c!_+9Gu!b2 z3IFTj#2Z|Nf{)MJjF-xO%PfV19rOd63GV{}LF`^xw4e@dWq&oPazRV9+~9K5{Glbo zODIAiFbmHJ^W9ZifM5ykkQ7hplmqorr%gGTXLsnZVGi|l_EN1CmboM1A`)Yg@aQJ% z2eICM4Th%x*IZwe%fVTuT4cSjRqd)i(-A|TOFlBw6CW4yu1~V*QC8e`+#ZA6)R5RT zFAh%IW6QqMic8V^WA^nhU7oYD4JNx8oh0P6L$7ZUja~UwEP#YNeH?3warO1H zjN)727cg<>d9HR{lY8R%?T5iMj%p5OnL>l zCQl^_Tro0JHdBs5N}^LiE3|F2y2t=WD zt|Nt}5clmpIC%1!24lET)1C%Jfz4WeQj4*m$x9&FgCdgP9Nk>%tR4BCiKK&}(meF# zF5UFSK&2$rwiV@mNvm1VFY0HU)T+dq-h-BFFs3f=CoTZCP*s*_&qL?ZP_*;C>H@gr z3M{CxjDF3fq5YhaT}*b=c9{4JhH*hTmP3`jaZo%vH+A?x+9Ut8JBivFPArMn!-jzA zBoH--xYHQZXDGcPh4IK@3;$$OQpLWOwFIT-Umf_jMf_G|{(96sA5^B#){@UDO4iA$ z&ulaEGjy1+Mrt|Eg@J&WC6W__z^AZivlLB$a4OWhVW4_`%3V=Ph68)9No{=yb`PmU ztITRruh{q}&*aO%*0`^>zJMQ6)t?#j!&Nt}z^Xamq*$=VWB zgy7+raNjdxLe#KmW>nj3m7`kQNT|lXMV&}$bzAaloXYs_6p7gE1Yx^sth|8gZy3-e zz=M{mjFVB>vrEe<6Y6OPcT(8;|FQO#aZz<``@aI}P|ggXbPOOMjkKhLfFKAc3J8LP zbR#-Q%g_zdC845{(o#BfgDBmp(%tY|Td(kbp8NUy-~8Wrp%>`Pp1s#P*Lfbt_h__g zUsD)Sxk_0FmXRjFK}NjV6U;2Y0Wj>6O{W!b+oH}O2Wnj4b2*4A)QLLCxBm&V5kfJt zxCEf#T9V6RB8Lf-54%&?{*mYX)3Lh#athj=GOxtN@QU8Xhypc-v%X5^Gx7!`F3DjC zwcmZdPU5T@7dCr!xWjE5MuRs8vwwh?tqDbd({p(m&dj@qOA({cH)(+#t z!c*0BqD)yDBSvW9g4fB3f4njvljvoCt{+di2#g)!I60dGQujv(n6y!FL>Ff;g1O#H z=dl@|!K-)eeD}GK;raQPV}3`_yiJ(&_5U6`ug&pfXx%Lz$ZJ%K0~~Oq)A8C{qGP&W zHXG^e8p9pj#2Hv4!45yx!rwoUy5(JTdl)`Ad`KYeI)Ic<$l`(weC5D?(IvXSpZg8`M_jZ2(@ z^;GMYhL~1J{uhbxXYT^ce>+tt{S}}s_K*X9H~b`Z@XhdWH`L1xoRB| z1pJY2G~N9tlj&}9IwwT>kWAAF4ueabiKE8`PYpJRM>WC%XWW?1G5L8Z#(Y+9X2!m7 zN-u1pMIs90u+3Z4fY6H|bXh{EEe-h2UwHm73WZ4$yCH*hNyId9&09pFM20+^j-#V{ z9P2(?0Mppcd(_a{-gDv$6Wn^DBz&qr4L1J0FaK`HUw=sk-Jtj|(eVHjG&#_8oS38Y zevT;WUVX>RNOd6_jUp`MQMt$H_syXwt?Tuz6dE4p7x1;lke}M7thr6u%%%!^+v;L0 zb{D=;(OSV!7|=~)P~%#+o1|{gt~=r^rYC=9?td$%k>%l)}w|NH$FcJ)#DFi8#cK4wZ?b9g2l!BXBC; z8cWFWp=37F{T^yQrD+^4inB(ghYD~PwO=`|Lg%=FL*EEE%eq~XcVta0kgs&RIPa|u zX!RKV`hK{Kr+wJG0Lk#i9@@Gt>CQhR<$q=nOnBc^URoQ`ikD^Enk&rm;M#ZV$~D+2 zu8>gH8*}o0!isM8#Z^b0TyBBc5udqC;O~}!pL!n~!K@k2^YMFzh|Z=K?f}+c9pdZD ziX%$td*ebmc#zd!u7&)j-w_ogh)s_*)YWA_zR%H5nW~;1(7K=ghG|MQ-i~L?b5~kg zzmbN)bLjpf&DR}C5f&tdk!$h%J10&XC+sg?sGF1YP%yAvzrshsOzTwj_IpC(L)B&{ zxpl%1CyZot{oUw>(@Q*P^abrToN zSF}UNr)`+*luT|)7gvm?UEr=gT$g^6M)=t zwuiZJ0_plhbxqk9*Ej@>6X{H6KlN-?vB_M7m&#FH! z4-9o}K`UfuGRt=#*3?xxIlQ7}6GXxT0zw*Yg@#Y;K^45uU9v@uGk-AFSoq3hvp47vd}6nOlf10ocTKVZ>*!$vf4 z3EZ;fD&v;kq`KXL!=Cn<(=xd){=&+W6mOENl06NI&8o|z$pK#FS*p| zqe_it_!>#-c46Kwr@n}g1cv4Z%eI;IVebZ|uO`eSE10mbqZG9H#PI}(qT>~rQd2++ zmGb95-QGX9x6|Gqf^1;=04aNKrV!ih04z;xMwtP4C=68~aJOIEHKHe?TcxD2$$ps7 z)u&@d&sb`SrXIVR-gJH;vS3v51%msQ^q$Gn@9F;gyvQy@_>`Y$qK?}^soh?^NGatI z=+4pAbR+=s*(P0^&h7ziy)1zM`8l2QT-f)qJi2o*wl(MIvFJBpLCKJt%0LB4d_1L~ zoj)s?`SO}}!wch!&y*VaRiAl+_HSQ8s3NO7WiPCS6&q)4{XD7qw)%4%-nMkdlgrAV z#8g#G>E9*$?HvcXR4vewKw zQ(*LO3PxkDU!oo}fk~#XUeDvT9fDu|{xUh@c3;!Yx$Mlab}qt+b>c_H zVLeH}35bj>L1c(#x`U%iCu)<%=B4G`Ap=jLZ=RgLkMPdvXmZRqA; zn6EB;tEx4xe2U0l6gkDPw~CmUP>{b>gs~M#O56Mh&Xth$;v?>cJ0K zFvS&9t7l1gco8Do81^NtFBM@=snRnYJyOCKeu#<^FBq8tWru@F7Gl- z?JJ*P$frZ;L~Eh}b0TGj&!FcGM&=pcANH$mA%eNx>MQehhW+;**aIzR5J9ND%a`I= zg|-j3su=yQ$!PM=_@&h#LePdBHRo4!!fDApw3*wvL96<06aBU*P^F~R62aN`Iatw? zq+V~%r$5D3_su^72L;0r%F}4o^qL>hKnTXs^4^#I{>4de#<>yhMC21IR7wG z^LWfR7?;V(AR|G{J^_a|lBSt!%wuoc6SyZp=iFuD;W^@6)Zy2%l$--ZDf=6`m}`Y# z7S-tIGy7fC&uPynH}3?9T0~981jmVF41=tlxUZ}Z3`V5zBE)n!aD3K_BqrSS zTEXA2hsQ;fIfHf;k=dhE4?wl8YNj!WJdBg%C|Yrdb>hkAOTn`s;eI7oB~$$u7VH;j ziQ~NY{_@RM8U>nVhL$m8%x;@eP7}O)Rna_lE0<@A!PA1Yhn;~f(e6QGe5oU=JJWi7 zbld!bgoQNTEMT_%2xcir9M&ppkw8QJLZ|=jSP0Qy6IX39}4(yq;F3;*6Uw?bWCH3 zsTH29vi<&~Bo#Kpf*`WNC{KI0l#s5`JKz`Aer?1@0_dz=p_*;bnJu7^6>auXm z8|}`Kk4qkM{J}IONqYZ^{NTOHsi&zQAmXFEO%uT7)<_9l_;F7j)sbFezqh1*WtC zv6z`x0{i~PC_CMHwcT#srQKd@85>&3t^&~h8i&T#W7Elxku&u(pGn}>G@PYUYxU&E z-c)Zn#27nnRCo=D01d{9DuY_ZX9tw9&)>)@X!U&g0SaNrnbs)oQU7tFs{{}r#Bl;0 zyQuITe3ubeTrO*!aeL5N6T&2(KIw?|v?Z4E$y_goJ4Aw#r&=cOS?8A;g+4d}IusKY zeut^+zc}VGtIR>PXbnB?ePEq)&t|(2(*YoP8&o@EP%zsl6bV)*^!9@lnzWyS^U!bd zZNLq-c&1jv08xl#ZPV!gEQ$-X>}#>%evM)|mQTgfen3HI^QTyr@cbwleV?yW8y?N@ zyb=SJG-Lp)2a~dp(6_&N1%8 z$qF3l!}MhDS(^8yAY`Lk438~h)uoB}eT0M50QlFc<0vbHkR>3!L5feod3j`zy#!7? z!-PO_&;xyheinNi&4uJ2=M2*jef&)fQ^*Y3nAd48bJU*Ir3<3Q#KY?hljFD#NTb#B zZCV;s>7=OhMRfKszda&O{_(2xmSDwH1+3iqedd}_I`J#dR%NqU4g#N2dTPqBUBX9G z4qqZYMS{+xY6FUdWt{>#RLH81qdpV}DQ-l|Oo2x}GGIVZ4VO9WF1z$1x^N)iVaP;A1o`3Wcn-_D*{LD@gi>{uB?usDX!7USsPM6 zKlhDgy3rXM6a!O-DQNa7WU&ZEbUTxzrzIOuO_6ONW2aKBYCbcbAf`Abyn4d$2$dRr z@Cmp>&+gvZF!9poW62~EE9q3&5c`p%lOrL9ex>W^wyFtaT6J54R>BPFj zNsniArw`4u2NZf}+6mCcpVnM|zI}73yB|htjeCBBd;U-(F+l9{9}BPd7qa-G;-ucb zzsi@FhXk+H(w5I%yRaZ60`U$=3frr~5iJl8UnUJ9gAFf-? z!p|`preGR<4YOx1))DjA&YYL~dTkLxxnwrXXl4cwn4$`Ma58LAufaTaiCty&zF^&Z z(iJgnrm=+XMn_4KQ1%t%b>yW&+tH8mVCcVQS(oa0>|#(cTuXQy$@|%Hu%Q~y$Mh}x z<*Y1t-f-_ap0BuA?LAHP`?04fHuD%r5MX{sG8BHf;Hnf$IUA@LYW6G8=t{pi+U`4?(z*oA})_>snzIh002|O zrLA!lhyBOvrAYH4Vx>rX`|NjaVYWRU)-{TfSne=jUOiJ?mO~*DPE0H9RxWo+fL7cw zEA4tfA!kf!4w*hQ3p1cQeQg!soI?CeE@)&@d#WJv0?odHPWLiUaaQaa@u@&cYUjB( zDc3r$u2-U@A;pyzz}mFni-J%M*M&3e$PrlMw>>Y? z(Aq_Bfeye@=3Q#JuBBcQugdKilSG zO;s$0Cv+5i???`2w|@jM01R6QwJnf8xDMr!4Ua;GY+%n?n@5pmV}fo3?Y0OI+JG+f za)Mc^1H@;-5Z_kuZhbX(?P(*m8MZ_Cw_5mj-$dOAD4Uf@^pbvKKC(&hus;FX$|leA z;I5Iz=CFcAk6qw0qgxrYZ>7crgebe^J}ZA%cH zH8;F3BI70>kE`Rg#Yn9A3wYFvkc4wp)d7pdcSzVP6J9U?Ix8Zr=jP0g*TT1<2{z<^ zuX>~N-NvuH1f*nRJ2r0V3It&A378wzv?4rLcb3(G5Tr;(Eu% zu!kXUd91#3xu2&IY6c~AKa|Fp@R0DPWGnah1NS5U>7X)QV3M!azL@H-8M)M-Z;*nc zwI(klU5l0x43jW2m1|I6Q2a}%{9E-C%EI5Yau?^QoZ$`@>>5QfsriF+y74S2r4Dc~ zg#Wd5HiN)g!JF8y)o5^x;`YCnxW)M@G>|wzq~S_@L?vmyKo#yM`7M}1vWQKhot$s8 zQJ{FkP@LOQ#7@YnM$LO<@0a)`uE71lej}~ptnyPMYnW-h5Xv-IQ*$B8jHW5bShJH~ zslE-ebD<(GU66-0r97fx&_p)e3ANWPpBD^cPk)1N2ifGPM? z5-x-O+|N6OXap>p3;Yf{G++=k%o6p<6gZ}gqh@zD(y0i)& z%V&{Gz%su@xLCmeS{gwevHnl~7x&ZB8#F>k2+@jb-(}4+rv^YI3wL^M^1187z}v`i z`7{H!{pj?5lXJuZs$c%ky6<;uOLmKlyM9SaZ*#xJ93INdSw*g2BTM(+{(ht>nqn^hb zj61-u^_D|jUpb~?0vHXQA+&_g!GgibPmt&J!0e@QQ>2=!gP({iIpL{#(B{c3Cfk zI{6Uhq@G-D_4Z>408)a$h9d^Y>v0)7DW!FQCoy)kQ+whp0{{X;cR61_xD-l1`5$H! zCcG^qC}0@rdHz~SE%2b+yzyGF*7Xq^f)cLy01&x;j?M#fbf-H=eA_Awliet|(C07B1)AH8oXfsW}T=n0A? zHW6e@f_;hF27hfe*{O5Q2IgN6wJe{4>n2;?9`gt_*x#^hEu^F|j=D8o8)>I2rZR+0IU#dna9|i^8OanpeodRd)tR@ONp>ApN`?%qOJvMkandcrw@ki4Vf2 zAJ-!lDHi?Rya3V1L+E0;bz#HBV+?O`H@as(89$&9?0(@;o|hi5wPZTq1L~CVCeUAC zEGY{t9?7lN|MS^WmIGzUtI3?)zseG-(~_ULv5%uwMI4~nGD|YQAvz`U7Vw#Y*WsaW zt_wsN5D9ILm;u3%*oBye;JhdP-3 zU48t00`UmZeB--aDR7!!H{OL@0cL!lW!WRyNO=+aFvNNTNKYL?(w3M%K`su|Cqp2u ziSaCfQa}#zQTk{o#TFnD)xFAUg7 z>B}4}3U-k`L4_Bn%DsjIiDB&!IAtX}sYLCgU%ZmaV4NpuvH<$+o#(ay^+}&znEu&! zV*=`V8!No1gHk3q*!2daiFfR!RR5#OmOAZHDlBDebM03X>?Iyy6#yygYooDfuleJlBJZsGs%`_e?$82ca_OW!_wB$TR#m3#+~P0Fwn;XnYZ+uyRL@zNks~nO zdSYT^=RiaoU~tqWg>dF#W;Ftx0g1DDkc4>*vQh%LgbknUREIM-UVMZwO|Bk2<>|&< zgX)pv+=caIW5h^!H3%Ime!^|N6sKF!$>oC+=cHveD>Nkbzh{mDdD6nUMpZb&8C8oJ zS>_*NsYq-O#V}^d6X*~Qrt3&aP}1pI%7tZbjzPWiF3oFJ!V2JGiv^;@BNZqV0Rc^i6wjrQP5n%nOb&U`qnTj zM9FXq4Ly|14odR9G2}-6;=@ITg01O%_GEjs+r6GK7BS|4$jT+41$hb@Lpi;osB|hk z-VAH=C!G`N@g@P-bks{6KX+@7`m$l|zo-VV|C?V06?XKY-YnJy%DcpV~vIFp%FZKF4<_l7F{8JJ^Z<-8x z(*#zJ9xLZjS_7F~3pGMCmTK=YV%V~woVuRnRAEOIk>#WDVn%RhH(YuMM$9y7yIqp? zAz(M^M=DsrS=;Xf&zfQuMP4<$PZ%mK&x>Xu?Xd@OfzqNw5Q?bxYy@K{?%XSW$+Bi0 z|4(MAUatmhE6Tjt$H4Nt)ELfa@P?V&Sa4FH1OoiYmbPAV(pgugeFO=1{40wdcp+A37+_k#kM02M(etB~|iyhq^jOVxwU@Fa%#!|DBeD4GW3frxIF)SeM)*^Y5#1YVRW|M`OK*3f0!~hR$zPg* zW`woJOso&2Q0)hqSA7VZ97Yi$bQmLTEKgtz2x%*Ir76aI3Tok-d|b z!KmbXXyxqb2;!NK5uxL9U5DG%%e|XH&Y2w0JUfM5u=?miUJi!gPziKJP7KgsGl+r{ zwEBoHC`~|_KhwqzH~sr@+=q*Ul1j_{4kl%&CZu0V%y!~o8k1rYZn8~WsAlPk$-Az@P#ws*B1kg zq-#)b0$A#Q*ojGl+d5f_O>Gc3KjX>IVhfyrU2#vntw2Cj8p}q;c{>eNkOKT}$Bo=$ z%ixjTP&=@ZZi(s=pHIH3uLYAIVO`6jk>g(kdH}dap|i^)707<(E?jQ!G4z9wob9^! zh_-+0<3kNqxM_fqCbkl|@qa$9=)EN&j*CTmlhkMqPb+W2t1)BWuF&?l}c6zY1Ap72a27(BF9iJnV|;L4W1)@^s=BvHy6 z%2N<52cx>`RXrFi!yY&iS&J{=-F?)Clu@Z?9>2$tTF9jrjTqjQE?gnW^VVyF`2w=v z^brF~mOKuTu*Bm- z)&1owxXYJ?49AT(Kg+?ZmJ#@awT;?+h0*LUY>dI?sADXW^7O&&3#;x;6=b3e`)l;u zP^swTH%?9k5B7sIF29*}SvYKeaiZKHHEaL%&lwMs!pqn7B5f!+5B?AYyowCrQ(jRH zv~lz_$2Z-15=B1_9{FXc%3*Z^Nhwq^fpN(Ga^#GnM0#YvqW}U; z-(e`^bC~<&hG~cNx@O86laWJ_>9;vxU8~P2& zdaX*k;_a_^<`9DKg6d49_PnT<`nxF)pM)sPU&` zCnqc8&6LCA6<|*d!HSfQcdOGasO5L~pL$LkLxl8LAU=KF9HQ2Z0=iY7+k{ZGlzhPF z@+Ux@I(Mh}%=E`#e}R6k>!Nu+K$iaA^C3?72ha>|^m~q%N1i|dY#Va!X;llY2G zbP2TW3^R97fe*Mt`>VpAg$XaT1mZ^P7B0J4hG2ZnE{ZCTAee+SM%%EZAe4C)rj7Mo z#ZR!$0OljU9(*rahK*E~Yb8=W?8OAg^Ie1lEcGHALsLp(=tydrQV{=aHogoN&YdwG z%$IO4Q~9x9hjDi02~+UX-ZEJ3^~HxU|G6H8_)%b6rFHiA zYK|xD7b+wbp~6kdQ$C>Z9hvIzkN2KGV|c%KKKuy#6fi%Wu!8#yPWZfwX|oDwm^heN z9;uRSAeH4Zck!ncKV7E~C{j0+)G}d?2tS2KljaRE_Nu|_cTOx!end9(^X1z>>ezgq zG!FT7j~bTp8kY7+`T7bkD!(@@aQt0RomNt+%{0=83jsIsBR=)PIzqIbi#C#SbT@C( z^-LGf#+cCo%pY@Ex1?=19R*Y`*MIx*gO2G>1-;?er_a{T?ug{b7GpV6ZP6FANtM^S9YMo;wJ3G68&e?(MU7 zozw?4MSFYtb<%YrI_3Tg7XO&5eovUcW(_pn*;hBmXA!-LrCHBPfnqTfQZ*!F!d-)q z_mw)YprtVnKpWsET_~u=yIk!Z?wF!!Lt!a}j58PUOvD>88KH6X`u2xjY(i(#!=B90 z)qM}HG6nG}4!}Hby6HoQ40rIWFgPS4Ji&aql{Vt$o1R9fdc@6{fy@Z<*RG*eZv!rO zTOoleF5JkI5lN;#jWwZh(&q+iJDxM7I9fc3A6d~EM>A4*L!c|Y*j!R4z@itY&MJtu ztMCp?nysy?gAf5{nh*vCD@pLv_2k!$^UkDCm~P}6J={Qjaoc|J0{`%v*)|iKwOlh3 zAURJqzwtBU?|+6p*$?@8O0T!j4V9|5f%z^srq1vpqU=lFsALw5w9sz~CaL+!hveG% z6$yg3ZbmV=YWgMnj_=oG*@YS@XyCcK#Gy9pDS>fUrY8-F$IoDj26qxm6lG`lY(q{! zM0`M3r;CC4qM@-X6Gf-hcOizAtQqDwDF_Yms&ec-Ve}b5XCm%ro{C@u`BLgw!-ZwKWc2!Y~ zV~T7tVP@oWaOi4Vce#?>?g#tZ^`dCZD%&TCkR(0gII~OKbp_oAiTS&b?$v8k+f30c*Ew_t9oEbbRpKL)qYix)cKCtM0 zy{Dw@v_U0`dlX7N`5J`J!QxD2NQ~&Kh}NLAI^yabrQ5n4GP5GDq6Z#Hvz$wIDS7nv zlR`ERif_*Q+KHsEnQnlsDTe1^?9+}pGxrky{(aka?Xz5xcxYnZGC+=_*C)q*XDXju z`z)CNL?T`V3e6nzFD|S$_ut!)XW}`1U9ZNfnLJ2TP(c~*&)yd_g*jST ztm}3jCyHOp>$wR;NIr+RCb1r~H_<5wi&r(8`}zq3!?^Ux1jE4BHU_KKMR*jL4xLGYzD)Fc-^Tm2b4m7;A8-<(5jrGxLRFLP+3m_> zS4mEHZ#TrwyOtmZ0Q*JCfV=~eU4bU?Cm%A&AspTn)fx?(U(VdJ^zZ^&xFxW!KG(#c`2@ zHUW=eH(`!@BpR(%Gf?;pbi~4-c_jG8h|2sflwgPx7U8$z+CL7mGaWJ{!?pjC<>AU<$$KL}=g{!mzgxcF> z3G-V&zqM(tWTC%i2=$8(`7UTLU!T(orha4O{#3Kg!z%gT?c-O6JVx$i%|TQm zDa#p|=Qwd+i-V6H4emWMz5>o*zBLD}rxKSOs5n6kH zYxg5q+(rQK@esvy&OomEG}jW9rR4v3v%i1)O&&Uj1<^w}-!4us@Aju#9GbVRDIm|T z*Bt@l6)91q%^`d? zPQ6?Q@~!uW##zY!eouqtm=I_+?mE5{Qu((<^JiZP;oS<2%GSdp75>j?hD%VwM~n9t z{y%&A|E`pPE|n&$(@-it7hgxd4+b|}X)k{NWvVxRjRmc7s&B3S*FW#g#tP<$xd3kN z(GN)|*hb`?e+}ki)P4^W50O^?<;o~Q(?K4f`Swr&Jb|}@`C(btEPpZOzFs+<=c#v2 zppv(5{n&E+&ld=N{W2D^Q-N0Lt0cgu9sx(>d0=zq5e3w`K-&_xQVZxO9AQi!9R5E> zrn^oR{xyK|Sq@Dg#?7Ii$XSN4(qGc*M<}oE#x3>#edDT+614J`b^w1G)Xshkx_|aF z+=)`IrGRWQ{x0dA!ml5{3{xlZrnA9@wPy01;THzTv;X|8IGNO+6n0QKWWG&O{R=bq zAK&o%`@Jn$)%%idzQI(C|3TdT&u{Z~10U)vOXlAHb?-4pM1ru4kWXL#*U&E_@#eG3CG$OI%E@v!g<|Eab9kL&UO&&AkvsyXxT8&Rjh8}~e^p5`kC zXP*IxR2S&0BJ>xh?g4?v(U#T@nD1A}oa}W$le;_4r23gqCYQGYqC0>jOsl$s*|Lby-64zi`ylv|F~f(G6)#H5*iVDTzuq&bphl+LLg8R`i!@IW(gX9bu} z6kYffOoTMJ2*89@w3Z9R(K^X5et|;vnhdAk1zfX0{Ju28YT)kaU^H5K`RlWneMSC> z7%Q^~#;b3Y3YS2R=u_~Nmn8{VL?wa9fML*I%BZ{IzWS{H~8$o&1ZTA^fy0e_);?S*d!^=m``AMHVnyvw}cw&nR( z9hJuN+7VktT3FSKxx}4@dH8b{cZ*1`>HCt408y)r~=Wqx9)Qdd#XBI@vJno0hpsaY)-|AF2xqZ=p?=+z` znUpgw?3UKI@6sEwpwPFn%PDzRXvXvgnCEt^zO;(_{ZxKHmV@KB8;lh+s8XTqnHnF6 zuLddMLCslub8!_4b%fo_uUc0wcKdc$%NdNAoWT2Z7UFBGuRS@k6Mg($eW#fvT+Cx8 z2^x8iaan_Wr!t+M1#q+*g@W*?!UusGfimsRTg7k&5w2&@CpQZI+LUR-owC}aj&O+% z(#Kyltc@UQAGqw5EOFH0Bju+(K#IW#P;1QVvV}eZPYsj}y3Sx!TD!OaInZFeA-Z=$ zrD{^pE7Zf_zFbNmzdr42fX@NoSU>Cxf^ z?1SfLXBe+r&u-k}mFaY;Y%v`J(P%>t`EJ>&442uhAWDHb39rA_^W^(RhwvPzDV~B_ z#m#4X9jpnf>74)pQwl}j969?f+y(J3RZTQ0wm_u042Id;^W`>KTKW3R00~f5W(!af z_P|}Pv?-k&4|a`T{ZcS^rRsdLmuHNrJrAVMQeY_%UxFeLo&svlN6?<)Gm}RB&?81y z0+b|OhNn5{WB|eg{Co3m@Z`r|l){c(PNB;s8%|k%{@^(88fa|$79l1Lf=F-iyv#0w z>(p8?xUF7GLwj4DZhX25(Id}`&qO4a*NAR@jNFo_>GbXj=6z_GpWX2wt4Vdl6QpRdGVP9Y6%1VYN)4NGeY(F6P zfap%tpQG*xgy~^?P5neZ<_^I%tcWdcXUK}r{~Yx~lbxOpeC@qKt%t`rBH)H&Cn>oo zEI=VtfU`&7A_+38n-`G%MC#kRo9z^iMH(xFR#VZJ3s9srNg%WNU?bXHmUSY%4$KSViUL8RPCKe~ zqqV&J-mD;25G%5eZl2ya1S*^C@jFHjqsj8B(#qlxzl z`5789^BBl2bX7Ni^Si<(b z-wRp@0pb?-S0o=#m2zIi9F1q4dEn}reg$Mk<7jz+Jr_3!{IoyqG?(1_`oW6TN32P4 zH{Pl9#M9L8=~H{k1meI-fn54X*}ixO7B5mN{!gCL(jfY&3{0&)LQ(9l3AsRMN4lKY zb(z62BxZvwUr^e3Mo$tNB8l7JG16W$|BT4rZSOOi>u7bc>%TL^{=gWqgg_txoykw% zTCZ+u%yP3%xIeEF^EI)IqitP>CJY3hWHYv1Y2%&_zwB!x_IgnQcbiA&;xa5mFS>A5 zB7C7ANLO`kY9H2^?Byi@3R#^TC9QxFmNGCw8hF1)Aik7T^o#=kW@7QN>y$Y*d^s;1>~qlk zovGKfb~GUo5{*`VlqB0=5pzX$&&3%nmgWlOhxm6JhZK~$Z39S@i$-Mk9r7XbV0EK| z`&Odsd)hNeY1>6{c1Mn#^Mb+Mehv(Pj}+^1HT2XB?Zw?DvvFz0fHe>uGb3UZlAvA& zKvM^{P&oEUt1t<%Q^g+jxr|KbC5`*GE}R=T_mBf znK^jZ|FQ~{7+Ccc`>NVjXhx!j?UV(3;svPGd0&^C@;e{ZoaD6aB6_+p+y%os*>Nq5 zxt$=tVCuDjdX}f;Wk#SDhbPVWjXEauNXZkRSqLc9XzFPkJq6etzgq)!p!oBYT%Q3S z?SMBVz?Jp@7BZ>&yu{`^muT-u&KQs_ryATozAE{+9W>fxfCD?I*+Se~Sz!ArJ_o;# zy?WKt3AF&7D2-ygIwua>MOxHr%ykj7n+JpMuPdbQP)-+h-Ii;3w=2D_bDs2G03#+- zq*3LRs6g9TbTEQAUqYwUN2~-KPAZ2%&SEgcK`x>^UV9emAJxlOg~-@DoVeUz7GyiO^Og&!*-sd%y$ z?#U`Gwij+0YWwVM-k@a?`hmJyXW@G=E3w$Xfw`cc`~NnK+Vowv4H zaL&2pQ)3<+TszXeu>3R9L;iE}pqkydIyR*H>(mF%0Zi$hBa1DMcUgw21Q*Y;*4#24 z)8!RgpTOSb+?z~fEiD90&s7F+CV01lgCu`$&2X1E#0rj9z8@ezz8_oj z7u+8_AvbS+S~Un3T+1`*or!Y;uuQDy{C(Qb|5tp%O zQNHp$+;gOPz>SD#fZXKbuo!N8Qb;X9OV>u2FDueyq>(D0!+e41lLPrp4`Ez2KkiWy zTDI86FMs5#k*50rP*v8+pLx?JwY__aI(*g^N=|iim>E^X*pDnG2hSGUb^`4 z_{e-Mnv~yf z_zaS1<(@Wd5)zuI+)Y&<+3K;J~PM0C9wPXJ{xeXQZVgGwXr)|0ODJU>ayp=Jt1s~+O`$5Zs!Ft z8Z810WKj2GC5F4SZ`eah>21%k!V$}))wFZ`;AfODz7 z56K#RBb2Ur^QY;)3XuvtR}lhZf%@|c+^;$5Q|(4VpbWw#pklNI&3R{VWXV@UcX3hUl)>?r`!h|_!eEoUr(<4g83*p!A*s?K!QU$tGr26{+DswA z=;LuH?KoY||EezYW$E<9Lk>l{Y5254p=y$d^UyGfY1C8DT@loLQ+s*3r;{EC3`Vf!oI(l8|WRY;wumQ zFjKEIJwca#n`wLnqrFx?$|=KE!q*^KWw?6kq4id1Em>2lZx^sBEbc^0I%{TgJqpl^ zb%=duV=UwPisnsebjqo*&w6I%u~PzV&TJ$x;X5}Z@?7+Y%RMx1pq8qYtMZMi<}U^z zZr9*b(T>&Wg-^pdg9>vUw~kVYc%dfM^R|9sN~Tn3|@V7IP3He3QCupnkPyN7ZaP}K7#@4LQ?vN z%skP0oWK;3!8mEimKuyiCR+ga7?Y@FJ^egv=S)m{xlV@VgFE*xZ@<0VWRO=QUTgR9 z2V1R6>NCgyJWCSYRF>?oTxXr-}WVyRvSB@OlG{taC1ZIL7=gk zYlwN19sSMhltc86boE4B(l`v-LYswAMI>pW8bBx-=(x#q4j z?e4yTYMb-Xxr+6gL8cD;z&GHB*>i5J3_Y|*mep+#c#^mc@)5X1Nr_g(KosfefmT`e zIyJL*s%PlD>^hAI`&(jJqk4LWK0$Yg?9+1qONBnn1CY(#zSV)n6>T- z$9DsYy}O`?Q9D{>~R0h~XnMG{&*c+xHSy4`SWEss43`zo`4qNnN3Qrd!H zlEK`+bRgh8e5H>?X;23{lki78d-S@eQDW_NkJPo>mdziasa`&0=$CvHVNkQ{!I@}o z_wNjA!I1hG*Yqor&r&^A`M!&?j}Bj>0MUl~a#L7O&N`6ey#4ppoF@DmVVE$7g-GpgKz>6F4XA3FeJyeF?T z9PvPxy>A3alWDw7br#h?#?1Lu$ah&4^Vf?U)fQOjj4_%y+LdTBc1HXgY*5H|s1bOVhc@OngN>5+shh0C@^t>1U zCdMSgzoq~N|Cpa?!)R+Hq`T;?Ol*FLof_Mgg(pX@gm7f_>?QOpUnehXGx{xcsl9&Y zYr5*u*!M*twGNF6D;Dnn#_BHr`uC>f^mo4irsNBlxk$l3ZS z-l17dQfa#x0dD&&O$X6?R=_4zobxLQ|L9#?xti;)OWK#5Ih?$LE_*uf6wuX!7^%`Z z9;R@$!vc3A3!^M9qtc08^3rI0U9xW4I?6FmHQerrz?Vn}g}#d{L|bFT=es3xU0&2C zI}hvn)vD%HI`6%JAFb%bW$w?!)A*Hy$7`4Mt}U`x{y^d!P+t3v6fKKLPr{fEzw|B+ zD4obuFS>$_KYDw`xc7MW-VbT|6Z4O`=XdS?-LNr+Sg03!zHqQ)Fp#8}Gsz)e20-Kc z!>C;~kYeETbqlnC+m&QixFAVNCtj2AZ#Lr9E%be$Xz~{TkY_q%;(!mu-x|a93N4QVjArZ=ntn;E*+Ai#+)b>c!h zFJX26M3`iN|BFgb-5uUY)JFx|B8x*cfXKiB39y`2mv z=Lq95y#v#DLZUj#CIY8(q&?x0jk1Z%OUWx$(@uTbZyKWkqjXUF>$lfl?VhjLda?5( zf6R30bbsOXr%#W)eT}B8gtujM%KIQ*z-4Dw74^B{0g~A!u}v&TC!?FkrFE*8b)P;9?7a&zZzRhnfRx2C{quz{%LzZmzq{$27eW z2*_i`&A$YW$+9?SwLHM=gHvW8BmJ{5NfPsKK8{?0+2_|cfIZFcFPsoeCW58W0j0%c zw}!<3=YtR-wW3mc26}|&co;Z86eRKEN8qBY`G7WvWs0)`?<~FsfgV|~0ST^!f`Aik z&Ych87NH-z!{28Xt#EbPlaohSlK@Ful@H#kYD&~({@>=%_BY`51AHMbT^1@Yi4C+h zgv-fOhBpl|NQl{Uq-5~`r}7#hMfY>8I@%#HePNLrunKjg|ENszXaAAXmmiP>8MX(? z+h_+kUfCu<%H{%rfX3fxH1!iiwZ&tM2dD5=j?(YxYkQf1X%5y74t~EETo%kt(m*;1 zf5>I*P?!}t+Wao?_N;r%4DW0T`Hy1|aY6ZG1{5FF3(8^p=tS-hYg8zP32QYkF)jhW z$P~WI&-yV97b0zq)Blg9`k`J_>R8r+b?gluQ#lm9X+limVpwyMONt{LsY9ug11eV< z1kcM)!Dv8mMA)+P4E9F!%0Ts$#{gvL)GaH;*~JOeYaRXUeLjUpTXx?VZUgk}f4^$d zuS`w!s*dA!%liOI@kjx6qn+z(GIotJOm>lw2>bLaIK5lA<6F*4@-#%1_7EY(1AGU7 z|2l^b2(m7+VgW#jf{7%syQ~;5N88OJ4}IUKnxta!{RvTWerqtPpN^1<-R>fy{OgLw&}D`j zVuU+t@&E?0a~iyv^Mm+;hV^g#3l1 zy`T=g&F$E=8xzV1%GJ0f-~f~?4|HzI*aTj;bm>lYN!H{|`j&E{8~5v;F)TfnIYsYy z?AKwA4En#~vUOF6V&~Zmw0NL!r*)fEvp5%j5Pk5)7N&m8VIWWQQ$K!b6G@k@XYynW-$J?d z%Jjds(f{02KQxQh>=|-zWfSn7@HjrJ^W&P;L;A2LYh@evnz=i`g;s|Pug9mli0(p6 zbDVoNYvhu63J0q*#{`E-?35lNr3OCao=l{+c#N~8J(uexFS$eRd|iwmJ+npkD31&^ zksf(H&a-xre;B|GA?_zH_&H2(B)w7TkRdm)#O(JqF0sn_zG?4;^{1VRy)5;XBrTLF z>vLy;8P`OkPEx&AlU1JTkQECGHiU-rPzi9p*~b~I^(IOEac2?&|FJs^t8j8=?^BiR5~C^yHr^3z6XfYa@4-(sOKPBj-xpkGayuvcu&rNQcn z?8=C2-zD$bOjF(1<*YaEH42phtrA$^h3tWjM=G53vv(SBaBaQ+m3^7#X3FwvKj^ZX zB~`}5(6Y&i+ivM?S@F`^%T+MiBR1;~;9mBXD9{=hsvd3&8D!r23}If9)Lj(W=_@my zTEL`0J{bx=mvm#v_OPu_`DL`Tw^}e!!4Taj*`dL>KRn3ZWn+Tg)SF@|@rd^GFxWouuP$xeDAbYZs-2l%I`e z-?uLza`m0pw0;fKq)9r33y#r_(K|T;#pJrC(yzOz(pMS^SB)jL0evFJ+C69TG*riu zEsG1#qj?XjruLRXlf`jd=@WroNuf!%o}KDiyZ2$Abz6O7ioE0Lo<%xkA;oD)R~E}N zj}on8!jq*6uHSm=r~Fw6_0RCZuJLn3exa?Nke;AE>k_|5c~NyB`GU{bC?1n8$|fh` zC&Qoe&(Je5tcS{tHeDtdxSKkJ3QOsH-^ zIV|u&NHDV1%Wx;P*eG@Nz3P{$Rj(9W3DfVSKnAbc-7a;|ZJZD_)R&t8GthGT4Zw3_ zj@IqhWvf=P*qyZ?RC22m(TW-2Jie$nJ6WQxoPItdC;ILqz!ST6kh0{&M)|TVjj@>o zGkjKopQv@@!a^YJ&&d@pU%wTx>nMfem8BS$PtrUbEG(L&=@i!a`q;YPOZbb;yXY_( zo*?w~NNWZ~%rCnI7p{j>=p*@NBLCjiDgpJA_@&`DZ~BMSg10s=0j2)6zwGR6wu_yL zMw`MKg?69Xy?rxQMa!qH$e9clO#jtj`TfejU58sh@cPPrrP&Thy>-D|(-eSA&$B7g zq&%*%7JUbJ4v&1Z7JD~vZyq*arKrE-#{U5)kv~GXo|~$CEDm95zJ@=4*1Bb#AUX9) zJND;*{G%}UV9*_LZE2B*ij&Fn-Z;WRscK0Z%I9FPs?hmY5KSBewgnRt9gunh`NcG!KPm-6%)i8p~-BhrV;l>$(Wgy*|=w0kWHQ z#cn{%AU^b-B8a%ifIAwNEYHGj|EhRnl*#tH8RvrU0Jn3ggOfkr0p!7t54vWbIB$sG z!v+5?*#_LYNmi%{|KNsTzLcDy+&b`P9~Xjr3Uyg4jWvBFQDxiN6r}6ZlTRZozF7%; zi9MfyS$otBb-vEl9ivs}WW2z+amwK9Rd&A2mOX@9F&#P&0>`m{R1)9bsFm~&vGlyi zK_1c~QEvBD(SioMFQ|;my~B|;+{@I25X$^{V3yAiFzy*oLd}+f32lH`sH(_LtlLS2 z(9wn`29ugOy63F0rSgW(2(%qN)&}nmvIJYR1L!qVY^HMQ>d^&PE78uGGHgs9WC)Jf zz*VoD)$<&<@L9Yji`ML(0p%-{ zxjOs^|3V+q8P(BEsx+Ue{0jsJ!xRJUrXdL>rWN~Ytd)lY6eTI*_+%8W=@-eWB=`fY zwcA0^YcDYGkLqOmGcfb0FhA>I@e7AR{Yc%$7-ZOZ$zky!hX+iJkRx7;6Qy{>`U%9d zab4n+w{PBxI%JTrhz=Zie$G&Sr<0p=^%g>nVfNSA)|odXA+*0_ELOXuRv+E? ztbHoSgvOLeIq|RcEIZV*m!zdSo|7Y>eUG8w@Y{30y*#lYx6W3V=1v8w35{DZK`y;A zXAjV{o$O&-MnfaBKg0JsTao@F-|;>ZgiB?MlGr)S6NrYC)>#_41Qd{MOQ26HOf0St z(|W<1XfEPeW3^Sa+Sc>gBSMB8CCSj7g$OB6L()#Xrm!MyPS+|I-1oKJc(Uy^u$_9# z(oTU3Tm~1IVvp>Dz^|(T@EBur*Z0pJw0kQqt`!j>b(I@eE?ESj(NYq)mzP5X-j5vV zQhFKkIn7*MsLFbC$E7FLRhp0px`%IL=QpWv{7HXz^k zOZ~tU_a^dz$+fg#GNrgT&_7-Y4-IlSR;@N9ca}#MX8luP!S28qaesqpH#lwKyl`e* z@_z1L7{BnzeqrZ-8D4W3Oq8`+4981z*=3I;X2_&I1g=r|VYm9L0NkRmFb1K;*3hE- zC1xRYKSj)eJ4o-g=uze-ZSG0zWCHbKu5&G2Y}W_POsM^8+)cJW(Q)@OwP8(cKMr<< z8_f4CEIA1FEZHXgJz2e8uJhSaa$c(Yi#>BQy{u#xQ)#+0KUns>-vSl>{pNgu%TcV~!0mw(#%H3BxMm|rkB}mzSN>J8cB9;=T>JSV#+}21`bvX2 zUw4AhIIeN5wu$^@C|c+TCn#Wi#Kn+!%BL^vT*^{b~f|)bZ2S1 z5}Cw$@d1GLwE>P*tCpzN%x~0V1U+vS8D_0}-%zuU??D49%=s{e3N!ZmXo>GGYT~n4 zCEq7^42#pcKBlOw#9pye;2*Y(iC)bPAnVz=93KvRrvevkVAkBPk)+V+9;%6wJCt$% zeq)!U(3mXe%IJ4r@rVbnf`6E23xA!m;lAPY=XI(lLc$7VjN<2YIqnU+J%4(7*rp!e z_mhp}lVaIO1%h#Z1eT%G`}OV|Tt%VwL{V5bqcc#!Pt_{wctc+JY`Ua>CRLJ7y}bF> zW#oh|daRMG?*I>l3*Ba3-l=>j%$5wv9ugg|WP0eCic59CLQhavl+n=-8!-EFF$cu991a~1-7%?Dm7D>0Ns@?|q;?@RpmAsk$| ztaR0}wN%a#r6HVe#Bmp3bw=UxaR1IGvJvN;fhX?hfOtN2-WMd;mQ5+q28j>7t>pyn z{vErBnUbac?UZn#%C`B!IW~M;y!yIzKM=CM8}4rRqFPl8fntT#s`s(Z%t}=+^l!dg z*p%ZTFY-1WiqG{r+b?-T6F2*?m#|KUsqLkc&Uk@(*!!GGy^mS0(sw)%t3DB~FZND{ zi$qP-!HIw(_Z8?_C%_Jsa=TS+z2X&*kY*c~%yk76$QSK&sRGs#yWo8Gs0S|qj%K%- zyM3hk`W^YSk)~m;so(D$BV`X|IPkGa6yJ>#l!~jDQ%%|d1a^p;Ki_5=6IU!iK&%;` zSB)XSe?8%i) z@Av@uH0Jr7m_OU4N#wY`e%LLJQ}~8yIZse{SG46n-is{L?jFGMpUP#+7q=-U-@$Xd zt7Wi2+b{Ai#nd1`kp=d?Us^Zlq=0=?IF@D1w1$|DVkEicr>^(fljjRi+K|p9j011F zVpqHKJksY-VyumKNm6)%Z2c1WFPQqsEO5uOlm*5$b?Q^n-naMHyUd)P+_ws|yEfS_ zOl~Dm2?HYV{-HI{TJDHP;qi-%JUWCb(nYJ|#$={QAv8=@&8O@KpG9)w+AGD3;C zgvfCJ%8Vsy*UGq-?mf@!=PtOsw?srnY&lO8?u%1g`*Ds|i&BQaAe?ENk>!vCa%rgs zUn1-0ns0-P<*(mVF%jbt+(?!#@I2uSkhzxxk|S$>e8(DLi+(O)XXmPLW!F8)#k@r6 zHyxKQEUYKIY+1cvEgxmyXNt_)%ZYh7u>P%ms?AtQ+{jaS(z4WHOd5Ax&{fus7t0fd zjKr@OkToU5K9t5k%`zS~v~varBh zSvGgZfyT9~T0_!8J4ig@kQJnVNJDHfSon~{I^)bGNzpiZHi1x*4pu6UkYH_1X()th z(^qTC2!p~r8W+#TZjz;pD)3IqGi!1m)OM0G1dFcQMZumtmm`2dMC1{cI>!SG2re_S zT@;ySD$pmYStGYcN>}7OpxqQ8sr+$88ftNA1gwJKDPneyHJEHWLB_28HxS)GJ0Bua z_ZpwS&HV9I^J?4PBLCl-nW}T?Pw7FNZRNIB&Dn8crZJ96vre!uSbVZ8EGzvHe8nQSAs+p5M*c&E`hPp*qUwcmcN# z_p0|+v=l$ZNcP7MI^j;zYv@N6uiOs7Cv+nZKvcDUZJn+w(aC?%_?9;}$Y?$eHBCU& z_Z`;oXa52^#z?^8mnN(}bof-G=nM2|0-aN32yOgy(k*4DCgR@bB$09hh1lMm7PGc! z%nM14H7Osw9TP!n;`FHJce5YUDy(ztPNO2Sf&FqhbrUv+Jd%_vVl5Oa!A!=DB{syr%+Fh zfKUb3s3!tt!dFtaJf+;cdHFdwjqzaNV(ndhFRvec_LHt3h2ITx zjP9>l4kBIBfqG{eGpM~B%uvvrgS8{SdbuAjKyES@RS*!&L*hf(F}N{%Ky%D+?d{zM zuF|n={g5~;`lDK64y34^Uig5bch?e!8p9z6<|DIm)7%HOZhftm&8!KwC|~?kwiG|5 zxlb2z#!p|L4xUS@p9;tM=bW3V33D(g)x0_ysg2=1DpvYH8)B(Z#4S1ZobJdclS%2> zwa2c2c#@Ch(llQrMuSE`k&S+6d%FpCoe7D)1A19sC1A8g(86qgbqB+&Tm!DfyDg2( ztIoff`9cmvaA=a#b}k=hQ=OXnnnd0gaNx@g3^q;MT{?uyFKPs zzSpR1XO?q7%dQ**zK#{@ADd0(bsG4K4B0nr8*~^3g z`qzct-B%h*thCa#vxaW<{!JoPld03-l-i-;j8EydH&RKovXX_z_6=4@&u;{ilR;ez zJXSPt2A*$@eike?vk4zbzq+~94{)*CiheJJhGfca^<#DvX z{W&j5H+4ZfWU^a}$R*?Rnj!4ja**WAISO+L^B5-hSy_8MeiRD-T=xrPCaa>(o>!zAv zRJBYuIm|=lvl4MI?JKd5Y|w~+u)+QM{^i*E($C(VI5gqE?? z{fC-+{xFK#s^z}ER^Oe`C8e~O@N<|Wz7~t^*)l{i%xIk-d*&!Vii?<{Qd|hk_0PBpVj&K16O=)BXUB3&2DG;T2iy^AgvYh(}J4$kyQrd&w)yoXg}aAKZ$EVoFTW z9j~(<<=7FKQ0-8VI{|H>fkEFeRSc6uC7ze@x{jWixU4qrd;}NVo}nJNe^uu4ocL;( zu7xCtg?~@~%X?i>oRdQ3v|1bzoEa~{s#UrDb|&P$6sc=NyD=cRIunMaV z(?%sQ8JXStZSreMQt@}vg4*i(y+9`=MK94P75Hp;R-*rmIkaDzqrA5-U4qhyTa-er zDs|Opj#!r*-yU9Uarr(TXO&@OqUPw@jykreyyDjp$rGXh#lyNKQH2Xu8^XU;tBFaP zSHCDzvIQNf=7&%W$3L^*jrS0`l28!Bv}4VfDh2C7DZg&Mp2PakXkJ!2v*kRuE%Z|u z=Upv3!v|@Gi~!eT-}z~&x-8ymY@IdzUo#<|M2uWKHr=Px4YR}4?C()MWjK*s7L^-d zic6r5;IFpq(PcBgO%X?7(if2aOI2pzu6Okwb_M-)@2oWuytd_J(8F)Ijsqf?4U{iZ z-Q-{BqVM30zjlzD+bW}HIDY@My;CCuV|;V+hTin+Jh5NdtCdTfbP-)NJlG#6Y&fl=Z}?Vg|z#inm; z8BG?Gpme_;Dh)6)6)kWYZiOQg(Cvmv zU%DX#uPs6dgn}JS#P{N0<7i<-Cqz)2y>e7jyUtVQL;FB>N>kr_9KW0a40^*asUCHy zK>!AtN>%~dX2N)w6>}G^9@|w=NKZ)t5u=^g+siz$J}9yS)N`xCRcWIKq) zjRnh}yWEC>ntOr|}+FZH@>n&~1*4uL9B;5JNZ zq56qJi2mkWF(u0x{vF=?$k=0^*b>^u3iGQFVc1|^v(nk}8o35ykY=~{7!OL)2G!KM{K(L{sN|NV`+x=FJiBplv3gKeXV!;gs1hzJP z0F3jvnV_?Fnd`U=@1T(J;PmFfgxUeu{7@sqax35);}Ib*#sk&6bJ{RQEF=gRQj8VF z9Xy5SEK3#il<;RXtPt&5ETP(phC^lTWGw-;WJqpso6g2GzWt|!0i)3(e5f@!PpaOG zGRBdr?HdLt2I?y<(PM-beLqc!=G5eR=hz(ZVpi?ZiiYNdEWfh~wCJy_N$0)gC(ffx zh|$H#C3aGK3pi9pp@>L0iQM1=xy2!OEB37wK@e7vAXXro<^*L2qj)dVh)6WINahlE z21{rZWdegRlyK2Wo{$ zF^5xJ=&Oi8Bw%#!oX1B+Czt0)1e;CZ;S=;>ggUXDjja1DKMpc7a{y$N(2T()d%?Onj8pUOTIKQ101UF2rFrQJnF_o)^j%yYXCHRxXh7iz+Hvh#m1-Lmik+D{R~ZJM51)KXf?qmW#u9u>;`b zRK>Irp@ag_=u7=ZyRT^%Ns8fh%(>MgZdrrY)72lnl$=;PNlxBu%QO>7y$NuPUA27Q zTJhH(AUi5nh{9yfprPeultxiL^eaPFwu|#t{?Yq?29A0f!AUG>u6nrNX8v;@{`X`b z7g5AKvx$L^9lX{3f1k$wGx{&$0dIdS+s4!XpRcjTfao?7VUrX^B9o)SWMh=U{>%( zWSk@YR&iM+z(vc9w=Wvm*5dwIAG7!lv{)2T-wJ3e14_XCT;v!b^DOTF!iP8$!eaV4 z6S>1f&jfP?U+sPpAso=DW`3xsBh&=Go|DYlHpD0CJjo~dJlSXBpQiG^*Z!ZU(;A1+ z9FQ8WfJw~Oj7&9?rs%kV=H3oEeltPB_LzoYXyVcTWjzs4<7 zBA+`4t9O9Uxior=`9F9YVD`quIY;UJ)y%c^8rrlEJ}-fd`9AD1&C8U^QxU8YwdJM1 zH@?xdiEowv*WdY`Z2MVo_^kRV*?&C`IBCeE!WUA0XA_!ffH!dq-JzZQd>f=-3Yf~N z?t!N-{RUpvy91};0rdTs=eL~)6I&m|V#_}0! z+0_bZP`0k3-(Q1l;2g#YVHg-f0#jOpwx4g@H<IR)flZC+k36 zs09o?j@Ln|f&p9x^n_FPK!vEa2@vd-_40GF_zl2G*Rc$|+OYoA24uZ>g(>A?yvf;H zC+K-JFYoVo@llhDnx*Sa=>foNPS=&1u^*7ztGV~(y%yE{p5?R2P7q}y(gcb;ih{R* z8!dcwlGV<*SPB}`a<`}3fXl*{1Dt_RfEp6F@a58FuXJjLu^De(q3?)sy27E{;xsel znHw_9DNgC4X^az1=s@;KcupaCpZzTarVi`iDkDC;@ohWJU$3_M^SE^8{8mtrZ_+>p z+Sj_cAn1CHrMtNf4bKt^qVBY}pu!&g0n8}x6JV^z5%g!zDh++m3;=~n&YdWYat04P ziXWsuOIrg$IzpQ8iya+&*N&>{TKa-0v!7)w&yG6r(!fb5lLII_seniK)_8LAxB1m@ z`se)TlkG}?>@{#0c+ng@21X3Dzr+@^YEbq2GtPisj-m*;v8p;~`Sf2`UEGRq1+#^tkrv3((9x&IT-t^Rv}7<5%54!axPorl+G#_H%mD3+eI93UZ2qHLAF1 z^Q%ASSu>qQ&jGRKz;_T6k1@Fh=yCs?KUl!@dk)eIal4Y`qu*I1x!8$}itDI3+P`@} zwX4}E8S3AU>RoaV`aNe4{1FEfY12Ab0G&G4B*zq2aOMxLj!E)8;us45+d9m@&v4Y;=p%^Un$Pl!>w=zGzQVIl@S!5{b~0*3Cpaa`5W-G|kNd-r|K8nwrq!nIsAo)r?$2e#Xd%*Z0c^)w2 ziVfoSW_RoRrcXYRZ9~A_Di`wUt<%4Gc13Jh$VO3&FH!O{=v3kmMr*Dd(%I+s3>7f} zm!l%xMBX|bn&RTK*?kgnT9Xl!t~6p!fXYW~k2|ZLO}ZIV3wSqkQF1nlW@;iEIpB4S z;}FcNaGA*v<Hn=&o4dE76x}z&XFQ9`%|5Tloj~ z7z|q_S|0aw1U?53O#=9&2u!^j)>Tzt9f>C!CB@*-pH}s8Ya?SJ%IOE1^#|-m1a?^a z8^CGL4W{i6v5G@;Xg4jP4o%?T?UvK&$Ho8dSf1f9W;rx>pd7q~sX~1>vf1?)AO)|7U(!$mZQK?t)6w=Q}dx70P> zN9@o|xA7rJA9JFgmAC2meFjV-lo+djP3wL9;#&ahBVJUgFp0h?w<=xeeoFqv5|VbC zi*h?_q72xfuqd^ST_w1nPI7qTZn+U`--FMNuf|D^H_*F&ZOU+PhukZ4hU7+cJj%^T zITih{Th%NH!%P{ie|@yS2}NVconm^lc$P#>8iU-hVHbdRGo;i#=(_ixVO;A8?nu%orKtQdqb5 zG5de55f7u#(u~$aDd!3z71@%L=`q%p^y$5ba_L}Fe89>ffcCx$?WRJh=MCEOHjO<= zUJU6pCAPuw!f1ZY`I}jvlDRI5_n|J_8kdhOvBequ&TBIc{6ht;nIGoDFw*FtH&<#X zWv%G&2#?74Dz+91BoF&>_yF)6$aSoIB(iYVro6v7slhTpfa%=$p25@VzuI3ySjUw@sH46BGOE}Cg`TVh$s%d37kd!|Sld8yO3INmsw|E# zE;lU2IwulB2gFe%(kMnAsEU-A6Q#oiDJtQL;%B$0^sEjnK7r(BFf(7w)))sf!b#Xs z?ef6u(F98+r&wMInPrb|S|U#X6-wQ{D@Ay)ko&@W=q?N(4v9PeiU|@)Ib>7^t3UMq`Fz8k|tqRZ#n2sH78p{{xEfIpA$Zj;lZv zP?hTX^=?HyIF`GEKXZg~b7>&^k6Nm3unWFdKp+hWIR5G*4Kuf7=%r{ZPRRyH^l*ul zb<2A@-AstdB@DaTQl%hPAv(}4nW=vx;h;le6M>i#kqvI-oh_6%M_ECZ#+xmq+{=Z3 z{V4v)TWkqfR}E6XFYUuW;t^^+3ctajaFOt~vssPo;Kg=o>D}tt>q5Qss9aFpOZNE< zN<-~AR|^FRxh9I~R$$kQM$+vR<19QnaRxx*(_-Z|ELm4ErpDEK=C{Q>gGP}m^m{x? zwc~gFf9mSo5Df8M7*oLI+K?uf;!KO@rht+o(PH#=j7V~7f6dbjBV+9tsl=723YzdF zKi&Iu7&Zh$MWmha6nL8>A`ybI*ko#=IqIdvR*FB>u#vdC*%fyK8BZyWVajtyKt23A zOMS!+qM3~NxSIS6xbZ_PKFjm(tI|q5pptNSg$89Ky+|J-BgDcq z=G0N7?8%O)4Mt+m&Y;B_2ml}qr@;0?J-{Uo_=TnthvY5i9B{EdX4{;C>aW;^hP}uR z(;k;tyRE7`~ajN zF|*N9WCv?grZBJ5y zAzf`tf;Ka_yi@it52=t!yA94&!QqxAP@ALARSH+Dq5r^&6l8ES#$3s4CbY@MYe)4( z&U&s;v8|Z*tz{{!u9Y$@ve-!%KfC05irIEPhxHg|GCkU{*0v_-*To&ZmPi{DZQNiG z=rwLDy59!a?{YP%ZLvs^;U;t;f0P!9n_K%@%&B=_G7*@wdJtgqqC9xGm2kg96@$J< zMq?17&cJ|WX3U^MbH9%}Bj9`8f>6k?wFlHMG}Dlox5GaYu^fxE^9Lk0QpH%4L$#Tv z+HwUbPpmjZhQ0(@JIIoQYB|eG7fe}HUeuQ8f@xWyhQAsg&Bv7Sqy=U8CUrn{H?7a{ z1|s7y2QepVI@o|6haFEO>iBzyrlUZve9<2xM8xH@l%H-r`MMX7CjX! zbw+#eodtgZlfA)D~#d`|W2uns@OEUa2Vo{L;qp zIp_#)uO?C`5oa5WBX9c`O}%e^p+vU74UNWn4=9xneAZ_Vem=bd4bQeKod|bX6l?Z@=F`99*Bz|y zwU`oPJ`Rys%NpMo*-1I4HFFhnw?!lsHIb8MW*h=EAWb7)Rfn|Q*OXO{nGBi}4GT%! zid`lm@{yiJmby@f95o;JGIR$@tW)+ETXj+I2Y(M1!So-t#&={5sL#6B0mGd%O|#6g zrihskdq%cAXNqN7`-lol`9Rkw6(=>vH|6k7^abcOEV6Ew%9XfgQVkbUtw-9i9j`r2 zK2K=zhjE@<`GICPqUQMOl_$iNT8;XU0#hyeJ3rao{$u%iot<65>Q#LhtpqH^j3dx! z{&cXq@!i9;d;fYIfexPBuZV!eAesLS%8-EU&%1u)i%0hb{c~SGh)0mZt?S<;NaM5M zK2>>YcpUYVAr2<=If{d2L9Lcw?8y2~DE?AjQoZ{JefortseAt`R}#~$#=@ZY8iRakpTS|NXk)9M zLW?$8xsP3ya&7J>g#8fJl`W7W;y=a_8(k5CMYY|cktNeV>Xn+XL_b)+T4qfJnv@sM z>H4LhGF%(mQSdyNmOeNYa7B$G2H1&ZBxN-0^!_y{s-Iq-<1$baP@xq7aF0_eD6*v= zP7|d0u+2eplfMn#{p2V-@w~XOFN>uNj!Cw=5Oa3^{{kQ-(ooqQJZ ztej!NYN?HmH4(8pGF@d2x&lL)!H-BM_iGwPcT3d?Ov`yDT84}uhVS;9qjsd%+kau! z{sxdtnf?zuF&Ntmz|A3Y9R%nXSu}OZ)Z~wZxsZDAZLWEIv9QcTfURU3hl!H?-nm7F zlchz0LY8NY5vdEs-5TS*_zSXENF1+_zgba9@gc0{KLb&p_E)-Y#IcyrEq;_cLfGO4 zurBdG_qeO>M}?3&MN84^vyCEqt1|$dgJ_mYhQk$SMk?_7a`|3VzpX`Bj`Nk|V~5tf z4`>JzK)En1a>s*)P+107Q>q-mY*4jVSIl&p7WM22N`@Bl`8kf+6cM}**D@zzLF}rE zXj0ZeX4E{e)i&d6#CO<7MEfOXcR+(8APe9d6-pzCWEn-9uJAMZ%eBY%_g?AF@IIoO z0Y+Kf*4h4p!I||cEg@tS5B(H-VmHU&Gzqj4GaX(4^CS6=xRWY<(e$$1=%YBs*KpRc zb;p;kQ>3{4YDX&LH*@xBdZF%IKWNH$!b78B*W(Uhaj2^OKLoo>uFAm!j-j}Dpu1aP zNLj|oHc}CSU;cJhJHqTc?P=D&6@|MG)T$KG1ko)u27MZ}lH*ONKgryeJZcS@F<7&v z;l8$DFtMM8V^*73G=z zp5b}ek65#g-7ih}%=3cxenQGK+$dLE(SD#rV#IZ@v4dUPkW?pzk`iC>(?X0GPK*!@ zVIc;lrgjOEp}ndzr+JG|6n%(%)L&C^CZ}DkA%w$ZW9F<9kZvI?7eFmO0Bqp8+;pMn zBoV}o{g=I#5*=I@wwb3SxeQ{Gsdg`zhAJG|CBB(F2*z_9dVOnW%?qA(4pIQW8qjUs z&!`6-x#stsf}Xw!IO3F8%*YJMsHqzIV&*q};jMAGY4#_pzydK1pd8Ydachjf<^OT zIM1Qn2>h(RxdT;osH8Qc@^53hbn_FpH(Qq$RKRI^R z(X@R3_{tJ+_!2wp(-aN=GSC?I5Qq<}OFsXKNSBRrCKqCMYAk#!z4(mX^%{Qr&S}yu ziY|>HfFdd5$oxJgV1x-sP@i-o?E3qZ=JumRN>9TM9Er8Ne3qnaIS(dBvsc36+yU2AlI#vsA*1WSsDxDi!GuIdI>jl) z*Ug*-hYFgEU0Q>|fuv8NnECethvk-dAn`4{A?)I!< zK#J(%ZrQ(p8oNhO?cTr^miXpfZT=z4!%vEi5PJ2Z#gAn-_m;LZ<^mMeSSLK;+O{E* zkEFDUn}SYXEl1SycU52Tyu7L9u zU#Y+=eU_)=%B+H$xDp&{-@7Cr?JVkJ<%|$k8DOe1ITLg)`q7b#>P?slR5pPnbw6Hb zvBo*TGR4~?r5!#g-aJI=y#mf3ahQwDkIX8+JnreF7xErNCqy+8{*`C1D(_i|bk*Pr z62=7d6ybEZu$+MYH{8_UNs~wLyT}l(Y%D_8BPnMB4M&IB*%#!PU8r0=la+yWtYh<* ztW4>bxOx=rnGtb8L^MYpOZfW#$u=3%pL*&K7^i(jdirIjiPH5+AqG=l>r$>Gcbjyz zR6|W7g|OtY!L-?62xFO{eVfCqngCPVxLnU6w8BVHtQp65_q!{_-G4CV#QHD`6-qxv zbJKISX z#0=Dls%A0cSaHCiQwSLm@);Nl(N0R7XnNoc22vCUGj_{mSua?IVdIp<5BsTgJhr|3w8bv68qm{G{D;ki*yN_ zPobt6O?9Y^4tq4r$a)_hu)f|%kPMSP$!9y&JL&EeQp4=~E2-(ldmfxk3ucXBvPDc#k z9=aCUSdTKT>Q_MFHqrEh1V$RD^wfuf^>r$85*CtqLL2oSP6*ZyaEj}FTb~FHgDLAA z6lf>f;6E63N29^(yc~4v%vdqJ+$%8O%ceV~qIjQE1RdCxG3Ut7kJ*LU>UJ0t!`MSB zN=LM?DZ_reWnOVCaUEZ9d(i(shll8ax)en5OC$gLOBK;#^`|rvHL(3|)+!Mifi=9> z#-1^eyd?<|1f4IykNqjD&bmy8nocd*vc)6Xfpk()xUR>^a;Q<|J|hL*ibuz6C8S-q z)fk-adiTmY&~;L#w@k?KuSQ|q(?d-}3q(1-gxDGco|Z{of+G;GBvnF&G4apcWp`q6 zC9QWM*Yfh9HRzP5aaBeAwViYUKB1%>EYk>8A%2)=^0Q;vvK4tq$rvcIgFU+G0tC2b zZ6#X3K=nWR^?y&1MX(&mXeDx8VcM{}*+i>R2`pv~;mv&)4@xIOFftLCrgH%*jHT*P z#!P{eM+*q3hs477Bw0H_-seIUnb7GDQgdU~3hm7l`(fka7){P4uE`4)5BmQ16T(FA zQCy!W#wS|v>1e6w*Bm#kwk%fJX0h>Ap^~!?O*`k45%_8w;nra;X^wQc&OcF|u?4?@ zBW1*p3iWX{r_2pE26m{UiD2iB800$wD{}JjJ&%}>QC4zBHSUU*x_)Ix-H)$@PMWDJ zg&Ty#r_C;?S-i-PQes4ZM<=Iq&-bCJx=jGy=z1YJlNmL+JcGBQ(IbqrNGmVtrT4#| zfJV^*l!#v3Ft}US6O3)OL3SSt7CYisQ9@*qDJWl)1Hg1yGHv;hpn?5tj4@NFSCASe zVV6ciJKGjto=h3@tmFH@OSQBeF4j-Z17L1pzIUha&!s8*BsYZau2LM7<7L1m*+)!W z5%pFO0h?;{;Ng1%YBmtLmCp^yfkVUlds`&-DNHZGP)}4kMypjua4*@-^z^O+h7I8a zZYSS?BGc&;4>oIX+Acnr9{k@+?uK6S$R(kECSBlnrhpFa7ZA00V~@ z%H0gbo`anib8}^_jHLNi+6uH2|4uXi%e_GpgEqR3XAktW0k-`@LhG?Dmp4F}aUW`1 z10x%ROX+Eh;9M+(b!Qp(0F7Wna!ZY?k*>e6QKom+s6VgstN@U6@V5`SE0 zthiV^Iuw@B>Mq@96GMJ|d27kJ%KA}7MaW@ZIhGh=RX5CZyuh#Ki)^I>=m{}*6EK%; z@Iz%3Wo2!3r<)>9x}TAqe~I?eMjLzmt_?kmE;g9L^)`>8u&CHI?lR`TA!YpSJ)fYU zMGgyAMIT}YTagx|oX@8^b&(LjszEd|wYF~52yi;s00~+5F?<%eKgc5Qzs|feaNLpr zjD)^dr(gR?@3@xJ)p$N$g1#nS3C)HY`n6~KKXW$lu zh|(-TV7vuDUNNO;TSKnywbcSUcSdmkte&ik2M=6Z|FgT_z|Vnc@yD!HgU)=(miVTQ z|N6XQ(V#G19ngpELh;_gssrej6%VL}^+V{T`qE`Cfw^v!oPUZ1A1a^p00NE0NQwUd z?OW*#6Fntv#GbE0%9ciRFK4?=(C@4vWSsk`#4Qu@DS`MWu#NnC^cppkHi1$xt5;aB z7io`yv3hVTn$11@BQ4;?ma{;1IFv|s@?=L~Qd^5bR%MWq%h_;@ITIKV3ferpFUF-7 z(#sOK!cn{Mo3&0 zOI1s)b*H~`41jncs^-X)iQ#yi#3p^m^05uq$FnE=B8 z2WAZw$^0p!QEILwU5R zn^=-&kH9|#Y=|wh;q&jE>{E1(L3SRB!uh2Y78;QSZaUPOphmda+i#z*i;~mQCw^LJp?d1?W4 z2YZz*vDiKDmZ)L}&%MeNYIw31z^!d(NZIS7o7a1O1{B!JY115*<;RT)ES|GIabXM@ zZFSgPKf*RY9{6Vq7wi2LzewMgHPMK3Sj2EWNWAx2->L~Bepmq8Y?VY1!}^mDblIcN>hPYEgdyajVv|dikv8b9Qgw7^DB>cST+9_a=z4)(WJtfQT%kDCbJWaqS1WoBDD)_-rtnCbLX`h zNQTJaSb8s?9zS!W%XqXC);%ubMCLy;=oX6X--pk_#V&=;Nb>Vj7E5$;{q)l& z97-tsQ1?*JIMbNIk9Syd_VXc5s7(M&;oI@$Zn-+(y%?i7r<_q=r6)E8kI4jv+l)8s zJzf&YIPn&IrlEt&>>e;StN=4E()2L+OouAFszFP|!qt3_{=ys~iD*}2e zKiy8)O?F>JN{Zld&rYdTd7kQF8FBw!S<`80`*b9ii#ysC@g7ZF%wyib9xwy}5woiI zc^f_6NfShKIRDHpT_g1}YgRIFU(^9jJTPUnOZ3sf+Zrsnn!B^wmLLnb@?T}T-Uxoo zXFq#N8;S3{!=fkj%U4T(;()=5m`!-LEnd7sU9cp9EeN8)^%2I%(VAqC@-m$2|DncB zjZ$$KN*ATblZOL1jDI?KZg{dxMlhXZQy9=GTr@^@{2SW`r8P^vKbAA-y@qW>p&0z| z;SKFBXN|YT+TdX+rG@8UMI~p&NoHuOBR!B(Ssjv2-4#WKcfk5*B0d~jq7Dl7kuEFn z6K#K{(c!VPLz}Guzzmuj^XzW-{6v7KAN+>=8AA_*=oo@?x2i zX%}GEl-Eg%Ko)9iJ~Ln4$0dfydw!nfq!8c!mwCEHghKr=MpPBm%TTKI=Cn`(+owFa zSe_3j4k6Oge_WCKd#3@$6T9k39n5YX%^)v3Z7BL%5+=<&TC0s`fVwh|sTo85GeEuv z^??DLzeM)!mhR_7_qu>=&heO51=z@d-sY&T^4i>#$zU__W8#W3fn5%m8}FWDK}cWg;;Pnge7*(x4lBKOey zOMw^!W3)wOrLAI3q0i>tOU_znsjMD8iVUX5C+LAn)YQm~Vi$!VqO#Y(Aq_2ZRF84R zspi~Fw(>qzM77GXzTw%+_9pwZX;sVU1H0JYRv*O5GXoptw$>`dLoPU_TyDOsO3;l2 zK$@Ypw5c%KT-VlC*a_Ub$SsGww3*S>o?b}ibN}Y`Un+$=%p^Ee2RkQvLWn}oKKVtX zIEygMS{y6ifM~onx`gJ>_1z8zNa_CCBJnHM#k`$9!Q5rtS<7no4 zb;r!oOUw>@iPeq@=5T}2hTP>qX24FOg=>8-F}WAfqwvDZKrLs~poA4J9eORcx53x=S|#s?N;DRg+%Rw|9G*XHadCElPY*G?H) zNK6+DchxhmER4*SkojN7LUSxGrJ3oSia$vE)pLzT%$}uW^AQ!(J4`{(GM-oY`*Ca9 z@E|os_zo(1UhMzn7J~|$+XBz`+KgJBUg3g8#`71t#JQBJ3irG(LVKqZ)U`Zd2uw1C#uK0Z+!L@R2?7^2-94h=7qTQTIz2KN4xpd9n$`W@VX*&e6 zd16pXQE9&@=lw)$3lFwrhwGrU5clMLxHLfu&+?naqOp-A`)=7?LW*Y^aUcJH zdQK`P+n!Ce&@p;<<@W|%)|LJ`3A3lGqK9n3l}%cXUzcZFWoWcyQ@`bjj>jdYiu9<) z+G1O+h1jZC?u|6rBgW0jO@Q1q`FfTLmOtprXv&-`(>tTRp(oIU#p72ceHFnNNXPsA zz_jC?d=@(17b|_-CH@Dq|53LhSfF+$hYEU`@lf}rF+`2FZ`Xthp7Gfb*3+1wzs{a{ zBzik3%#!?wcZ*;&m}HsKb8j@3mZ;4TSr@JN8n)ppf`*;WgW55if|6+gyD}SOMpEu! z*A007QOhMP-UlP9fQEgPHXzxum1A=}rfd*DLkU~7@>V@RJA{!jH4N)|lyNO3w+tnq zmBf=HwgB7q=%-eHN$J$Z?9Fj}NHJv~?>e(Ig(Ga3T7wp!XrPV?CAl^54V0sU%o;}c z3uT|RFsW1~Yk*IqhR~y1Zv6;nbYrzvLmanP3+J+bL!HpXws`fM6Sdz=K#cVh^LSOk z;43_p&T$3QL8N{ErGr1Sf~%I3;3aM|!nqjCb~WIi>p`*4p$B2&9<_ zp*OK6H^FeAm<)I3F|l0v4TvQ_Q)OO@=Mh_Fz!5$nUw!Taz0UHc_7Vl{ngiH>|AMSN zV-S5TPjj~ZVRADseBDdsh-N4oTHk&7VJr(i#yeRH`W=qE z3Ps%G&R3R1G(GJA?bqsLd@ zMvp#B>?4%IPXB}R2I&_YZ}Q@UNsr9NcZbw~xYPEU%aGt7>OZkGY$cE67!8{NO%4*N zQWf$d4+i)n>ezpZRi!H>w-x!`{Sz*}G+pMJD4igQf1LBSM*sZ^=OAHU zBDM!LE#dg$+b+sD7a)7Z`2)v(sDl4Y*E9%4RhC}R8cXEf?RW7MHKEl&Ul5hrkU6F} z`likPb-WbpdYwrE!&P$rv4vT>ZgU}Zm28!h7a)}er7hzKp^y&yoCk@qmE5b1VR*&_GvyB~GZM0V2CK<@hN5E)+SR{8(gzs|+ybTXv+&YI`v2=Rb*x)fX zLjKcG!-1r3G0y*5f7DryG3MbP6hwtS9?<=N8O*%?^<78@Cnd{m;_Ms5ZlkD|>{_#$QSrb>mYlJNI*}$!rVnBTjt zjJ`kPJMyb{ovdJM@k{*VHtME+k!@S3*e@%feoJj0SpMgtk9c(A~ zdC&cZ{z8VHFRZJwn@>%mgO54WVfHruHM@LP5*!dsYU|er%1$cyD(#3y1p^NHfxc(t zDNL~=KVwSs8PQD8wlInrm8M5V-~A^z$DrBxDPG8{>kh8k<=*ak@D6Kf$xCKTOZYxq z8Ec1_f9+dvPZ~aU>Z6Q@hvt%@j8y)%v<1eY*E>Oxaqon#lF%^q99~!xkI=#0d8CT= zrh$TiU%Ciw5?tM4rcNNeMtMiwmtBTeXl~eyaD*EwFT>7jp15XD(eVyfmKRW06ed_e zQLvye@GC~Q5~QEaL{o{QrkjkEo;t}ce5#9Y$rr(6zQRft(_p2Xb^knF29qc|0v`6f_{kZsgVAJ#b$?2&ArJ*?L89QwzB2JN(Mk0R&g_=Z z>RO=qm~(_Zzyy9r{VJYLeal@%)3x3FvqMw8*1Uk@Z9_NxRUAw@t)9mw21TV?;*3$QD!h02bBh9;pr4G11L zT(xFh%fmVQ6PoNLlt^F$@!02W52F+{Rep1TMT@spWJQK8!AK~(WY)CQ{hTXcui`Ih za)+jsJ(CvxLZ{xygNm#HcE}SRj4NT~#q(7%4c2`eN2|G!Ao$G!At;OyWmIt9o}h}3 z`narN=acq-^Sx|>oJBw(FV&xf|7JHd*B>#<__Ez7!ZfjlMT z_30mo#4>tjan@H&sQSUHx1~h8jiQtrt;Yl-1-d$n3F>&pKpwd%{+*hZ$s*pXQS%wv z>;#|Sv%S|(+OVsBjD$+XV|U-#|-_mL}eXrF$xJEuQzVl4pl*F;6%=H2CY6*5_!>9-!gF#5gH;@p{1WUTtImvRsS@zLi0Z+%(s~_A@|2=;!1CEvj4A zC_S%Cp(N{(Omd(MH%KNA%*@ao$!gEkERpMUS^^Gcd(+LIsP>;ab`uf~@~E)V*Zc+cvAii-AE$!~rjD2O-J7c|}ci?c~Znk0&Re(FNmDT0E zakoYBxbN4?Sloa2kW)->0me7rW&Z$Aj*IPe)bV#*tjdYYx+$N3469`@5JLsge7@Q~ ziM=$x$B0cSuJ>NiON~o7)BF0UTSkD0b(h|K*kbpD(ND=i6JOleHuI zug>5v`0`)gIhY=Bpn}&O-2PLG@W21e|9zSN^Y#0`*XI9A*G8LJ`N6+l0RMkm(eZ9t zr4Z+6-L2)y@E90?Fo8->j~Dz6Q{|AbT?I(}WB?Qo!v&PR*`Z zgT$M+&_s8~=c35dQD3)8-2q=z(-x zUFS|bg}?IV*G`K7_>70p%9IzMipSRW;?rHHo0(&i2oB(45(vlJ%XVXz{sxdrD0bj*#rJu5L*4wYlE-G zrxY_0_h0v>|3$bDKCcUkUsRZ@}2V0x*B~ko&maUG%R5V1BQ1nC#yv z#edls|M^3fJ{&6fd>WxDhcNu^BJ)lO(o{g`ipn1caJhPcHEuc>IvM~7wJn`r6siuYe3*{_wdVa1Uq9yjs}IA-t=7UtS9;GbVSCv>neeEWUx50r9K7w(^C$pL1^5R4>k1JON9fL*Ou95KP`DCI+q`DD@f;4AhzLp0!*~ zu0!yhQ2DE}$(q}%+7H2Ndy1N5FvFrdG|x3h+Rqd z!W571{}qV+pPPRGxnESA19g8m)8Qv0P$^_97svL z4(`ByWhQpj;TaHNiz8wvzJmaHGj30$-?ISMkB8(fVkpmpa4SJd$mX_q=}I9^#ZhJE zP05=NMrxpjH6bupWn8`(a*G4<93hmUte_NNvVW2EzzEgA&~u=jn?Y|2B^(r?FFX1JR)*LDX5S%LgZ1*P2ZH}S zizGtw74?W_1sLxbJ=T=|jCIl}+Ln%2DR*-`_T?2c^dWV$u~(vY8flh>tT@)e*kL@| z0)%d>c12O7r32ZCchxc^uFq$T2TkoWs^duJOkk1Z<2<3Mz+f{(b9de?fe+(TQc=lf zaRa}Hn!`QyC7?*!=W2dAcun{Z0KpYU&gOtDxta~`(Q^B{eEe4qTk_YgIp-Mvb!?tT zfVvT6PrVAkWP!gSPN?k^v!!4w zIF{T1$Qk3_=Q05^amKug#UQOdXbtWXqYuS&JA>UOZxjB-6l{K`o)Gr9kwp8QdggHO z3|NuSu)B^y-U(j6?2Iw>%wr77n=fAo$qLKLKG>y`j{r>a3+9jk)=|e?Bg=Kj^jVgA zGb^&D14krqyw?-NpW=|d+4IE;45h=~$c0UV0ZCFko9a{dI z=)q;kQ6aF&f4~bZi7He?MRwJ!5p@oL&fb)HLgE!fc=x9>OB-2ZAhh&8ZU)?2|IA@= z5hjPjQA+hFM{?{#2s%ltIu%4N1!)hA>CY_V3Qti(S}{yKK*)8Fb>IQwYFepBiZ!+8 zOQzbJ0T+C4W6vULM-Zn-58Mfrl251qc-8Fd4s$2|wYLE61FdJ>@)`7z4;P0!TLOKU zcL4|c%Nz;lE;Wos#QzXT=iJ6!K~Ckrl`QryTUW8^xS8>Qw~8Q$7-s~#p$dWyBK$=* z`SAMs1y>s2R*h>N-2`nU4k(X`%9yDNqcPIX387tdirc1}KDjpwMGwCg>bb{Ok~R6o zz$QBg-(Q&dZuw^4&CebHn$1ZIU;;*iO+idgDt!qVZDi9W*s=sB2Kr5c6Rv0w-YP{l zi>7zA%OSTHy8&phioJ?8=AtYTf$N})jAO5vF$?3LrJkkU*soi|QNy6c>f0ziseFu9 z=pHa_FZ}B7ut3-kAzoS~LD6P@(#MXf3@rv6-=BGB(GYW$lKVNov4=6`x=?V89xnlP zOb6o)c>wq0KeUor^j>|mUVPloiQc^{TDQzV{1_nL_u_NueRgE(QwVX#GDOMy5PY!Z z7no(kjKz(14$Rv#*nvTrDX-y;#+g@WJyfH-;*I;-|%WcR8LJ?7@vN#xo|;o>AsSqpI?We>xE#S#vq^*ei^5K5R37Jkl3n-|;G=M-UAqLDMxEI2HsH zkhv!ee$&}B{4Bck3Tk<_e&&|`3|V=|zh7Q4o#NcbLVz?$T{X=(UjcKS z7Hl?TI4xA+<-JJ!z&q?aWa&6q8~^vn<6d+bX8?3Fla?c8N?t%)F*t8l2uhb*$1J;!Rm2%t`e!Ij)Zo!b^4xd0B5-~I#?AO@7UdwCcz@_z7@XfEj3E)Wd;Qf|&)7aU_y&}p1r|hl z9?$@0D|tk^^<5g${j5=WWb9SuUxHP0d9#u}C@!s;q{ko1z4C{@etGTNQr8T(F7j6A z`A)dXPM($l4v4lkmX8Vk4<$MAO{86;zIKc1fGtoDMBk9`#^&3@qwYh;1+WeG9qxmw zPZjBjORu2P;R`mLuU3t@GU0;fM+)wzXHR`mG?lLu%_o=2X?-A9v@HUUo8cI_v|7bzk zxha7DC<|pH38ZR%c`7=+ea>j2O< zGb`2$K=cKPPi+#`I@E6HHb#`C6ZEk6WL zzyfk*W+&rWZp-G!W{rdgAdph`P=qp(3Sj6N(KZRrm;@xe^=A**(g&0rWV|rFFzjQZ%vzy3jTB$^wJf#vcs!28$98zsG}WGf7qWsKaey64 z;m*E+Tx+8}=SuY2TLUrT?W+Xm%+CJ!Z&MXWtN3Ogsocp@$+uvb29LZNc@_}H_{B_g z1|6qr_qe*R6Z2|oHwL0x%ib~GK?+B#`;aS*qdoUEODo*fEbhIM(DgUoUdG5{*54M~ zSlL~*LHwKiw(>r|GX`0w**u~$Q*sm^eZ=cgK*(_br9UqEQG7%-mPK;cJ$GxK(KZxu zyhxC_a@0s~N@Y%1O~8yU*=$;jf7K)}qUJx9JjQ30wcMV>cMm~P#Jh&4SY}zORVeT) zvBL`J0aM`y!6x!gyOh_1-Yf%WA9DXG%U(hL%hn9R4`0(zDk8%Ohva7ckLCbAd%s6X z#ih6W6C5S%044Ejmg&%K$w=m*cl#eyOH-_V3#{RG5a~zAz19rvOEwbF_E@wJMw|rX z=qIbHbben3;>7lrA#WwXaZ8$1KK{w|?oo`V?1>a5@HIN@x2jq8xyoNB7`h7E%k@Qv z%g~0nP<|w@9Dq>_1AI0OcwIa)C1Xl;zAt=;?sN86kS@35*bt$rIQv}SfM2HkZ#UzCg@{HBl&wC=zcyv`M~gj6NQ1(| z881LBO%ckAW(6twct&%#xW1p!~3xI zTEAY+-D%S|i$`S{oP4{_v3F^Iny?4!kP^@^yK@VEfJ}-^KYTSQN%p-@F2x|E?r+Pv zCNSp)t4;3IPSs&|Qtg~c@f=Q8kJmr_DynYN_!01{OY5pmpg0Kx6mh=RqZ)Fn4K!6m zap@B)^NY7Kk-DBsYok2>DtWdTQO;ZCM}p$Q2o;!Zu%;8XF zRQ!0<8MxcLPZ%fhyM=uE5_1s4A5-)KpeSR-qx<*{FO-Q@quoT*--JU;E*X}MD?P#< z5!6dh|JkKgh?8+nG2lr^A8kMVS?!a$C`MOD^(^r;yPV13ET?DvAJr9CB)}P>7cAK= zFt5#LMVl-jr7@ddDJ4eChdGgPB1`qvy;}{02{ta8Ql*;7qR1_hPU?H%aL2?*RPKfG zw-0C^c2s>pMCl|(#51Gi632~;h>DZKcrm>$wW%cbe7FzS=P)2}844P@ZZ<7bzD16; z??Wfh^l_I~Kq(HsS99HwosCBjID2C8BYrV+ku&w7YwtH>7p%z3vfjkrd1#p7r$Zx| ziIUxlE>wn^=RWdj*Ohmdt_$Qy#|Z38+4TdJx8=CU&a6t~eqc?ubX`HxC&^vB zE#->R-;-xV|I8U$VcIgjN|-9UJd2^Zb>Hi^JIJX-zn)5)1lBdmO*!R6E>oc~^0aj} zvtQ&~A6wnfWW_YL5q2M{2WO!sP1?iI8@8e=c4k}i1fz5d&6dFC>%cV6?X5F{(=#qQ zO~Go+2ELqLSlP+`QF%z--d_n3(W@JhYFbA2j9Uf=o*NdLII8J8tbt7crDxczJ-EJ3y&b#tyF z*P5^M4j=y<_+$A+LB^u1<3~H@rD=`$~_wOLjzE4L<58wXi%o#>Nekf*FeY~SHa6RC%`_ZXhIH(nj&M4;4uHO}7 zXR}uw$X!OMefaiq+7f>aLhrdQz>E^57H2Q(ql2u?U;Y0K3|m*EO@JPyc>9Y7#0)Y+lN2Sctv@Ndchpp^Xe z1oFA=c3*jGj7XMjX>65Z>2FINs3vyD;Y2y8+f5$}bCSK1hmq4zy{bO${zEZ3Hqz4o z4tMDaiZ?SfBv_iCETunf@KxWs0Oy0+Z^vND+ms|8 z{Czhgf_q+Ga2HJ_v1@(3M+DsZIXo?HVw-3^lVtH@-}5It&4X#)i)~Uki&n&+<&*A7 zOc`j|Jo0>(KK#q)?AFWppnL74es{rh*n9EyaMPx%(ZQeRu9Kb4rNi7=lunb5WKF;b z@a89+YC@RhUcLBIVT^%%DvzV|L{Vi37Re8h#5!ZROXFsxcQ+(=zV#M2X+^lB%o>l7 z;sNtj$9Jq`is)k>l8e?czLOuV+%fos{^3l(#H>8F^In z#d8?H1}P+!z+tu`U*tz9-8G|uKk&EI ztDSrCnZfK+psmBZw4A;6Uoqxu%F68gir=)Snmpaq^|IO1fH%DQ9VjI8lr#QZy0~v- zb=vUd`o#>*RoiVUEKrJhxcJ+MfT0})ox63#mUmA=^TIp{#gKt7WX>`(4odkAAMf-h ze%SR1eo+)6m%;bqC60Iq4tqFCP5ke59UZ_sa5KBO*lzM@hZc$d;1-y)*flxqc1| zGYPu=@_2v0HT!AI$2?Bm=lI9M!ggsI?$CJhOPr*6)kjd>dIr$bHbmrsD$4b42xn29 z8l7d?4x_zUAQ@s6ITnv}Jy z7btbSpM|$aco29eYZ=0c5EJ{wi=*;?OH0CFh%_-`NOkwU0AJoGM7wP(R{`^n?LwWC z%j-$56Q}U!2d@OIi62C5j~8B1x@p_|wvX|LzwZVD8PW!A$PMmO?w@IQLm z4~qU+U}GYFNC|drajl-Elf34bcv4kL3Ve!y$!ltyknKld*W&;pcy0V2G*fbo%BL^# zRJCUtmwAL0-MsAi=G-p72Zl_ICr|spoGRfZFAX)yCuGD}he;=@ z1WfRUzYA0#1c9ywPkjrFpU(D0J2B_Mc-(GZIAQgeCW}`~yu_99-=CDua)vQm>HqvP zof7nSX-mQ;_>t=Tpz|-o#@rF@M<;w;Bz{saJxgUe_tz|47H_HSwplhq z;Y1wtL}VTReVGG4=f5AJhs=-rHr1@=CwA_e0RqIn<-OU;MKD9me40KDT9-k*aOU|_ zcdN(Wp7J2E@;&u>oghG?kq-l81}dNR7e8`Xnyo)9(OW)-@oS(ER+joLy)~?X-Uhmk zPiR{ul_Po*OGh z`I(L2@2?~N=Qsbmp8kGXWVHKu73FiBhh4h_$_lJa-|eS`n`Zu~YV ztZFqpth2xhb59}JcEnBk0T=k~02$w?pv-r-vv*tefK^Jw-=`D6hT32Pz4U+FI`Du{ zqwHY&y^nX0ui|M}0ppCu_5eIiNf^YU7%`8y!tb+L$)AG?so>II=i@jkcoS7Ig z<0DXAO-9@IZ6)&3XyC%GflKA>N4OCb(YsDGvMM~d8REMWdF?oE^w0H)p+X{Jn0KU* zn?xL)DtXSw6vxq$R@4MOOOYx{(Fw@<=2`AN1jfnk?U5duocWX962Q&a?hgR2gcHKZ z9I9gV!2$M3q=R8-5x}WGGCX!z{s4`kM~(>?$h(0=+p>AHa1P}+8zTF49gsb8nM?>y znfKKhgNXW9oNM4GB%I-74_G_L^rl~?;8KrQEOw?0$03^`D8R;7W5S|6CM8lG$nn*RyT z@&XHT5wyVj02#)t1>RiWeoq@Omx8(T*X@oE>1$w0_4}YtVA^23+Gdn?!QkWsz;xfh zC*52C&i6m&D* zS?EMrZiUiNy^wo`v`V!O>j0n4tg;rEcZnQkYmRFC0_)Kg5OyP9m5`!=#Lf>)GY<7J zEZD0b-IiuKzO*9k17<7hx`yR)ZQ_X$>lYm(cgyMe*VgaOL5be=a6R0+>_w~LZ~4n_ z9zf6a4U@Bungy>t5X{^MN&#t7Y4^3Eq};pBk8TY>U?&nvz6W$Y(G2s{KOppX#`!G( z<-W<_Jfi=#U3>){vE$@`i0&#^lP&#gyf7LXY~!QF!~&<>*O2q^n1}EakvDsgtgk8W zH?ZIMyu0|VHk`Gp|EMW80gnSLat(YGR^^((46%7*!nQWczt<@^!gn%2hfC0c{nOE$ zX1dGHMDhCbE3k;YkwbAW^tg{7)4_jYzX*ZA+cfrW>*9TWaeyaguV>HcIU=lj}61ZqO4NKfL z?#@;g9w@f4VYs@btELHZNL77zDF5vWp4nqrvb;G!v;C=2DOI7G!uuVXLhM7hXoIZq z81|h6pq&E4TH5o1t_X{mvRm&_F0br@<_?-L^%xS%j`4`~9TmY`{F)X%&4zCs)s=>Fq z62%KM!>mmvP!}Dg0Mp)EJx3a4>jXE0c*pKu3qI>17nA2~!Et`U#1?eQaRyjsQM@um zkuSJIsmhqh=nl>rE#jLKY?+M#3E6V$XRvjZwkvn!F8KBf+3cSM=!Rn&zVD!DG{rWc zNS2t!a6!dNoiX4Rehs65{@dwQ#y62EnhC1zfN!8+Sp;O?_%k>#q5QavQ;((;xI_8y z98BwH%GIB?Xc=ApIXDm@0RymaRh!Hk@;}}tcDywn%?^}GKHAT%-2T#mbFxd_Td1D7 zzj<-B5`Zg;(R~dDY@1+iirg{`L~iY@ZlL{UoW#_5w{g<6imTh+((HZZ@zg@FFl(rl zBZHe@mbfmK@@b|DYyuOB=xNO)W@rP>KO1n-E0psXA20~^ifFPgKLx6_v!=Vw*F1bg zxkgMMBiUEvUy<&h=(Qh}d*BMftgFAL7cvWI%)lQ+%hwAWva|qJWYjBWdE84N z+Hki-M>aNvM}lf3^VLWQ=ac*)k zP3hI4bFeuuRVXdhzghTsTwUkc`jyn939&wE3?l%}_w97-vBT8oVrb&f>CDO387fB; zB8^?SImab?OC3@=AdM3wFREtXM>Aic6Q*`IRq1ttj?s_zh$#9DuT1)yqOXnY-<`Yf#UTuGr*tn(-nX-h0$KRos55TB{+aZU6YZ-1MIl{hd(eyrc@AMX>p3QV{2l;YqX{SIS2RUnaE42>I= z{wQ17UY-3?!Mit$GA0=KeEw4C}9_PEeh zIx7_qKC3h6rr`ch_2`!>>udCeR31osi=SQ1$c?~pKfEj{lxoM7@%Cp!Z7ZDCHOFo# zi;)OLA+<}{16wo~>1>xk&VHM;Kl1=`Bqk{n+$#@~hb)47vj3D!zUC-fRnigbA>)Mn z47jA3>pDN5O|?GZjIs%Ud_<9mx&FP#xaZbly9as2qlvX zxM$wP^2$bXPAr6Q#YigZhf$CSxz0{wE+>upXzLpDG_yLq>ApI~&!C?as1NdJgU2F? zp9blzbwxJKq2douNbpzn(tWy5TA?|qk-e!>{jRJoS2`bOtywBi=3b0jAIUuR6D{nh zI9A;4sn1J}I1DssrZVnQ90H)Hjusofzq4#FtUk7y{;MWGQI9p25I;e)V6ffo-u?~E zELwfni5q~R3h52@gf3KQrl_ejw^Dd`S%2g80n=G~eU<|G_ra_J6PxSE_+g&GR}Crk zD`aX#584ika-)t{k#uYLYt#i)iZ?Yka?J9^!`t2tY`x9WYTtSCCFDGBKhKAH$wW7p z+LWt)9lv}b&udM2i1#N6k+ln<)jppq_BgPq)U-%LEVmt`p{^+1c$vZrPC=+to{aMS z?i|h<;aFI?^vl@*l$8`-0guM(H8hF(so~Uwnnd~UF**gc#{4i|GR8O*AW(DFp`|=& z?NOY{Wo&gVBy3xItTae8wTgJrk!+Ao(M!bohl39@bL_;Dl=x8Jx?P{*u9(~K1Fq4&j zf*IL>NDHsP{;6L*2adO`O0>2YmT`?ID&xsk)P(!r9N12UwO?J!)R3^4zbH0p@?fZ! z$Q9~yiwU$pAoz{P*}+T_#$si`fnp+r#1vqd97!dy^i4&}SVoknUn7Wsjfgko4-&YM z=vYp}#NTVvtt`k~6^ov%iO=#;#5oA6Z=wdWetcZi?4B60S8JYlBFy_S+~bpGu6&eV zl;eYq`a-ol6^+c}=3wUB_!v*gLgIr>8kykp82E-6CZhF@)eeE#Xm-W=B0?;>Q}p}A zJ}e5_iSY$_MoIZl*5Ki{4j=d6;~e_IyN+(`Qx8HpFskep|ARYwV#7wJZ5 zv!GLZohOdl`0B4AGRRNd^cz?Z{I6umU^hJsSEwHbrVu zR)a#*4%Z~mm0%4jwv1Gd?Gs?16lreQY5)&k7tgOrPU^fOhposCZ=zUU=C2PTIVoT` z(vi07TD~Ty?&8V&A*) z05h_gjT{yC;J2A3a9$T$O$qsBOu0wT@1uYHf`irLn?{!$!*uwS*flY@V^(yVrmP5A zBgp?Fwy>FPg^>62_`^Ye)@0qc^2tYgCq|@TLiFTXd%yeTw_h6=LJ1+D8#r^9`-tYG zP)}_iOtMb5Ul>yWf9X)9RKk&L?G-FAfw}) zzQjL8I_c1;U*SZ&(0L_j*_RM_>4zrQ@K)_KF~lm8(V%x=Aiodo*_Yoc9dF;PUg~8i zEGlsO{CF$XaMa-_W#P>;88Z8$3UGlK7^<%VQ#%G0GF2kYcT@Dzsp!_*9rBYO9%ISL zCX8SYhtQ((A$25n@NdxGFY9;BFj>y_Bt&NOEfyGiEoM|dCUZv2Lj0%1j|=5P0^`CV%imn{xIyEq*Zs%;KVxG(Q-BeoJZcyuOiJEq*!WewurEp`=Mx3l40p`;$ z^{6ND$E{h+F-P(}`eH+ZFxjO@Cs&UKwv~(Z2A24u0!vFc{~$_%?lmphAQvWG zGipjm`gMU?l|`c9y7t#f&yh^7(F`C&u@&s#oaDIEXu!aH;hvQG)jg;`2Ro3WAHt3x z8bVfK8eStrcsjTrCV~@r=**A5rL?h-5+Qj$rQ4Gr_)^3#mL`yU0vj$Hlp6bRY6~~o z8avg|uyiQ67}v?(P=PlJG92e{a^Xq=p?bz+vh zbhAI?!&RSkNms1?AxnuRSy~uLp-{p2FJ3%QAq4#%Ob!U7-rllx3knxUg zqPVjC?Ta_!gk{%nIm7G{!=<*ec)!b$Ka<~)^+|Y4s8v*~@kw4O-C)Snwrxq+yC{Bb zXQDi6AL4(pJkc0 zv&j-pa>hU}NzC^}c|}t&P*MlXbNcTwGTjhW52v$u30J)OXh1hjEdJU+R2}pK&Fsb9#=>{fSi}krR95mu~B3f#mmTR zjj$2!Anu@nFu|VoE(Yw}x?s~{C*I#=pMr|Abz6UsD(ClzIK^=Hp??LDUB2uG_tEu1i3F}7 zJ>8SpboMLpJnd@5OS^fv5{xkN?h-tM zss^F&&6^T&QTNQbe)#1*`UTmAnlS`@bKRdBB5iRc@pt?E>&7=tE}%~!;T2g}yjiqy zv>qoqw<*=-+3t9cLr^YI!j1pD398&|>aLpqXtmCw^Of+B=;c>X?VR?$SJ_bc1e?D< zl&BX93Y<^nih}=~DiDn#=ie>VG@ECGwTFg9%)uDj&hTvgj&s+7a{EEU@F}tWBLOjj6abYvuu()SN`O+fn$ zNBC@FEGwfK<_FCP%qZ~vG->j5Bc6HEsk=cQ;|)u5R48{V7DL!{d%x-%9BI%<=`A?f zV4x+l6R}PaOaBzX`x?!!=vJY%ukFyu(9smYU*HqmDdLtZp;UtCH|r$rP!W%=2?1*j z*Q$6tQ`d)n>I@k7Oy}!f;n%gF>f)_8$fw4DYd?xk5|9~)7rVfIYE?h^h$6XcCC zmgLP4or76rDK9#0)4jqDif89hMwquo$l+O5G`IZ}UjNK{vQEWR@vF{9lg=N_h(Ilu z$1#vNEN^bCUoi5OD18ZCgpE=bwCvWw80D=(m+j%_wYqz4(qA({!CnIf9wcNXd#QiU zi<$@4w<=q@u_+>E_n7nVd?ab-=Iic!p!U)8K#(rGQ#!vV15O%qs8xu?^Jr(522|QT z(qtCpI|5*nTag+nt!uo-TxLKQpA+|jbZ8mG1ngL5Zdmgh!%lWa59ey%>0peh$qcFC zhF16My9{wg`0zn9h8$VX*<%mZ{m!%voL7buovQB9BT1%4PNHz*70-< z^OlNj(Z4psTK{Lp3p0HM*i{5dElyCFiKI|QL@-voB?tWI#td{U3rP>ll z44(IKl*xAu=jXBH3e7;AjZx>AGbL9dk>3POX2z!g525ZF;!n>t=}rmWE|9_lKi$&N z-(!e2QQ%BDirH!IdR8o{qVRE6#8Xv|2G_})hNMnH^fvR$l%lA8>uc@1PfD}&H0jmw z(Dwpu*BPdu(mrQqKd{=G{Nq?tU0vu|Fj7TB|5W5bg`J;2+O+0fu=sjdnstnqex)VL zDUTi9MEP5x%)GBx;W2#Bw$4`p;;T*O1uJKP3)N^A0`9Uh@GWPgRk zQ}Xj7`5l!&Ii{YY@maNXy`>j@OENE2!O+VGTe3pkwJnGa51XvoZ$g27mC? z=$D}6zUi;OW_+vGXR1}~BydQvwdid!4bunND@@2@_&h~AEhG0z7F6n&_x-9sa-^`-`F=dId$7*xM zNRXza0~HZM!QtNS84y16+P=QL&MZi5d0e0FTwAyo7yTZW(Nyd3Ua%EO>5?Kw*ab$X z!0~%eOxKxIs6IgNt_l7je)zP1 z^Cg3Kg$7rUQ{D1iSNRj#yV=hLF|Oc0Y~ylaW<)<_ms}3 zYbxcnx#Plh?Z^>z)P`wJ-+k|!;~2YKmja;*o0V8o!V_e5*vrpzO?LRb?_X@FOV^vv&1;vPaini}vW1PPi(8B!1gKsUD)|w-hALmFezI)=x%8yz! z_n}~FAAe3~0yCK>YE{R6(8^@>dz2XK(f#b0XAQqMTXB3W#WbgL+xsWniw}_j-x5|& zqn2N6wrXt?q1J{)M#n+CSxJxQ-f-%fKiaBy$#HHN ze)a)VcKSp4t+GV<+UE|^gHO^ki(+m+98?u#MqNo#N=4rzh{6}y9{mVM(n2}dQd|+n z2a;)ZxJ*ZUQw#8>x#-`nz&~@m8_<5`p5Ss>s)(xo%Rj+Gap?D&(_+ofl9GCdU%o% zgRI%(8`Vf*q5M~M){l|&^{>V2zlc?<6xPI@S@<9xsy2xl05INqaXJx1|osyKRfRQPXc~0#u4;z`(7PE5dN-XG>EXBch&29Uc*pB}bWkY0M z15YwQi@ya_c$w3WjZw}&WX|WLc{KOeK$obZLly#vMIx^6{c|0F!;r4P znxL7*xCH{);yp0Unsq)rKLm;rv#BIU@=lV(=)6H}gmQE}&~MECwg=geE%)W@mOYkz z{iGQ7VnwzfQf!kT<9{`7Abtd5nyC!V`kaja%10ur(!dGxx#wa!Wtso%82&Zr(hbBV zO4Tt5&xb|#IpQ{vcUerktp@2f@;e6j?R*?q!RA!ed%-ej zDDe|OUSoOLV(Za-B>Vgf;78cOZsiI3Tz(V5s@K}LSuaag`qvQubJ9!rQQhv;aH7{( zjTa*^Trj2owg=kfO}nZ zG&z9Q2KGVtf{w_>fN+nG-)7P&05|p~^0y3gWC)!H3(bA^WnT}v0#3%2cg*$u5q|^U ze_wVJsHkpAbtsaisk1;GW?ussV6)O7GTbxb3Xyiy@_UK>#bM*=VyW93SC25U%tBUxqHc9Q%aQb50954&EBwFi?*G2HkPHP2)lH?Y2-O@^ z(N%1rV(#U1Wb{>cQ;{wll6k0*{nz!6t6+<`3jp8BOp3ZH$mOu5yMF()#=LDQ{SNqb zZ-|ISpD1}Kd4U)I&71!^nOgTz-6(4~Nf+WRfh0Uz6`2eB8N}G~?p}t|OEsP~A`4dzU z6@=3X=z%sM0Lj~5+4uqTWJGC*U}-G%lslJ}!^HO+&BMPw2xh(@tvaWqxjMW32Mjdg zo|QIZg%Nt-%Ws<26~rA^q=k&y(d)r)yL1DKxo-mlob{P;Xxlo!&U+q6%5|97CSm`% zOK%vYqppg(Hx+On$5d7;o%yF?)9v?f1Y zq?A%Pus8KSI^LCE3)0KhNkaATKxK+s>mFX#pR>vlE3Thqe^I*aswG zXM(uA5(7{Psd&-iM_^p>JlY+0?AH?m0v#T9V$liO>fXgmu=@$_QvIG-8s7y6y&f{< zcA1~HdLqq2U-i?$#HJ>S4n?2s#$~fUyZdeI6L3@09OlMbnIntqM^6idFy=v4^H1Ec z?hz!`dG+Rv9bjIQ;e{CC#mJi}Kve!#*Tc7uvmW`GfouG|2i>|{GdZ3@2QXZ1KdZIg zeDc)n&a#~9$PHjAJ1?*Af7-cAcl43GqG-lz<2sP8+XIWnt4mOenT5`J)LP`Is6FH8 z@%~N`0n6>#KakfTkm)MaH1)y?JKMN;mzZ4U_IH3m>%be#4BT^UUg=((`dmjG-V)J>!Ub)YGBq z_=)($n8!``TYjDt?iVn`w4EdIE;6aj>y9w`2IvTUw4C*T&e!#>Z$q;X3G+lWn7;1G zj;60cR5_(4Vv*-5@uZuKe%c z{JFStn~5sb%dN1G@;HKNt_9`@l=ME}f~2?r&AKkzAvT`>WC37kuw5i7_moT>#M}Oq zmGf$Qc?MKG7x>kn<{Xk?vTgNc)&1j)ag@l?kW;r9bj%v4(xT?|-S#h^Lya z@7yKavMwz+wPQ0JC5uB}q3-(4U7AipdB>T`$8NMIkAE1KUT9=7XPhUqAEJ5n6)yne zHQ_Ijp{<7Dt)E6v{qidr*+Lg8+>6pTUK5VuuU2&NC@d$bN{=`?p%_%Oo#UU0fO1O z41kQQ*#+nB#9-=;Ydj-UFhuSMGdgV}2Fj92e{j5h^- zBXzXV5^CwMJ!#ZEP8vxLdlcXCek7>2_;N1tN-BKUscTTNLe^u61lNOkVa z>_+oi5$?jdd_mj1UwmQbzTR(fS?UIl()ACYcLxK{zZfl z&;ZOB!iqZzii&mW#Vm9zvC&vHq0sAbERIgtI~E}#MV5U_ElqdU4D@edx_q(`r@=hM zUnON+WeOjI6=IV6n;ea88U^fNPOl>U)lF#tgy}zF)1cOw8!bgFu)IWh(bi^n?0oCL28t+D1cRyG!_@D>p~st0+RpACh93hV16SG;F&U0$9Ft$OX3cutDh zH|&R?vu?(R4unG|M<^NWD4DNLrZ8Wavs24~u^=pwD5x^8Q92kO!VSw~QCLk^*?xGU zzOCO+;ju^MVzG!khvMIUPkk#t=8~qtMG28{rRWGDGafRYxjAzEWgzDp>^zvwH~%D( z^~jw=t29q?I}0($#Iq_B>Z2p1G^yX2JGq>^+$ zG|iwdwR(@l!BdB+C+vT=lG<_pT|SX)(K`pVNE|Hx4-S?sQZ4@IG{0LKI)jUEw#@bl zKRteU2R|&FyJHi}j4ae9p7nNgw5fzOs=kLZXWJ)lZW~7U0N(LY|E@j6xKA;txRUV& zizaN|5|*B)<-Z`?XCY5DpU!W!Mm3X+JK+VdoAoP7m3=fO-3eoob-Nwo+bh_QkIsY$ z^%BaD@l`+gg5<&e`r#yafB^->+p#Q{O=8)`$y7c|V?09K9#0L`+HRh&^Qn+Khx1y) z|H8qnYtKU;Jtcb(5`B_+|Ijr!b&QARVKlT)QLuvOF4Lo8#ur{c?rE)-c zy0#KsL_>@>`5ER*!vZWz9J3I=wfp}CfvXzx;c0JW z%rMl_I4Z%RC#!)n$GAG{cjc_f&Y4oVK3bS%&fK%WFNFx-=GMMl<`6|fj|3~13hIRz-&y{6X_s7-^7p|8J{ zL8|!CRHrD)BnL60cfuW~5DG&^=7*}q-BstxcJdnk0>7Uw)mSvR8Mtjl29p}XL-w7s zm}fjnc8m;fbJxPXD|*;yJMe3i+)BUh#C^{dftQE z)LjRQaUJ)2e$acHxcK%<$QaxS1C1USaiYh7q1<;e2+*!DnzNAEnElhVrj|dX|HUYn+jHi~b9L4DSRA zUb;+qA@}ze0tW9E->My$U)88@mRDKrD+$yh2`~RQzO)2ervk=eb`$#9UXk$omK%|*Pn!L0DJ!)c#;sLkjylE=hg z#1i)6<$=J5Gdap$iO}HA&147SwI$v!_}3&PuxVZ${7Y6s*<0wp?m_-34`Kz3!Tj$A z1Q5W~!-Y(aGniD;$zICZz`BSjs>DonBL*<=OO>TGVP?Ymk2Bu)WW$!PQcIU$*)TrY zj(Z>e(A+FBkH^t_I7ZM1Tfs3(Q21+Z&6d1p;n2w292I$5k&UF7*abeOnuq^?jLY{3 zr^XiFY9UYgPOo3`uCn9d> z76mwheDzldU8`hbQID?{ov8;IL;N&{6D`5mt?id-v(zd4or;}nd)zJbQBqij`Ug($ zLmU~tQ^3Q}(eS^5B3dlOL;daobN_1GIwW@M6Le96x-on>;Y$cD2@$S|R%peHE9%Vk zn+tKSH>nLf*CA|ICWSV}{W9?ZA{ALIL!}niKt+3W`-r_F0>ud-L}bS@zpGqXjVg)A zBzYA>+@mUXz%NzJSEjN=wfM>HG>CJBH%6w?iQ4$H`Ws4J876e=J76JP>%E=q@TZPg z@(kV5C*wy4??Z-GtOTuN`|`ZkG0>sd4Ez2E+&neBH@2pIu04_S$Zf?Cj|S7UC#XCC zlyLP)O3-d@;`7v(N;;5hvvwv3H8)ns8q76q^S#dxxUFnr=ahPE`JnuwJBLc?Tk?r? zI0MdYJ}m;GK?qMilG&~|!#fD_*(+8hz{dCkTWzB*1LfBkh$)qBcY+-#oP1n^nNmZ|)z8Ps1yVaRRt~f4F`S#~r}Ak{`0$T-0Yi9cnoUn z-G%6spfaY?C|0W;8cwi(Bw=VVY&9P3+ ze-dOXr)`Hb!2Mz)!PryzSA&v7tcuZqYI-es2<5sFn*rh7JJqN~m;=;F*VJ#xl>041L%^ZM zgk3{ArAFx8$k~KGKbhLJDHGCQ2!mo7$9TWq&X&;#ck8Z^pN%5eO8BAZV&6yMu>|t* z8G;!NJu!L(_pBB$=_gAlkaZ(9kLv90>eTLQe-93+y~h|^tSPH^u~#1~wl$Pe;W209 zS4>C$Nc9lrdJ~+G%hlSI{R3-VSA77myiX2QZ%S3yMIW`VpJvyIzVYxazK{@}{ao&K zy0w~TynT959wm|b1SbFo3E)w4_mltLa=yg+vLlc<Y8|2V z)Hqcv`)#@^Cpbgu<^6bOM0(y@JLKu;T65=tPN^GzD}9J1eP?Ce&91zjaPudO!h;>`{07fVaYxMwj>uNrhQEgUl(z5g;-Ca7^NmY9Y| ze+#G9)-jA@^+(Bva22!TQW(qi*=~}h;dT-QC>5!%H=#JG_^>abY&qlQO?-IKGUM^! z%qyB}e)gn|=H3>@w!l7bNYGxDZ18aizJBdZ8(nilp2v`QL3Dgp&C@G1X7Tc; zZEPvOZ0;D=;Q4gel9b$|o7YrP_-$y$P4ClqttxmMzIO0<1vq-MZM)uiR(xvn8Hqk} zr-)%pICP~xj27eb7SmD2-Nx^~t-gr~xlVnjA$YB=1a;94$}Dj&kg;c=9Sbk(iBnu! z*JoHpjVJGnDDe24dgP{MOcdv1!4LX3&N;kXx>}#j*B8ET*wR{7|OVz z5exTw%e2^1oy{Tw2zv<;=H9>5O7a%+eU7O_T}wQ|LVt#S!;4v8g+FSF$>-C2`j*yE z{s~rq?f&jJpV!$vH{_cnBLX8HY`n}VK4nY2(d2Gy=O|`_#+PPG?7op2>%)8xytY51 z-%Yo`Hq&W>dXBkoeNs0vvli3zAgaf+wLZRn_xz}!LJ5m35XoQ_UfZ1o=A*Bm^)MEN z=$Cx|3!O}`p-u#)Hl$4Mxv?zwVSQ=c))|3!h*4c6$Z|_>CgEZm^fs_H+{YJy8rIHX znfMci2Uzo9McSgpt*@n7Pb}=5JN`FhFK$3&q8&hQbNUAN!$|X-^$N_Y?SgBXo22EC9*5Rqg^24nH2a7ke(>`%g{lxK4!10 zY(~X=|8GRe%b?~|9V5)4lFsk+!uR}j+#=l3EKudoKRb`TRV5id8oFOXW_Rva@8*j< zDiTyze=TqSuxIW6hE|EhCBn1jvw5IPO)>cMzmT~)fd#*5Xdp}s)O!s;nL_{i`@!ju-@}U_VPtqFYQ|sILVyL` zk?kxofbM__)}pRcn^nwtC(xEC|% z@eRDk6<96;ug}I+4aSRA7MU_^*FYdb!=RXX8mh)GP~vs3F&}aU9Y4!#mKwdrvWb$w zFur9zOcInQcL%wa^+0OOIHhqBO(is}k|jEcbm{??_Du39hDzvhVQC7bXgjc6i2Nof zRGzOzHqWd|xdcV8YX_{Qltw}TttEaxSG~yo3Bc1Ls88)5p)KDU;HXjlT2-q7$j=_~ z+HhN<*nIS-bWnyB09GEKn6o{NW2y0}1P5tAyW$F93UaZv!D2^3xak^;kr|~BN2I}s zrav>(oSzqr;{#Q1g%3CFxc6Nt^c@3`F6n{{=mc-f719_fG;#E4zXHSUpp=W8w+<-Z z{7(5s#Mh}#O2@W7H$xqDni75;F8Z7fHOFFUaw1j&532{bTmW%!M~H5F^>QnI{BJj8 z4p_yB_<$TsQ}JKOfF{^Ha5qZ)=K2X}3hDK+ZPGBu3_?S*+|-^4c=EqOu(aA3weG9Kg$* zh;Bb)GqjwiPF;5-j#2RVx73Ho=F3n#kdS6?qc4e6UN4STLO+U}b79eA`2bj7pDb6& zy;W_dfq+IIG4o)|jKxs$Mee%FwD{c^zqV7AI8WBm*KFZz*huu#>Az!b5?+VwTsSHd z(jMh)4?;nohx}ar{cHL|RQ5aalm{`;%?LroT5yL9yr5vDI===TURJq~L~USisp&KG z9E>_n>`?dvD&~u3dQT5p-?Pz(GZuX+Ys}}U=tF=c%7E)BYeCWAZ%JD+0Sc6W-@Exk zk?kL0`z#~OG;$AU+>)iHdJ`B-2s^GZC$%$2M}uV+(tIyh!?G=nk>1e96Autqq&O%F z)4+HNLIV%PcZ*AoVc1G`h`1%7cK^jsgzT-GmLv7GvO^pre#5mwI@^TK=bH>_2I%}a z!U+ha-wkkCu2r=B@?I7RkzHE4BCjXzT1A?}#4NC;)grz7EEvO(p35JOSV)fc5L*)I zN+e`YV3j}wV0N1F7!>nm>CA^nvl6rXjCtC>usie56Q=A|fL4VVkQ65|&tFy&#AMr( z;hdeF9xI|@cVuBqQyVvhz)jvDY+2eZ@e&S!{WDhkPVlw%eq&eF`ZLSaV8(l1#l$EL zp&5f9lyH|8%pk%2yYX@aPQaY*yf!uyDm$#7q&8Oci7q0GO}yhgR6fHDv#19c;MNTi z>8*!gA;_dpx*p8LL|)l-95f}UB?1x(4=R84`&UGD$jJ!+LHJ1<5;-9J_vGT(PEAR_VU@BlW<3;gzP!eA=Q4|4Q36}6a=?#QdW0HH;zNtTS;3R8^~_80ELRC|+a=i%(kzlbu42xESV2(5?hqVMTxt zYS)9d$v-xc{`zUkg%8$zq7f`_XCb?4GH|gCje~3O$;&g>N4>}t1+eLPeppx`_h<6& zk8K6g!k;48(bP~-L8phVpvxAk2ijo8D5B=dDeDGh-e3?=@4W24@??&^6Qd8^4S~{K z!8MA+$my;|Z4^@^7X_g-@u3jLN6D5Z633R7hN(Yd+L(}*%?ltf`gFYB!wjO-1)<*| zW!&(Y!qqt0{3rOR7*Qmg?m3{J7y5^9LGeX-vT`JemV>E05lW%0w$l|^4z04)t99of zGRF&*IibWqO@F}QALFIQTa}EhhZX|_!8pNC^csQh?-L$Evjb%D)~MRwSj0Fhs5wFF zkc^tna-}%K{={r(n0Sk(mTe|fH={rJtaB|$D_0#N5H46()iMkG-$w?wyr$G!R)7(+ z#Heo_G=<+pnwpiKk6Be9f|gM*saJ9|`ynVl=#_iLtf{yoF(&VCpaKh-$|p!DUZlUe zz4~YM&=Nkc>=S`KRff3}iEbpk@d)9^#YC096WP^(NPpC~Cz(^(D)l#m6IOd%bKy7e zhLiND9!x;pNeAvZ?KT2;Nl5SuT)Ng))t8+(smJ$Zvg@t66+eJ9hhdMOMH;&Q!f%DE zAg(>B^`18k-j8FDD%b#;GLB0CcUHC!znLLF=TSHil1-;P?O;lW56I@uA+4AP9*S3g z^YSwJTh1H6-+$pH_nypxAFj45&Gk)2MO6s@$=cyJnaE>xdoEVQS?VXWB7Br8T%P~7 zWQNI|fUxKjr<0o6Q`0)7ac zgMA1+*$JM~9S-URHBuRkF&6qQsu&1#7Obt0ug7`|sb!dAezAWM!Kc@k0PXh3q;N`A zwSrr0`|oegB@6Mx)L$BJq`d5s=x)O4!iCfFD6%Tb;%z>!!gIs+io~F;-^T9B=+cz+ zGV&tCd@sEl%C4W+jTOBSc4B8u1)VFGo0OHS(>K+tKrDlKCVOGEIqy>lKynN0|3Y#P zm~oN*%m9CCkU%U;tWtiT0hnevMo31=8)|@jNlespE7W&h^iD2{g~9;{k4#-GW7 zC-3`3o=u%UH#1x8EqNj?AO5}FRiSE@be;tZ*c>7dxu)P_87q0JfszN& zw#FiK`(N^c9Jnp!D72r_W3ZxEQ9!w3(zM9VLc?Z=9Wc$vFjzyLg%h4~3lbp_-6LXg z$-!4u+Yz%pJ8qDIk*9`EEq5<*C;j6ElCdjutBg%E8qV`#dAm@mKEj0P&mzrclV2p` zh+`rwprhSaeKuf~?Ast6VQH#Ybwchz9d1J<05QI+rJYET&D=i(g2#^5aYDTa4c0u1 zt;8uF*-D3=;Np`6zQmgiJ$e7^0I39eS`gGa5xPNBZwMWa-&^pQe>37%vZM$f>J?-# zQ|44y82EBS*`=Nt$Z=)a^&+1EJs*2hJDE{X$RnFF+v8<6EK7~WB$;9c`zgoH3*K`-3eQuYbAb-y1-n)Wzg2#K7O>Zq_|xb85mF z(#MpW=64Z__~gWEOh=bP{+V6;aos6!c6K~$EV2=or>aUufu<74o5z#sPQ;A#rxdZfrmI}lUdwZQ zC?VF1!+70bpiocoa@KJbfefkc?ts27MI&{f9R{oOd|jItSSB% zOV>P(dT?H6_Ym=Gs8=8nNS7*GHn-BP^cs`X54c^XCaavQNHBgG!uDg`H~1f)=Qwt7 znP_xQ{|)Rr3t)Y{V4HBwE`v0Ah6jUg5`s={{{TM$Rg|TJ8kBKlJ+;NX7MFPe(C($Sas~u&o68J z(OtJ9%k&}_x%-NLre7zOI<+@u>vkBat2pQ53 z(fiep?|oLy!!0UJb)r)sj?~D|O@u^Ra6CJ@ehs7r|5!VZU}X03_Hd?W?z5rR!u-Y! zGU+G7ga*+M(PF8k_?J?^UU-wbN~MDzNSJGpH^4K5Qh&jpB81j$RD|5h-L^2Psz)4; zRp`_B65FBmt5sj+#Pw4K#3lNoY2WlgdfTA5X=CO!S+ssGuQr0jU$=8*$uiJzP3876 z-G8kdG(c9>Vp%x0V+xBl=1-;vb?NRVHh#rK=L~=V-&=WA{s#j5WAe-wu72@}mppN^ za8r^>WU!j@f=aH5IJO^$HT-VzGfrFaAhdG>%PAS62c03i&RGsS=b;J0jkqu>QMbKh z$AsX8&hqH684cQw6P(>xJy7<9KfE`*2Ff3FFD(^i;G^&adB4(S`UDPhD*NLr$PtNF z@k9ZFH=k|$L4!O`NIFi4c5-Lmw!Wc5P-gsZVcwBFz9l<|5lZ=UA%FlY7Y`}rsl3dC zP5AbOt6nWM4)#R!_e9yP;GYHg0ME$!DASSb|83UI~x$-W5xTT+KC z!~KH$BlyVqY4YEH5w-|@R~j~W(>X;-J-;?S^GW|L!uE^*&>7!tjfx)Cl%;Ul3I;m9 zNva?;Y4hMvrRSV8NDtb>J5VMBZBOahNdtk+NB9G#Xs&ISulg5NCsEe))-2?eh)|6g z?qYQvJO%<1_*HN5!qcVo>>7kyF|~XVF?5>p-oVqkQ2vb|R2CeDeW%!6cN)QS0#aGv@4FRbVH zjZiDO{mjeOHM%`7QlIUEgvzsroS`~pH)HR^ZgmUXnSO>Pq~!`ZjKt$_mFDe4M3JmY zsuR4T?s4Rwp4>S^CSn@j32F`IIwR-fi&m%nWIT>-c%&!F;#k!gNrMVYXhSuJaHe07 zqf@4?&-IB#d%sDoUBK;CtcdU+9Qc3HKm-lnOdviKy{+3R`~d#c9CjOs4z!V?gS{-x z=D$S;wpia#hAj0VRSNmXlQ?}?6=o2I@{mLKPKhYN6&DFYy0*^2{Z?VJOIj3mY&=_7@ znyx+9wlAO$9ks-J(5$d&Sn!o3gWbBsFj_bK6Scy)`R7KEmh~g_{)mcx$IGq3v|$X! z)zm3PxPoaXY`;&HdbSRfiE3s)YZ6}!4Z>Gy&5H9x@wCGzt1egw(+07$PpHb?@E)XC zy{tpjTTk}W;cP~By*3U>;4-u*lqq(B*S}i|zk71Qd(pkOrUv?cTaJ*hRX9_P)J|?c zx#-*s*dCZDucIkSY)FP)8PA_&R44f0-l2P6BS@K< z!q4n}L#g`)F`^7-$s7kyZH?lUr_@(;fH~S)pjWWntP@{Wrn!_be7xr+?QQ5ZdK&qA zs&d=Ytf0HGKN5f|U=mA&*d6Y86|A_k&`=`<0AV?aWimc}yZ~y~B*en^**!AUKl^Ak zF|1&xI!LUfHKJgZDlm|VFiNyt&W1C)*;NJ=Fuog;YLhd|g3yH(U945l;D7sH0?N#dsv3&R)TWO=i z?Skgm7!$`1UJTm(fqpOUd$q;jX_MPa$3Ktf9StD=`jbV`vV62e_B;^v3-sw5rW96u zQ7sY#os8vbv-x(YxLm1>A4fJ-Kh+8D!#)9O_Zg#XUEtHO{c1(8Y-K1b`O#{;`!~y} z6B_FmPx%P6(bgO0UI~1)WT+F@+fmZB3QWpA>Dw$4x?8D+cixgkALiJLP%WshuS$ke ziC(-uiR>S$cKef09RxY*}@N{~#jFR=@ z&pN;w2gTS-f%9jjITc;0?oRa`t_Rbkry-$d0D+M(;^W&IKa}`&x$Z*UL)VD&%hI2; zAT*R-itk%4Jt}>|Fy31&tC<`)lhcWEZOBWi7!k72No#dC1^u+XI$~l@c749GTgiI- z3s?|)hN-b!g@{|`A*qWgI}LWT#qI>gi3!YPMD95=p}hGI;%ML4##$k*0k*8Y=nET{ z>h7@Q6M=;)7^$O+Y*qIN-nrub)O)*8)d(HMa#LxhKtXYkG`#DHL ^eDN>7!t){Q)Fq%N;> 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 ^aXmx_%xFY|fgFvV>uuL& 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 z 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/cross_tabs_chi_critical.png b/radiant.basics/inst/app/tools/help/figures/cross_tabs_chi_critical.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fda78bc06a26b9e1225153fd530b2e6045a02e GIT binary patch literal 71377 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
  • +ug4 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

    p;8a{&+dc2oE^BA=D9On`h=_=&*BT9_ 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

    <(R4Rz~g6}RV>hfY8erZxyY}^= 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%0DU7u+N=BJSTh`!*V&`9#s` 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Ϛ|a1FHP}?kMI2%8aLyl$t5x`cqi?wQw1Y3fX(=1dLgjT40gOPWInX} z<3efe2Emxy@kf2oIp&bhvuX;9u+%Q!1FGQth&}rEz-U9_BWE6zL00 z?-m+yp*8fbbtGgCw>}r10z4UO2~8>MQ+Sy>MX~XW9LylvPntOTo(${Z3mcP|gUzd1{UB|>f|QH?NLiqo7pAB1 zHDZu;w#^Ek;cgUOn5ryA^(7we+mebRNwor;Y|dH03%3Rodt6^1G5SoV1l5GeCf;kY zcM{*$i)VnSiF(egVuT@T-Y0xyHp%++h=6+u{P_)KIbW^@VC4dn^*BhXc<=XizZg7rGut)mUTAvX>LH^u58AW`n(4 zmR4LzDY1W`4n@}1V95gVnrEgV65jF#-AmQ+Sdp5URUWJgNhbRNM;$E@TMg)?I*o-U zWphkU9Op}uM}D;-K{i*lB*Z6^_MKs}6G>S|U+L(LK-?u2Ol$e~K_JbsbIgzRb8?ka z6;qm6L)kN_OAphj<@E52enxY1mwHf%@o7e>yC$E~bDbq93%S|!@VfB#k|C&{FBW_f_q6-Gw?;c5PAl^G4_#1c2lc@R?qX%Li~ zyaNL?#;OmLIB;HJWIYR^Hrqj67d{U-a z0i=Zz+#=Q+{XRD7J$~BaoQbf0*Y+20*YjQdFu=(9hTyxWAd~M##T@!w65T&+6(Z4i zfRC6pHiq0PGXg2*Ggeit(xDslB>cqvD|*;iWz7%9S@`k7|wdk=r6W zdPtv{S{73?wV>>Ml(tcxN_1qoz_9!FFrGQ zHO?Io$+auhQV^rxv8^c6jG-e5`O%Z_foGy@6du_A2@!N$1u#uGCGPuiqp@a|b7b@- z&v)oQS(Wf4f(73_iuztf-aj=Fg0*=SzMQI# zWDBoSjctIKIaug{RX=nhr|??h?V)m6%?FS-rOD-4{>Vb6b&L4b*Mjwc+%G!t0|mPD#oWjV5Y{ler1uUC$*PrwFA9gn_|c?%s42h zsLa0x(GOiC?xB=Ai_$pJ0c_?(6DG$JdJ= zumvhKNj^E_AN+Jw1y#}SlQvJ}jhpvg$?O%iNeu}++9h3`&cwX|NAGK_~yg)BhP

    s5Brh@1)< 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/goodness_chi_pvalue.png b/radiant.basics/inst/app/tools/help/figures/goodness_chi_pvalue.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcfa2757c42945ed551646e75b75dfe576ec22f GIT binary patch literal 101600 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%0Am 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

    e-p{A?-OuTDb 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/prob_calc_batteries.png b/radiant.basics/inst/app/tools/help/figures/prob_calc_batteries.png new file mode 100644 index 0000000000000000000000000000000000000000..638bb5a37e056c0b2592b0390656fc51816f84ab GIT binary patch literal 106482 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/prob_calc_headphones.png b/radiant.basics/inst/app/tools/help/figures/prob_calc_headphones.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7485c3bed477d4e11561dbe1280eb7644f0699 GIT binary patch literal 124259 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/prob_calc_icecream.png b/radiant.basics/inst/app/tools/help/figures/prob_calc_icecream.png new file mode 100644 index 0000000000000000000000000000000000000000..8ffaf3c8c0ca38d9720bdf17303b865872e8f6ad GIT binary patch literal 111029 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�TXZ_QcIe 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
    i%Er`|mtTnG%DfY;7oA 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/single_mean_plot.png b/radiant.basics/inst/app/tools/help/figures/single_mean_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..5a9762da3892bb78d4f29b57030188f5abf48f68 GIT binary patch literal 57056 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

    QR~GmMg8S3Z)Amdp9)@YgusaTj2uTZ?AB5* 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

    D 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 akcRu6CEJsh-5M(Jx~ieC{$AB8^#1^^p%G00 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/single_prop_summary.png b/radiant.basics/inst/app/tools/help/figures/single_prop_summary.png new file mode 100644 index 0000000000000000000000000000000000000000..672f7375d929398a1e2f320e7c6f3fd60efeafcb GIT binary patch literal 136622 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

    Pvc-OGZ zJjXYru6*U?WE$!~$Y?obO`62nMc}||PuV>U*+V>)=-|6ajDY+I_{i)mk zzIlKBMZ63WeFw(|b`kJ9tte%+S?$iX#Hn<+u!X{db!aa#US6F(Zsc-|GcnF+18chj z?s2#_-*JC)5ul;vYG&Vr5Eqh$7-bxk-$^Jc4T6T{`gA)_CaY}7win3L#65 z_$3)F#P$_#qf_cH2=hFMZd)AQpBvc*o#f|nMtf!P#Pw<))gPyW#mKqeUg2dsGKk7{ z3d@||)B1Oi{zIVq9mF;mp;KF^{Z5R=m!N9k+t)k$30Mz5cnJ4uJXyG{KM@7*09t?t z=Nb~-ZHsKe!CMd&oTxQ_m}L8HI1{B4zGn7#3uxIYJJ}ruIW(5WGx}?o_>-xrKD3w8 zkuskIo#jh@ys5RZ{R9edSjNqD`n2-&gar?~g4p-vD;cHb-tOb6WQ#C26G^(?oyEoy zmHu3u`n?4`m+t~WY>;=%HLkKWhElV?C=iI;vLd{@9&uqG8cclb34AB_kGFx{%yI3> zcyu!$#ha=BL%CuQ_r3OG*6Nr&+r55|OPuy^Jr;v(b}mYF?;5r5e4I&6{ND4k_5H{Z zrcCS5C!i7ZPzaUM@`CyXWLfigZ9@uxf+zCaXT4p_D!!#q2k*RX=kq3em$Et3LZ1Sv z$cy*DFuHXM2tBrc6Lx#@z{Yn=UM9UqMydR3RA9!f&8{^fI;)0ejppbb-ZV_$ok7rY zNZn%eeR8ox&ExGK-reka9^|rucGDh5KS|uFI*-?ZIe{-sHL>|NM?GB4lJVzD$c9O5 zsq0mkxD8V?QS^l}mqGK5YgFT^u?Qj$h6mqu6RQ{#N`+&dqRFZK>a1pbMOMX7XtsgYbY-XOa3x^b? zb6S+Nz1yNIOeD8d6^SAfT7|J~0q30A#O*V4V4VdI(I6(BS|m`|suvyyws^0@u9vC- zE-*`XaCrOt`H!?nmuj0Ns(JYZBV$%b5^+{c zo3j6QISU7y2C~c7b7Q(c=@?%-bFI>B#g}HX}qjvy{?-6fkDPr8`mnW zn2w3iLczUENgV-H=2m3bL?rrSfvof7hqIP+5TKU|i&ac`g-T50=vF6keQ_WvunhXI zac+ViP){@gy&mIg8O?}Uzk7~>+~WlkwlrD9BVW&sYnmmKqW%;A7>-+~+UWzyj}ISA zqBg4be-)Tbr~T}NeP$+{8tFcy%->1m(=W@$ow!b%-WF)KdbUihf3+9Hw3_humkAZG z#p}M%*R0jg>HLrFwkAA#pPS|#%oZ4+7Jzj*M9U%2s>FgKRoqvqa0sy|8peQa>ed=2 zzHcpP4_|JwJbiz{@W3Ts&PFDVR8nK0JLM+x1{(z?2YOGQHf=$)M96;F6Tk;=`N7A9C_jv&CvCL{oStIHfX)9|J(}B) zAwVshZlYno+9izp`nM`hTnG{?M!P;V{^P@*Ply~!3L_Uj!E-b-d>7b97fMs8^7YmZ z4+>FxP#cce^s_Gh7@F`yYe1Fq@yhZ!`*043&)%%Qgm<;1jiWuE(DB0;6sX)TX?Gt_ zoI%ABj0Bi-nm8A#bK?PN8r7TKIj;x`hSx#o@`GxD{1{v`OL1@f?U5xzq*|iR<=42s zzkf(JR`2d~3|wGq%rf0O0hPcrdRIwWj|Z;`?!9L&o5C}nOkM)z&V0Z6S_06{ThT(@ zV5+%!27}yoKm^A|6y8kkn_@<}9Er6f{6&bK#E8s@T;`El{UE%HnLqxywHTzvVwY@i zr*bG#7Tybd8Kcr6OsVE8KsM$D?&5i)yPX3C|FPj6`3JgR$cC~I6x~(AE}^e_oa%nEJO4P8GRV9?q1&xh?*O3G=s6 z_0Q5@C)B3_c-P*opXPHBP*7AU_R+%Ud=|Zf;gvw2<0jGDddF-aZ8-udsO?QQT;_qj z;|WM_P9O$}0AP~rj6A?@so{Fbyer*{y1(&6IQ%Ho!m6-L=IcdS7v;gGn{rxnU$FB7 zF>_rMdnKZVSD!=SyDcSnB>SW))fL_ zAqxW!JFeBXi_d>k1)$VNycW)EnfS%gFW2FZruQoa@``tG@+*=|2{-aoU_OO{FS)`g zJXc_(%Kc8`q4`p1#f9U#^sCZ_@7D~zuF1ho8Go?M6y#v}Ss2urx(p8$Hq-VGYzfD8B%#nz!$lW_e+i zk(4OaYytV}V}W$*@~~s^2>y$TeW*KbCp1GB8eqBKfDihme=%qZPaK|%9A^__i@!-D&cj|cFFD0%8f3XI(3M8MlM zK4B$zdbfV~Oo`|W)Q3t8!+_xP6${m^!@C9M*}vp%a*TuE)ALT>eRAiuoK;RwTKa56ZDj{$<$4^KJVK@uX{trY8IMqZvrcvn9)>X%@eSXd6&#{QlJ2NDIVz-0$R-DXG>o;W*R&X zJ^JoeAG%NEV_M{Rj|>W{gY8t$EJm0q=_V8>a66_T43Fsy?1Lx(SKWxF4m>#14rM6-|)j6Z;UqSf;G^}95Rc`T5_L0wpy!4v(8DSMD zpk-GnI1PODnL-G10vP?3GKFh<{mH)3$=_4Xr+p*8hIsHv0YyM_4?V?Arp!-CX5^;z zWTgc`nic|W+f~Q<<8VzpRzDuAJ49x^U9lwjR;~pIt5$C_Yphu^=+bYOmxWMfeCO;L z{j#zNs2w|x1m{t#(tdGc4h)=8^Zmm__v417`Ixrx!GD_TDm*B9fNhc$gTd8~J3=Q6 zmkg)ySj&k6qyx!iRvx^S_&}ojwm_roLoh^-$1(0JI|>enqSPcII5EGq2EFPPU>rCA zlbV6~wWaq($>IBrJ^0;I@EvZ1V&-d5 zg=F54pMFS>9+b$rLn!nKV$-p3;SI}WQ{kXj-Yk-n(kZ1@O`O&(pGKeK3+*BjBiv8% zfZQSY*Y(2g+tM*l}N)p!- zQ~49fB?oMPtiAEGNeDKD7s10L8{md*3yQIAAcV9BJbg#d#j8CYRCv}AZ~UB3*|#7a zc;y`(uYp9!1%ecSEO(&3noM%E#$oY7xGWB$H5LOiI=xp6O0_0^NzppK{irCc^$Z7m z;nwh(=}L>Ivdm1a>@#NkW-0nPBR+sxJ;K<2?5_B1MZyj*@_`Zwsj%N z4M_c0Rv|As#R?3W!P=*fggUBM)7(p_A1zEAgTwGMBn2pYav|~e5krmqA`EcKKRZ{y zDEdRr&GZfONE?=Eb*)c^-;NiKc_en}oV7&R(k`3?L#KB}#L>P+Xt_ZGdLZu`h`6gt z+aZ{x_ErbbgLNRfIL-o!7_t1`Uh(2d?nZQDoDTyo%v~+1RBUfffuA;eA?JIwo&GW4 zGM-UcH3CBORDnKiF6|2L0*ObH!%ojYvZ^ojy8s|liprX{Q&oItv<7-WBox81vfEVw z*!P$xJ27ZVS2T&Xn-AitA{{1l7%`JoECUTTv)n&}`sM7D_^9RHR*yUIk|a8_!YXlX z!xA_oP+jaA_vEa9w#V;r_jeokH|c*_DSO7>KJZofGay(mYNEVCRK5)6*3D*s4=$%D zd0RI9MiRtLk-@B+7~G1kk7V!f-xKcKfAY>sJACS4EcZ@X8abVzi|WVr3TEw@iRc*n zW=IP!pl=+-M^33${)It&?`A7Qt#W+~ye>ZSWd(Eb9-#3FNl#h_RpmA=Or`LsvUa3L z8lkCv$CAok+;Z|3aoyJ0vFS-^qoqy!#q(lARV;=K%m|7Q&`|r{8$BZW59$ZNGLS_d z&Uy*Ws73wdh0lxvtEu!N>=x2?0UVBldsp z=AZTR*Pkj=kgJG|tLoVAEd9TJ_D67`q6&t^goo=h{ckkj_c#(T%%tjm!R9~qj{hy- z0sK>R+Xo#b3I7{A0T>}a_zcS_if_OEZ(QX+Kq7u3SpIJo#(Mrs&HMNF6i2Zn^Yh2B zg;WAIi*J8liC;Wp_Rx>`MiJ7Ce{R|DoP~m6I2)X|*%CJefHSuMaChkX{KvN?+Z482 z8?jzdZR(c1s0mr@9D^hDvrH6eEf^MKQXi;UVJhS!37IwMUY?;|MzjCa+cc5%b#M1t zI55o#B4kZ?Y?boQT~r}QMm^n0eYsFJQDJueawEct<=#i=YQEk@7QWc8jhI-q|3Mo& z`z@MGU=XUnAY4Luss*IfKc_ALf!Jb7bqsrOqRK|wbyxz8U{uK81T2cjZjPYBxTs{6WVp$#1?E0 zaW>uH&MMn|HxBGXGCyqAAK@)r0Fn683u__D_D>)$5m_AGlY3{wPH8gz*81%I5YQf+ zxhEDqTLKl*&s7aj=JQ0qZVWT({=WNpfVXS(*Do+jMty2p$@P)VKiko7gI0wTM}UkP z2Lr=~n^fyBa~)bgkTeWJ&;T?J1j>p>;D}Z|?_X-yX~PN?;F@NBfN?pHXyhRRg@4*! z%JpnLkI4hWp&umHJ6gb97_9l_;`)7sm%`q(Nts|o3CkNT=l}y4v0|q3-RK;o%)0Nyo6bmAbn-g(_FgaDTvwcIe!)ndfJea${YHzkS&lE zU1~sH7cKzGVb#&y$Z?aw2A&8&6Js@^(~P(O*O&@xg+=f#?Ydrj9U~fZ<-nn)24u2z z?~=4wEhEgUKojWfI*Yw_3D*^j8hg-H2qthXVvSlqj)8q;{?cptzba>4sB+Fa51n=hmfO|z9}4oMO6zuwCiEy!lZf-UTi_5XL z&whsBP-Q;DY-jYoxqwqolf`)rnV@fiIGHY2dPq=w?uSOXme12pE}2CR>_hZstT92b zOR$M`1ACwmryS|=gRDTEsM}Oh>-rbNj=6=B?BZ)54~aHVgdUQim)e88qO;=H6!~wM zf5JTGO^&?KiQMxhR9AFmne?a&I{*vI!b2d_^T#hMw}FHkKQ47%NQ(%%&#>P&SKL!F zdxO+=>%(5b$3OSqSqX&@^hc<8{m{h%gHOxTz=$g}6l6NyZ@NHKN70U}WmiR2M1KS< zYX+eKJehKel6Xcp_x-x_-@gk?1sQ8Yax%I9&74QEJVCkBpT%jPJPQ?(>jXwQ6L_?s zU-c_cGiN`1OZMaX#>bK)c?if3;V1N0pD3=|-q@~L#I6PzZY@y%OzhYVz0|R*9HLgN zo-id-meX`LKu(FI5)&bLwUFSF;h*qqm!s@1{!MY@n*u;LrCcj1|L%E;`-^a|M0PwDj z6NVc+5CwfyO7ORqh?H}@{nPawy2|OZo{2`}0~p42ky}oNhv+s~vwGKxF!pRDmR{qlGS22F9mX2) zp0W(#x!YHC8-@5endE)WV`*Ekq?H;wF65goNGvKqLMii{EM)k~KU)H*UAdYHSE*1~ z(*iFF2u_f<_$#}HnFHjw%cEQnuf4$(#Hcj6b{9E1ls93G{>~d;d+-zsp;1eBCSl$f z3^Rz1P*JA4x+7M(#CeQ~>WFQq z$vg}r^)Md{%1vALBPo~uYi~ebsR*3j)#~*HmI;4$$1CY(-hS$d(AE>Mc+Z?btEz}U z5W^22qJJ_gdqI%ASM*wf=_CV9t0 zy9a7(UjAa0{=^7AaF`@nV_$X0)~=*|d^icXTiK`oza^n{8VPyGTf*axT0G5psxuUoLY zh3>z;&lV~Y!ggy};X~%15TK%l!l@a+>;a56MJ7z&zxx@{2SD9L*ZDS#Q3*N;n50U$ zeH%(y+7nydcz-nUDjIodg|vHbA3gwUuuOJ>vD~89BA8bulf<-R+iWBjVv)gF%BMmPtrKfVsgU9oXLDrbpyJmPTc->@YOH*C$NzHRzGa<&a9 zt;CcvEk$?-9=`C$MgJ@GLp$p=waSauC^=PgjJZ3{XrTiEj{HgD#hfwnx7S|Z zt@&FMGVM=tK@IDkDk+@8NHoF_Wle{8@A&JL!UnfVFMc(s(`CN#4bZ#HIo*|yypww= zKdFe4b>rqfe^g7Z*G7XKz>FWOU|jU6wdE4MwCo1nH9G?_W@#4h{Rg;c=yF;=(zkB>enKhP%cKz0C}KX#S24ww=bA>y z=t4n+1`W&Lka}V6wRbzLLt#UL`W8%vciP;}e4$4~&|#sS*^~Fyz%w$RYo!{yF#HJd z=tQ=ZH~uynX!{FqnVz5{nt-9)nJ@ZD&h49eb0sl8aH2^hF34F+$Udeogvw`459mNn zY;A7;>tQV;^3#IJOmAV*pYF%31pT#_EF*3V>G%l0l)_4zOq$fH#T!82c4S;L33;zJ z++sn^aRhSe&me)BT#P!+JgqChC!iH+1gEqp8P60QybTPWd0QApEUydVxC@b>h11dyq+hE;RYx2 z_A%;2Ri9cXKXAi}+#D;(BI7ZQ^aO&{hED1he(E%8>so%s%kyJbGz#ZfCKI4j^sa{F zuopWLq7o`OcQuQ>0EGhkz!YYrB*e8Tecn%-WebLkxoal)fQe@#qTTmU-lTSagr(V_ z;I#B7@?(>5w?mp%TTmq&k4?k0vII}sR;PWDZhCo4V%~~P@WO27SOC#^byHy%E$mOA z`Mq%N;UcRUcAmVkd`@|p#e+KWB3~v)8fiH#!(-z^CN*FDt9sC_IIpLrrUQy!FS`X2 z%O-@*TqMt++?D{xhpWg>YdF%FSm#({_)lJdR!+~y+qnkg$v@{nwy=Ie^R@4c+qC9T z>?~rr2?(c!idVtWV45eZ_yxS%MI*=X_tFN)@ggRhl;O&xL#d+8ia`0T&EJPI$R^ED z-uFG6+y_MgNCp~3Ql!QW@>Or1hW7-<^kiDpFkrzIm)|b_35K!QNR&T>UAYbdtfkHw zi;~DzQ+SSLVrka3Gz1Aqd01CFUwHvYW&r)+fI42~7rskEZo z`J&(lV49!T*E#oeb-Y>vE|v8Eie10|F%T}UhAzP9`^DPoyJC?C2+qTnu(i}F%V(-v z2;@IE?{}sSg=;l;L{==&(?G#TyUm z{@)Aw`<=ys1*<(9k?Gq42BBdb;>13%?u zLWYKjLNe%dpR@HJm^}T%8HuVze}A%HIFw9vz*%qpS%8`VuJl||9Fzi^9v`ayyrzPRa&?e(T?18;tCc{#TL(scmSNO>XNs7; zSP|F;#p_-Wv}m^hK2ogQ!urkxegX(c-rB>J@vmZh=T88_n3xqdi2wHu(*iZ5?Ojic zZ=8R9sRt<3Xh4L&m3{=&^r7}v9T7T<{7~5n4H_a_UkWqD*B(iARbO?k)6tL8eH$o_dx0`-G*h$ zA1x>Af1WT+znjRv3^ccP#~^2`nZ4Y0#g6K<>|^~{xN!20K&ccc{H6Qi>L;w@yz5I6hQ7Y%t z-d5RZ&~c~S{{H#zrKw_u@+C@rLx+XnKPxtS0&alp33!Q~QQWt+h5=W{74p@<;vc6j z*aiT?k3e+1X^?J#Nw40==1oNq{Q+`8Z~_)~9+d0gvDnps!($BMzbAc#dI8(OA@LAJ zs`4ot143{<5N{e-+bxV5`b13FGwefdU7O9nD1{uKrx)%n2T_#(^~q;EWnr#+*gc(m z-at!4P7f=GjB-KY{~6@w!U|?=P|x}I3}S#4+SW~jXY~_XaPG!V1;?ajXD?8FZ$bv0 z^*k{mM;cJBwX$U#zz_Oa6IkHzgGxn_leqxV0lSyy+IHa$fQMTp#I%Xs|G8x!RDHcx zJHQiS4Vv6mFM564bp2!AbsL&z6OJUi0R?`*vtr5H*0c|?-WknP)=P!Z!6{H^9vn?{ z0vg*iFoC4-hMl%iT@9~zDfV$&WtBBn1K)^yyxUOc3Gyzh$Zh&^y+9na{I7I4p8^>p zP369IV#S}wQwc*ByC~SRX8Vs9z-|EGF2*Z~A!8yrh}(wKNIc)TIhN)YR6 zir}sofJt`pud=Q$^0a+Um)~9rmO!PJ$OHffKh{E%I`HnsB7VxA%f?e8*{@9QN_iGM zX*tAw$fD#%qqyi#B~p9}xSa@!)}|S#NhkjX6ajtuPmAvcZm`$=TmUwpKbY^b0l8|@ z{pD9ry+m{A1|Z(X6_`O-2aq9l4jUmd^InOWy|>qK9DVeDhdCmE=~fD*G(RAg2PvQG#vkq^7Yed*f_hFMa0XU`p-uNwV15mCXJSThcK57o*aSFZWIi|ZW zj{6q@npK)9w_6fFN3K6){ZmnyV zA8N1Xc{`@*N{@R14WDo-v2vEnIdD%ql!oWRU--vLbCNWGs(rtoon~&BIjEGB%P6pm z#7S|oxeSaZ>$f86?0ckrTv%g_Ybp3BLvUoaVz1oh9Ku9C9wO1A8wX#FHC=uCwegKD zuCjm9tdKkjA~iFauUnaJ41Oy2A$tGqUtxs`C3jw(Dnl*&ucd5^Qv7*?Ro_$TJkr`Y z^DmdkxQ7N8i6?nLS)QzH%INJ9oz#I4 zryD390FHO(3t>+we}L8CtpLkWS=F0$jUs`|3d?j;!6>{VKi*HFlF*l^I&l^VV z4tZ5mOc_54H()o1Y)_^vX={zpAmM+A485ceyz+$A6Ic~BxU*_mL>)E}9PgO6Q~C7w zCJtZVidnyF-^RH}2=aGl5!-$UYlfO)!qc4sx;dZ6FplAGYnntWe=R(Dl!boKoFQ~U z45u9Z=P3^pgRF_~mTThg{2z|Ig@QykmCrsY5Jdl#-f%yrmRy=dv`JmZ;eqmd4N4jZ z(-r?*z+HHUS0VdW_KO?Juy~+-n;DffmLJJ(0xAn3t|Y``D!H>%U=hUdO*B%Y78)rG zQ~)R9$Z)&&6t$3l$ED((GU+FTd_T~7h{G*5a^9&I8$1ci9??{Q6&eIqSxg44`f?mI zG3Gh6-nIE*6?ET^5?;B#aBPRmr4GJESqkXLw>>QSr$~J03osSN8d!ndP~I@&EA_*@n&)vIeW`~zZ+;)ZV+OW_uL7uBvdD~l zjtf^z8PU#z^$bZKIQj?W|s&MN7otF8^pGU9+Tms{2anB})pU z!c|B!z}9~N#BcQ_U{7An`eBSwn}yyBn+CnBZP0{1+RRZFb#dOFp4eeRUIEnMow3oY zc{J>VMTkrXoMcLT zBmxCdbqHJ4n|Hfa77&&~>hfSU{VN9<7KZUg+8aAIqXg=gArS?<;$83cdnHl2Jdjuvq=sQfVb!Z!F~_n?(;A>_ar zs#ym@nxWH+?FB%kSA_b_n09dcuZJZuP;m{w0P_76Ti{%D6arbuaE9r3Ex`v~hfsQS zi-1(sCi5=h%SR_bAWVe5j)iy!u))IfG_^|iy*r2Dc!*O=Y=!MB^Q3t>%s7Pa4K1{90tfcun zvhY$Mum3c%RN2zDt?dYLsxGvv+u|1hmp^4%30YwOfV92UB$1qR1xcLQ09Vj|MKQ8? z=aok#Pe(5*k;Q0% zW5zr|w~)w}ptl7XL9U)1ZEX%bSzMLmRk^jpp@i5wMs-JHQSEot5T>%pll49B2Y|{- z$!#-+(_aCqMi*Z`KI3o&$+`#aH)QxQQRuzfkMZ^B{26wUVnqGF(=mQr>578AmN(9= z{KUB11$<}TEX8WUjLQIHzNbVA{&dy@<|n;YF-<1od31P;H<{)YO8=S7ScK=(ir^BX z1xdw7*NDqvLs;NqjU&jlU1n znRLsDG1AiV+{PWUAB%Yq%LDiC{@o6^zZAb(An#UWqyJ7Za{`_d`!3c_9@(N-FvKdH zkU$KtA8pZ?bl=bZ?aLs^!>4ld3Md1$xj0FOM4LP)Tb!)}yAj4_Q&o4WAH{~mdV_fs z(M*HG$h;D4UoTS2?0|e_R}hZ~o)O;g!B>x|_ z-ZHAneS7~VmUMTs2tlP=Lb_R~AW|Y-O9Tl)kdp33q?AUa!9^+3(%q>vl2X#(^S#}B zpMB2n|BT@q#z5d+cg=at&vi|5hvXO`D#^uAHYtzpJKYBuCb2f@PQh=Pcs?G{-bLA& z_1q9D`M2dJR5AUOo}yq}a1&o6`X_FL^25TUtdVKd8q~U8;Y%5!<3xv^eqzQ8P-q}X zbXGH484kM5O`6D{W=%aoZ}Z${74_gyidetkS}h6d=i6ZsO7aK z_xYA)CVo3T$>&*5+xVbBZT&~l_rSuCG!~c3Fx1q>1ardE9Zr7#=e$P@A3Xz{2#=Mk zz9m$(zm3UsyQJ;Nr;W+m7Bc%i^zZBYz6ngdPlGOhK{-*3LH!_)q?rPHpJ((&Q$`f- zYA(wZ6zO=1i%YIKdPG~ls4vETK{G$8n7B`a@&WDVH)fezs~UriK(mI|az>adJtgcW-0Zm(!jZ!n+LE=b5(`ad*0FhxW( zr?{|uzQM^9M6!(*&4%!IEF~CLIFeJ8d9RCaa1y!`JxS0Fvo0=!g(iCq3O?d< zcAsellpi~;+FdPi6KY^-f^2$qCUn~l7TsN|_S3BU4&ces`Z#Pe*6c(Cpo&Jj^nu?K zVs#?lSJ-=HCI?v5>j^vD->~?DKqU zQ#_v!+yMe1b5Iuu$AqT2jrP8XdLqd!{*L8lc6=XtdsN)XAEgW!yk-4vVgC5!BqILKW;m>_{2=zg6!yv@8zb+)k|kh zu%ksoBRlV}iW77RULh&OyxC9p{nY=SDE%XY;js+fZz0so97OU*XZK0*3x~C(Q@CK_ z6ve8xbV>CGg*noZJm`i9T{gdQvZT=Y9Y!eP$o6s^ME@Z_dq3yD zAd}kwq@f4tdQi-ri}eb=(PVsqFhN}1%4%F~Fcjg7bZ%OvUc_gO^)dCAkzs8$8z&#P z0RYg!`EHS(>JJNBwN%F_r@(%Z8L;%)zGi~`W2gU6zlrXkvtj}%VRtMlmzZs3p8D)C z%%s&Md`$kYyNWIljjmVmH#GNU^t-iKicP1(L&^1@`UgDY2Xk?RM{_9<@J9X-{^lu} zWkXe>6!Dv>hPJjWwwNh=B3`vYm?pvt@h~ApR7dYq3c_4=1K<#4K}{sRcyq32wy-+TP^?{l=J zj$L!nBj0ca7lG%&jO(~TN7}$*?IesxdSo=$_lXzI=1lKWiZnX7y5mF_gAp2&z>hhb7n!Ez9W*w|E0B9pzDIa zH^B8GgLaBahRR{dj!@+!IYxFXb0K)?N_aIPHbB`ij#H6>Jr=o28dgNIAZpc}SU?A6 zH!r}bMg?WBNF<4ed~C27>nQA^9sQNl|I(;6V>N&oDHLqj`*9;R^+aNmbvJhIbxrws{Y9P z8e#9s7O|72xQ2dRm$2*;Gfe9SW1O+FY8h-S8s%Ct9n>g%_WII{qAp7Wr z0vieWAlQ=FW|wC`x3BOq@;i8BuVdo2sSTKOM30O13?!|faOH<{^+$Cy9`p;=V*x$k zQ5tuPw_-t*hSW<_ue8IJ`H*(w8`j2*z^?t@XXf8A!QcgsaJnNVt8h`IqXK;=D&lr< zQUb1GT%3Kf_zsYq9Kfo_UkzV&_rUU=d#AZU>FXi+AxSpF&L9(&R4(|4OzY;5u>S=< zTNKCZ0OHE~@VD~YDA4e6N->lqP@mGT2lEMxY(@S&O5N(yN9tesIb+IX_+0j3_+p78#kvQw7m=#z;R}4jGjNPuh9jt)?`gCG`hk9o+`c?P|DHtnzfUN?Rk_TY zIARxtq}Ry%3hz6fFq1K5$&~4tc#oxJgGXTvG&|Wx$K5hgO>n->9U!&46s$`JqtQ}U zP`icgk5BkVt+neSy&Q(M+&cVVeQsX|B862_eH7X5EJX^{C()Fh&S=&fB>a*M^e<|h=A7~4Ii-nkX$SCUo#d$-FV2oq855jgYN>8=2 zI;@~d@w!seejxc>M@6Quxxauc9}~{?(AAGY^QMO8pF8#vm(YF_I zYJhO%`P)aapz3nD4mhR_$5WEPW1Q@h?Lta0{qeOSebP{6Qil}YAhLhOmVaJr;EpYj z#L$$h9eUD>xfDpBtA4}wF=-Y#^n)(=q#QO^Yrj>0h=J< zBx7SO3Hpd?_K85Xp1#?&8qijYM{FT|##&G$O2BI1QCrj}0kftlK<@*ezCSuiBzh&` z`zzbJuR+yiAdASS2HB966(UNXU*P0djE7rxvR7>HZ`(=W- z^8N*aa_2lz6sh&l*g9G@(Mc|$r}IWMDUS$mtP-^L<(q?QF0@XAFW!cx7mn}(K8;$i zQN4@YdckLW=&1w{e;%Cj;IqZ2-jmvZw*HmT(hQ{83%BfwSo;j|`vzsQ6(||OSD{F9 z>eLI}B2A-v+3$m=qjaS^ctNgHS&7X#B#p$g=jK(d05{i;=JVFG83C_#LPm*E2!F2T zdS(zQOh|71^(Pq3N8BYYGhs2xX)^@l*GyIzd@fAcyI*|GeV>tM2K6&89FNygaQS>l zg?T%p%+~inp{Fi(m%F|1)u}vBB5wop1llri!2LL3v8R?pYb*v5ewwd|u}hywn1vtf zd+IxZ5dq*$H%-VSHMtfu?n>h^dv|q-%z*>%Qa%bPsq!!O27UZzto)Dr8};6`3Pq5e ze*S*R`)lI4i&Vx+x_W9@Fx3!S*hXk|0;%Hb<&@{VR+)^!)in8;2BE}Qt;tW!+tnCH zZcoQdEP%J7n-Q___%7Rm*{`n_Ry&)Ndi{u$rIT2aT9KkS$R_wCp;U zI0qi1b@XHh?mHY6M#V%*q}C$HunBb8QXhk zpa)GNMzAng3x3uvMcW_QOv&AchmO}~BBO#me#B$M*Czi4JI<9Ue*L23Q<(X$JCy`u ziu8sEACfL%m|HUdZAs70Z@%Icu0fCguG(;XPdqV0UwDDx{DdZTF=O=P}Cn~>mKf*y_!{jUN zp{RiAdN23+fNL<7El-`tsckBlouaT3N$KfCvRS@)PZtnffAh6Y2bb(CVjbmb(k~2+ z`6m}`*D%_yH%Kng?I0rpgk^xu*Lxoz%aRuvK48{tEcs4#@kEFb8ZvIdr?3fV2CZdW zzsmIAbR>TEsXmZ4hcL7_lU>MAAzbYzz!Mu*rKx} z?<+Vb?>hP4m|T_VJDMT;ZUd=*$5AP|2eg`os+1RjROI-kAHldVk9DTg?)5|6y+-rX zX@QMC>@4#JF&-WbNBM}iFW-y2e@_sqA$%~5a~hDNWX=1W2zKKnme>9gf8}AnkMLmZ zYhA-GC=iW_*ngL#HcWL`s-x%nER)ZP8S_v&G2&2#+@D{rmUI`#{u!!VVc}CE{VZp% z%I5!^zcCfrz(>CX>{A)`B07kF^AU_*?+bgS3C9g>w&WRAeA-V}q${6!$tD}i)C;^m zVT%|B6r7QcHm{~uf$BniJ;X~Kk3~q3~bI(o#4DN&%otQ(qP$gDn1kPyIhg*vA zaU3KrIIw<@N=#}MHpO{$OEVN6brX4GG~mauT8j#`*K7H{I401k32>$jK|}ErlK6l9Sh6&2I+?YDiUovC?C25G*J>C!k)Qjh{PiYW? z`YN0I;0fdkwz2M8t^W^Lk$DPmi}8zzf-O4pcH1H8o_@0cALLpUvC%-HP)0? zgY5->S7#Mc=ye5oJK+NwJ$Ek*Q&VIt34XP7SjWp&%eAwtk`oP=-;cd^ zMBYW)e2usd_ygL?{8SgpvZane1N++_(c%flu{k=eIC)A^!l7a0Xp8f z$nyEymNfaOlO}k1Op1Lx11ny97z#zL{Sz2l4v_+zxx8x3Hz9=nXIg?3o)X2HK2?@c zTd2D5Dg4elv9hHzW4Du%*+ldv6ZHkRa}@G{(XNboEO9?4qiaBB!vEeWOaPjQYQ!q^ z`@4OmMNjW%1B9Y)VLUEBS_(#r9~E^Q4vaPszXN_}5FP=riQdIf%dp?-syQIU!abWv zNRIU$8*Ho@n+Bt~&8IW37Ax)EZV$61gB&BtFyxVFWau(6y}}C%B4KFp|Cl*8QS-avCR<^|)pjs>o@jQ8qb^DTCn42B*n2{vD1Q4g1V=cE zA7g@qR+3^`)eyBAI^P$<9@trk!tbkj=~bTjO}Q{7_&YGzdd)R4|F%1famE$%=VBqT z&2qd14_v3li25ZA(ZetIf5^a0ROxTukkb1<_mzU_*@jhK`acZ_iWn9uAC*gZ-x*LX zXNM%#`9Ux(YiVkM!jlZDe{^PMjFr-IPhr6#g-zky%81JvKj-2W};g>k@K zQv}ETpN2e2p$Wl?e@!`bqW2=6R=~VNfKxa@UKQp3ytDS6NCbQMv%Z(1q@K2`DQ?NH zBa#>bAKn3p4 z%{7l$nny=^rFaM%Rts;k2;iK$ZG3qDa(EX?-S|pkgn>J9%6Rj4QvmY>=Ew>NMjgEb z!qvCPiAw(LH`|~_`5a~a9oo*@=R1T_JbwljM@M{%^Bw2}MwxdM zT<{D41r4o&Wo9bu{)B7>ejAU=Sj_ zt=bt|k3R!08_s8};XkE9?@h;~l$_csSd=GbnyLKG?S-&m9cRY>vUY%iAMCuDeS%Y3 zNrmyJPF__+Yk@Uq&~SvsN_@2h%a)x_6w<)D6S3DQR4m;pLWYpVd~M7Q>8dV>smV%D zi0xG}CLfv`CI!Mwi29midn4c27>14}*cKS{il~6N*nkJIoDF@U4u&5{)W#7GxJRa` zJ|L#le}JwyYM!8{h58+7B+OSymR#g6q=46iRIwZ=m?GNm7xkg9-PmMl` zg?>%5fUvatZ#*QG1|1=@mk=cTs?EEQR0__XyBiY(&G6*>lZ^nY;6o|co~<`sVXY6$ zQSs8I7`gLc$1l~xb>KXXz#vnUbm2;N$Y%KknB_W~3~y1XAI63u+=@={^c;P(a`uOzycf$$A_X_qiPnCSbsyg;R7nm(~Oj^_7TfD zXt8U~gI-_8RJ&0^zsZl6S}g=z$%CmJ4DT!Mw&|B+gbdze95VmI$jsv2bpn<7iMQ=i zO0cOhtNs5x+D8c?UV-olCHr4(Y+s-(!1BHTiQnO*VPm?g=*2Rmu}XqYV$4d82t**Q zE5|Txzw=n71rtUY6-#y09Nd-UXiNhN@?lOH?pAn20QGcUp86^?g`l1P7DMM6P%91w zIJ02Nyd&}zG?x=01B8z}Z1D^$@f%19c7F=bu1sO+{ZF(v4*M zFxet{&mGz;^#u?=(M@EwpXK7e0KZuSV&A`B0t`OAB_Thi@2vm*OnX(7PH2Jo)!gvt zO?x`w-cYY_WqQ&_VpEpnF}SW+HGu2mu-6S+ZwD>j4%k2bomfqlT_;o<=YFZ$jR_-{ zC{OT+nT5uSgLLdo7^Iq-2|Kw7ckvSJ{@cSKpNS5jPdl_9x3vFOE@RNFJwadY2u-Fq zB>-JkTA&Rh#L?W}?Q;bq`A-03Q)XujV==rdeQJ4+PKk3(7ctV+OSGMAKQnv;{X4Ce zF_OQVg`}oNy#w4aa|@x|0Ul2U@QT)fe7tk-$SxK5>SiheIS=rZ<4B{Y&qGi6A`UBE)` z9thkd$}-?(d2(tChAaPyAos;FMpm*zR)W;e!JN&z^tLaruzobPor%uJbn=0JdW%>_ z^xpnnaf#)7bhrZo8HUJyyCh*{e%VKv) z33})Y%6FWLmJ)>**F=o}Gxzy>W+A}}d?|LIJ%YS#zIk7DIP#zCsnqHuLJ#Up zADm2Dr9@?v_9`Gh&nS!I|Lc?bM=r|DhqS*|c8mkuY`ee2O-5XFY2Mwfr4R!e=?~WF zPVLb!zrRTP|IyTJ)nIgYYiXx~zf*a2XRd4YesI(&y2? zQpAw&j3_LKj_2P4MF+5D17W`~VA2BPVR4t*`L}#_KG0AK2y|Rx<=a(=B z?!5Dr!uDX=H%k1UXU1P&$et@_W(Cr7=m4L=@Dsc5jA~Wj;h*URbH6eeRrTae%1HY! z?)E>QfS)oOm~TX(;fA(MihZIl@B)7hUDT^P*xPlJKhFMq`JeCo`%k^W>=#VtKozAk zZNFk7`xct&*}+W*q@3(D4HA)tAg&~gCr;EPsQOq*mWMXPfWI!-tVGDW#;5=iQnYEGtaq0IQN41rQ@vi#cC>)P})6Mtk zi&vLFeb2`MzTN0V?@()I+yilf#~`Kalh5T@9ppIvsXrYB`Q{m&J6WVp!IGdA_+B_} zf}ZenEU@y`f-AgU-lHAXfi{>OX&NE(Ue7|smCvP}CJS0_&Y_>-@iTmyprc%NNsNidFWy2S zdIxtewx9WK1_RTME(oHlzcdh|;e$ZL9Vj%#_k8C2#X5*Kaq~TCWv;Z&JCx5J^=nASMP%0r7R2DN(WaD-Pu1JxK$~vY9 z=I)zFn>2e-U%o!U9_}jM!j=6DDGz7GYA7!-S~@IvhEQyF9{5I=pv7+?8WGOR0IK{v z@w6%?ab-EnB~VsHMV2Fv@e6jr<)1o@C=$(@6bMd;5P3BD1z@KyR!bW?0ZI@(sx* zNG%Rf*eps+d~nR|ov(Acw`7!qO85a%w|X;-Kjed<@`}TQV_$&#f4KX;?7?r;`U5LE z_U>Wq+k~3DJ6VQErD0>~$=o`X%0s_m*MV@!>D5_{+6OnTqxytP)bpyA49+6owpLON zMDhQAQmjzQ0?uB{44~bhvjrhV^j4R^J*vEEpjR6$#mPUz2*iw;7vH@OHLJ@A@0J~ShXHb$|!ref)Q{?deuQz<1Pypd)Fb~bS z?5k}FT>6m{<0g92KD!KVe@AF(pw1lm-P_G+V`j$39Wqw}(*t;c=mGW|Wza^y)oQ+m zlk5rgCT?iw*tK{ALXDCs0q)Cz6Wkjcld^CfgWI zL=RcW`EPF&K+LE-N5dqeQVMwB``X|EWqm5bUxy#gcsfWAKM~lhYZGbW3gfYt|SEE~U11jB9+dsaohD!RO2In)`BtRuyhO$LFfNYiBTxpDKh1d4_=k zXP6$fZMV~75>Jj(!b@NtiNyn&$_GY$@1fEO>8ivgi=Ev-|Qnbptg z2EsVf6z5oMNg@|FLBEsIUjl3woMg_1Il~NqUVb^x;4g5uR?c+KBHoVUIl)m%qzULt zt}cKc4 zef90u*+?I(J&GgrP>tv;MhigzmMKrp&k)7qJZ&PlIT1o1r#Y0EWAYu?GaP^$q@49K z-rKYs#3QI!(p%5QHbRYR<4-to=mr6L@1^Uo8s`cr9)pF9YjEs}v=#Hf9n~3i+!}80 zrky)G0%xt@S^N_|j%2&SSpU4B5+lX0?J#fhM^*W-hb;l}8tTA9WWve!06_%(FSy-Y zPcvf+rM*nQ_fFj!UUjnYA^MKkJ51P5caW@m@$u$*F8Da4hNZ>gySY#?n~2POZH#q1 z+H{fl+PIqKXA`sxLob&YzwX5jazBhYaeC*gT>Ui$`RLF46xh*1614xa9?3?qG@-pg zmy%9~8ZwX+aY1Eg=HoJm0PYPtsg$NRVje~gzLOVb&Jnvo>0R{XA{-#k8L?A;aJMmh z>R!Au7JDIzH!8!F8O#A_+Dos)CYt;(zl`6aOCu@7 zfpNJb>AGXS&#sb7{-`P`(yIg|DU^P1+cj z6~Z5ss*OvVuH}_@iq|R}vDQD6k22$$Ns85#a%qt!k!I$33-O7PF;*Yel#{DR&%kZ7 z1#LPh(-HJdUjwP%AMSQumk*%wGg|r*srwyNayuCbQZYk!VUHk~ISR;(?UW_)a`Q63 zPh)<|9{{pAA1jcr&}&TKW6~(6E(;5vBvw6v1Eg@(GkCDb0JYvnwnL-*4!+4glFhzk zx#zxTyR0iU1|vE;f^Z1oZ~7AG#*aRAA>L`agmk57?)S=&N7*zY!B!e!x${?DEWP3xBK zmp71S1c4+Na)`&I9C@o6KS0OV$42SpKVPOl7hox3z*Dn>JVT7*&4^4|r`hk9UZ05c z=@1EQDhzRawm%y*`3ffJN1!0|`m7iXc&lgRNLXXBl?yBEk8itnBo4Ky;&1X*Gi#1P zDITJmpK>(;@AnJdEnuEn>yr~Hqv{g)ipq)E6D7i~+Ov&`+%(ph?Mr9yA3sAI=#Xb- z0q(imhhr}tb{UqJWIr%-90Z%x^M0+4a{PE>E%wu_Uh+opP*PFW`r~3I2@X)Hn?dFm znzT<0ryyte(lqr=il((XW#lPrmHy<+bY6$g?}x%1tr^M3b~?M;93nU-$)_p&T95$x z^y7vGN4u9uiw^v-M7zZQZ;!1;4CMv$iS4URXMJ!D5b$zFc#u zw2l+56_S(Jm#=2WW%l3Ad6WA%IZ+yEqH6BQAY-(}=7?iR5`+lh_IJ>Jr##7Vjp!Ac zX}zH9#;EA~{B5CN!nkAkEav^3Z=-%;_VE-&p4w+mcDVjJOD_e36(SES4(b|NN(+h} zYe?!AUAM~a3&@A3ejMl1jG+4Nt1K;hlom`h9eA>f7vx0O(xG)8`sy>9aHso~Z14VT zHs5f+`c6jqZ1JY9nB;&LF&SeGS@UxW+^{P7)7LZD!{c9)YK2x+7FU;!nDA$efUje~ z=8NG#6ySB)25JoJ)75JPhLrEm1D79heYGGj?jQ-F=A6g42I%g9=ZkfgF2M6MH{}R! zVAo9|H%<8a$fuiN;f9`FwC_U{YRqu)9CI;_?|v10)-khR&!yM0v@?Zoo-?o-YRzr$ zzy>E_w}RLmNddoZTyPzrdUForTFntM{rAV}=c* z!SK8Txfw@7P%mxNs{)t?Vqwwzyrs(^Ihff0Yj<^Mjhc6puvUC%dhX$#bSwKX4&_Kc z!DjFgt0lo|fLh?A51&Fj9(sO>haP$cn|8Sm$)eqO@P7FfTji+@xKOu1fhKCKu@{|S zmbUZe!r+Sm-%*_SXwz~4pLIU0vU!48Ch$tu!0C75m1)%P)ePUOda|w4M@W=5o9l?} zK3$T*x$Ga0(+F$}=(U@8wCeQ@%C|GkDDcQHbtzEy21(?WV4Ulasb=CSZ>|#QL_8)roBC5h z=0zB-Um0y+m`#byaG;gg(x=nf))+dU$|u)F(eV%X+}^6{ZA?%8(%itbZV$w~s%6iM znYd1%FFUv7T5--7Cae13*!^u`-DBijkpcC-pghM1;&}${N{A%Y&Hb>!%ml0Y^5^A?>c)D$mG<@fEQN5;`B}!9T zwS`&L!bp}HBWqh0)bg2~cjbt-hx01E;&O$1FDImIQrKUnp_ne&ZD4<^jXnJpTv?ia zFWJ(mEu^}fS=K23OU*D!2??&N6J`t^jamVmrRx#%oZ0se`J)fYS6TWe&>Ld+@7Huu zc93R2+2dc*;9sT*AkQWc&}xOXVx|AqylnLK%AVAtWpY=H4U<8L*9`O67qw~1XM}Z-*wu9N%0Jh5S>aCeopm}b zDi3XwjlMU^y>7L-iS{e)n+4lPVQ7XDw|)C>?cvxO4CtM$s-ShOL#w_mw37}S%GV;k z=oKp|{^YuTbnP3$Ts^O*()|U+u-mQIDtR4ZGf#!?)n+-F58S=5r+lfmFp_Yr?mk-{ zZnt?~>|!c;oZ%+o*k_n+wcZZBqDU382)7~ccJ!?$Le`Z0oKEK0_V_wH zRRKyO<>yyX=@6C|%Y{QhvX|$e`#BW@nQ2s43itdGZ21G{>LqQpjIgzb z>!Js3<}UBl57xf%55IP9DQHaK(A=N0P-moWXQSc{v-suqfTAp>I!Km_ZO}Q8o=>~s z)fCz=FVj^!zl@^hBrMwsY>tV;`@Frj;0g?GWenMKmvfpreZp_Ch`5*3VWCPzVhX81*Y zaBSBr$(`C(&PE_N2@%$^49c%f)o;iFa&wSsr zSD@o$Q;xA!6jGC;naP`Tq9wYi{mN)cO{D5?)488q;hdw%k%nGi5hWj*%Bw$4A&{?C zGsH)acp1#`;KZuzJ{K)&!F{}+EAj66j0{Gs5yV?*ecNJFo4l1axU`99{%(!GC&Zp$;8|)|jH&+msS2s|p4-*~Lco;C}{Fb*IY)n81jwD*Rn%B2_Qva62Sq)nqWE3NGQk$`HveN%I+C zzurk++ypZFUwhO(Gk#kVRo3uy$a?;(&@*el^>P;56vqL$iz1~z4S#>y`*cE3sw`xGQnVf5K$0wjSti})B?pWV@+ty@~T z*S)kd1ylkBhP8=R^Bm!_-Uyn&{p-;o*D-gYA+1W1#eGY18Vx%Qc|R~@oPM@HfBo5p z@;Mv>ikk#N7p}(6n-gw9fJ~{UR1KHjcc02C9WZ5-kr{p6oPZ3uuZJJhhlVF3YrC;f zhRM)>=h#Tbk@X%HBKi5=uW&EXPVp$^A`I==F1`s&lP4#3If#bb0OCN_^J06FWK-;5 zQ#AC>o=~r30hs_DviysZJ_b&m5N7_i@G_ZSP9R`TaZBGAo1pyuR~rHR&bv z-j~VxSvL)$cfZksRBn1fOVZ)N>3^~SLXYFRKS!)lu+!81ATf~o_;k_eF0C7pA3x43 z*lANTPIKf~D7VHNH?D{%DPw z<9@<&UdR$jON-5K?7!9Sjb$NLE)f6PnO{=O#3o;%a%m`Wqw#cDKVf=&Z+I*K`F@w1sTNK%8Hn)}} z&uA@-CEu)3`S{d{)y2?wI`a-Z+sTs8-!n`3I{xv{&-_$piN*zX#&e8)N$4Cz+-~YJ zV_$O`Gjudt;L6+?E*aS9O;fQ)bFAymw}-GQ9`Jl~EM(!ap<}zl&4b%sv8cI+YUy#<5}4Y{W38)vUNljs*`=Lo7cfTP z@Uc%fDbQ&0jw{HqMPsukG`Q2ZKCgCI6%x%fGsU7J@gv|xekOgI9#D;mfgU_SKwcgI z3!D`;yDux5{Ct;k1cQYE*k^p=oAFbsQ{3QmNYkDsd_p;LRYhZd0$x>%02Qow+a`e< z)-on)3RyDzBuYa4-K({lvfNv4?$P5jd>FB|u}Gt5LLPXJTAiZ9p5kjEzx=A*L<@Dp zDvCW!h945jQD^jTUnyJnk3wS}>-!;^>nqyS3-FN|jPjD-V#387#W@{vH| z(_XvUjM|-E&XdWn#0zhqj^A`6>H(6F3trV5i#~2q6Ltx)0bU=RK%u4JlV3~8Rj*yy z8!o?p`F&|a@G4vJh7spXhZCd`D3Np`c~-i>NfVAT*(usU&CUyqm8H9MdhRcGUA@us z6BKg}>_jm{{PeBk%dmIu`r`P01&emXxh+~IiC*>;Rfp}JhN|N;8*%3I_LW-WpJpD= zOuBH3)_;;9{r>uD%!={im41I&==Xf-x;L%D`$AnQ&WIlGpwy(1w*Al2C-ayYqGFR( z>?8VXv$JSI(>7eYhZsnJb5 zo_qSu`Ps?=&d385JG;A>yy|vb!6Ha!a{We06%u6-^1RsM%6cc6lQHJ~gxk6Nt2LvY z2**+E+VQ6!8%fOv+E4?=!&-WtSnu!fNxdiCE=D0*KMZ?yi_3_0rYEsA=dU1KyT!je zew%=wNIpj|z8%o^X|2KWTv%NDEAyIoN*a#H7L$6hrQ~c^@+uhWylX!%qZ`O!5dTq@ z5XI$=z5kA&gLCZFI*0;EJ_2>&Sv{>UyV`Z{cE_$1?t4Anfr#z~L+#bmWTh z;TF>eE9L@`oh0AsHN7P1k$zr}w2f6n==&An-}z47*MU$liVekdnNTk*PLHu%P{7MC zoLuCN4p!os{qvJ6_SJlp29=wBVwvc;kQ?|$UqTvJH64#;L^o?`*7fE$-a18n9W;iI zZC~x>aje@FTLs^P3opm!elp95VGaN}7#(+=>Y7VTI$*47k2=U!ao*S4-pjI1&Qmj7 zoJ{5$tqZC79iBX1L(9Qc=di<=o_(!j!eoQ`ScBR)hTTNcmYM2Io@sodl+vVX(d1Ay z#DJXcrfr1j%O|M;3<_K+*9H6-$t#BC;VmD!Wm?Yp zys(op9$cl^(xxPNU&XaNGB`t&INdbr>5dV8FqgIhPKi7#b6oP_d(yK>FcwVZ_>e)) z&-deoKL`1eu1{WWk~dnfU6|+i#mB=G?OKs@Ct=?|mLyvym|-wTs3ga|d`jUzbpdmf zB4A|9ub~cFvFjMVE5Yyb%2Z*SfgGok-$(UsMEf~X?InD*!Saz-7>opaX^nP@rjS%6 z1;!=b7hu|x$MjUek`@<-B~F(=NCLQi*qjp%nkd%>vj&37jb9`9olRoA$HJAS7HI<0 zPE9JRDd^K>QF66@=!$P~#1u+Il49*<%Mj865%D;F(UG!uHHOnT_r3{|*BO6#>1wGu z>IPc(!bmh9cPDcH?;^cJ{N8OBn*SIOGsj45X$t5PeXhgCJd$MbR!%kknaBnMUg{%6 zWb~b*N!19*+udgaa(v)o+T4z=w-{qn{;5WqZ%nyW%nkrA2lC&ze?EY=~EfQh?5$*-LMc}Sv5OW zcx8!5S&`vuLUatmh418Y4`_VFk^W5Vr=eZCmD&@Se&#+eH?(~8gU=A5${mJl3IY~t zfoNDD#N`%kZIJ~_?)YEcCD|hQpkUyPKR)k|GF&=jtdP@3ZPstQ&KI8FjSV`jLHI|!rEk*n=np@G(ylCIb_RvMl)@- zO#8&#AXQuAf_1(zsz6+McT!xm{D$(0{#+>hwM**L_Y!Oa*^G_FBp3`V!}n%o=*|ZV zTcvJ{zB^wTMMMBVtpB~(NS`_98bgY52-I)dGTO_qUZ%`15mq=3pNw>iw^p@AS3>bw zH6U$n$+nTyeZe(&5{2Uw>%~$Lq6=Rw!I7R?q;t?}ub_;mXUk9&F#Y5B?qO{Ti5Iq{ zN89D@k8iM&v)d0|Xbs)8w1`#K)$`7e`yr+>b=YdX9@FO+`sD9?jgoNL9@|qm84h8mr%@R7S<>SGiOb>65& zIY>D3u;*{FUn(PD(RrSi&yM6YO|+529~A9T@;;pQuIm)vfx52LXSs4X!LNQ78!hXU zeZf*LR(LKyox%a1;2Ld8*S8Y#{N_M76k`YGP|kr{CH z$UXQs$fjXYcygT*0~+xEKRk>CD2a0x+LhP^siuuU9u|jY`fUN$8UDN`?jcpqhI0Aw z`7{DDEOTt0+nu7FmB5SI0F(Z)KYDptiM>k zI@u3dWlVMOLQfY)#!n>YI6#@bxrEm12J*FULFS;eFKWsb-;%x=ZI_Z-BBxJ2J;=(^ zpo5d{WY~BEib44da>NEzl3KJ%m2y4-_Zg#MP%`DKx|9U-Y)eae#hcSUS!H6Oh)`9S z{Fv9V9O4@Q$>0502HUG;Ea{hLKyclDwwP1NAD7nubI?G50|}-hD~PizyOCp!QbjXG zei?+_OH=C?2K`wC*%T~_+r`zUK4Ae~p$r(ziBIsS^=@yO*k%Q3rw!+R5L!)47Lq>! zcQS)?cwve{zIaAYfXfunS*OUAko{kuCN!a+xC9`C;{`N<#FP%0ns>Kbb*e!|@Yi_d z4siIKP=vb&xk>qTTmLR7&Q<_7OgMT-cZ1kXF`8hY!exZJ3wx`HWKn?7ZO=-X0fyGJ-W`E&iIe@o$d5aKyPK6n--(Q?=QLT4oY!3JaZ7=9E91Gu6n!zGs_%WlNhWrcxN6}GeJLD}UG}r4=;+nr=$l01R zv8UE`^Js}Jd?S0K6&1?zN(18^=gIfiIDXc$uNqV{{sP-lq0laorH9C22{R@Mumkf2 zIIFcFd2jsO#BR7y*Qf-yc$yAtfHT6rb4nG05w+P}L(iQ$rP{~{|=>F^~k`o^BsD~_Jil6b11P>5|hZ#D+u z7jwXtZ17NnJ+u#y6)gkkPBXcCibaPERXO7TQ7sZ_;YpSuRXwe$B>D0jM1nnA;V85R zfB%JlQ?h`Cm!gH}UK+IX4AqP!6AimBhtuf-NQ@e_1k@7v!A{G*0OzQKpxK*YM^!>F zxDAUQpgHbyHtHps`MlCGC{ z{M&dhdKml3T%#uDIT(Z%yK3>I$go4%&~GP16S4jquYwCbt6QOZ@s(1~oyWHy+KG-+ zQ!IPSJ46ZinL@rCKB@hSt1=Dt5BBc@R+n_u+P$%KbdG(HOOVSkJBZaz@VcNUeq0vq zfmSIp2~ECaXn)+{+R(eYQUi_)#l-fn?PMC-F|+lkp#xzN1sXz=qI$! zWOa=y^EoH!kD>g|_+O($8BCfF*k(XHNauhsSv*uXZz-#O~2r!@PK`QsrR^|93+vv6c(_x5VNr zc*}H^;73E-XNO3ap}m$`Zp6|jrl@zWL7SZ}7$4`rR+~ED8WXdlQs;w7NP&dK&E3bc zXn)=_61*5tY~VAgRX+&hfe?33kTb*BFxyS3`WY}ZeHs02*mXa$BkIM2zjt0jP&gF7 zT5a&=I(ak{Aw4xu@4xpSrs@ipGkv~qgTL$?B+t@p+gxjT)hwDY0fEwh9qfi6abqs@ z7H2?Jxq_gA;{cca9kAYZ2Fi6j9GUn%!?f)VR;77e3S0wKMbyD`ylX(&1q!<&>>OGr zTs>(Xaf9m*T$OGANG;%Vo;LuvXQ4Fe9LpK$?%UwJGt$AqF4gl|Q7}-?Pz$G}MjvICs|YVD?i zI;G6VodE2_rYADP!^~i%v=La~zu5?Lq}fi|Y~$MwxNOJqH_=-VB|zQiUgWL+kGi*x zin8s#$0d|OKn4&5=?0}6K{`Z1QlypcuAxCm=>};*MUWH*5R~pl>23w-?(cP@&+|T? zH`e<7`*XQmvs^H9&z0xwv(MhLcGUjwF1ehF{J%QeA1#B6;FZ{!Y&|)lc{$+CKo|e( z>nJcfZpP*+2s`&YqX448uU0U(zQ28R>%x#Lv-ln zkk1=&X1y&-G*h>53<$jzv9#z!q6}ju60OfOc8B#m3P^$AJ)=0^w5MYRKfwtIhH4c= z_C`>c4}qT5;WOSh?OZ=AEG^J+{bSY)+ZROT24;HPqMm~Xf6q7$QLT#B#4q%@n$I70 z#XzD^K50}M%t1fK-9ANsj2a@yPD881VL{8Umd=g;yGY78*qk29`)%E&3&j6%N@ zHboQnmmwy=9Gcf+5m6R8maOh7WEMH?n`jK{+b6VqczdFX!i<+1{*aNMJ?d`Mh0mD3yX`@2K9YV zgQQ&*=_G&cq!xR(I!k}Uz~pu4D|Q2syqBnd8JD$U^{o&hg^TjDD3aY|;33s%sjKBh zZ7shuxF7!s;H4}+>jXS~3Bd5m_Hl=o>`A}K_3|)QuQB@Dqh*P!w_T%fnIBg%XrB0{ zB_h`sXKsv!Zhpn&4J@$Iz7+RJZv51CEOzKw=7a=-wZDWD-lmi4kFl)o>hBboEOYA3 zoP`ED4R{O=5Nf><4;3r47t!*9w4XL`|H-@p8sy=Pdi1~h!o<+E{oO&)W!2)h4yml*wkLUg~>L?SiV|}Pv@(@j@-kG;RYe?wi^*0hI109%k02$7 zQb_Tto1!ae@4@9xBqu@fxH0BfLTjj8gdD%}6=Y1x(R`R((>DEnL>l!vJU1UOqt^;# zaU9AfVQ1RE5QeyKArR|n$#v0n2Ou`udYM=#&1eWRt!ip8HlRZbT1H_o|)C^=V zF`v{+>;P{wul^M{Ma7wuf=bp{j)~N#w1|q1Whb-=q4`lQ=%f@xGv^;sks#x@7d6A zL%8ubNrM6<@5Oz;GUp=tbxNPp5?dmZwX6{jmWii-@t$x_9p0F?$l|1zo1uZez{zys z8zCErBXfuZ6RKjdulpsTP&_k>;q6GkyzGnmubeyKe&TO0K`-D~ z7)@dCBOYGxWHq6usZoBeuQ&;`WZHgI5a4`PKk9uK)8tcDk`Ep2;4fkVhp%BTac?sw zQ5xLw_aA$jkZwF6MD|I*KiKo%=}w(=tk=h%w&9YDvHpwf^y};O)$}-#DbpmW*ZZ%{ zO#|IBnNdkzf_j#-J@b=rpqHk4$H`uPMKsQ~NoUM69$;mDE6}kwknhy+ze!!t@O-ZHEgpOuoa3TEGg0$DXL=8 z^mMPin1`!+YwowHW4~kAMMRD)d>J!lT$IhIGo`B+Xb|K5_35*N-iRv|{(uNUKXT4{ z&aeX<@AKIy5|3vI@NkwaqR8de@(x7GgsGD@^UZprC7d~QEJrac0)*&zDE<2MumW7= zbUN0!6BKzfNX@w3C`1;i!HiGsx3jT5hpa(2=+w>15m}u4rvn4)n(1j~9{BM?ZKkvo z)DrUp^7G+{$ud@SEgZkV*Kylo3jwW?bD(2sn>|z}&!b|j`H2TO6wGYU5mTHGmX2B- zqn7mrl&sdrDmKP6)nrZ$#VZ3uvC`o&4*HgBq3)a+PZOrfhzF8z^tl?1n!TmoTg6#{ zbmFTS18k`p$45JWp?Y_=&odxa!IGn}pplboN?QoaygRy3r#|i`rSK_(V!DnEU&!(( z@8VQJ!U+1$wTkIN^@Nb4rk!OH{||RmEK1Xp^ljejK9hexXRydxT!*?Pd0v(Ht~cpt z+8$$Putx_&oQal2Ylo)R^kW*-&h|*hl_v*0d!Hw8Dpi*k?}$Lf~LtXXj0m#Rr#8icPa@Dv2!4nDetN8u*(QsEGr>NxA@9=B)| zd{;8)MtEL5@4~2F(P!DKw>15B7qn)2u~~_E+BsOuM8q!c7`@h}8-H~}JSt1j16aEs zdLCXe$k9yVeBHLoD54WZ@kuqJZG;n7e7hl^PvEPX`=d&ERV0eg73OooVPH}?p*{Ph zi93FoRpg>iDrjUmec5|)RD-Ebc}PSx+%lRTw*{p}=r9Y>fRXQTHH>Pw?%JB*Y2gdj zgR6#74{3MagqWTab|+Gt*zx*t+?bn+2dQdQ7_=1fiDDHL1aNTv=*(rR!;(HQoqNTg zWArCcaO(S|J{tIS4@5m*Mz6=-XK;Yzn#UM~7(_saW-_Ue%f}32jZKu)`Buz|!^E{i zmy|Bmbq?zYgg4T<6XEh5mj))P=_$_609S{Nv#y-XX*s`pAjt_Oz>okDg zPgS>w3@_Z=>O$w2ig#+k!toa$i)4Cum`1XCxbFXgGph!{GBCV$BIj0UzDqlA?M8&&tk?2{n7ooe*I4085{iWYVs-S$e`;Ldh*T;qy- z(o_S~D(S3!Dh$iLT13Yk-c6u2N%qfLcd{g!RE94}i=m%qh@~}88Tp)Ew2B&jKI+mg z)bT<86`Ej_Vwdsyx6^T3ltA!8BV zp!RouO4YI8Ui*xk#m&4P3%iNKfnD8bmvdVYuctfI{aF0nz9SB|t&~(qpK8gQv+pf? zd{+pRB|T*~Te^42KlF$wO->Y?L-spPXAcKVE#}>D$Gf-%naL}W+FwWQzCh!Wmo6sV zOD{b?tG*XhcpLl&Wa=)4zD@sJPYK5JvkB?6hi@~U_axsbzl;S1MdrM$UzETq!BKe| zuEo}n%HNSir6(i&gT92$>)q!nI&;^7(&q0j6iq4ow&}a@yqeQD(xGq2qRE9^x;}Ux z6C2pD1-7+3t0GP}OID$8B2hD?%(YpUTU8t|olCVCH`S|II^HfvlBbN_MJJ#PWb z>Ep*p2Dg5@fCr1EqrN)~U+z-_Y0Z0Lum z^JeTG1j@r6vsHa*BjNEmKTYj?D!!v8O@ZE~FQvzeA8Fd*8ZTS!X8lGa_7*Z`EO?qq z<_2rvxrWMfXO7=b&HGqPaKeJD%7qE__kWZpUdgUrv_LS^GiO+Sx%0Ff9j44(ef>MOU+rL*P1&tKg9bh#;4_4KK1KYV+`pFpzn(QS5ca?>pSo`>{C|Ch8ytKF#j>U>^Zyxue?7F4Bv^%j zT(TzfXLJ4Q-G6^xrZD)7yOBE|vv2;#Wc?ltASHwkq=d>`X#dw|P(Ula)on=mw>SHL zPTY4mm@-~;t!ljg@frXBSr)}kIBSgWCr^R6m(9>eO&ieLzYeVKoN;dR*jW~oCyX1# zDok9z`>|Mx9P;?HdI=ILcSucG_l9OWXKC86Lg0x$* z`FJgdx(0#J)A2`=|GsFL2vMbJE5ATZ=b%Z`85A`x21@V$%!!?Vx~^A-izo|BlSiYd zC3SX|y4MUx6(As#-{qHv&qUfiX9q}7Mw#;vND!n9yo1V?5C=_qP=@z^td6`FV#+X^ zU}IXDur_z$#vt4S3YAOIg_9H-{Z9=8|8x7iz+4^*1FFl|5M^VqlIH*CRvT4AG`fo20_ zc{^V}wW@z{Rit$Slylc_^I81>qO-agrt24$3Td?OZ@YB@2RflzT!(yK>oK0}pefL} zyaMU@$({hY1?LK2!*IN&V%fd%4M0S*OI^wH<7fmU{?uu|PC$V<_zt6w-VZqepL5Rx zAmDJgx6pxArLN|x_QB-eH{YKvhz+}`W(QTYCqV}ViM|NX8&+xJQ;#~m06mSaz?OV( z5uWq)c;znp18GvWba8na46@a3buDxH12C22*1(w!*{1l+b4%J4ya{_WdxYOD-~+p) zRc02gLczHLdiCvr^1&m`9*ml;&rUyMxE`P^76C0N_8TqyGlmfRgxaiiWI=!BI@hrCyPC% zm3{ZAY=BV`^_^aMP`w{`W&QC|g%$L+lDo~6VC&yd6#it_q$IotN$$47@=b<;$(&Y6 z_+D9}p;%mJE38qvI4soqJ0!+@(x)p>UuN8y(9Z^!?B2BDE(tdd4$~-fK4~C12VyIV z=Q@3XRgTLhOmCb2b<+Ox3R3cbX7mL7D6I-25ic*P2WCy@-+w+3uRjW@Ox&N{oZymd ztH;7RfewUB@t0Qd0BTJmz2}r$4K}xG&CK!M>a74p5l|jvMkUMknF4wm>!5h;is;h^ z{pOz}dAPBfnT3}qJU7MJi2~DIf}f03Z+u-H9!COM8dro@8W1B#wuQReemyeT6&xm! z(2^_?^cP=|NrlAIym(>uxWb#h8PmXn=uKV*FcW&PkiuiGQbx8FW%oVDS(ec3f1C*q zQ^mw39|GyeRoDh3e$~Cq?RdJ?Ds)~9PP(x*AZDb@yCleKGf`jJh;B-x^f6c2&oJ0O1u^NPhExLh{Ek z(5E@Q)1lAc!s!FV)TFF4y~-LTShk$zD`Q504#-Ti7_$EE8u+RG6x9Pra^(J+hA&kx zu`G#%9OwRhuVbf*ei_oLzHyvF5V+aPt?tLaJE{Qby0qI07iOV3-#427aoB31UL~9W zKJTo+=X=9VfR9OnK?U34c>-I8COBTL%PFz1;Id(HHlyKS-Cu#J@|J`c;51`BqzK8NwTj`YUwqX3R5ODFCV-U?GlvUNOr4`2XZ!74_^m;fuA9o8 zR=|tg23T(G_v5ZSrxZE;%vY&N}gE+U!^VPg{M!6u%BfNb||5=C~IyX9OAx6^@= z(YXLn$elGKU&Na}Bo*>t>v7om#>`qF(@^(F{*?z>6>hu6W3>stgUR1_K^#BI`j>WXom%g+?Q2=tzq2JK zOlW3a18N)U7TDqnTMec0ko-~iu{pSORYi8FZ&APM>j96}Y8zU2lV4_qC))~W(bm9% zMgp2E#IJm^doncs{Kf=b)aqIjf#NQO10oShs6(ye8i||Z?E3o%HtNuDclDfo5^_&{ z(0RCPR#_H?5&~2^f68e5eDYLx@hNp5q=A1&rbp;gj`IabX^|h^{p&cG!HnWg@T`!f zaLbtwFs2SqOwYMB3TpW(>ps^<-#Lu)vwOSsKZ?70Fw6C4_2qV>U%yis9g9s3D`F4x zKSxM#9{ORL!JZH;$&qvroF_*{yLSKj@IKu^mfTq_P86GS4cOb24ffP*wCT5)r4#c9 zK*w-L@kC9nMkTQCgXEfo@jq@3LG9L-gL&~nz+s8(Xu=APCOi&Xm2%=?=eOD2Wa2iA z!r0E&2jAwQrm1nMLgT!&@HlX3d^4|G{M@e^EIe{m;XNxcjG9wor-leYBgNd0nggG? zF>MgvG%KwpKRc7Z$^Lu2fq-&z8y`zm_vT8QwbbD=pR;l$g+A}U!~KWB&6 zGbwiuoS-NDitXe<%M(CrhBUxtX=f-g)u{|mIjR;?rt~&apCaZWMo)JoUTmlcuF>VG z@4lsRipx;5#oJk7Gd}eWB5mvvC3_<9C&I%1ns23J^tO5rAUboDS`r{K205fx(5Fk} z^sNn?|NX@+82w&cx1pjH2J`^-J&9PiP|k2Hk+`*ix1r;J4wKy7sjg{E$iAs--%RLz z0&vytty>k~faAc=eDFgN;fM1=EZCUXq#cRvYX^MTk1P`O+|6AZFc~XBDnIB$!DALR z&u+uOGJ6)7YnmM|0(7|}YWv{J`{3}hQ+~X&@L^tKv$PRDB5(BRI=sqiS4A5M2xuc# zJUESVnn|{k$^n3l2Q5Y>7>aO&+ic@r?Y*!>;~LLACJX`!g$0}DYLcu*;qm-zh4PZe z>j9f(FBG1Trt9SN*Aa+Lim4r~M>_VN`3=fFydmOf8`qA=GBs!AiZ5A|JHbAxGecv4 zkhA%#-@D$7xUS(ugbRtdEY&_-tSt~!(-N0SI?8u-@4qLlE@e2 zh+MOn|D1D{xWUXmQw4N5S}f;FOf4NnhQp6`mOV^gI91htT6?q#g;tsGFpa*V<<%!} zY}4Bc*w$>xWUO}i^IM|o=Kv`no4DfXgrIL${42Bfnz$uIw{k)~dhs5HsMj;*uuV4K^18vdLF?RAbdE(-=pnv zUZ1FHAWe|x|Acr`(hDk>_l%pK?1vWzDz%xFWZ65)v+)bBcQx3lXeZ>@R39O&tzUnb zMCz$t?s>lsyt?XSy!sxxO8oXo+cw~+b>Mp6jPUJt@K!ZbJoM<;cHp4+xD_XxO10MnN&pmZ$EnJt!I3!u zw0~0guMenBfQxY*SefiCn*zgIyubQ<#9hQ4|i8wKX2Z!)(=mtD}5LQFKgs|LMNIRVsMjA49oqjIb#QN7MDC7VzTMvC?O zH?XHI2lk`h-~0AShE+0q2_&9z#D4ceZMV;1ks)M8#I|o8zSwOA-uubt{Sx~E3enkf z%KR$QYnY2}oPZJXJm;Azq`k*k(1yU0wBdC~<9r~2Bvos8(B65Cayw^>=$fs-689+N z#ko_rRVRK%_=TiPP4V+$4Nj@2{epjfN5#^hrt4?JesFyIiDGWHq^@2|SWTI-OR1bW zH!WyBo2Hm+Onu!9TBDE=7m-96rC_ zEU4}Fq5WtHB|Xs$aFxXA!Z@M`-k6KD9Obb0+w^?EeDn*eBr1Aoey#Nclaq+Hxs@@) za}F{Q%Q&W)3Ix;XA>@GKxY2x$SFRx=g?12&-ABlet{{ciVechQ_X>BUnNRLS=-@j< zGMgs1_Cuq2HOarjb!#j0rWF9eAR6YmQY9boCks5MAjaDV5+IN)V&sijNB1T?*+am> z0XK5E53`sk$K7~wf|&hh>)&SE4&uDqcpbp3L?gO8Jx7LII+s7!J9iYmtm&IQIR$cR zZt8%WXDb&nTz+<%cSfW182yero91U?eX46)PbXUf?o9^2AKmX%;P9y;HqaR`6gOHZ zx`(|LLHc#2c;#dDy|Mgz(7BsA0o#1;0oYkpz?ku#9&GQ|=(qbIg4eU_WK=XurA+@J zETs=K1y*Y%)qvx!ie5p&ZGzCp;S6-n;wPoieexCds-g(#*^*!Db8&wD_B|$Fum6xlJ7}KOcaMqpXw=xcOgcZkxDpn0BN`2Mw~Uf{NRMVt zuD6j}hLSEwo8i%z>1L@!pF|U;s=Hkc1A6O0zyV{R=@7^;37)0xJF=anZIB|tiREs~ zre{Pj_bLazG4`n6h5 z_QUi6Tscg`9^9O~S)rDL>+B6GB|1fS8T+64|;#2#N3>RV&NFSCcxuqr&xr2tdg+vK9ojb`|Dz2-t zd}e`O?=q5SQgY70*3$7stmAbcfEe4oZFFuiLLG&h4@)ncj2(Y&P^)$X5#7pca4vUF zC$k24{l|kIBVRU&oFf};O03Avfnm4-sTQ+?+<;Fwmi!H%ZVFfE5T<^&`%|SDOeK*` zSg3zj9E$k)x3^HDLxTtc{K*o}@ z=?SZ}J&A2Qr1!O)BZ-*DH7v$XNLi-s?8@fCW;S(mUbK3*E}>O;mMHv!*o%QJB51AE zvRJLFkbqE^|6}jwS$Eu6Q2paeOkK$ez>I|BB+4FtV3f?;uqMf4xL6lA6aY5%2tG;Nq4Q`ain zgzS@Ef|WpOlO0`deLv&H<}s^orp{=zR%_NE*DOA7$diOKbS7mOtPaCUxj zG7(ce!dAf>dvO)3A(Eau!}5ZcUB96O@2Am);+07Aua9ctM#0T{;S;cQIZJJr0KbpU zpyE~hlb+?hr~|b8RF&`m_F3ysr`w(HKjw$vBECES=&NVE!pM#*!{wX|Gop#g>7}yc z^YbUV zAS=8ZaP;cfcD^P2OrL9RwIKlO(QH)yFJcxJQaoJ-2-GbPfvO!&$nWZZa*?*!E4Z~; zrrjX)S+*PleMLJTIgd;hoE{x0S*Nq{&br0b4352tLXX)`2Isq*Vp4Ip|NPhtdDeSP zjd%B!a0OP znq~m!q^{oT8|UH?x>PQ@K*+L3=5E2tq*m!^ zvEKG3hXv&n$7wR&!$CmM9tHuacFxad=n}n|o>>~?_8V;4>FYXA2ESTS&VHrz_{Evg zcy|J$Atl6?#nfLJy#gG2=goY<1gFW=+xtKIY3UPhufjd&)1SZ$0ES$wa2A|GG(f}} z)}3QGlB-OcQB(|Q3VJuGwuGj1F(?q38yjyI`bR%ITe4T)2m12NMgV3Pg>sx6mid~w z`hdf8h^8lceS|kJ4!u3+>{fJAv;a8j2g-)qfiu(FVwQN^tyQU0?pDx$HcK5C2{QD> zzV>mmtPbY8yW-HMyDp#EW57Ql+Q6srI1$vYE1mdp^)*u%L+BHXNXOOxMCPZMQDMhm zS`P@DWcj<)EGrePYs9^P9?@ymmM>#|QXPP(HYm;9#Po0SOX1+B5`4Y+ii&Vp&6$3w zJ7pQz+0oN03p7X-9*{j5zCNgy0s~hbqAd9q`I{j69QN;=;}42=cOV;VESm+kU%)*n z>$TeA$s#eJjju_%li1(1&3+~Gy==#S^BIt)y<@9dqLx&4F;)NQ-FO`828fAY@EE9mf%yv}Ua_Sq<3Ij+7w$KXY z&tx9SN$~3+nr@WO&v$Yg5P2z9|11lq-XDcjUWuWIME{*eX96qMWX+vP(bl#{sdVfP zuNH-$FbDI*gE&LY&n%=hg(d#Vlx?upbxMWBH;T}vlmk^U`}AAo5B~)}S;W-=O_oI1 zV8@Uz=oJ}Enn@@iZ?0L-e0gI#YruM}Z0l$NJ`PK!3wy0&^4DgD`wh^8>X=h+LBwCk z0u5>c0i#wX30^SX2SJ5eBbkH#x&*0mN7vkN%rlRT=b!XD- ziP9>JDcPw&$k@Uz1n)VAFYk~>c2mT|pua0=N_c)Ruxx7f43l<2Hv9CudI1D*`2j1W z&Z~u9r&|qvsUmNMA8N~`36qEYdGde6XG(VU-A%~ai?faMHOh2~ur~|@(66g7iXreM z#(#}|^1`<+3(U-LjI!;``rct;WmHOwOLXZA;%`8zq^CaKE<><`*bSeqT5x= zXZ@d5NhLGrmx!rQXv5SlubxHuy26((x-6zd_gwxQQGaT%D0sPR5F$2ema}b>zc%?` z4UA1L3rh8kG3S!fJ#&wL|8clq10K_1CT4(;)0*a=^%sNp+&2_7F*hn?h)f2dfDX3= z5sYW0S_6safX?DM3Dk@WdzXhxjUQD&#SM@ddWYZ;+sy+lc~>Ag{PhGBSXKc@Nn3HW zlv1t0H)<483T_z(s3c;24)p&fN;}zBhx9yv*RGyN6+o4(L$;4t5TLQ<((QHRR`wd7 z?bHNR1bdVddI-)l@>YK56}5xGr_Th@O*%lU<9?xZDACccdux2(PXH~W3RIiMmgREJ z^Gb8PWwZlTqkgnv)GeC6$;SovWedr z%W??%J9RTeyiO(6E6H(@KpDURFyI}^4#AhP2cwvNYxzxpPdC)U3ebCI<1J0ov_*tK z2-NJn3}mA5FN*P>fo5n(XC1&b5%hecj=lGFr@wlgNk$itaTx_eG^#a29&%wsvCwXx z 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/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 拟合优度检验用于确定样本数据是否与假设的分布一致 + +### 示例 + +数据来自 580 名报纸读者的样本,这些读者表明了(1)他们最常阅读的报纸(《今日美国》或《华尔街日报》)和(2)他们的收入水平(低收入 vs. 高收入)。数据包含三个变量:受访者标识符(id)、受访者收入(高或低)以及受访者主要阅读的报纸(《今日美国》或《华尔街日报》)。 + +收集这些数据是为了研究收入水平与报纸选择之间是否存在关系。为确保结果具有可推广性,样本必须能代表目标总体。已知在该总体中,《今日美国》读者的相对比例高于《华尔街日报》读者,两者比例分别应为 55% 和 45%。我们可以使用拟合优度检验来检验以下原假设和备择假设: + +- H0:《今日美国》和《华尔街日报》的阅读份额分别为 55% 和 45% +- Ha:《今日美国》和《华尔街日报》的阅读份额不等于上述设定值 + +如果基于可用样本不能拒绝原假设,则观察数据与假设的总体份额或概率之间存在 “良好拟合”。在 Radiant(基础 > 表格 > 拟合优度检验)中,选择 “报纸(Newspaper)” 作为分类变量。如果我们将 “概率(Probabilities)” 输入框留空(或输入 1/2),则会检验份额是否相等。但为了检验 H0 和 Ha,我们需要输入`0.45 and 0.55`,然后按回车键。首先,比较观察频数和期望频数。期望频数基于原假设成立(即与设定份额无偏差)计算,公式为总样本量 ×p,其中 p 是某个单元格的假设份额(或概率)。 + +

    + +(皮尔逊)卡方检验用于评估我们是否可以拒绝观察值与期望值一致的原假设。它通过比较观察频数(即数据中实际看到的频数)与期望频数(即如果份额分布与我们假设的一致时预期看到的频数)来实现。如果期望频数表与观察频数表之间存在较大差异,卡方值将**较大**。每个单元格的卡方值计算公式为`(o - e)^2 / e`,其中`o`是单元格中的观察频数,`e`是原假设成立时该单元格的期望频数。点击 “卡方(Chi-squared)” 复选框可显示这些值。总卡方值通过对所有单元格求和获得,即它是 “卡方贡献(Contribution to chi-square)” 表中所示值的总和。 + +为了确定卡方统计量是否可被视为**较大**,我们首先计算自由度(df = 单元格数量 - 1)。在包含两个单元格的表格中,自由度 =(2-1)=1。“摘要(Summary)” 标签页的输出显示了卡方统计量的值、自由度以及检验的 p 值。我们还能看到每个单元格对总卡方统计量的贡献。 + +记住要检查期望値:所有期望频数均大于 5,因此卡方统计量的 p 值不太可能存在偏差(另见下方技术说明)。与通常一样,当 p 值小于 0.05 时,我们拒绝原假设。由于我们的 p 值非常大(>0.8),我们不能拒绝原假设(即观察数据中的份额分布与我们假设的一致)。 + +我们可以使用与 0.028 的卡方值相关的 p 值来评估原假设。不过,我们也可以使用概率计算器计算临界卡方值。从下方输出中可以看到,如果选择 95% 的置信水平,临界值为 3.841。由于计算得到的卡方值小于临界值(0.028 < 3.841),我们不能拒绝上述原假设。 + +

    + +我们也可以使用概率计算器确定与计算得到的卡方值相关的 p 值。与 “摘要” 标签页的输出一致,该`p.value`为`< .001`。 + +

    + +除 “摘要” 标签页中的数值输出外,我们还可以在 “绘图(Plot)” 标签页中可视化评估假设。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向
    *报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, check = "observed", custom = TRUE) + labs(y = "百分比")`)。详情请参见*数据 > 可视化*。 + +### 技术说明 + +当一个或多个期望値较小时(例如≤5),卡方检验的 p 值通过模拟方法计算。如果某些单元格的期望计数低于 1,可能需要合并单元格 / 类别。 + +### R 函数 + +有关 Radiant 中用于评估离散概率分布的相关 R 函数概述,请参见*基础 > 表格*。 + +`goodness`工具中使用的来自`stats`包的核心函数是`chisq.test`。 diff --git a/radiant.basics/inst/app/tools/help/homo_variance_test.md b/radiant.basics/inst/app/tools/help/homo_variance_test.md new file mode 100644 index 0000000..e69de29 diff --git a/radiant.basics/inst/app/tools/help/normality_test.md b/radiant.basics/inst/app/tools/help/normality_test.md new file mode 100644 index 0000000..e69de29 diff --git a/radiant.basics/inst/app/tools/help/prob_calc.Rmd b/radiant.basics/inst/app/tools/help/prob_calc.Rmd new file mode 100644 index 0000000..2a3740e --- /dev/null +++ b/radiant.basics/inst/app/tools/help/prob_calc.Rmd @@ -0,0 +1,106 @@ +> Probability calculator + +Calculate probabilities or values based on the _Binomial_, _Chi-squared_, _Discrete_, _F_, _Exponential_, _Normal_, _Poisson_, _t_, or _Uniform_ distribution. + +## Testing batteries + +Suppose Consumer Reports (CR) wants to test manufacturer claims about battery life. The manufacturer claims that more than 90% of their batteries will power a laptop for at least 12 hours of continuous use. CR sets up 20 identical laptops with the manufacturer's batteries. If the manufacturer's claims are accurate, what is the probability that 15 or more laptops are still running after 12 hours? + +The description of the problem suggests we should select `Binomial` from the `Distribution` dropdown. To find the probability, select `Values` as the `Input type` and enter `15` as the `Upper bound`. In the output below we can see that the probability is 0.989. The probability that exactly 15 laptops are still running after 12 hours is 0.032. + +

    + +## Demand for headphones + +A manufacturer wants to determine the appropriate inventory level for headphones required to achieve a 95% service level. Demand for the headphones obeys a normal distribution with a mean of 3000 and a standard deviation of 800. + +To find the required number of headphones to hold in inventory choose `Normal` from the `Distribution` dropdown and then select `Probability` as the `Input type`. Enter `.95` as the `Upper bound`. In the output below we see the number of units to stock is 4316. + +

    + +## Cups of ice cream + +A **discrete** random variable can take on a limited (finite) number of possible values. The **probability distribution** of a discrete random variable lists these values and their probabilities. For example, probability distribution of the number of cups of ice cream a customer buys could be described as follows: + +* 40% of customers buy 1 cup; +* 30% of customers buy 2 cups; +* 20% of customers buy 3 cups; +* 10% of customers buy 4 cups. + +We can use the probability distribution of a random variable to calculate its **mean** (or **expected value**) as follows; + +$$ + E(C) = \mu_C = 1 \times 0.40 + 2 \times 0.30 + 3 \times 0.20 + 4 \times 0.10 = 2\,, +$$ + +where $\mu_C$ is the mean number of cups purchased. We can _expect_ a randomly selected customer to buy 2 cups. The variance is calculated as follow: + +$$ + Var(C) = (1 - 2)^2 \times 0.4 + (2 - 2)^2 \times 0.3 + (3 - 2)^2 \times 0.2 + (4 - 2)^2 \times 0.1 = 1\,. +$$ + +To get the mean and standard deviation of the discrete probability distribution above, as well as the probability a customer will buy 2 or more cups (0.6), specify the following in the probability calculator. + +

    + +## Hypothesis testing + +You can also use the probability calculator to determine a `p.value` or a `critical value` for a statistical test. See the help files for `Single mean`, `Single proportion`, `Compare means`, `Compare proportions`, `Cross-tabs` in the _Basics_ menu and `Linear regression (OLS)` in the _Model_ menu for details. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result) + labs(title = "Normal distribution")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant for probability calculations see _Basics > Probability_ + +Key functions from the `stats` package used in the probability calculator: + +* `prob_norm` uses `pnorm`, `qnorm`, and `dnorm` +* `prob_lnorm` uses `plnorm`, `qlnorm`, and `dlnorm` +* `prob_tdist` uses `pt`, `qt`, and `dt` +* `prob_fdist` uses `pf`, `qf`, and `df` +* `prob_chisq` uses `pchisq`, `qchisq`, and `dchisq` +* `prob_unif` uses `punif`, `qunif`, and `dunif` +* `prob_binom` uses `pbinom`, `qbinom`, and `dbinom` +* `prob_expo` uses `pexp`, `qexp`, and `dexp` +* `prob_pois` uses `ppios`, `qpois`, and `dpois` + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the probability calculator module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/zw1yuiw8hvs47uc/AABPo1BncYv_i2eZfHQ7dgwCa?dl=1")
    + +Describing the Distribution of a Discrete Random + Variable (#1) + +* This video shows how to summarize information about a discrete random variable using the probability calculator in Radiant +* Topics List: + - Calculate the mean and variance for a discrete random variable by hand + - Calculate the mean, variance, and select probabilities for a discrete random variable in Radiant + +Describing Normal and Binomial Distributions in Radiant(#2) + +* This video shows how to summarize information about Normal and Binomial distributions using the probability calculator in Radiant +* Topics List: + - Calculate probabilities of a random variable following a Normal distribution in Radiant + - Calculate probabilities of a random variable following a Binomial distribution by hand + - Calculate probabilities of a random variable following a Binomial distribution in Radiant + +Describing Uniform and Binomial Distributions in Radiant(#3) + +* This video shows how to summarize information about Uniform and Binomial distributions using the probability calculator in Radiant +* Topics List: + - Calculate probabilities of a random variable following a Uniform distribution in Radiant + - Calculate probabilities of a random variable following a Binomial distribution in Radiant + +Providing Probability Bounds(#4) + +* This video demonstrates how to provide probability bounds in Radiant +* Topics List: + - Use probabilities as input type + - Round up the cutoff value diff --git a/radiant.basics/inst/app/tools/help/prob_calc.md b/radiant.basics/inst/app/tools/help/prob_calc.md new file mode 100644 index 0000000..d98e2b9 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/prob_calc.md @@ -0,0 +1,105 @@ +> 概率计算器 + +基于二项分布(Binomial)、卡方分布(Chi-squared)、离散分布(Discrete)、F 分布(F)、指数分布(Exponential)、正态分布(Normal)、泊松分布(Poisson)、t 分布(t)或均匀分布(Uniform)计算概率或数值。 + +## 电池测试 + +假设《消费者报告》(CR)想要测试制造商关于电池寿命的声明。制造商声称,超过 90% 的电池可为笔记本电脑提供至少 12 小时的连续使用电力。CR 为 20 台相同的笔记本电脑配备了该制造商的电池。如果制造商的声明准确,那么 15 台或更多笔记本电脑在 12 小时后仍能运行的概率是多少? + +问题描述表明我们应从 “分布(Distribution)” 下拉菜单中选择 “二项分布(Binomial)”。要计算概率,选择 “数值(Values)” 作为 “输入类型(Input type)”,并输入`15`作为 “上限(Upper bound)”。在下方输出中,我们可以看到该概率为 0.989。恰好 15 台笔记本电脑在 12 小时后仍能运行的概率为 0.032。 + +

    + +## 耳机需求 + +制造商希望确定耳机的适当库存水平,以实现 95% 的服务水平。耳机需求服从均值为 3000、标准差为 800 的正态分布。 + +要找到所需持有的耳机库存数量,从 “分布(Distribution)” 下拉菜单中选择 “正态分布(Normal)”,然后选择 “概率(Probability)” 作为 “输入类型(Input type)”。输入`.95`作为 “上限(Upper bound)”。在下方输出中,我们看到应备货的数量为 4316 台。 + +

    + +## 冰淇淋杯数 + +**离散**随机变量只能取有限个可能的值。离散随机变量的**概率分布**列出了这些值及其概率。例如,顾客购买冰淇淋杯数的概率分布可描述如下: + +* 40% 的顾客购买 1 杯; +* 30% 的顾客购买 2 杯; +* 20% 的顾客购买 3 杯; +* 10% 的顾客购买 4 杯。 + +我们可以使用随机变量的概率分布计算其**均值**(或**期望价值**): + +$$ + E(C) = \mu_C = 1 \times 0.40 + 2 \times 0.30 + 3 \times 0.20 + 4 \times 0.10 = 2\,, +$$ + +其中μC是购买杯数的均值。我们可以**预期**随机选择的顾客会购买 2 杯。方差计算如下: + +$$ + Var(C) = (1 - 2)^2 \times 0.4 + (2 - 2)^2 \times 0.3 + (3 - 2)^2 \times 0.2 + (4 - 2)^2 \times 0.1 = 1\,. +$$ + +要获取上述离散概率分布的均值和标准差,以及顾客购买 2 杯或更多杯的概率(0.6),在概率计算器中进行如下设置。 + +

    + +## 假设检验 + +你也可以使用概率计算器确定统计检验的`p值(p.value)`或`临界值(critical value)`。详见 “基础(Basics)” 菜单中 “单样本均值(Single mean)”、“单样本比例(Single proportion)”、“均值比较(Compare means)”、“比例比较(Compare proportions)”、“交叉表(Cross-tabs)” 以及 “模型(Model)” 菜单中 “线性回归(OLS)” 的帮助文件。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result) + labs(title = "正态分布")`)。详情请参见*数据 > 可视化*。 + +### R 函数 + +有关 Radiant 中用于概率计算的相关 R 函数概述,请参见*基础 > 概率*。 + +概率计算器中使用的来自`stats`包的核心函数: + +* `prob_norm`使用`pnorm`、`qnorm`和`dnorm` +* `prob_lnorm`使用`plnorm`、`qlnorm`和`dlnorm` +* `prob_tdist`使用`pt`、`qt`和`dt` +* `prob_fdist`使用`pf`、`qf`和`df` +* `prob_chisq`使用`pchisq`、`qchisq`和`dchisq` +* `prob_unif`使用`punif`、`qunif`和`dunif` +* `prob_binom`使用`pbinom`、`qbinom`和`dbinom` +* `prob_expo`使用`pexp`、`qexp`和`dexp` +* `prob_pois`使用`ppois`、`qpois`和`dpois` + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中概率计算器模块使用的所有材料: + +
    usethis::use_course("https://www.dropbox.com/sh/zw1yuiw8hvs47uc/AABPo1BncYv_i2eZfHQ7dgwCa?dl=1")
    + +描述离散随机变量的分布(一) + +- 本视频展示如何使用 Radiant 中的概率计算器汇总离散随机变量的信息 +- 主题列表: + - 手动计算离散随机变量的均值和方差 + - 在 Radiant 中计算离散随机变量的均值、方差和特定概率 + +在 Radiant 中描述正态分布和二项分布(二) + +- 本视频展示如何使用 Radiant 中的概率计算器汇总正态分布和二项分布的信息 +- 主题列表: + - 在 Radiant 中计算服从正态分布的随机变量的概率 + - 手动计算服从二项分布的随机变量的概率 + - 在 Radiant 中计算服从二项分布的随机变量的概率 + +在 Radiant 中描述均匀分布和二项分布(三) + +- 本视频展示如何使用 Radiant 中的概率计算器汇总均匀分布和二项分布的信息 +- 主题列表: + - 在 Radiant 中计算服从均匀分布的随机变量的概率 + - 在 Radiant 中计算服从二项分布的随机变量的概率 + +设置概率边界(四) + +- 本视频演示如何在 Radiant 中设置概率边界 +- 主题列表: + - 使用概率作为输入类型 + - 对临界值向上取整 diff --git a/radiant.basics/inst/app/tools/help/single_mean.md b/radiant.basics/inst/app/tools/help/single_mean.md new file mode 100644 index 0000000..0aa9744 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/single_mean.md @@ -0,0 +1,82 @@ +> 将单个均值与总体均值进行比较 + +单样本均值 t 检验(或单样本 t 检验)用于将样本数据中某个变量的均值与我们样本数据所来自的总体中的(假设)均值进行比较。这很重要,因为我们很少能获取整个总体的数据。“比较值(Comparison value)” 框中指定了总体中的假设值。 + +我们可以执行单侧检验(即`小于`或`大于`)或双侧检验(见 “备择假设(Alternative hypothesis)” 下拉菜单)。单侧检验用于评估现有数据是否提供证据表明样本均值大于(或小于)比较值(即原假设中的总体值)。 + +## 示例 + +我们获取了英国杂货店随机样本的数据。如果该产品类别的消费者需求超过 1 亿单位(即每家店约 1750 单位),管理层将考虑进入该市场。样本中每家店的平均需求为 1953 单位。虽然这个数字大于 1750,但我们需要确定这种差异是否可能由抽样误差导致。 + +你可以在**demand_uk.rda**数据集中找到各样本店的单位销售量信息。该数据集包含两个变量:`store_id`(店铺 ID)和`demand_uk`(英国需求)。我们的原假设是英国每家店的平均需求等于 1750 单位,因此将该数值输入 “比较值(Comparison value)” 框。我们从 “备择假设(Alternative hypothesis)” 下拉菜单中选择 “大于(Greater than)” 选项,因为我们想确定现有数据是否提供足够证据拒绝原假设,支持英国每家店的平均需求**大于 1750 单位**的备择假设。 + +

    + +输出的前两个区块显示检验的基本信息(如原假设和备择假设)和汇总统计量(如均值、标准差、标准误、误差边际等)。输出的最后一行显示以下内容: + +- `diff`是样本均值(1953.393)与比较值(1750)之间的差值 +- `se`是标准误(即`diff`抽样分布的标准差) +- `t.value`是与`diff`相关的 t 统计量,可与 t 分布比较(即`diff` / `se`) +- `p.value`是在原假设为真时,找到与`diff`一样极端或更极端值的概率 +- `df`是统计检验的自由度(即 n - 1) +- `5% 100%`显示样本均值的 95% 置信区间(1897 至无穷大)。这些数值提供了真实总体均值可能落入的范围 + +### 检验方法 + +我们可以使用三种方法评估原假设。我们选择显著性水平为 0.05。1 当然,每种方法会得出相同结论。 + +#### p 值 + +由于 p 值**小于**常规显著性水平(即 0.05),我们拒绝原假设,并建议管理层应进入英国市场。注意,“***” 用作显著性指标。 + +#### 置信区间 + +由于 “比较值”**未**包含在置信区间内,我们拒绝原假设,并建议管理层应进入英国市场。 + +#### t 值 + +由于计算的 t 值(5.967)**大于**临界 t 值,我们拒绝原假设,并建议管理层应进入英国市场。可通过 “基础(Basics)” 菜单中的概率计算器获取临界 t 值。对于自由度为 571 的 t 分布(见`df`),临界 t 值为 1.648。由于备择假设是 “大于(Greater than)”,我们必须输入 0.95 作为上侧概率界(即 1 - 0.05)。2 + +

    + +除 “摘要(Summary)” 标签页中的数值输出外,我们还可以在 “绘图(Plot)” 标签页中可视化数据。侧边栏中的设置与之前相同。直方图中的黑线显示样本均值(实线)和样本均值的置信区间(虚线)。红线显示比较值(即原假设下的单位销售量)。由于红线**未**落在置信区间(1897 至无穷大)内,我们拒绝原假设,接受备择假设。 + +

    + +### 统计术语 + +这是**单样本均值**检验,原假设为真实总体**均值**等于**1750**。使用 0.05 的显著性水平,我们拒绝原假设,并得出结论:真实总体**均值** **大于**1750。 + +该检验的 p 值为 **< .001**。这是在原假设为真时,观察到与数据中样本**均值**一样极端或更极端的样本**均值**的概率。在本例中,它是当真实总体**均值**为**1750**时,观察到样本**均值**大于(或等于)**1953.393**的概率。 + +5% 置信界为**1897.233**。如果重复抽样并为每个样本计算 5% 置信界,真实总体均值将在 95% 的样本中超过该下界。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +2 1−α称为**置信水平**。常用的置信水平为 0.95(或 95%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, plots = "hist", custom = TRUE) + labs(title = "直方图")`)。详情请参见*数据 > 可视化*。 + +### R 函数 + +有关 Radiant 中用于评估均值的相关 R 函数概述,请参见*基础 > 均值*。 + +`single_mean`工具中使用的来自`stats`包的核心函数是`t.test`。 + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中假设检验模块使用的所有材料: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +单样本均值假设检验 + +- 本视频展示如何检验关于单样本均值与总体均值的假设 +- 主题列表: + - 计算样本的汇总统计量 + - 在 Radiant 中设置单样本均值的假设检验 + - 使用 p 值、置信区间或临界值评估假设检验 diff --git a/radiant.basics/inst/app/tools/help/single_prop.md b/radiant.basics/inst/app/tools/help/single_prop.md new file mode 100644 index 0000000..79ce589 --- /dev/null +++ b/radiant.basics/inst/app/tools/help/single_prop.md @@ -0,0 +1,87 @@ +> 将单个比例与总体比例进行比较 + +单样本比例检验(或单样本二项检验)用于将样本数据中某类响应或取值的比例与我们样本数据所来自的总体中的(假设)比例进行比较。这很重要,因为我们很少能获取整个总体的数据。“比较值(Comparison value)” 框中指定了总体中的假设值。 + +我们可以执行单侧检验(即`小于`或`大于`)或双侧检验(见 “备择假设(Alternative hypothesis)” 下拉菜单)。单侧检验用于评估现有数据是否提供证据表明样本比例大于(或小于)比较值(即原假设中的总体值)。 + +## 示例 + +一家汽车制造商通过在新目标市场随机抽样并采访 1000 名消费者开展了一项研究。研究目标是确定消费者是否会考虑购买该品牌汽车。 + +管理层已决定公司将进入该细分市场。但如果品牌偏好率低于 10%,将投入额外资源用于广告和赞助,以提高目标消费者中的品牌知名度。在样本中,有 93 名消费者表现出公司所认为的强烈品牌喜爱度。 + +你可以在**consider.rda**数据集中找到调查参与者的响应信息。该数据集包含两个变量:`id`和`consider`。 + +我们的原假设是,会考虑在未来购买该汽车品牌的消费者比例等于 10%。从 “变量(Variable)” 下拉菜单中选择`consider`变量。要评估样本中`yes`响应的比例,从 “选择水平(Choose level)” 下拉菜单中选择`yes`。 + +从 “备择假设(Alternative hypothesis)” 下拉菜单中选择 “小于(Less than)” 选项,以确定现有数据是否提供足够证据拒绝原假设,支持 “会考虑该品牌的消费者比例**小于 10%**” 的备择假设。 + +

    + +输出的前两个区块显示检验的基本信息(如原假设和备择假设)和汇总统计量(如 “yes” 响应的比例、标准误、误差边际等)。输出的最后一行显示以下内容: + +- `diff`是样本比例(0.093)与比较值(0.1)之间的差值 +- `ns`是成功次数。这是我们可以与参数为n=1000和p=0.10的二项分布进行比较的数量 +- `p.value`是在原假设为真时,找到与`diff`一样极端或更极端值的概率 +- `0% 95%`显示样本比例的 95% 置信区间(0 至 0.11)。这些数值提供了真实总体比例可能落入的范围 + +### 检验方法 + +我们可以使用三种方法评估原假设。我们选择显著性水平为 0.05。1 当然,每种方法会得出相同结论。 + +#### p 值 + +由于 p 值**大于**常规显著性水平(0.249>0.05),我们**不能**拒绝原假设,且**不建议**管理层投入资源提高品牌知名度。 + +我们也可以通过 “基础(Basics)” 菜单中的概率计算器获取 p 值。在参数为n=1000和p=0.1的二项分布中,输入数据中的成功次数(93)作为下界(值)。p 值是观察到与样本中 93 次成功一样极端或更极端的成功次数的概率。我们看到P(X<=93)=0.249,这与 “基础> 比例 > 单样本比例” 中的结果相同。 + +

    + +#### 置信区间 + +由于 “比较值”**包含在**置信区间内(即0<0.1<0.11),我们**不能**拒绝原假设,且**不建议**管理层投入资源提高品牌知名度。 + +#### 成功次数 + +我们可以通过 “基础(Basics)” 菜单中的概率计算器获取临界值。对于参数为n=1000和p=0.1的二项分布,临界值为 85。由于备择假设是 “小于(Less than)”,我们必须输入 0.05 作为下侧概率界。2 + +

    + +由于成功次数(即 “yes” 响应的数量)**大于**临界值(93 vs 85),我们**不能**拒绝原假设,且**不建议**管理层投入资源提高品牌知名度。 + +### 统计术语 + +这是**单样本比例**检验,原假设为真实总体**比例**等于**0.1**。使用 0.05 的显著性水平,我们**不能**拒绝原假设,且**不能**得出真实总体**比例** **小于**0.1 的结论。 + +该检验的 p 值为**0.249**。这是在原假设为真时,观察到与从数据中估计的样本**比例**(或**成功次数**)一样极端或更极端的样本值的概率。在本例中,它是当真实总体**比例**为**0.1**时,观察到样本**比例**(**成功次数**)小于(或等于)**0.093**(**93**)的概率。 + +95% 置信界为**0.11**。如果重复抽样并为每个样本计算 95% 置信界,真实总体比例将在 95% 的样本中低于该界值。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +2 1−α称为**置信水平**。常用的置信水平为 0.95(或 95%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建分析。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result, plots = "bar", custom = TRUE) + labs(y = "百分比")`)。详情请参见*数据 > 可视化*。 + +### R 函数 + +有关 Radiant 中用于评估比例的相关 R 函数概述,请参见*基础 > 比例*。 + +`single_prop`工具中使用的来自`stats`包的核心函数是`binom.test`和`prop.test`。 + +### 视频教程 + +将以下完整命令复制粘贴到 RStudio 控制台(即左下角窗口),按回车即可获取 Radiant 教程系列中假设检验模块使用的所有材料: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +单样本比例假设检验 + +- 本视频展示如何检验关于单样本比例与总体比例的假设 +- 主题列表: + - 在 Radiant 中设置单样本比例的假设检验 + - 使用 p 值、置信区间或临界值评估假设检验 diff --git a/radiant.basics/inst/app/ui.R b/radiant.basics/inst/app/ui.R new file mode 100644 index 0000000..3b532d0 --- /dev/null +++ b/radiant.basics/inst/app/ui.R @@ -0,0 +1,13 @@ +## ui for basics menu in radiant +navbar_proj( + do.call( + navbarPage, + c( + "Radiant for R", + getOption("radiant.nav_ui"), + getOption("radiant.basics_ui"), + getOption("radiant.shared_ui"), + help_menu("help_basics_ui") + ) + ) +) diff --git a/radiant.basics/inst/app/www/js/run_return.js b/radiant.basics/inst/app/www/js/run_return.js new file mode 100644 index 0000000..8c79126 --- /dev/null +++ b/radiant.basics/inst/app/www/js/run_return.js @@ -0,0 +1,5 @@ +$(document).keydown(function(event) { + if ($("#cor_name").is(":focus") && event.keyCode == 13) { + $("#cor_store").click(); + } +}); diff --git a/radiant.basics/inst/translations/translation_zh.csv b/radiant.basics/inst/translations/translation_zh.csv new file mode 100644 index 0000000..a29bf6a --- /dev/null +++ b/radiant.basics/inst/translations/translation_zh.csv @@ -0,0 +1,220 @@ +en,zh,source +Help,帮助,"global.R, radiant.R" +Keyboard shortcuts,键盘快捷键,global.R +Normal,正态分布,clt_ui.R +Binomial,二项分布,clt_ui.R +Uniform,均匀分布,clt_ui.R +Exponential,指数分布,clt_ui.R +Sum,求和,clt_ui.R +Mean,平均值,clt_ui.R +Run simulation,运行模拟,clt_ui.R +Re-run simulation,重新运行模拟,clt_ui.R +Distribution:,分布:,clt_ui.R +Min:,最小值:,clt_ui.R +Max:,最大值:,clt_ui.R +Mean:,均值:,clt_ui.R +SD:,标准差:,clt_ui.R +Rate:,速率:,clt_ui.R +Size:,样本量:,clt_ui.R +Prob:,概率:,clt_ui.R +Sample size:,样本大小:,clt_ui.R +# of samples:,样本数量:,clt_ui.R +Number of bins:,分箱数量:,clt_ui.R +Central Limit Theorem,中心极限定理,clt_ui.R +Basics > Probability,基础 > 概率,clt_ui.R +Please choose a sample size larger than 2,请选择一个大于 2 的样本大小,clt_ui.R +Please choose 2 or more samples,请选择 2 个或更多样本,clt_ui.R +Please choose a minimum value for the uniform distribution,请为均匀分布选择一个最小值,clt_ui.R +Please choose a maximum value for the uniform distribution,请为均匀分布选择一个最大值,clt_ui.R +The maximum value for the uniform distribution\nmust be larger than the minimum value,均匀分布的最大值必须大于最小值,clt_ui.R +Please choose a mean value for the normal distribution,请为正态分布选择一个均值,clt_ui.R +Please choose a non-zero standard deviation for the normal distribution,请为正态分布选择一个非零的标准差,clt_ui.R +Please choose a rate larger than 1 for the exponential distribution,请为指数分布选择一个大于 1 的速率,clt_ui.R +Please choose a size parameter larger than 1 for the binomial distribution,请为二项分布选择一个大于 1 的大小参数,clt_ui.R +Please choose a probability between 0 and 1 for the binomial distribution,请为二项分布选择一个介于 0 到 1 之间的概率,clt_ui.R +** Press the Run simulation button to simulate data **,** 点击运行模拟按钮以生成数据 **,clt_ui.R +Generating plots,正在生成图形,"clt_ui.R, compare_means_ui.R" +Save central limit theorem plot,保存中心极限定理图,clt_ui.R +Two sided,双侧,compare_means_ui.R +Less than,小于,compare_means_ui.R +Greater than,大于,compare_means_ui.R +independent,独立样本,compare_means_ui.R +paired,配对样本,compare_means_ui.R +None,无,compare_means_ui.R +Bonferroni,Bonferroni 校正,compare_means_ui.R +Scatter,散点图,compare_means_ui.R +Box,箱线图,compare_means_ui.R +Density,密度图,compare_means_ui.R +Bar,条形图,compare_means_ui.R +Select a factor or numeric variable:,选择一个因子或数值变量:,compare_means_ui.R +Numeric variable(s):,数值变量(可多选):,compare_means_ui.R +Numeric variable:,数值变量:,compare_means_ui.R +Choose combinations:,选择组合:,compare_means_ui.R +Evaluate all combinations,评估所有组合,compare_means_ui.R +Alternative hypothesis:,备择假设:,compare_means_ui.R +Confidence level:,置信水平:,compare_means_ui.R +Show additional statistics,显示额外统计量,compare_means_ui.R +Sample type:,样本类型:,compare_means_ui.R +Multiple comp. adjustment:,多重比较校正:,compare_means_ui.R +Test type:,检验类型:,compare_means_ui.R +t-test,t 检验,compare_means_ui.R +Wilcox,Wilcoxon 检验,compare_means_ui.R +Select plots:,选择绘图类型:,compare_means_ui.R +Select plots,选择绘图,compare_means_ui.R +Compare means,均值比较,compare_means_ui.R +Summary,摘要,compare_means_ui.R +Plot,图形,compare_means_ui.R +Basics > Means,基础 > 均值,compare_means_ui.R +"This analysis requires at least two variables. The first can be of type +factor, numeric, or interval. The second must be of type numeric or interval. +If these variable types are not available please select another dataset. + +","该分析至少需要两个变量。 +第一个变量可以是因子、数值或区间类型,第二个变量必须是数值或区间类型。 +如果这些类型的变量不可用,请选择其他数据集。 + +",compare_means_ui.R +Nothing to plot. Please select a plot type,没有可绘制的内容,请选择绘图类型,compare_means_ui.R +Save compare means plot,保存均值比较图,compare_means_ui.R +Basics > Proportions,基础 > 比例,compare_props_ui.R +Compare proportions,比较比例,compare_props_ui.R +"This analysis requires two categorical variables. The first must have +two or more levels. The second can have only two levels. If these +variable types are not available please select another dataset. + +","该分析需要两个分类变量。 +第一个变量必须具有两个或更多水平,第二个变量只能有两个水平。 +如果这些变量类型不可用,请选择其他数据集。 + +",compare_props_ui.R +Select a grouping variable:,选择分组变量:,compare_props_ui.R +Save compare proportions plot,保存比较比例图,compare_props_ui.R +Dodge,并列柱状图,compare_props_ui.R +Variable (select one):,变量(选择一个):,compare_props_ui.R +Pearson,皮尔逊积矩相关,correlation_ui.R +Spearman,斯皮尔曼秩相关,correlation_ui.R +Kendall,肯德尔秩相关,correlation_ui.R +Calculate correlation,计算相关性,correlation_ui.R +Basics > Tables,基础 > 表格,correlation_ui.R +Correlation,相关性,correlation_ui.R +Adjust for {factor} variables,针对 {factor} 变量进行调整,correlation_ui.R +Calculate adjusted p.values,计算调整后的 p 值,correlation_ui.R +Correlation cutoff:,相关性阈值:,correlation_ui.R +Show covariance matrix,显示协方差矩阵,correlation_ui.R +Store,存储,correlation_ui.R +"This analysis requires two or more variables or type numeric, integer,or date. If these variable types are not available please select another dataset.",该分析需要两个或以上的数值型、整数型或日期型变量。如果这些变量类型不可用,请选择其他数据集。,correlation_ui.R +Method:,方法:,correlation_ui.R +Acquiring variable information,正在获取变量信息,correlation_ui.R +Select variables:,选择变量:,correlation_ui.R +Store as data.frame:,存储为数据框:,correlation_ui.R +"This analysis requires two or more variables or type numeric,\ninteger,or date. If these variable types are not available\nplease select another dataset.\n\n",本分析需要两个或以上的变量,并且类型必须是数值型、整数型或日期型。如果这些变量类型不可用,请选择其他数据集。,correlation_ui.R +Save correlation plot,保存相关性图表,correlation_ui.R +Number of data points plotted:,绘制的数据点数量:,correlation_ui.R +"This analysis requires two or more variables or type numeric, +integer,or date. If these variable types are not available +please select another dataset. + +","本分析需要两个或以上的变量,并且类型必须是数值型、整数型或日期型。 +如果这些变量类型不可用,请选择其他数据集。 + +",correlation_ui.R +Re-calculate correlations,重新计算相关系数,correlation_ui.R +Observed,观察值,cross_tabs_ui.R +Expected,期望值,cross_tabs_ui.R +Chi-squared,卡方值,cross_tabs_ui.R +Deviation std.,标准差偏差,cross_tabs_ui.R +Row percentages,行百分比,cross_tabs_ui.R +Column percentages,列百分比,cross_tabs_ui.R +Table percentages,表格百分比,cross_tabs_ui.R +Cross-tabs,交叉表,cross_tabs_ui.R +"This analysis requires two categorical variables. Both must have two or more levels. +If these variable types are not available please select another dataset. + +","此分析需要两个分类变量,且每个变量必须至少有两个水平。 +如果这些类型的变量不可用,请选择其他数据集。 + +",cross_tabs_ui.R +Select a categorical variable:,请选择一个分类变量:,cross_tabs_ui.R +Save cross-tabs plot,保存交叉表图形,cross_tabs_ui.R +Goodness of fit,拟合优度检验,goodness_ui.R +"This analysis requires a categorical variables with two or more levels. +If such a variable type is not available please select another dataset. + +","此分析需要一个具有两个或以上水平的分类变量。 +如果没有这种类型的变量,请选择其他数据集。 + +",goodness_ui.R +Save goodness of fit plot,保存拟合优度检验图形,goodness_ui.R +Probabilities:,概率:,goodness_ui.R +"Enter probabilities (e.g., 1/2 1/2)",输入概率(例如:1/2 1/2),goodness_ui.R +Discrete,离散分布,prob_calc_ui.R +F,F 分布,prob_calc_ui.R +Log normal,对数正态,prob_calc_ui.R +Poisson,泊松分布,prob_calc_ui.R +Values,数值,prob_calc_ui.R +Probability calculator,概率计算器,prob_calc_ui.R +Input type:,输入类型:,prob_calc_ui.R +Decimals:,小数位数:,prob_calc_ui.R +Save probability calculator plot,保存概率计算器图形,prob_calc_ui.R +Please provide a mean and standard deviation (> 0),请提供平均值和标准差(标准差需大于 0),prob_calc_ui.R +St. dev:,标准差:,prob_calc_ui.R +Lower bound:,下限:,prob_calc_ui.R +Upper bound:,上限:,prob_calc_ui.R +Provide an integer value for the number of decimal places,请输入整数,表示保留的小数位数,prob_calc_ui.R +"Please provide a set of values and probabilities. +Separate numbers using spaces (e.g., 1/2 1/2)","请提供一组数值和对应的概率。 +请用空格分隔(例如:1/2 1/2)",prob_calc_ui.R +Values:,数值:,prob_calc_ui.R +Please provide a value for n (number of trials) and p (probability of success),请提供试验次数 (n) 和成功概率 (p) 的值,prob_calc_ui.R +Please provide a minimum and a maximum value,请提供最小值和最大值,prob_calc_ui.R +Please provide a value for the degrees of freedom (> 0),请提供大于 0 的自由度值,prob_calc_ui.R +"Please provide a value for Degrees of freedom 1 (> 0) +and for Degrees of freedom 2 (> 4)",请提供自由度 1(大于 0)和自由度 2(大于 4)的值,prob_calc_ui.R +Please provide a value for the rate (> 0),请提供大于 0 的速率值,prob_calc_ui.R +Please provide a value for lambda (> 0),请提供大于 0 的 λ(Lambda)值,prob_calc_ui.R +n:,试验次数:,prob_calc_ui.R +p:,成功概率:,prob_calc_ui.R +Degrees of freedom:,自由度:,prob_calc_ui.R +Degrees of freedom 1:,自由度 1:,prob_calc_ui.R +Degrees of freedom 2:,自由度 2:,prob_calc_ui.R +Mean log:,对数均值:,prob_calc_ui.R +St. dev log:,对数标准差:,prob_calc_ui.R +Lambda:,λ:,prob_calc_ui.R +Histogram,直方图,single_mean_ui.R +Simulate,模拟,single_mean_ui.R +Single mean,单样本均值,single_mean_ui.R +Comparison value:,比较值:,single_mean_ui.R +"This analysis requires a variable of type numeric or interval. If none are +available please select another dataset. + +","此分析需要一个数值型或区间型变量。 +如果当前数据集中没有此类变量,请选择其他数据集。 + +",single_mean_ui.R +Save single mean plot,保存单样本均值图表,single_mean_ui.R +Single proportion,单样本比例,single_prop_ui.R +Binomial exact,精确二项检验,single_prop_ui.R +Z-test,Z 检验,single_prop_ui.R +Choose level:,选择水平:,single_prop_ui.R +"This analysis requires a categorical variable. In none are available +please select another dataset. + +","本分析需要一个分类变量。 +如果没有可用的分类变量,请选择其他数据集。 + +",single_prop_ui.R +Save single proportion plot,保存单样本比例图,single_prop_ui.R +Basics,基础,init.R +Probability,概率,init.R +Probability calculator,概率计算器,init.R +Central Limit Theorem,中心极限定理,init.R +Means,均值,init.R +Single mean,单样本均值,init.R +Compare means,均值比较,init.R +Proportions,比例,init.R +Single proportion,单样本比例,init.R +Compare proportions,比例比较,init.R +Tables,表格,init.R +Goodness of fit,拟合优度,init.R +Cross-tabs,交叉表,init.R +Correlation,相关性,init.R diff --git a/radiant.basics/man/clt.Rd b/radiant.basics/man/clt.Rd new file mode 100644 index 0000000..818c961 --- /dev/null +++ b/radiant.basics/man/clt.Rd @@ -0,0 +1,53 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/clt.R +\name{clt} +\alias{clt} +\title{Central Limit Theorem simulation} +\usage{ +clt( + dist, + n = 100, + m = 100, + norm_mean = 0, + norm_sd = 1, + binom_size = 10, + binom_prob = 0.2, + unif_min = 0, + unif_max = 1, + expo_rate = 1 +) +} +\arguments{ +\item{dist}{Distribution to simulate} + +\item{n}{Sample size} + +\item{m}{Number of samples} + +\item{norm_mean}{Mean for the normal distribution} + +\item{norm_sd}{Standard deviation for the normal distribution} + +\item{binom_size}{Size for the binomial distribution} + +\item{binom_prob}{Probability for the binomial distribution} + +\item{unif_min}{Minimum for the uniform distribution} + +\item{unif_max}{Maximum for the uniform distribution} + +\item{expo_rate}{Rate for the exponential distribution} +} +\value{ +A list with the name of the Distribution and a matrix of simulated data +} +\description{ +Central Limit Theorem simulation +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/clt.html} for an example in Radiant +} +\examples{ +clt("Uniform", 10, 10, unif_min = 10, unif_max = 20) + +} diff --git a/radiant.basics/man/compare_means.Rd b/radiant.basics/man/compare_means.Rd new file mode 100644 index 0000000..399cf16 --- /dev/null +++ b/radiant.basics/man/compare_means.Rd @@ -0,0 +1,61 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_means.R +\name{compare_means} +\alias{compare_means} +\title{Compare sample means} +\usage{ +compare_means( + dataset, + var1, + var2, + samples = "independent", + alternative = "two.sided", + conf_lev = 0.95, + comb = "", + adjust = "none", + test = "t", + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{var1}{A numeric variable or factor selected for comparison} + +\item{var2}{One or more numeric variables for comparison. If var1 is a factor only one variable can be selected and the mean of this variable is compared across (factor) levels of var1} + +\item{samples}{Are samples independent ("independent") or not ("paired")} + +\item{alternative}{The alternative hypothesis ("two.sided", "greater" or "less")} + +\item{conf_lev}{Span of the confidence interval} + +\item{comb}{Combinations to evaluate} + +\item{adjust}{Adjustment for multiple comparisons ("none" or "bonf" for Bonferroni)} + +\item{test}{t-test ("t") or Wilcox ("wilcox")} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of all variables defined in the function as an object of class compare_means +} +\description{ +Compare sample means +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +} +\examples{ +compare_means(diamonds, "cut", "price") \%>\% str() + +} +\seealso{ +\code{\link{summary.compare_means}} to summarize results + +\code{\link{plot.compare_means}} to plot results +} diff --git a/radiant.basics/man/compare_props.Rd b/radiant.basics/man/compare_props.Rd new file mode 100644 index 0000000..d4e1cdf --- /dev/null +++ b/radiant.basics/man/compare_props.Rd @@ -0,0 +1,58 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_props.R +\name{compare_props} +\alias{compare_props} +\title{Compare sample proportions across groups} +\usage{ +compare_props( + dataset, + var1, + var2, + levs = "", + alternative = "two.sided", + conf_lev = 0.95, + comb = "", + adjust = "none", + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{var1}{A grouping variable to split the data for comparisons} + +\item{var2}{The variable to calculate proportions for} + +\item{levs}{The factor level selected for the proportion comparison} + +\item{alternative}{The alternative hypothesis ("two.sided", "greater" or "less")} + +\item{conf_lev}{Span of the confidence interval} + +\item{comb}{Combinations to evaluate} + +\item{adjust}{Adjustment for multiple comparisons ("none" or "bonf" for Bonferroni)} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of all variables defined in the function as an object of class compare_props +} +\description{ +Compare sample proportions across groups +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +} +\examples{ +compare_props(titanic, "pclass", "survived") \%>\% str() + +} +\seealso{ +\code{\link{summary.compare_props}} to summarize results + +\code{\link{plot.compare_props}} to plot results +} diff --git a/radiant.basics/man/consider.Rd b/radiant.basics/man/consider.Rd new file mode 100644 index 0000000..b340dfb --- /dev/null +++ b/radiant.basics/man/consider.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{consider} +\alias{consider} +\title{Car brand consideration} +\format{ +A data frame with 1000 rows and 2 variables +} +\usage{ +data(consider) +} +\description{ +Car brand consideration +} +\details{ +Survey data of consumer purchase intentions. Description provided in attr(consider,"description") +} +\keyword{datasets} diff --git a/radiant.basics/man/cor2df.Rd b/radiant.basics/man/cor2df.Rd new file mode 100644 index 0000000..f0e54e3 --- /dev/null +++ b/radiant.basics/man/cor2df.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/correlation.R +\name{cor2df} +\alias{cor2df} +\title{Store a correlation matrix as a (long) data.frame} +\usage{ +cor2df(object, labels = c("label1", "label2"), ...) +} +\arguments{ +\item{object}{Return value from \code{\link{correlation}}} + +\item{labels}{Column names for the correlation pairs} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Store a correlation matrix as a (long) data.frame +} +\details{ +Return the correlation matrix as a (long) data.frame. See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +} diff --git a/radiant.basics/man/correlation.Rd b/radiant.basics/man/correlation.Rd new file mode 100644 index 0000000..f3a4049 --- /dev/null +++ b/radiant.basics/man/correlation.Rd @@ -0,0 +1,50 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/correlation.R +\name{correlation} +\alias{correlation} +\title{Calculate correlations for two or more variables} +\usage{ +correlation( + dataset, + vars = "", + method = "pearson", + hcor = FALSE, + hcor_se = FALSE, + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{vars}{Variables to include in the analysis. Default is all but character and factor variables with more than two unique values are removed} + +\item{method}{Type of correlations to calculate. Options are "pearson", "spearman", and "kendall". "pearson" is the default} + +\item{hcor}{Use polycor::hetcor to calculate the correlation matrix} + +\item{hcor_se}{Calculate standard errors when using polycor::hetcor} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list with all variables defined in the function as an object of class compare_means +} +\description{ +Calculate correlations for two or more variables +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +} +\examples{ +correlation(diamonds, c("price", "carat")) \%>\% str() +correlation(diamonds, "x:z") \%>\% str() + +} +\seealso{ +\code{\link{summary.correlation}} to summarize results + +\code{\link{plot.correlation}} to plot results +} diff --git a/radiant.basics/man/cross_tabs.Rd b/radiant.basics/man/cross_tabs.Rd new file mode 100644 index 0000000..1456c01 --- /dev/null +++ b/radiant.basics/man/cross_tabs.Rd @@ -0,0 +1,47 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/cross_tabs.R +\name{cross_tabs} +\alias{cross_tabs} +\title{Evaluate associations between categorical variables} +\usage{ +cross_tabs( + dataset, + var1, + var2, + tab = NULL, + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset (i.e., a data.frame or table)} + +\item{var1}{A categorical variable} + +\item{var2}{A categorical variable} + +\item{tab}{Table with frequencies as alternative to dataset} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of all variables used in cross_tabs as an object of class cross_tabs +} +\description{ +Evaluate associations between categorical variables +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant +} +\examples{ +cross_tabs(newspaper, "Income", "Newspaper") \%>\% str() +table(select(newspaper, Income, Newspaper)) \%>\% cross_tabs(tab = .) + +} +\seealso{ +\code{\link{summary.cross_tabs}} to summarize results + +\code{\link{plot.cross_tabs}} to plot results +} diff --git a/radiant.basics/man/demand_uk.Rd b/radiant.basics/man/demand_uk.Rd new file mode 100644 index 0000000..ec4f9ea --- /dev/null +++ b/radiant.basics/man/demand_uk.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{demand_uk} +\alias{demand_uk} +\title{Demand in the UK} +\format{ +A data frame with 1000 rows and 2 variables +} +\usage{ +data(demand_uk) +} +\description{ +Demand in the UK +} +\details{ +Survey data of consumer purchase intentions. Description provided in attr(demand_uk,"description") +} +\keyword{datasets} diff --git a/radiant.basics/man/goodness.Rd b/radiant.basics/man/goodness.Rd new file mode 100644 index 0000000..d9599a7 --- /dev/null +++ b/radiant.basics/man/goodness.Rd @@ -0,0 +1,48 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/goodness.R +\name{goodness} +\alias{goodness} +\title{Evaluate if sample data for a categorical variable is consistent with a hypothesized distribution} +\usage{ +goodness( + dataset, + var, + p = NULL, + tab = NULL, + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{var}{A categorical variable} + +\item{p}{Hypothesized distribution as a number, fraction, or numeric vector. If unspecified, defaults to an even distribution} + +\item{tab}{Table with frequencies as alternative to dataset} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of all variables used in goodness as an object of class goodness +} +\description{ +Evaluate if sample data for a categorical variable is consistent with a hypothesized distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/goodness.html} for an example in Radiant +} +\examples{ +goodness(newspaper, "Income") \%>\% str() +goodness(newspaper, "Income", p = c(3 / 4, 1 / 4)) \%>\% str() +table(select(newspaper, Income)) \%>\% goodness(tab = .) + +} +\seealso{ +\code{\link{summary.goodness}} to summarize results + +\code{\link{plot.goodness}} to plot results +} diff --git a/radiant.basics/man/newspaper.Rd b/radiant.basics/man/newspaper.Rd new file mode 100644 index 0000000..755b4b9 --- /dev/null +++ b/radiant.basics/man/newspaper.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{newspaper} +\alias{newspaper} +\title{Newspaper readership} +\format{ +A data frame with 580 rows and 2 variables +} +\usage{ +data(newspaper) +} +\description{ +Newspaper readership +} +\details{ +Newspaper readership data for 580 consumers. Description provided in attr(newspaper,"description") +} +\keyword{datasets} diff --git a/radiant.basics/man/plot.clt.Rd b/radiant.basics/man/plot.clt.Rd new file mode 100644 index 0000000..1bade81 --- /dev/null +++ b/radiant.basics/man/plot.clt.Rd @@ -0,0 +1,27 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/clt.R +\name{plot.clt} +\alias{plot.clt} +\title{Plot method for the Central Limit Theorem simulation} +\usage{ +\method{plot}{clt}(x, stat = "sum", bins = 15, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{clt}}} + +\item{stat}{Statistic to use (sum or mean)} + +\item{bins}{Number of bins to use} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the Central Limit Theorem simulation +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/clt.html} for an example in Radiant +} +\examples{ +clt("Uniform", 100, 100, unif_min = 10, unif_max = 20) \%>\% plot() + +} diff --git a/radiant.basics/man/plot.compare_means.Rd b/radiant.basics/man/plot.compare_means.Rd new file mode 100644 index 0000000..91d95b2 --- /dev/null +++ b/radiant.basics/man/plot.compare_means.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_means.R +\name{plot.compare_means} +\alias{plot.compare_means} +\title{Plot method for the compare_means function} +\usage{ +\method{plot}{compare_means}(x, plots = "scatter", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{compare_means}}} + +\item{plots}{One or more plots ("bar", "density", "box", or "scatter")} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the compare_means function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +} +\examples{ +result <- compare_means(diamonds, "cut", "price") +plot(result, plots = c("bar", "density")) + +} +\seealso{ +\code{\link{compare_means}} to calculate results + +\code{\link{summary.compare_means}} to summarize results +} diff --git a/radiant.basics/man/plot.compare_props.Rd b/radiant.basics/man/plot.compare_props.Rd new file mode 100644 index 0000000..3ca4263 --- /dev/null +++ b/radiant.basics/man/plot.compare_props.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_props.R +\name{plot.compare_props} +\alias{plot.compare_props} +\title{Plot method for the compare_props function} +\usage{ +\method{plot}{compare_props}(x, plots = "bar", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{compare_props}}} + +\item{plots}{One or more plots of proportions ("bar" or "dodge")} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the compare_props function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +} +\examples{ +result <- compare_props(titanic, "pclass", "survived") +plot(result, plots = c("bar", "dodge")) + +} +\seealso{ +\code{\link{compare_props}} to calculate results + +\code{\link{summary.compare_props}} to summarize results +} diff --git a/radiant.basics/man/plot.correlation.Rd b/radiant.basics/man/plot.correlation.Rd new file mode 100644 index 0000000..0a1178e --- /dev/null +++ b/radiant.basics/man/plot.correlation.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/correlation.R +\name{plot.correlation} +\alias{plot.correlation} +\title{Plot method for the correlation function} +\usage{ +\method{plot}{correlation}(x, nrobs = -1, jit = c(0, 0), dec = 2, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{correlation}}} + +\item{nrobs}{Number of data points to show in scatter plots (-1 for all)} + +\item{jit}{A numeric vector that determines the amount of jittering to apply to the x and y variables in a scatter plot. Default is 0. Use, e.g., 0.3 to add some jittering} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods.} +} +\description{ +Plot method for the correlation function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +} +\examples{ +result <- correlation(diamonds, c("price", "carat", "table")) +plot(result) + +} +\seealso{ +\code{\link{correlation}} to calculate results + +\code{\link{summary.correlation}} to summarize results +} diff --git a/radiant.basics/man/plot.cross_tabs.Rd b/radiant.basics/man/plot.cross_tabs.Rd new file mode 100644 index 0000000..f473abd --- /dev/null +++ b/radiant.basics/man/plot.cross_tabs.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/cross_tabs.R +\name{plot.cross_tabs} +\alias{plot.cross_tabs} +\title{Plot method for the cross_tabs function} +\usage{ +\method{plot}{cross_tabs}(x, check = "", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{cross_tabs}}} + +\item{check}{Show plots for variables var1 and var2. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "row_perc", "col_perc", and "perc" for row, column, and table percentages respectively} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the cross_tabs function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant +} +\examples{ +result <- cross_tabs(newspaper, "Income", "Newspaper") +plot(result, check = c("observed", "expected", "chi_sq")) + +} +\seealso{ +\code{\link{cross_tabs}} to calculate results + +\code{\link{summary.cross_tabs}} to summarize results +} diff --git a/radiant.basics/man/plot.goodness.Rd b/radiant.basics/man/plot.goodness.Rd new file mode 100644 index 0000000..cf51cf4 --- /dev/null +++ b/radiant.basics/man/plot.goodness.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/goodness.R +\name{plot.goodness} +\alias{plot.goodness} +\title{Plot method for the goodness function} +\usage{ +\method{plot}{goodness}(x, check = "", fillcol = "blue", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{goodness}}} + +\item{check}{Show plots for variable var. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), and "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e))} + +\item{fillcol}{Color used for bar plots} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the goodness function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/goodness} for an example in Radiant +} +\examples{ +result <- goodness(newspaper, "Income") +plot(result, check = c("observed", "expected", "chi_sq")) +goodness(newspaper, "Income") \%>\% plot(c("observed", "expected")) + +} +\seealso{ +\code{\link{goodness}} to calculate results + +\code{\link{summary.goodness}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_binom.Rd b/radiant.basics/man/plot.prob_binom.Rd new file mode 100644 index 0000000..a68c582 --- /dev/null +++ b/radiant.basics/man/plot.prob_binom.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_binom} +\alias{plot.prob_binom} +\title{Plot method for the probability calculator (binomial)} +\usage{ +\method{plot}{prob_binom}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_binom}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (binomial) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_binom(n = 10, p = 0.3, ub = 3) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_binom}} to calculate results + +\code{\link{summary.prob_binom}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_chisq.Rd b/radiant.basics/man/plot.prob_chisq.Rd new file mode 100644 index 0000000..ba4e037 --- /dev/null +++ b/radiant.basics/man/plot.prob_chisq.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_chisq} +\alias{plot.prob_chisq} +\title{Plot method for the probability calculator (Chi-squared distribution)} +\usage{ +\method{plot}{prob_chisq}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_chisq}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (Chi-squared distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_chisq(df = 1, ub = 3.841) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_chisq}} to calculate results + +\code{\link{summary.prob_chisq}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_disc.Rd b/radiant.basics/man/plot.prob_disc.Rd new file mode 100644 index 0000000..10f3ff4 --- /dev/null +++ b/radiant.basics/man/plot.prob_disc.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_disc} +\alias{plot.prob_disc} +\title{Plot method for the probability calculator (discrete)} +\usage{ +\method{plot}{prob_disc}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_disc}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (discrete) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) +plot(result, type = "probs") + +} +\seealso{ +\code{\link{prob_disc}} to calculate results + +\code{\link{summary.prob_disc}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_expo.Rd b/radiant.basics/man/plot.prob_expo.Rd new file mode 100644 index 0000000..f6453aa --- /dev/null +++ b/radiant.basics/man/plot.prob_expo.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_expo} +\alias{plot.prob_expo} +\title{Plot method for the probability calculator (Exponential distribution)} +\usage{ +\method{plot}{prob_expo}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_expo}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (Exponential distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_expo(rate = 1, ub = 2.996) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_expo}} to calculate results + +\code{\link{summary.prob_expo}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_fdist.Rd b/radiant.basics/man/plot.prob_fdist.Rd new file mode 100644 index 0000000..3fbbfaa --- /dev/null +++ b/radiant.basics/man/plot.prob_fdist.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_fdist} +\alias{plot.prob_fdist} +\title{Plot method for the probability calculator (F-distribution)} +\usage{ +\method{plot}{prob_fdist}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_fdist}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (F-distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_fdist(df1 = 10, df2 = 10, ub = 2.978) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_fdist}} to calculate results + +\code{\link{summary.prob_fdist}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_lnorm.Rd b/radiant.basics/man/plot.prob_lnorm.Rd new file mode 100644 index 0000000..e5335ae --- /dev/null +++ b/radiant.basics/man/plot.prob_lnorm.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_lnorm} +\alias{plot.prob_lnorm} +\title{Plot method for the probability calculator (log normal)} +\usage{ +\method{plot}{prob_lnorm}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_norm}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (log normal) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_lnorm}} to calculate results + +\code{\link{plot.prob_lnorm}} to plot results +} diff --git a/radiant.basics/man/plot.prob_norm.Rd b/radiant.basics/man/plot.prob_norm.Rd new file mode 100644 index 0000000..afe3f85 --- /dev/null +++ b/radiant.basics/man/plot.prob_norm.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_norm} +\alias{plot.prob_norm} +\title{Plot method for the probability calculator (normal)} +\usage{ +\method{plot}{prob_norm}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_norm}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (normal) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_norm(mean = 0, stdev = 1, ub = 0) +plot(result) + +} +\seealso{ +\code{\link{prob_norm}} to calculate results + +\code{\link{summary.prob_norm}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_pois.Rd b/radiant.basics/man/plot.prob_pois.Rd new file mode 100644 index 0000000..7cf2912 --- /dev/null +++ b/radiant.basics/man/plot.prob_pois.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_pois} +\alias{plot.prob_pois} +\title{Plot method for the probability calculator (poisson)} +\usage{ +\method{plot}{prob_pois}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_pois}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (poisson) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_pois(lambda = 1, ub = 3) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_pois}} to calculate results + +\code{\link{summary.prob_pois}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_tdist.Rd b/radiant.basics/man/plot.prob_tdist.Rd new file mode 100644 index 0000000..34ec0be --- /dev/null +++ b/radiant.basics/man/plot.prob_tdist.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_tdist} +\alias{plot.prob_tdist} +\title{Plot method for the probability calculator (t-distribution)} +\usage{ +\method{plot}{prob_tdist}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_tdist}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (t-distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_tdist(df = 10, ub = 2.228) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_tdist}} to calculate results + +\code{\link{summary.prob_tdist}} to summarize results +} diff --git a/radiant.basics/man/plot.prob_unif.Rd b/radiant.basics/man/plot.prob_unif.Rd new file mode 100644 index 0000000..d5a763c --- /dev/null +++ b/radiant.basics/man/plot.prob_unif.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{plot.prob_unif} +\alias{plot.prob_unif} +\title{Plot method for the probability calculator (uniform)} +\usage{ +\method{plot}{prob_unif}(x, type = "values", ...) +} +\arguments{ +\item{x}{Return value from \code{\link{prob_unif}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the probability calculator (uniform) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_unif(min = 0, max = 1, ub = 0.3) +plot(result, type = "values") + +} +\seealso{ +\code{\link{prob_unif}} to calculate results + +\code{\link{summary.prob_unif}} to summarize results +} diff --git a/radiant.basics/man/plot.single_mean.Rd b/radiant.basics/man/plot.single_mean.Rd new file mode 100644 index 0000000..cf5d912 --- /dev/null +++ b/radiant.basics/man/plot.single_mean.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_mean.R +\name{plot.single_mean} +\alias{plot.single_mean} +\title{Plot method for the single_mean function} +\usage{ +\method{plot}{single_mean}(x, plots = "hist", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{single_mean}}} + +\item{plots}{Plots to generate. "hist" shows a histogram of the data along with vertical lines that indicate the sample mean and the confidence interval. "simulate" shows the location of the sample mean and the comparison value (comp_value). Simulation is used to demonstrate the sampling variability in the data under the null-hypothesis} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the single_mean function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +} +\examples{ +result <- single_mean(diamonds, "price", comp_value = 3500) +plot(result, plots = c("hist", "simulate")) + +} +\seealso{ +\code{\link{single_mean}} to generate the result + +\code{\link{summary.single_mean}} to summarize results +} diff --git a/radiant.basics/man/plot.single_prop.Rd b/radiant.basics/man/plot.single_prop.Rd new file mode 100644 index 0000000..6d63422 --- /dev/null +++ b/radiant.basics/man/plot.single_prop.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_prop.R +\name{plot.single_prop} +\alias{plot.single_prop} +\title{Plot method for the single_prop function} +\usage{ +\method{plot}{single_prop}(x, plots = "bar", shiny = FALSE, custom = FALSE, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{single_prop}}} + +\item{plots}{Plots to generate. "bar" shows a bar chart of the data. The "simulate" chart shows the location of the sample proportion and the comparison value (comp_value). Simulation is used to demonstrate the sampling variability in the data under the null-hypothesis} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org/} for options.} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the single_prop function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +} +\examples{ +result <- single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") +plot(result, plots = c("bar", "simulate")) + +} +\seealso{ +\code{\link{single_prop}} to generate the result + +\code{\link{summary.single_prop}} to summarize the results +} diff --git a/radiant.basics/man/print.rcorr.Rd b/radiant.basics/man/print.rcorr.Rd new file mode 100644 index 0000000..06d1587 --- /dev/null +++ b/radiant.basics/man/print.rcorr.Rd @@ -0,0 +1,16 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/correlation.R +\name{print.rcorr} +\alias{print.rcorr} +\title{Print method for the correlation function} +\usage{ +\method{print}{rcorr}(x, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{correlation}}} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Print method for the correlation function +} diff --git a/radiant.basics/man/prob_binom.Rd b/radiant.basics/man/prob_binom.Rd new file mode 100644 index 0000000..d49389a --- /dev/null +++ b/radiant.basics/man/prob_binom.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_binom} +\alias{prob_binom} +\title{Probability calculator for the binomial distribution} +\usage{ +prob_binom(n, p, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{n}{Number of trials} + +\item{p}{Probability} + +\item{lb}{Lower bound on the number of successes} + +\item{ub}{Upper bound on the number of successes} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the binomial distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_binom(n = 10, p = 0.3, ub = 3) + +} +\seealso{ +\code{\link{summary.prob_binom}} to summarize results + +\code{\link{plot.prob_binom}} to plot results +} diff --git a/radiant.basics/man/prob_chisq.Rd b/radiant.basics/man/prob_chisq.Rd new file mode 100644 index 0000000..2accf21 --- /dev/null +++ b/radiant.basics/man/prob_chisq.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_chisq} +\alias{prob_chisq} +\title{Probability calculator for the chi-squared distribution} +\usage{ +prob_chisq(df, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{df}{Degrees of freedom} + +\item{lb}{Lower bound (default is 0)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the chi-squared distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_chisq(df = 1, ub = 3.841) + +} +\seealso{ +\code{\link{summary.prob_chisq}} to summarize results + +\code{\link{plot.prob_chisq}} to plot results +} diff --git a/radiant.basics/man/prob_disc.Rd b/radiant.basics/man/prob_disc.Rd new file mode 100644 index 0000000..11d4798 --- /dev/null +++ b/radiant.basics/man/prob_disc.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_disc} +\alias{prob_disc} +\title{Probability calculator for a discrete distribution} +\usage{ +prob_disc(v, p, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{v}{Values} + +\item{p}{Probabilities} + +\item{lb}{Lower bound on the number of successes} + +\item{ub}{Upper bound on the number of successes} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for a discrete distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_disc(v = 1:6, p = 1 / 6, pub = 0.95) +prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) + +} +\seealso{ +\code{\link{summary.prob_disc}} to summarize results + +\code{\link{plot.prob_disc}} to plot results +} diff --git a/radiant.basics/man/prob_expo.Rd b/radiant.basics/man/prob_expo.Rd new file mode 100644 index 0000000..5091759 --- /dev/null +++ b/radiant.basics/man/prob_expo.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_expo} +\alias{prob_expo} +\title{Probability calculator for the exponential distribution} +\usage{ +prob_expo(rate, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{rate}{Rate} + +\item{lb}{Lower bound (default is 0)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the exponential distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_expo(rate = 1, ub = 2.996) + +} +\seealso{ +\code{\link{summary.prob_expo}} to summarize results + +\code{\link{plot.prob_expo}} to plot results +} diff --git a/radiant.basics/man/prob_fdist.Rd b/radiant.basics/man/prob_fdist.Rd new file mode 100644 index 0000000..aeac2d3 --- /dev/null +++ b/radiant.basics/man/prob_fdist.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_fdist} +\alias{prob_fdist} +\title{Probability calculator for the F-distribution} +\usage{ +prob_fdist(df1, df2, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{df1}{Degrees of freedom} + +\item{df2}{Degrees of freedom} + +\item{lb}{Lower bound (default is 0)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the F-distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_fdist(df1 = 10, df2 = 10, ub = 2.978) + +} +\seealso{ +\code{\link{summary.prob_fdist}} to summarize results + +\code{\link{plot.prob_fdist}} to plot results +} diff --git a/radiant.basics/man/prob_lnorm.Rd b/radiant.basics/man/prob_lnorm.Rd new file mode 100644 index 0000000..74ab537 --- /dev/null +++ b/radiant.basics/man/prob_lnorm.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_lnorm} +\alias{prob_lnorm} +\title{Probability calculator for the log normal distribution} +\usage{ +prob_lnorm(meanlog, sdlog, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{meanlog}{Mean of the distribution on the log scale} + +\item{sdlog}{Standard deviation of the distribution on the log scale} + +\item{lb}{Lower bound (default is -Inf)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the log normal distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) + +} +\seealso{ +\code{\link{summary.prob_lnorm}} to summarize results + +\code{\link{plot.prob_lnorm}} to plot results +} diff --git a/radiant.basics/man/prob_norm.Rd b/radiant.basics/man/prob_norm.Rd new file mode 100644 index 0000000..63193d1 --- /dev/null +++ b/radiant.basics/man/prob_norm.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_norm} +\alias{prob_norm} +\title{Probability calculator for the normal distribution} +\usage{ +prob_norm(mean, stdev, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{mean}{Mean} + +\item{stdev}{Standard deviation} + +\item{lb}{Lower bound (default is -Inf)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the normal distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_norm(mean = 0, stdev = 1, ub = 0) + +} +\seealso{ +\code{\link{summary.prob_norm}} to summarize results + +\code{\link{plot.prob_norm}} to plot results +} diff --git a/radiant.basics/man/prob_pois.Rd b/radiant.basics/man/prob_pois.Rd new file mode 100644 index 0000000..68c3816 --- /dev/null +++ b/radiant.basics/man/prob_pois.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_pois} +\alias{prob_pois} +\title{Probability calculator for the poisson distribution} +\usage{ +prob_pois(lambda, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{lambda}{Rate} + +\item{lb}{Lower bound (default is 0)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the poisson distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_pois(lambda = 1, ub = 3) + +} +\seealso{ +\code{\link{summary.prob_pois}} to summarize results + +\code{\link{plot.prob_pois}} to plot results +} diff --git a/radiant.basics/man/prob_tdist.Rd b/radiant.basics/man/prob_tdist.Rd new file mode 100644 index 0000000..7d10899 --- /dev/null +++ b/radiant.basics/man/prob_tdist.Rd @@ -0,0 +1,36 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_tdist} +\alias{prob_tdist} +\title{Probability calculator for the t-distribution} +\usage{ +prob_tdist(df, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{df}{Degrees of freedom} + +\item{lb}{Lower bound (default is -Inf)} + +\item{ub}{Upper bound (default is Inf)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the t-distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_tdist(df = 10, ub = 2.228) + +} +\seealso{ +\code{\link{summary.prob_tdist}} to summarize results + +\code{\link{plot.prob_tdist}} to plot results +} diff --git a/radiant.basics/man/prob_unif.Rd b/radiant.basics/man/prob_unif.Rd new file mode 100644 index 0000000..85ea27a --- /dev/null +++ b/radiant.basics/man/prob_unif.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{prob_unif} +\alias{prob_unif} +\title{Probability calculator for the uniform distribution} +\usage{ +prob_unif(min, max, lb = NA, ub = NA, plb = NA, pub = NA, dec = 3) +} +\arguments{ +\item{min}{Minimum value} + +\item{max}{Maximum value} + +\item{lb}{Lower bound (default = 0)} + +\item{ub}{Upper bound (default = 1)} + +\item{plb}{Lower probability bound} + +\item{pub}{Upper probability bound} + +\item{dec}{Number of decimals to show} +} +\description{ +Probability calculator for the uniform distribution +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +prob_unif(min = 0, max = 1, ub = 0.3) + +} +\seealso{ +\code{\link{summary.prob_unif}} to summarize results + +\code{\link{plot.prob_unif}} to plot results +} diff --git a/radiant.basics/man/radiant.basics.Rd b/radiant.basics/man/radiant.basics.Rd new file mode 100644 index 0000000..d9c3613 --- /dev/null +++ b/radiant.basics/man/radiant.basics.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R, R/radiant.R +\name{radiant.basics} +\alias{radiant.basics} +\title{radiant.basics} +\usage{ +radiant.basics(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.basics in the default web browser +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.basics() +} +} diff --git a/radiant.basics/man/radiant.basics_viewer.Rd b/radiant.basics/man/radiant.basics_viewer.Rd new file mode 100644 index 0000000..4a8aad4 --- /dev/null +++ b/radiant.basics/man/radiant.basics_viewer.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.basics_viewer} +\alias{radiant.basics_viewer} +\title{Launch radiant.basics in the Rstudio viewer} +\usage{ +radiant.basics_viewer(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.basics in the Rstudio viewer +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.basics_viewer() +} +} diff --git a/radiant.basics/man/radiant.basics_window.Rd b/radiant.basics/man/radiant.basics_window.Rd new file mode 100644 index 0000000..7d58b51 --- /dev/null +++ b/radiant.basics/man/radiant.basics_window.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.basics_window} +\alias{radiant.basics_window} +\title{Launch radiant.basics in an Rstudio window} +\usage{ +radiant.basics_window(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.basics in an Rstudio window +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.basics_window() +} +} diff --git a/radiant.basics/man/salary.Rd b/radiant.basics/man/salary.Rd new file mode 100644 index 0000000..ef7bdc1 --- /dev/null +++ b/radiant.basics/man/salary.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{salary} +\alias{salary} +\title{Salaries for Professors} +\format{ +A data frame with 397 rows and 6 variables +} +\usage{ +data(salary) +} +\description{ +Salaries for Professors +} +\details{ +2008-2009 nine-month salary for professors in a college in the US. Description provided in attr(salary,description") +} +\keyword{datasets} diff --git a/radiant.basics/man/single_mean.Rd b/radiant.basics/man/single_mean.Rd new file mode 100644 index 0000000..9fe0c8c --- /dev/null +++ b/radiant.basics/man/single_mean.Rd @@ -0,0 +1,49 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_mean.R +\name{single_mean} +\alias{single_mean} +\title{Compare a sample mean to a population mean} +\usage{ +single_mean( + dataset, + var, + comp_value = 0, + alternative = "two.sided", + conf_lev = 0.95, + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{var}{The variable selected for the mean comparison} + +\item{comp_value}{Population value to compare to the sample mean} + +\item{alternative}{The alternative hypothesis ("two.sided", "greater", or "less")} + +\item{conf_lev}{Span for the confidence interval} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of variables defined in single_mean as an object of class single_mean +} +\description{ +Compare a sample mean to a population mean +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +} +\examples{ +single_mean(diamonds, "price") \%>\% str() + +} +\seealso{ +\code{\link{summary.single_mean}} to summarize results + +\code{\link{plot.single_mean}} to plot results +} diff --git a/radiant.basics/man/single_prop.Rd b/radiant.basics/man/single_prop.Rd new file mode 100644 index 0000000..3692d99 --- /dev/null +++ b/radiant.basics/man/single_prop.Rd @@ -0,0 +1,56 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_prop.R +\name{single_prop} +\alias{single_prop} +\title{Compare a sample proportion to a population proportion} +\usage{ +single_prop( + dataset, + var, + lev = "", + comp_value = 0.5, + alternative = "two.sided", + conf_lev = 0.95, + test = "binom", + data_filter = "", + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset} + +\item{var}{The variable selected for the proportion comparison} + +\item{lev}{The factor level selected for the proportion comparison} + +\item{comp_value}{Population value to compare to the sample proportion} + +\item{alternative}{The alternative hypothesis ("two.sided", "greater", or "less")} + +\item{conf_lev}{Span of the confidence interval} + +\item{test}{bionomial exact test ("binom") or Z-test ("z")} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of variables used in single_prop as an object of class single_prop +} +\description{ +Compare a sample proportion to a population proportion +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +} +\examples{ +single_prop(titanic, "survived") \%>\% str() +single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") \%>\% str() + +} +\seealso{ +\code{\link{summary.single_prop}} to summarize the results + +\code{\link{plot.single_prop}} to plot the results +} diff --git a/radiant.basics/man/summary.compare_means.Rd b/radiant.basics/man/summary.compare_means.Rd new file mode 100644 index 0000000..96aafc4 --- /dev/null +++ b/radiant.basics/man/summary.compare_means.Rd @@ -0,0 +1,33 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_means.R +\name{summary.compare_means} +\alias{summary.compare_means} +\title{Summary method for the compare_means function} +\usage{ +\method{summary}{compare_means}(object, show = FALSE, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{compare_means}}} + +\item{show}{Show additional output (i.e., t.value, df, and confidence interval)} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the compare_means function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_means.html} for an example in Radiant +} +\examples{ +result <- compare_means(diamonds, "cut", "price") +summary(result) + +} +\seealso{ +\code{\link{compare_means}} to calculate results + +\code{\link{plot.compare_means}} to plot results +} diff --git a/radiant.basics/man/summary.compare_props.Rd b/radiant.basics/man/summary.compare_props.Rd new file mode 100644 index 0000000..5d028da --- /dev/null +++ b/radiant.basics/man/summary.compare_props.Rd @@ -0,0 +1,33 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/compare_props.R +\name{summary.compare_props} +\alias{summary.compare_props} +\title{Summary method for the compare_props function} +\usage{ +\method{summary}{compare_props}(object, show = FALSE, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{compare_props}}} + +\item{show}{Show additional output (i.e., chisq.value, df, and confidence interval)} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the compare_props function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/compare_props.html} for an example in Radiant +} +\examples{ +result <- compare_props(titanic, "pclass", "survived") +summary(result) + +} +\seealso{ +\code{\link{compare_props}} to calculate results + +\code{\link{plot.compare_props}} to plot results +} diff --git a/radiant.basics/man/summary.correlation.Rd b/radiant.basics/man/summary.correlation.Rd new file mode 100644 index 0000000..0c6a824 --- /dev/null +++ b/radiant.basics/man/summary.correlation.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/correlation.R +\name{summary.correlation} +\alias{summary.correlation} +\title{Summary method for the correlation function} +\usage{ +\method{summary}{correlation}(object, cutoff = 0, covar = FALSE, dec = 2, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{correlation}}} + +\item{cutoff}{Show only correlations larger than the cutoff in absolute value. Default is a cutoff of 0} + +\item{covar}{Show the covariance matrix (default is FALSE)} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods.} +} +\description{ +Summary method for the correlation function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/correlation.html} for an example in Radiant +} +\examples{ +result <- correlation(diamonds, c("price", "carat", "table")) +summary(result, cutoff = .3) + +} +\seealso{ +\code{\link{correlation}} to calculate results + +\code{\link{plot.correlation}} to plot results +} diff --git a/radiant.basics/man/summary.cross_tabs.Rd b/radiant.basics/man/summary.cross_tabs.Rd new file mode 100644 index 0000000..4f2e020 --- /dev/null +++ b/radiant.basics/man/summary.cross_tabs.Rd @@ -0,0 +1,33 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/cross_tabs.R +\name{summary.cross_tabs} +\alias{summary.cross_tabs} +\title{Summary method for the cross_tabs function} +\usage{ +\method{summary}{cross_tabs}(object, check = "", dec = 2, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{cross_tabs}}} + +\item{check}{Show table(s) for variables var1 and var2. "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "dev_perc" for the percentage difference between the observed and expected frequencies (i.e., (o - e) / e)} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods.} +} +\description{ +Summary method for the cross_tabs function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/cross_tabs.html} for an example in Radiant +} +\examples{ +result <- cross_tabs(newspaper, "Income", "Newspaper") +summary(result, check = c("observed", "expected", "chi_sq")) + +} +\seealso{ +\code{\link{cross_tabs}} to calculate results + +\code{\link{plot.cross_tabs}} to plot results +} diff --git a/radiant.basics/man/summary.goodness.Rd b/radiant.basics/man/summary.goodness.Rd new file mode 100644 index 0000000..2163d86 --- /dev/null +++ b/radiant.basics/man/summary.goodness.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/goodness.R +\name{summary.goodness} +\alias{summary.goodness} +\title{Summary method for the goodness function} +\usage{ +\method{summary}{goodness}(object, check = "", dec = 2, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{goodness}}} + +\item{check}{Show table(s) for the selected variable (var). "observed" for the observed frequencies table, "expected" for the expected frequencies table (i.e., frequencies that would be expected if the null hypothesis holds), "chi_sq" for the contribution to the overall chi-squared statistic for each cell (i.e., (o - e)^2 / e), "dev_std" for the standardized differences between the observed and expected frequencies (i.e., (o - e) / sqrt(e)), and "dev_perc" for the percentage difference between the observed and expected frequencies (i.e., (o - e) / e)} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods.} +} +\description{ +Summary method for the goodness function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/goodness} for an example in Radiant +} +\examples{ +result <- goodness(newspaper, "Income", c(.3, .7)) +summary(result, check = c("observed", "expected", "chi_sq")) +goodness(newspaper, "Income", c(1 / 3, 2 / 3)) \%>\% summary("observed") + +} +\seealso{ +\code{\link{goodness}} to calculate results + +\code{\link{plot.goodness}} to plot results +} diff --git a/radiant.basics/man/summary.prob_binom.Rd b/radiant.basics/man/summary.prob_binom.Rd new file mode 100644 index 0000000..2be5878 --- /dev/null +++ b/radiant.basics/man/summary.prob_binom.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_binom} +\alias{summary.prob_binom} +\title{Summary method for the probability calculator (binomial)} +\usage{ +\method{summary}{prob_binom}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_binom}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (binomial) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_binom(n = 10, p = 0.3, ub = 3) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_binom}} to calculate results + +\code{\link{plot.prob_binom}} to plot results +} diff --git a/radiant.basics/man/summary.prob_chisq.Rd b/radiant.basics/man/summary.prob_chisq.Rd new file mode 100644 index 0000000..dea05f3 --- /dev/null +++ b/radiant.basics/man/summary.prob_chisq.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_chisq} +\alias{summary.prob_chisq} +\title{Summary method for the probability calculator (Chi-squared distribution)} +\usage{ +\method{summary}{prob_chisq}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_chisq}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (Chi-squared distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_chisq(df = 1, ub = 3.841) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_chisq}} to calculate results + +\code{\link{plot.prob_chisq}} to plot results +} diff --git a/radiant.basics/man/summary.prob_disc.Rd b/radiant.basics/man/summary.prob_disc.Rd new file mode 100644 index 0000000..4dc69d3 --- /dev/null +++ b/radiant.basics/man/summary.prob_disc.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_disc} +\alias{summary.prob_disc} +\title{Summary method for the probability calculator (discrete)} +\usage{ +\method{summary}{prob_disc}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_disc}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (discrete) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_disc(v = 1:6, p = c(2 / 6, 2 / 6, 1 / 12, 1 / 12, 1 / 12, 1 / 12), pub = 0.95) +summary(result, type = "probs") + +} +\seealso{ +\code{\link{prob_disc}} to calculate results + +\code{\link{plot.prob_disc}} to plot results +} diff --git a/radiant.basics/man/summary.prob_expo.Rd b/radiant.basics/man/summary.prob_expo.Rd new file mode 100644 index 0000000..9a526ab --- /dev/null +++ b/radiant.basics/man/summary.prob_expo.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_expo} +\alias{summary.prob_expo} +\title{Summary method for the probability calculator (exponential)} +\usage{ +\method{summary}{prob_expo}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_expo}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (exponential) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_expo(rate = 1, ub = 2.996) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_expo}} to calculate results + +\code{\link{plot.prob_expo}} to plot results +} diff --git a/radiant.basics/man/summary.prob_fdist.Rd b/radiant.basics/man/summary.prob_fdist.Rd new file mode 100644 index 0000000..d6a78dc --- /dev/null +++ b/radiant.basics/man/summary.prob_fdist.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_fdist} +\alias{summary.prob_fdist} +\title{Summary method for the probability calculator (F-distribution)} +\usage{ +\method{summary}{prob_fdist}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_fdist}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (F-distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_fdist(df1 = 10, df2 = 10, ub = 2.978) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_fdist}} to calculate results + +\code{\link{plot.prob_fdist}} to plot results +} diff --git a/radiant.basics/man/summary.prob_lnorm.Rd b/radiant.basics/man/summary.prob_lnorm.Rd new file mode 100644 index 0000000..a134879 --- /dev/null +++ b/radiant.basics/man/summary.prob_lnorm.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_lnorm} +\alias{summary.prob_lnorm} +\title{Summary method for the probability calculator (log normal)} +\usage{ +\method{summary}{prob_lnorm}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_norm}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (log normal) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_lnorm(meanlog = 0, sdlog = 1, lb = 0, ub = 1) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_lnorm}} to calculate results + +\code{\link{plot.prob_lnorm}} to summarize results +} diff --git a/radiant.basics/man/summary.prob_norm.Rd b/radiant.basics/man/summary.prob_norm.Rd new file mode 100644 index 0000000..c90a476 --- /dev/null +++ b/radiant.basics/man/summary.prob_norm.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_norm} +\alias{summary.prob_norm} +\title{Summary method for the probability calculator (normal)} +\usage{ +\method{summary}{prob_norm}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_norm}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (normal) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_norm(mean = 0, stdev = 1, ub = 0) +summary(result) + +} +\seealso{ +\code{\link{prob_norm}} to calculate results + +\code{\link{plot.prob_norm}} to plot results +} diff --git a/radiant.basics/man/summary.prob_pois.Rd b/radiant.basics/man/summary.prob_pois.Rd new file mode 100644 index 0000000..b61780c --- /dev/null +++ b/radiant.basics/man/summary.prob_pois.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_pois} +\alias{summary.prob_pois} +\title{Summary method for the probability calculator (poisson)} +\usage{ +\method{summary}{prob_pois}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_pois}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (poisson) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_pois(lambda = 1, ub = 3) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_pois}} to calculate results + +\code{\link{plot.prob_pois}} to plot results +} diff --git a/radiant.basics/man/summary.prob_tdist.Rd b/radiant.basics/man/summary.prob_tdist.Rd new file mode 100644 index 0000000..41d85ab --- /dev/null +++ b/radiant.basics/man/summary.prob_tdist.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_tdist} +\alias{summary.prob_tdist} +\title{Summary method for the probability calculator (t-distribution)} +\usage{ +\method{summary}{prob_tdist}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_tdist}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (t-distribution) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_tdist(df = 10, ub = 2.228) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_tdist}} to calculate results + +\code{\link{plot.prob_tdist}} to plot results +} diff --git a/radiant.basics/man/summary.prob_unif.Rd b/radiant.basics/man/summary.prob_unif.Rd new file mode 100644 index 0000000..7364b92 --- /dev/null +++ b/radiant.basics/man/summary.prob_unif.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/prob_calc.R +\name{summary.prob_unif} +\alias{summary.prob_unif} +\title{Summary method for the probability calculator (uniform)} +\usage{ +\method{summary}{prob_unif}(object, type = "values", ...) +} +\arguments{ +\item{object}{Return value from \code{\link{prob_unif}}} + +\item{type}{Probabilities ("probs") or values ("values")} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the probability calculator (uniform) +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/prob_calc.html} for an example in Radiant +} +\examples{ +result <- prob_unif(min = 0, max = 1, ub = 0.3) +summary(result, type = "values") + +} +\seealso{ +\code{\link{prob_unif}} to calculate results + +\code{\link{plot.prob_unif}} to plot results +} diff --git a/radiant.basics/man/summary.single_mean.Rd b/radiant.basics/man/summary.single_mean.Rd new file mode 100644 index 0000000..7d06b9c --- /dev/null +++ b/radiant.basics/man/summary.single_mean.Rd @@ -0,0 +1,34 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_mean.R +\name{summary.single_mean} +\alias{summary.single_mean} +\title{Summary method for the single_mean function} +\usage{ +\method{summary}{single_mean}(object, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{single_mean}}} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the single_mean function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_mean.html} for an example in Radiant +} +\examples{ +result <- single_mean(diamonds, "price") +summary(result) +diamonds \%>\% + single_mean("price") \%>\% + summary() + +} +\seealso{ +\code{\link{single_mean}} to generate the results + +\code{\link{plot.single_mean}} to plot results +} diff --git a/radiant.basics/man/summary.single_prop.Rd b/radiant.basics/man/summary.single_prop.Rd new file mode 100644 index 0000000..e683bfa --- /dev/null +++ b/radiant.basics/man/summary.single_prop.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/single_prop.R +\name{summary.single_prop} +\alias{summary.single_prop} +\title{Summary method for the single_prop function} +\usage{ +\method{summary}{single_prop}(object, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{single_prop}}} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the single_prop function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/basics/single_prop.html} for an example in Radiant +} +\examples{ +result <- single_prop(titanic, "survived", lev = "Yes", comp_value = 0.5, alternative = "less") +summary(result) + +} +\seealso{ +\code{\link{single_prop}} to generate the results + +\code{\link{plot.single_prop}} to plot the results +} diff --git a/radiant.basics/tests/testthat.R b/radiant.basics/tests/testthat.R new file mode 100644 index 0000000..5e9232f --- /dev/null +++ b/radiant.basics/tests/testthat.R @@ -0,0 +1,5 @@ +## use shift-cmd-t to run all tests +library(testthat) +test_check("radiant.basics") +# if (interactive() && !exists("coverage_test")) devtools::run_examples() +# devtools::run_examples(start = "single_prop") diff --git a/radiant.basics/tests/testthat/test_stats.R b/radiant.basics/tests/testthat/test_stats.R new file mode 100644 index 0000000..165b986 --- /dev/null +++ b/radiant.basics/tests/testthat/test_stats.R @@ -0,0 +1,82 @@ +# library(radiant.basics) +# library(testthat) + +trim <- function(x) gsub("^\\s+|\\s+$", "", x) + +context("Compare means") + +test_that("compare_means 1", { + result <- compare_means(diamonds, "cut", "price") + res1 <- capture.output(summary(result))[9] %>% trim() + # cat(paste0(res1, "\n")) + res2 <- "Fair 4,505.238 101 0 3,749.540 373.093 740.206" + expect_equal(res1, res2) + res1 <- capture.output(summary(result))[16] %>% trim() + # cat(paste0(res1, "\n")) + res2 <- "Fair = Good Fair not equal to Good 374.805 0.391" + expect_equal(res1, res2) +}) + +test_that("compare_means 2", { + result <- compare_means(diamonds, "cut", "price") + res1 <- capture_output(summary(result, show = TRUE)) + # dput(res1) + res2 <- "Pairwise mean comparisons (t-test)\nData : diamonds \nVariables : cut, price \nSamples : independent \nConfidence: 0.95 \nAdjustment: None \n\n cut mean n n_missing sd se me\n Fair 4,505.238 101 0 3,749.540 373.093 740.206\n Good 4,130.433 275 0 3,730.354 224.949 442.848\n Very Good 3,959.916 677 0 3,895.899 149.732 293.995\n Premium 4,369.409 771 0 4,236.977 152.591 299.544\n Ideal 3,470.224 1,176 0 3,827.423 111.610 218.977\n\n Null hyp. Alt. hyp. diff p.value\n Fair = Good Fair not equal to Good 374.805 0.391 \n Fair = Very Good Fair not equal to Very Good 545.322 0.177 \n Fair = Premium Fair not equal to Premium 135.829 0.737 \n Fair = Ideal Fair not equal to Ideal 1035.014 0.009 \n Good = Very Good Good not equal to Very Good 170.517 0.528 \n Good = Premium Good not equal to Premium -238.976 0.38 \n Good = Ideal Good not equal to Ideal 660.209 0.009 \n Very Good = Premium Very Good not equal to Premium -409.493 0.056 \n Very Good = Ideal Very Good not equal to Ideal 489.692 0.009 \n Premium = Ideal Premium not equal to Ideal 899.185 < .001 \n se t.value df 2.5% 97.5% \n 435.661 0.860 177.365 -484.941 1234.551 \n 402.018 1.356 134.291 -249.783 1340.427 \n 403.091 0.337 135.759 -661.321 932.979 \n 389.429 2.658 118.618 263.879 1806.149 ** \n 270.225 0.631 528.529 -360.330 701.364 \n 271.820 -0.879 543.242 -772.922 294.971 \n 251.115 2.629 419.577 166.609 1153.809 ** \n 213.784 -1.915 1442.922 -828.853 9.868 . \n 186.752 2.622 1389.163 123.346 856.039 ** \n 189.052 4.756 1527.729 528.355 1270.015 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1" + expect_equal(res1, res2) +}) + +context("Compare proportions") + +test_that("compare_props 1", { + result <- compare_props(titanic, "pclass", "survived") + res1 <- capture.output(summary(result))[9] %>% trim() + # cat(paste0(res1, "\n")) + res2 <- "1st 179 103 0.635 282 0 0.481 0.029 0.056" + expect_equal(res1, res2) +}) + +test_that("compare_props 2", { + result <- compare_props(titanic, "pclass", "survived") + res1 <- capture_output(summary(result, show = TRUE)) + # dput(res1) + res2 <- "Pairwise proportion comparisons\nData : titanic \nVariables : pclass, survived \nLevel : in survived \nConfidence: 0.95 \nAdjustment: None \n\n pclass Yes No p n n_missing sd se me\n 1st 179 103 0.635 282 0 0.481 0.029 0.056\n 2nd 115 146 0.441 261 0 0.496 0.031 0.060\n 3rd 131 369 0.262 500 0 0.440 0.020 0.039\n\n Null hyp. Alt. hyp. diff p.value chisq.value df 2.5% 97.5%\n 1st = 2nd 1st not equal to 2nd 0.194 < .001 20.576 1 0.112 0.277\n 1st = 3rd 1st not equal to 3rd 0.373 < .001 104.704 1 0.305 0.441\n 2nd = 3rd 2nd not equal to 3rd 0.179 < .001 25.008 1 0.107 0.250\n \n ***\n ***\n ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1" + expect_equal(res1, res2) +}) + +context("Single proportion") + +test_that("single_prop 1", { + result <- single_prop(diamonds, "color") + expect_equal(result$lev, "D") + res1 <- capture_output(summary(result)) + # dput(res1) + res2 <- "Single proportion test (binomial exact)\nData : diamonds \nVariable : color \nLevel : D in color \nConfidence: 0.95 \nNull hyp. : the proportion of D in color = 0.5 \nAlt. hyp. : the proportion of D in color not equal to 0.5 \n\n p ns n n_missing sd se me\n 0.127 382 3,000 0 0.333 0.006 0.012\n\n diff ns p.value 2.5% 97.5% \n -0.373 382 < .001 0.116 0.140 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1" + expect_equal(res1, res2) +}) + +test_that("single_prop 2", { + result <- single_prop(diamonds, "clarity", lev = "IF", comp_value = 0.05) + expect_equal(result$lev, "IF") + res1 <- capture_output(summary(result)) + # dput(res1) + res2 <- "Single proportion test (binomial exact)\nData : diamonds \nVariable : clarity \nLevel : IF in clarity \nConfidence: 0.95 \nNull hyp. : the proportion of IF in clarity = 0.05 \nAlt. hyp. : the proportion of IF in clarity not equal to 0.05 \n\n p ns n n_missing sd se me\n 0.033 99 3,000 0 0.179 0.003 0.006\n\n diff ns p.value 2.5% 97.5% \n -0.017 99 < .001 0.027 0.040 ***\n\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1" + expect_equal(res1, res2) +}) + +context("Single mean") + +test_that("single_mean 1", { + result <- single_mean(diamonds, "carat") + res1 <- capture.output(summary(result))[12] %>% trim() + # cat(paste0(res1, "\n")) + res2 <- "0.794 0.009 91.816 < .001 2999 0.777 0.811 ***" + expect_equal(res1, res2) +}) + +test_that("single_mean 2", { + result <- single_mean(titanic, "age", comp_value = 40) + res1 <- capture.output(summary(result))[12] %>% trim() + # cat(paste0(res1, "\n")) + res2 <- "-10.187 0.445 -22.9 < .001 1042 28.94 30.686 ***" + expect_equal(res1, res2) +}) diff --git a/radiant.basics/vignettes/pkgdown/_clt.Rmd b/radiant.basics/vignettes/pkgdown/_clt.Rmd new file mode 100644 index 0000000..1d807ba --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_clt.Rmd @@ -0,0 +1,19 @@ +> Using random sampling to illustrate the Central Limit Theorem + +### What is the Central Limit Theorem? + +"In probability theory, the central limit theorem (CLT) states that, given certain conditions, the arithmetic mean of a sufficiently large number of iterates of independent random variables, each with a well-defined expected value and well-defined variance, will be approximately normally distributed, regardless of the underlying distribution. That is, suppose that a sample is obtained containing a large number of observations, each observation being randomly generated in a way that does not depend on the values of the other observations, and that the arithmetic average of the observed values is computed. If this procedure is performed many times, the central limit theorem says that the computed values of the average will be distributed according to the normal distribution (commonly known as a 'bell curve')." + +Source: Wikipedia + +## Sample + +To generate samples select a distribution from the `Distribution` dropdown and accept (or change) the default values. Then press `Sample` or press `CTRL-enter` (`CMD-enter` on mac) to run the simulation and show plots of the simulated data. + +### Khan on the CLT + +
    + +### R-functions + +For an overview of related R-functions used by Radiant for probability calculations see _Basics > Probability_ diff --git a/radiant.basics/vignettes/pkgdown/_compare_means.Rmd b/radiant.basics/vignettes/pkgdown/_compare_means.Rmd new file mode 100644 index 0000000..3dbe579 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_compare_means.Rmd @@ -0,0 +1,120 @@ +> Compare the means of two or more variables or groups in the data + +The compare means t-test is used to compare the mean of a variable in one group to the mean of the same variable in one, or more, other groups. The null hypothesis for the difference between the groups in the population is set to zero. We test this hypothesis using sample data. + +We can perform either a one-tailed test (i.e., `less than` or `greater than`) or a two-tailed test (see the 'Alternative hypothesis' dropdown). We use one-tailed tests to evaluate if the available data provide evidence that the difference in sample means between groups is less than (or greater than ) zero. + +### Example: Professor salaries + +We have access to the nine-month academic salary for Assistant Professors, Associate Professors and Professors in a college in the U.S (2008-09). The data were collected as part of an on-going effort by the college's administration to monitor salary differences between male and female faculty members. The data has 397 observations and the following 6 variables. + +- rank = a factor with levels AsstProf, AssocProf, and Prof +- discipline = a factor with levels A ("theoretical" departments) or B ("applied" departments) +- yrs.since.phd = years since PhD +- yrs.service = years of service +- sex = a factor with levels Female and Male +- salary = nine-month salary, in dollars + +The data are part of the CAR package and are linked to the book: Fox J. and Weisberg, S. (2011) An R Companion to Applied Regression, Second Edition Sage. + +Suppose we want to test if professors of lower rank earn lower salaries compared to those of higher rank. To test this hypothesis we first select professor `rank` and select `salary` as the numerical variable to compare across ranks. In the `Choose combinations` box select all available entries to conduct pair-wise comparisons across the three levels. Note that removing all entries will automatically select all combinations. We are interested in a one-sided hypothesis (i.e., `less than`). + +

    + +The first two blocks of output show basic information about the test (e.g., selected variables and confidence levels) and summary statistics (e.g., mean, standard deviation, margin or error, etc. per group). The final block of output shows the following: + +* `Null hyp.` is the null hypothesis and `Alt. hyp.` the alternative hypothesis +* `diff` is the difference between the sample means for two groups (e.g., 80775.99 - 93876.44 = -13100.45). If the null hypothesis is true we expect this difference to be small (i.e., close to zero) +* `p.value` is the probability of finding a value as extreme or more extreme than `diff` if the null hypothesis is true + +If we check `Show additional statistics` the following output is added: + +
    +Pairwise mean comparisons (t-test)
    +Data      : salary 
    +Variables : rank, salary 
    +Samples   : independent 
    +Confidence: 0.95 
    +Adjustment: None 
    +
    +      rank        mean   n n_missing         sd        se        me
    +  AsstProf  80,775.985  67         0  8,174.113   998.627 1,993.823
    + AssocProf  93,876.438  64         0 13,831.700 1,728.962 3,455.056
    +      Prof 126,772.109 266         0 27,718.675 1,699.541 3,346.322
    +
    + Null hyp.              Alt. hyp.              diff      p.value se       t.value df      0%   95%           
    + AsstProf = AssocProf   AsstProf < AssocProf   -13100.45 < .001  1996.639  -6.561 101.286 -Inf  -9785.958 ***
    + AsstProf = Prof        AsstProf < Prof        -45996.12 < .001  1971.217 -23.334 324.340 -Inf -42744.474 ***
    + AssocProf = Prof       AssocProf < Prof       -32895.67 < .001  2424.407 -13.569 199.325 -Inf -28889.256 ***
    +
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    + +* `se` is the standard error (i.e., the standard deviation of the sampling distribution of `diff`) +* `t.value` is the _t_ statistic associated with `diff` that we can compare to a t-distribution (i.e., `diff` / `se`) +* `df` is the degrees of freedom associated with the statistical test. Note that the Welch approximation is used for the degrees of freedom +* `0% 95%` show the 95% confidence interval around the difference in sample means. These numbers provide a range within which the true population difference is likely to fall + +### Testing + +There are three approaches we can use to evaluate the null hypothesis. We will choose a significance level of 0.05.1 Of course, each approach will lead to the same conclusion. + +#### p.value + +Because each of the p.values is **smaller** than the significance level we reject the null hypothesis for each evaluated pair of professor ranks. The data suggest that associate professors make more than assistant professors and professors make more than assistant and associate professors. Note also the '***' that are used as an indicator for significance. + +#### confidence interval + +Because zero is **not** contained in any of the confidence intervals we reject the null hypothesis for each evaluated combination of ranks. Because our alternative hypothesis is `Less than` the confidence interval is actually an upper bound for the difference in salaries in the population at a 95% confidence level (i.e., -9785.958, -42744.474, and -28889.256) + +#### t.value + +Because the calculated t.values (-6.561, -23.334, and -13.569) are **smaller** than the corresponding _critical_ t.value we reject the null hypothesis for each evaluated combination of ranks. We can obtain the critical t.value by using the probability calculator in the _Basics_ menu. Using the test for assistant versus associate professors as an example, we find that for a t-distribution with 101.286 degrees of freedom (see `df`) the critical t.value is 1.66. We choose 0.05 as the lower probability bound because the alternative hypothesis is `Less than`. + +

    + +In addition to the numerical output provided in the _Summary_ tab we can also investigate the association between `rank` and `salary` visually (see the _Plot_ tab). The screen shot below shows a scatter plot of professor salaries and a bar chart with confidence interval (black) and standard error (blue) bars. Consistent with the results shown in the _Summary_ tab there is clear separation between the salaries across ranks. We could also choose to plot the sample data as a box plot or as a set of density curves. + +

    + +### Multiple comparison adjustment + +The more comparisons we evaluate the more likely we are to find a "significant" result just by chance even if the null hypothesis is true. If we conduct 100 tests and set our **significance level** at 0.05 (or 5%) we can expect to find 5 p.values smaller than or equal to 0.05 even if the are no associations in the population. + +Bonferroni adjustment ensures the p.values are scaled appropriately given the number of tests conducted. This XKCD cartoon expresses the need for this type of adjustments very clearly. + +### _Stats speak_ + +This is a **comparison of means** test of the null hypothesis that the true population **difference in means** is equal to **0**. Using a significance level of 0.05, we reject the null hypothesis for each pair of ranks evaluated, and conclude that the true population **difference in means** is **less** than **0**. + +The p.value for the test of differences in salaries between assistant and associate professors is **< .001**. This is the probability of observing a sample **difference in means** that is as or more extreme than the sample **difference in means** from the data if the null hypothesis is true. In this case, it is the probability of observing a sample **difference in means** that is less than (or equal to) **-13100.45** if the true population **difference in means** is **0**. + +The 95% confidence bound is **-9785.958**. If repeated samples were taken and the 95% confidence bound computed for each one, the true population mean would be below the lower bound in 95% of the samples + +1 The **significance level**, often denoted by $\alpha$, is the highest probability you are willing to accept of rejecting the null hypothesis when it is actually true. A commonly used significance level is 0.05 (or 5%) + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, plots = "scatter", custom = TRUE) + labs(title = "Compare means")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate means see _Basics > Means_ + +The key function from the `stats` package used in the `compare_means` tool is `t.test`. + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the hypothesis testing module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +Compare Means Hypothesis Test + +* This video shows how to conduct a compare means hypothesis test +* Topics List: + - Calculate summary statistics by groups + - Setup a hypothesis test for compare means in Radiant + - Use the p.value and confidence interval to evaluate the hypothesis test diff --git a/radiant.basics/vignettes/pkgdown/_compare_props.Rmd b/radiant.basics/vignettes/pkgdown/_compare_props.Rmd new file mode 100644 index 0000000..e56ad24 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_compare_props.Rmd @@ -0,0 +1,120 @@ +> Compare proportions for two or more groups in the data + +The compare proportions test is used to evaluate if the frequency of occurrence of some event, behavior, intention, etc. differs across groups. The null hypothesis for the difference in proportions across groups in the population is set to zero. We test this hypothesis using sample data. + +We can perform either a one-tailed test (i.e., `less than` or `greater than`) or a two-tailed test (see the `Alternative hypothesis` dropdown). A one-tailed test is useful if we want to evaluate if the available sample data suggest that, for example, the proportion of dropped calls is larger (or smaller) for one wireless provider compared to others. + +### Example + +We will use a sample from a dataset that describes the survival status of individual passengers on the Titanic. The principal source for data about Titanic passengers is the Encyclopedia Titanic. One of the original sources is Eaton & Haas (1994) Titanic: Triumph and Tragedy, Patrick Stephens Ltd, which includes a passenger list created by many researchers and edited by Michael A. Findlay. Lets focus on two variables in the database: + +- survived = a factor with levels `Yes` and `No` +- pclass = Passenger Class (1st, 2nd, 3rd). This is a proxy for socio-economic status (SES) 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower + +Suppose we want to test if the proportion of people that survived the sinking of the Titanic differs across passenger classes. To test this hypothesis we select `pclass` as the grouping variable and calculate proportions of `yes` (see `Choose level`) for `survived` (see `Variable (select one)`). + +In the `Choose combinations` box select all available entries to conduct pair-wise comparisons across the three passenger class levels. Note that removing all entries will automatically select all combinations. Unless we have an explicit hypothesis for the direction of the effect we should use a two-sided test (i.e., `two.sided`). Our first alternative hypothesis would be 'The proportion of survivors among 1st class passengers was different compared to 2nd class passengers'. + +

    + +The first two blocks of output show basic information about the test (e.g.,. selected variables and confidence levels) and summary statistics (e.g., proportions, standard error, margin or error, etc. per group). The final block of output shows the following: + +* `Null hyp.` is the null hypothesis and `Alt. hyp.` the alternative hypothesis +* `diff` is the difference between the sample proportion for two groups (e.g., 0.635 - 0.441 = 0.194). If the null hypothesis is true we expect this difference to be small (i.e., close to zero) +* `p.value` is the probability of finding a value as extreme or more extreme than `diff` if the null hypothesis is true + +If we check `Show additional statistics` the following output is added: + +
    +Pairwise proportion comparisons
    +Data      : titanic 
    +Variables : pclass, survived 
    +Level     : Yes in survived 
    +Confidence: 0.95 
    +Adjustment: None 
    +
    + pclass Yes  No     p   n n_missing    sd    se    me
    +    1st 179 103 0.635 282         0 8.086 0.029 0.056
    +    2nd 115 146 0.441 261         0 8.021 0.031 0.060
    +    3rd 131 369 0.262 500         0 9.832 0.020 0.039
    +
    + Null hyp.   Alt. hyp.              diff  p.value chisq.value df 2.5%  97.5%    
    + 1st = 2nd   1st not equal to 2nd   0.194 < .001  20.576      1  0.112 0.277 ***
    + 1st = 3rd   1st not equal to 3rd   0.373 < .001  104.704     1  0.305 0.441 ***
    + 2nd = 3rd   2nd not equal to 3rd   0.179 < .001  25.008      1  0.107 0.250 ***
    +
    +Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    +
    + +* `chisq.value` is the chi-squared statistic associated with `diff` that we can compare to a chi-squared distribution. For additional discussion on how this metric is calculated see the help file in _Basics > Tables > Cross-tabs_. For each combination the equivalent of a 2X2 cross-tab is calculated. +* `df` is the degrees of freedom associated with each statistical test (1). +* `2.5% 97.5%` show the 95% confidence interval around the difference in sample proportions. These numbers provide a range within which the true population difference is likely to fall + +### Testing + +There are three approaches we can use to evaluate the null hypothesis. We will choose a significance level of 0.05.1 Of course, each approach will lead to the same conclusion. + +#### p.value + +Because the p.values are **smaller** than the significance level for each pair-wise comparison we can reject the null hypothesis that the proportions are equal based on the available sample of data. The results suggest that 1st class passengers were more likely to survive the sinking than either 2nd or 3rd class passengers. In turn, the 2nd class passengers were more likely to survive than those in 3rd class. + +#### Confidence interval + +Because zero is **not** contained in any of the confidence intervals we reject the null hypothesis for each evaluated combination of passenger class levels. + +#### Chi-squared values + +Because the calculated chi-squared values (20.576, 104.704, and 25.008) are **larger** than the corresponding _critical_ chi-squared value we reject the null hypothesis for each evaluated combination of passenger class levels. We can obtain the critical chi-squared value by using the probability calculator in the _Basics_ menu. Using the test for 1st versus 2nd class passengers as an example, we find that for a chi-squared distribution with 1 degree of freedom (see `df`) and a confidence level of 0.95 the critical chi-squared value is 3.841. + +

    + +In addition to the numerical output provided in the _Summary_ tab we can also investigate the association between `pclass` and `survived` visually (see the _Plot_ tab). The screen shot below shows two bar charts. The first chart has confidence interval (black) and standard error (blue) bars for the proportion of `yes` entries for `survived` in the sample. Consistent with the results shown in the _Summary_ tab there are clear differences in the survival rate across passenger classes. The `Dodge` chart shows the proportions of `yes` and `no` in `survived` side-by-side for each passenger class. While 1st class passengers had a higher proportion of `yes` than `no` the opposite holds for the 3rd class passengers. + +

    + +### Technical notes + +* Radiant uses R's `prop.test` function to compare proportions. When one or more expected values are small (e.g., 5 or less) the p.value for this test is calculated using simulation methods. When this occurs it is recommended to rerun the test using _Basics > Tables > Cross-tabs_ and evaluate if some cells may have an expected value below 1. +* For one-sided tests (i.e., `Less than` or `Greater than`) critical values must be obtained by using the normal distribution in the probability calculator and squaring the corresponding Z-statistic. + +### Multiple comparison adjustment + +The more comparisons we evaluate the more likely we are to find a "significant" result just by chance even if the null hypothesis is true. If we conduct 100 tests and set our **significance level** at 0.05 (or 5%) we can expect to find 5 p.values smaller than or equal to 0.05 even if there are no associations in the population. + +Bonferroni adjustment ensures the p.values are scaled appropriately given the number of tests conducted. This XKCD cartoon expresses the need for this type of adjustments very clearly. + +### _Stats speak_ + +This is a **comparison of proportions** test of the null hypothesis that the true population **difference in proportions** is equal to **0**. Using a significance level of 0.05, we reject the null hypothesis for each pair of passengers classes evaluated, and conclude that the true population **difference in proportions** is **not equal to 0**. + +The p.value for the test of differences in the survival proportion for 1st versus 2nd class passengers is **< .001**. This is the probability of observing a sample **difference in proportions** that is as or more extreme than the sample **difference in proportions** from the data if the null hypothesis is true. In this case, it is the probability of observing a sample **difference in proportions** that is less than **-0.194** or greater than **0.194** if the true population **difference in proportions** is **0**. + +The 95% confidence interval is **0.112** to **0.277**. If repeated samples were taken and the 95% confidence interval computed for each one, the true **difference in population proportions** would fall inside the confidence interval in 95% of the samples + +1 The **significance level**, often denoted by $\alpha$, is the highest probability you are willing to accept of rejecting the null hypothesis when it is actually true. A commonly used significance level is 0.05 (or 5%) + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, plots = "bar", custom = TRUE) + labs(title = "Compare proportions")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate proportions see _Basics > Proportions_. + +The key function from the `stats` package used in the `compare_props` tool is `prop.test`. + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the hypothesis testing module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +Compare Proportions Hypothesis Test + +* This video shows how to conduct a compare proportions hypothesis test +* Topics List: + - Setup a hypothesis test for compare means in Radiant + - Use the p.value and confidence interval to evaluate the hypothesis test + diff --git a/radiant.basics/vignettes/pkgdown/_correlation.Rmd b/radiant.basics/vignettes/pkgdown/_correlation.Rmd new file mode 100644 index 0000000..ac0274b --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_correlation.Rmd @@ -0,0 +1,55 @@ +> How correlated are the variables in the data? + +Create a correlation matrix of the selected variables. Correlations and p.values are provided for each variable pair. To show only those correlations above a certain (absolute) level, use the correlation cutoff box. + +Note: Correlations can be calculated for variables of type `numeric`, `integer`, `date`, and `factor`. When variables of type factor are included the `Adjust for {factor} variables` box should be checked. When correlations are estimated with adjustment, variables that are of type `factor` will be treated as (ordinal) categorical variables and all other variables will be treated as continuous. + +

    + +A visual representation of the correlation matrix is provided in the _Plot_ tab. Note that scatter plots in the graph at most 1,000 data points by default. To generate scatter plots that use all observations use `plot(result, n = -1)` in _Report > Rmd_. + +Stars shown in the _Plot_ tab are interpreted as: + +- p.value between 0 and 0.001: *** +- p.value between 0.001 and 0.01: ** +- p.value between 0.01 and 0.05: * +- p.value between 0.05 and 0.1: . + +

    + +The font-size used in the plot is proportional to the size and significance of the correlation between two variables. + +### Method + +Select the method to use to calculate correlations. The most common method is `Pearson`. See Wikipedia for details. + +### Correlation cutoff + +To show only correlations above a certain value choose a non-zero value in the numeric input between 0 and 1 (e.g., 0.15). + +### Covariance matrix + +Although we generally use the correlation matrix, you can also show the covariance matrix by checking the `Show covariance matrix` box. + +## Store as data.frame + +The correlation matrix can be stored as a data.frame by (1) providing a name for the new data set and (2) clicking on the `Store` button. The new data sets will the estimated `correlation` for each variable pair and a `distance` measure that is calculated as follows: `distance = 0.5 * (1 - correlation)`. This measure will be equal to 1 when the correlation between two variable is equal to -1 and equal to 0 when the correlation between two variables is equal to 1. For an example of what such a dataset would look like, see the screenshot below of the _Data > View_ tab. Data sets with this structure can be used as input to create a (dis)similarity based map by using _Multivariate > (Dis)similarity_. + +

    + +### Khan on correlation + +

    + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +By default the correlation plot samples 1,000 data points. To include all data points use `plot(result, n = -1)` +To add, for example, a title to the plot use `title(main = "Correlation plot\n\n")`. See the R graphics documentation for additional information. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate correlations see _Basics > Tables_. + +The key function from the `psych` package used in the `correlation` tool is `corr.test`. diff --git a/radiant.basics/vignettes/pkgdown/_cross_tabs.Rmd b/radiant.basics/vignettes/pkgdown/_cross_tabs.Rmd new file mode 100644 index 0000000..10356bc --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_cross_tabs.Rmd @@ -0,0 +1,67 @@ +> Cross-tab analysis is used to evaluate if categorical variables are associated. This tool is also known as chi-square or contingency table analysis + +### Example + +The data are from a sample of 580 newspaper readers that indicated (1) which newspaper they read most frequently (USA today or Wall Street Journal) and (2) their level of income (Low income vs. High income). The data has three variables: A respondent identifier (id), respondent income (High or Low), and the primary newspaper the respondent reads (USA today or Wall Street Journal). + +We will examine if there is a relationship between income level and choice of newspaper. In particular, we test the following null and alternative hypotheses: + +* H0: There is no relationship between income level and newspaper choice +* Ha: There is a relationship between income level and newspaper choice + +If the null-hypothesis is rejected we can investigate which cell(s) contribute to the hypothesized association. In Radiant (Basics > Cross-tab) choose Income as the first factor and Newspaper as the second factor. First, compare the observed and expected frequencies. The expected frequencies are calculated using H0 (i.e., no association) as (Row total x Column Total) / Overall Total. + +

    + +The (Pearson) chi-squared test evaluates if we can reject the null-hypothesis that the two variables are independent. It does so by comparing the observed frequencies (i.e., what we actually see in the data) to the expected frequencies (i.e., what we would expect to see if the two variables were independent). If there are big differences between the table of expected and observed frequencies the chi-square value will be _large_. The chi-square value for each cell is calculated as `(o - e)^2 / e`, where `o` is the observed frequency in a cell and `e` is the expected frequency in that cell if the null hypothesis holds. These values can be shown by clicking the `Chi-squared` check box. The overall chi-square value is obtained by summing across all cells, i.e., it is the sum of the values shown in the _Contribution to chi-square_ table. + +In order to determine if the chi-square value can be considered _large_ we first determine the degrees of freedom (df). In particular: df = (# rows - 1) x (# columns - 1). In a 2x2 table, we have (2-1) x (2-1) = 1 df. The output in the _Summary_ tab shows the value of the chi-square statistic, the associated df, and the p.value associated with the test. We also see the contribution from each cells to the overall chi-square statistic. + +Remember to check the expected values: All expected frequencies are larger than 5 therefore the p.value for the chi-square statistic is unlikely to be biased. As usual we reject the null-hypothesis when the p.value is smaller 0.05. Since our p.value is very small (< .001) we can reject the null-hypothesis (i.e., the data suggest there is an association between newspaper readership and income). + +We can use the provided p.value associated with the Chi-squared value of 187.783 to evaluate the null hypothesis. However, we can also calculate the critical Chi-squared value using the probability calculator. As we can see from the output below that value is 3.841 if we choose a 95% confidence level. Because the calculated Chi-square value is larger than the critical value (187.783 > 3.841) we reject null hypothesis that `Income` and `Newspaper` are independent. + +

    + +We can also use the probability calculator to determine the p.value associated with the calculated Chi-square value. Consistent with the output from the _Cross-tabs > Summary_ tab this `p.value` is `< .001`. + +

    + +In addition to the numerical output provided in the _Summary_ tab we can evaluate the hypothesis visually (see the _Plot_ tab). We choose the same variables as before. However, we will plot the standardized deviations. This measure is calculated as (o-e)/sqrt(e), i.e., a score of how different the observed and expected frequencies in one cell in our table are. When a cell's standardized deviation is greater than 1.96 (in absolute value) the cell has a significant deviation from the model of independence (or no association). + +

    + +In the plot we see that all cells contribute to the association between income and readership as all standardized deviations are larger than 1.96 in absolute value (i.e., the bars extend beyond the outer dotted line in the plot). + +In other words, there seem to be fewer low income respondents that read WSJ and more high income respondents that read WSJ than would be expected if the null hypothesis of no-association were true. Furthermore, there are more low income respondents that read USA today and fewer high income respondents that read USA Today than would be expected if the null hypothesis of no-association were true. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, check = "observed", custom = TRUE) + labs(y = "Percentage")`). See _Data > Visualize_ for details. + +### Technical note + +When one or more expected values are small (e.g., 5 or less) the p.value for the Chi-squared test is calculated using simulation methods. If some cells have an expected count below 1 it may be necessary to _collapse_ rows and/or columns. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate associations between categorical variables see _Basics > Tables_ + +The key function from the `stats` package used in the `cross_tabs` tool is `chisq.test`. + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the hypothesis testing module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +Cross-tabs Hypothesis Test + +* This video demonstrates how to investigate associations between two categorical variables by a cross-tabs hypothesis test +* Topics List: + - Setup a hypothesis test for cross-tabs in Radiant + - Explain how observed, expected and contribution to chi-squared tables are constructed + - Use the p.value and critical value to evaluate the hypothesis test + diff --git a/radiant.basics/vignettes/pkgdown/_footer.md b/radiant.basics/vignettes/pkgdown/_footer.md new file mode 100644 index 0000000..05010f0 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_footer.md @@ -0,0 +1,2 @@ + +© Vincent Nijs (2023) Creative Commons License diff --git a/radiant.basics/vignettes/pkgdown/_goodness.Rmd b/radiant.basics/vignettes/pkgdown/_goodness.Rmd new file mode 100644 index 0000000..d7339be --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_goodness.Rmd @@ -0,0 +1,46 @@ +> A goodness-of-fit test is used to determine if data from a sample are consistent with a hypothesized distribution + +### Example + +The data are from a sample of 580 newspaper readers that indicated (1) which newspaper they read most frequently (USA today or Wall Street Journal) and (2) their level of income (Low income vs. High income). The data has three variables: A respondent identifier (id), respondent income (High or Low), and the primary newspaper the respondent reads (USA today or Wall Street Journal). + +The data were collected to examine if there is a relationship between income level and choice of newspaper. To ensure the results are generalizable it is important that sample is representative of the population of interest. It is known that in this population the relative share of US today readers is higher than the share of Wall Street Journal readers. The shares should be 55% and 45% respectively. We can use a goodness-of-fit test to examine the following null and alternative hypotheses: + +* H0: Readership shares for USA today and Wall Street Journal are 55% and 45% respectively +* Ha: Readership shares for USA today and Wall Street Journal are not equal to the stated values + +If we cannot reject the null hypothesis based on the available sample there is a "good fit" between the observed data and the assumed population shares or probabilities. In Radiant (_Basics > Tables > Goodness of fit_) choose Newspaper as the categorical variable. If we leave the `Probabilities` input field empty (or enter 1/2) we would be testing if the shares are equal. However, to test H0 and Ha we need to enter `0.45 and 0.55` and then press `Enter`. First, compare the observed and expected frequencies. The expected frequencies are calculated assuming H0 is true (i.e., no deviation from the stated shares) as total $\times$ $p$, where $p$ is the share (or probability) assumed for a cell. + +

    + +The (Pearson) chi-squared test evaluates if we can reject the null-hypothesis that the observed and expected values are the same. It does so by comparing the observed frequencies (i.e., what we actually see in the data) to the expected frequencies (i.e., what we would expect to see if the distribution of shares is as we assumed). If there are big differences between the table of expected and observed frequencies the chi-square value will be _large_. The chi-square value for each cell is calculated as `(o - e)^2 / e`, where `o` is the observed frequency in a cell and `e` is the expected frequency in that cell if the null hypothesis holds. These values can be shown by clicking the `Chi-squared` check box. The overall chi-square value is obtained by summing across all cells, i.e., it is the sum of the values shown in the _Contribution to chi-square_ table. + +In order to determine if the chi-square statistic can be considered _large_ we first determine the degrees of freedom (df = # cells - 1). In a table with two cells we have df = (2-1) = 1. The output in the _Summary_ tab shows the value of the chi-square statistic, the df, and the p.value associated with the test. We also see the contribution from each cells to the overall chi-square statistic. + +Remember to check the expected values: All expected frequencies are larger than 5 so the p.value for the chi-square statistic is unlikely to be biased (see also the technical note below). As usual we reject the null-hypothesis when the p.value is smaller 0.05. Since our p.value is very large (> .8) we cannot reject the null-hypothesis (i.e., the distribution of shares in the observed data is consistent with those we assumed). + +We can use the provided p.value associated with the Chi-squared value of 0.028 to evaluate the null hypothesis. However, we can also calculate the critical Chi-squared value using the probability calculator. As we can see from the output below the critical value is 3.841 if we choose a 95% confidence level. Because the calculated Chi-square value is smaller than the critical value (0.028 < 3.841) we cannot reject null hypothesis stated above. + +

    + +We can also use the probability calculator to determine the p.value associated with the calculated Chi-square value. Consistent with the output from the _Summary_ tab this `p.value` is `< .001`. + +

    + +In addition to the numerical output provided in the _Summary_ tab we can evaluate the hypothesis visually in the _Plot_. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, check = "observed", custom = TRUE) + labs(y = "Percentage")`). See _Data > Visualize_ for details. + +### Technical note + +When one or more expected values are small (e.g., 5 or less) the p.value for the Chi-squared test is calculated using simulation methods. If some cells have an expected count below 1 it may be necessary to combine cells/categories. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate a discrete probability distribution see _Basics > Tables_ + +The key function from the `stats` package used in the `goodness` tool is `chisq.test`. diff --git a/radiant.basics/vignettes/pkgdown/_prob_calc.Rmd b/radiant.basics/vignettes/pkgdown/_prob_calc.Rmd new file mode 100644 index 0000000..d19959d --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_prob_calc.Rmd @@ -0,0 +1,106 @@ +> Probability calculator + +Calculate probabilities or values based on the _Binomial_, _Chi-squared_, _Discrete_, _F_, _Exponential_, _Normal_, _Poisson_, _t_, or _Uniform_ distribution. + +## Testing batteries + +Suppose Consumer Reports (CR) wants to test manufacturer claims about battery life. The manufacturer claims that more than 90% of their batteries will power a laptop for at least 12 hours of continuous use. CR sets up 20 identical laptops with the manufacturer's batteries. If the manufacturer's claims are accurate, what is the probability that 15 or more laptops are still running after 12 hours? + +The description of the problem suggests we should select `Binomial` from the `Distribution` dropdown. To find the probability, select `Values` as the `Input type` and enter `15` as the `Upper bound`. In the output below we can see that the probability is 0.989. The probability that exactly 15 laptops are still running after 12 hours is 0.032. + +

    + +## Demand for headphones + +A manufacturer wants to determine the appropriate inventory level for headphones required to achieve a 95% service level. Demand for the headphones obeys a normal distribution with a mean of 3000 and a standard deviation of 800. + +To find the required number of headphones to hold in inventory choose `Normal` from the `Distribution` dropdown and then select `Probability` as the `Input type`. Enter `.95` as the `Upper bound`. In the output below we see the number of units to stock is 4316. + +

    + +## Cups of ice cream + +A **discrete** random variable can take on a limited (finite) number of possible values. The **probability distribution** of a discrete random variable lists these values and their probabilities. For example, probability distribution of the number of cups of ice cream a customer buys could be described as follows: + +* 40% of customers buy 1 cup; +* 30% of customers buy 2 cups; +* 20% of customers buy 3 cups; +* 10% of customers buy 4 cups. + +We can use the probability distribution of a random variable to calculate its **mean** (or **expected value**) as follows; + +$$ + E(C) = \mu_C = 1 \times 0.40 + 2 \times 0.30 + 3 \times 0.20 + 4 \times 0.10 = 2\,, +$$ + +where $\mu_C$ is the mean number of cups purchased. We can _expect_ a randomly selected customer to buy 2 cups. The variance is calculated as follow: + +$$ + Var(C) = (1 - 2)^2 \times 0.4 + (2 - 2)^2 \times 0.3 + (3 - 2)^2 \times 0.2 + (4 - 2)^2 \times 0.1 = 1\,. +$$ + +To get the mean and standard deviation of the discrete probability distribution above, as well as the probability a customer will buy 2 or more cups (0.6), specify the following in the probability calculator. + +

    + +## Hypothesis testing + +You can also use the probability calculator to determine a `p.value` or a `critical value` for a statistical test. See the help files for `Single mean`, `Single proportion`, `Compare means`, `Compare proportions`, `Cross-tabs` in the _Basics_ menu and `Linear regression (OLS)` in the _Model_ menu for details. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result) + labs(title = "Normal distribution")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant for probability calculations see _Basics > Probability_ + +Key functions from the `stats` package used in the probability calculator: + +* `prob_norm` uses `pnorm`, `qnorm`, and `dnorm` +* `prob_lnorm` uses `plnorm`, `qlnorm`, and `dlnorm` +* `prob_tdist` uses `pt`, `qt`, and `dt` +* `prob_fdist` uses `pf`, `qf`, and `df` +* `prob_chisq` uses `pchisq`, `qchisq`, and `dchisq` +* `prob_unif` uses `punif`, `qunif`, and `dunif` +* `prob_binom` uses `pbinom`, `qbinom`, and `dbinom` +* `prob_expo` uses `pexp`, `qexp`, and `dexp` +* `prob_pois` uses `ppios`, `qpois`, and `dpois` + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the probability calculator module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/zw1yuiw8hvs47uc/AABPo1BncYv_i2eZfHQ7dgwCa?dl=1")
    + +Describing the Distribution of a Discrete Random + Variable (#1) + +* This video shows how to summarize information about a discrete random variable using the probability calculator in Radiant +* Topics List: + - Calculate the mean and variance for a discrete random variable by hand + - Calculate the mean, variance, and select probabilities for a discrete random variable in Radiant + +Describing Normal and Binomial Distributions in Radiant(#2) + +* This video shows how to summarize information about Normal and Binomial distributions using the probability calculator in Radiant +* Topics List: + - Calculate probabilities of a random variable following a Normal distribution in Radiant + - Calculate probabilities of a random variable following a Binomial distribution by hand + - Calculate probabilities of a random variable following a Binomial distribution in Radiant + +Describing Uniform and Binomial Distributions in Radiant(#3) + +* This video shows how to summarize information about Uniform and Binomial distributions using the probability calculator in Radiant +* Topics List: + - Calculate probabilities of a random variable following a Uniform distribution in Radiant + - Calculate probabilities of a random variable following a Binomial distribution in Radiant + +Providing Probability Bounds(#4) + +* This video demonstrates how to provide probability bounds in Radiant +* Topics List: + - Use probabilities as input type + - Round up the cutoff value diff --git a/radiant.basics/vignettes/pkgdown/_single_mean.Rmd b/radiant.basics/vignettes/pkgdown/_single_mean.Rmd new file mode 100644 index 0000000..80228a6 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_single_mean.Rmd @@ -0,0 +1,82 @@ +> Compare a single mean to the mean value in the population + +The single mean (or one-sample) t-test is used to compare the mean of a variable in a sample of data to a (hypothesized) mean in the population from which our sample data are drawn. This is important because we seldom have access to data for an entire population. The hypothesized value in the population is specified in the `Comparison value` box. + +We can perform either a one-sided test (i.e., `less than` or `greater than`) or a two-sided test (see the `Alternative hypothesis` dropdown). We use one-sided tests to evaluate if the available data provide evidence that the sample mean is larger (or smaller) than the comparison value (i.e., the population value in the null-hypothesis). + +## Example + +We have access to data from a random sample of grocery stores in the UK. Management will consider entering this market if consumer demand for the product category exceeds 100M units, or, approximately, 1750 units per store. The average demand per store in the sample is equal to 1953. While this number is larger than 1750 we need to determine if the difference could be attributed to sampling error. + +You can find the information on unit sales in each of the sample stores in the **demand\_uk.rda** data set. The data set contains two variables, `store_id` and `demand_uk`. Our null-hypothesis is that the average store demand in the UK is equal to 1750 unit so we enter that number into the `Comparison value` box. We choose the `Greater than` option from the `Alternative hypothesis` drop-down because we want to determine if the available data provides sufficient evidence to reject the null-hypothesis favor of the alternative that average store demand in the UK is **larger than 1750**. + +

    + +The first two blocks of output show basic information about the test (e.g.,. the null and alternative hypothesis) and summary statistics (e.g., mean, standard deviation, standard error, margin or error, etc.). The final row of output shows the following: + +* `diff` is the difference between the sample mean (1953.393) and the comparison value (1750) +* `se` is the standard error (i.e., the standard deviation of the sampling distribution of `diff`) +* `t.value` is the _t_ statistic associated with `diff` that we can compare to a t-distribution (i.e., `diff` / `se`) +* `p.value` is the probability of finding a value as extreme or more extreme than `diff` if the null hypothesis is true +* `df` is the degrees of freedom associated with the statistical test (i.e., _n_ - 1) +* `5% 100%` show the 95% confidence interval around the sample mean (1897 to Inf.). These numbers provide a range within which the true population mean is likely to fall + +### Testing + +There are three approaches we can use to evaluate the null hypothesis. We will choose a significance level of 0.05.1 Of course, each approach will lead to the same conclusion. + +#### p.value + +Because the p.value is **smaller** than the conventional significance level (i.e., 0.05) we reject the null hypothesis and suggest that management should enter the UK market. Note also the '***' that are used as an indicator for significance. + +#### confidence interval + +Because the `comparison value` is **not** contained in the confidence interval we reject the null hypothesis and suggest that management should enter the UK market. + +#### t.value + +Because the calculated t.value (5.967) is **larger** than the _critical_ t.value we reject the null hypothesis and suggest that management should enter the UK market. We can obtain the critical t.value by using the probability calculator in the _Basics_ menu. For a t-distribution with 571 degrees of freedom (see `df`) the critical t.value is 1.648. We have to enter 0.95 as the upper probability bound (i.e., 1 - 0.05) because the alternative hypothesis is `Greater than`.2 + +

    + +In addition to the numerical output provided in the _Summary_ tab we can visualize the data in the _Plot_ tab. The settings in the side-panel are the same as before. The black lines in the histogram show the sample mean (solid) and the confidence interval around the sample mean (dashed). The red line shows the comparison value (i.e., unit sales under the null-hypothesis). Because the red line does **not** fall within the confidence interval (1897 to Inf.) we reject the null-hypothesis in favor of the alternative. + +

    + +### _Stats speak_ + +This is a **single mean** test of the null hypothesis that the true population **mean** is equal to **1750**. Using a significance level of 0.05, we reject the null hypothesis, and conclude that the true population **mean** is **larger** than **1750**. + +The p.value for this test is **< .001**. This is the probability of observing a sample **mean** that is as or more extreme than the sample **mean** from the data if the null hypothesis is true. In this case, it is the probability of observing a sample **mean** that is larger than (or equal to) **1953.393** if the true population **mean** is **1750**. + +The 5% confidence bound is **1897.233**. If repeated samples were taken and the 5% confidence bound computed for each one, the true population mean would exceed the lower bound in 95% of the samples + +1 The **significance level**, often denoted by $\alpha$, is the highest probability you are willing to accept of rejecting the null hypothesis when it is actually true. A commonly used significance level is 0.05 (or 5%) + +2 $1 - \alpha$ is called the **confidence level**. A commonly used confidence level is 0.95 (or 95%) + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, plots = "hist", custom = TRUE) + labs(title = "Histogram")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate means see _Basics > Means_. + +The key function from the `stats` package used in the `single_mean` tool is `t.test`. + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the hypothesis testing module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +Single Mean Hypothesis Test + +* This video shows how to test a hypothesis about a single sample mean versus a population mean +* Topics List: + - Calculate summary statistics for a sample + - Setup a hypothesis test for a single mean in Radiant + - Use the p.value, confidence interval, or critical value to evaluate the hypothesis test diff --git a/radiant.basics/vignettes/pkgdown/_single_prop.Rmd b/radiant.basics/vignettes/pkgdown/_single_prop.Rmd new file mode 100644 index 0000000..f113a85 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/_single_prop.Rmd @@ -0,0 +1,87 @@ +> Compare a single proportion to the population proportion + +The single proportion (or one-sample) binomial test is used to compare a proportion of responses or values in a sample of data to a (hypothesized) proportion in the population from which our sample data are drawn. This is important because we seldom have access to data for an entire population. The hypothesized value in the population is specified in the `Comparison value` box. + +We can perform either a one-sided test (i.e., `less than` or `greater than`) or a two-sided test (see the `Alternative hypothesis` dropdown). We use one-sided tests to evaluate if the available data provide evidence that a sample proportion is larger (or smaller) than the comparison value (i.e., the population value in the null-hypothesis). + +## Example + +A car manufacturer conducted a study by randomly sampling and interviewing 1,000 consumers in a new target market. The goal of the study was to determine if consumers would consider purchasing this brand of car. + +Management has already determined that the company will enter this segment. However, if brand preference is lower than 10% additional resources will be committed to advertising and sponsorship in an effort to enhance brand awareness among the target consumers. In the sample, 93 consumers exhibited what the company considered strong brand liking. + +You can find information on the responses by survey participants in the **consider.rda** data set. The data set contains two variables, `id` and `consider`. + +Our null-hypothesis is that the proportion of consumers that would consider the car brand for a future purchase is equal to 10%. Select the `consider` variable from the `Variable` dropdown. To evaluate the proportion of `yes` responses in the sample select `yes` from the `Choose level` dropdown. + +Choose the `Less than` option from the `Alternative hypothesis` drop-down to determine if the available data provides sufficient evidence to reject the null-hypothesis in favor of the alternative that the proportion of consumers that will consider the brand is **less than 10%**. + +

    + +The first two blocks of output show basic information about the test (e.g.,. the null and alternative hypothesis) and summary statistics (e.g., the proportion of "yes" responses, standard error, margin or error, etc.). The final row of output shows the following: + +* `diff` is the difference between the sample proportion (0.093) and the comparison value (0.1) +* `ns` is the number of _successes_. This is the number we can compare to a binomial-distribution with parameters $n = 1000$ and $p = 0.10$. +* `p.value` is the probability of finding a value as extreme or more extreme than `diff` if the null hypothesis is true +* `0% 95%` show the 95% confidence interval around the sample proportion (0 to 0.11). These numbers provide a range within which the true population mean is likely to fall + +### Testing + +There are three approaches we can use to evaluate the null hypothesis. We will choose a significance level of 0.05.1 Of course, each approach will lead to the same conclusion. + +#### p.value + +Because the p.value is **larger** than the conventional significance level ($0.249 > 0.05$) we **cannot** reject the null hypothesis and **do not suggest** that management should commit resources to increase brand awareness. + +We can also obtain the p.value by using the probability calculator in the _Basics_ menu. Enter the number of successes in the data (93) as the lower bound (value) for a binomial-distribution with $n = 1000$ and $p = 0.1$. The p.value is the probability of observing a number of successes as or more extreme than the 93 we got in our sample. We see that $P(X <= 93) = 0.249$ which is the same value we got from _Basics > Proportions > Single proportion_. + +

    + +#### confidence interval + +Because the `comparison value` **is** contained in the confidence interval (i.e., $0 < 0.1 < 0.11$) we **cannot** reject the null hypothesis and **do not suggest** that management should commit resources to increase brand awareness. + +#### number of successes + +We can obtain the critical value by using the probability calculator in the _Basics_ menu. For a binomial-distribution with $n = 1000$ and $p = 0.1$ the critical value is 85. We have to enter 0.05 as the lower probability bound because the alternative hypothesis is `Less than`.2 + +

    + +Because the number of successes (i.e., the number of "yes" responses) **is** larger than the critical value (93 vs 85) we **cannot** reject the null hypothesis and **do not suggest** that management should commit resources to increase brand awareness. + +### _Stats speak_ + +This is a **single proportion** test of the null hypothesis that the true population **proportion** is equal to **0.1**. Using a significance level of 0.05, we **cannot** reject the null hypothesis, and **cannot** conclude that the true population **proportion** is **less** than **0.1**. + +The p.value for this test is **0.249**. This is the probability of observing a sample **proportion** (or **number of successes**) that is as or more extreme than the sample value we estimated from the data if the null hypothesis is true. In this case, it is the probability of observing a sample **proportion** (**number of successes**) that is less than (or equal to) **0.093** (**93**) if the true population **proportion** is **0.1**. + +The 95% confidence bound is **0.11**. If repeated samples were taken and the 95% confidence bound computed for each one, the true population proportion would be below that bound in 95% of the samples + +1 The **significance level**, often denoted by $\alpha$, is the highest probability you are willing to accept of rejecting the null hypothesis when it is actually true. A commonly used significance level is 0.05 (or 5%) + +2 $1 - \alpha$ is called the **confidence level**. A commonly used confidence level is 0.95 (or 95%) + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the analysis by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result, plots = "bar", custom = TRUE) + labs(y = "Percentage")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant to evaluate proportions see _Basics > Proportions_. + +The key functions from the `stats` package used in the `single_prop` tool are `binom.test` and `prop.test`. + +### Video Tutorials + +Copy-and-paste the full command below into the RStudio console (i.e., the bottom-left window) and press return to gain access to all materials used in the hypothesis testing module of the Radiant Tutorial Series: + +
    usethis::use_course("https://www.dropbox.com/sh/0xvhyolgcvox685/AADSppNSIocrJS-BqZXhD1Kna?dl=1")
    + +Single Proportion Hypothesis Test + +* This video shows how to test a hypothesis about a single sample proportion versus a population proportion +* Topics List: + - Setup a hypothesis test for a single proportion in Radiant + - Use the p.value, confidence interval, or critical value to evaluate the hypothesis test diff --git a/radiant.basics/vignettes/pkgdown/clt.Rmd b/radiant.basics/vignettes/pkgdown/clt.Rmd new file mode 100644 index 0000000..3840894 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/clt.Rmd @@ -0,0 +1,10 @@ +--- +title: "Basics > Central Limit Theorem" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_clt.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.basics/vignettes/pkgdown/compare_means.Rmd b/radiant.basics/vignettes/pkgdown/compare_means.Rmd new file mode 100644 index 0000000..0466231 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/compare_means.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Compare means" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_compare_means.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.basics/vignettes/pkgdown/compare_props.Rmd b/radiant.basics/vignettes/pkgdown/compare_props.Rmd new file mode 100644 index 0000000..6f4f74f --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/compare_props.Rmd @@ -0,0 +1,10 @@ +--- +title: "Basics > Compare proportions" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_compare_props.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.basics/vignettes/pkgdown/correlation.Rmd b/radiant.basics/vignettes/pkgdown/correlation.Rmd new file mode 100644 index 0000000..5824c19 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/correlation.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Correlation" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_correlation.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.basics/vignettes/pkgdown/cross_tabs.Rmd b/radiant.basics/vignettes/pkgdown/cross_tabs.Rmd new file mode 100644 index 0000000..2080fe8 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/cross_tabs.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Cross-tabs" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_cross_tabs.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.basics/vignettes/pkgdown/goodness.Rmd b/radiant.basics/vignettes/pkgdown/goodness.Rmd new file mode 100644 index 0000000..ed2c1f2 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/goodness.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Goodness of fit" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_goodness.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.basics/vignettes/pkgdown/images/by-nc-sa.png b/radiant.basics/vignettes/pkgdown/images/by-nc-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..76eb5da461b41405c500a557253eec5f65169519 GIT binary patch literal 2374 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/vignettes/pkgdown/prob_calc.Rmd b/radiant.basics/vignettes/pkgdown/prob_calc.Rmd new file mode 100644 index 0000000..ba1165e --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/prob_calc.Rmd @@ -0,0 +1,10 @@ +--- +title: "Basics > Probability calculator" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_prob_calc.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.basics/vignettes/pkgdown/single_mean.Rmd b/radiant.basics/vignettes/pkgdown/single_mean.Rmd new file mode 100644 index 0000000..630db38 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/single_mean.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Single mean" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_single_mean.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.basics/vignettes/pkgdown/single_prop.Rmd b/radiant.basics/vignettes/pkgdown/single_prop.Rmd new file mode 100644 index 0000000..57db4a3 --- /dev/null +++ b/radiant.basics/vignettes/pkgdown/single_prop.Rmd @@ -0,0 +1,11 @@ +--- +title: "Basics > Single proportion" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_single_prop.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.data b/radiant.data deleted file mode 160000 index 8981e23..0000000 --- a/radiant.data +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8981e238837b6bcc95e2811c9509162ee54b3088 diff --git a/radiant.data/.Rbuildignore b/radiant.data/.Rbuildignore new file mode 100644 index 0000000..8efef66 --- /dev/null +++ b/radiant.data/.Rbuildignore @@ -0,0 +1,18 @@ +^CRAN-RELEASE$ +^.*\.Rproj$ +^\.Rproj\.user$ +^inst/rstudio$ +^build$ +^docs$ +^vignettes$ +^\.travis\.yml$ +_pkgdown.yml +cran-comments.md +coverage.R +^tests/testthat/data$ +.vscode +radiant.data.code-workspace +^CRAN-SUBMISSION$ +R/app.R +^.codespellrc$ +^.github$ diff --git a/radiant.data/.codespellrc b/radiant.data/.codespellrc new file mode 100644 index 0000000..baeecfc --- /dev/null +++ b/radiant.data/.codespellrc @@ -0,0 +1,5 @@ +[codespell] +skip = .git,*.pdf,*.svg,*.min.js,*.csv,*.html +# rady - server/domain name +# nd, isTs - variable names +ignore-words-list = rady,nd,ists diff --git a/radiant.data/.github/workflows/codespell.yml b/radiant.data/.github/workflows/codespell.yml new file mode 100644 index 0000000..5768d7c --- /dev/null +++ b/radiant.data/.github/workflows/codespell.yml @@ -0,0 +1,19 @@ +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Codespell + uses: codespell-project/actions-codespell@v1 diff --git a/radiant.data/.gitignore b/radiant.data/.gitignore new file mode 100644 index 0000000..20d099f --- /dev/null +++ b/radiant.data/.gitignore @@ -0,0 +1,12 @@ +.Rproj.user +.Rhistory +.Rapp.history +.RData +.Ruserdata +radiant.data.Rproj +.DS_Store +revdep/ +.vscode +radiant-data.dcf +radiant-data.Rproj +R/app.R diff --git a/radiant.data/.travis.yml b/radiant.data/.travis.yml new file mode 100644 index 0000000..ac61638 --- /dev/null +++ b/radiant.data/.travis.yml @@ -0,0 +1,25 @@ +language: r +cache: packages +r: + - oldrel + - release + - devel +warnings_are_errors: true +sudo: required +dist: bionic + +r_packages: + - devtools + +after_success: + - Rscript -e 'pkgdown::build_site()' + +## based on https://www.datacamp.com/community/tutorials/cd-package-docs-pkgdown-travis +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_PAT + keep-history: true + local-dir: docs + on: + branch: master diff --git a/radiant.data/COPYING b/radiant.data/COPYING new file mode 100644 index 0000000..0fb9090 --- /dev/null +++ b/radiant.data/COPYING @@ -0,0 +1,727 @@ +The radiant.data package is licensed to you under the AGPLv3, the terms of +which are included below. The help files for radiant.data are licensed under the creative commons attribution and share-alike license [CC-BY-SA]. + +Radiant code license +-------------------------------------------------------------------------------------------- + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. + + +Help file License +-------------------------------------------------------------------------------------------- + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + +"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("syncing") will be considered an Adaptation for the purpose of this License. +"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. +"Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. +"License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike. +"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. +"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. +"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. +"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. +"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. +"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + +to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; +to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; +to Distribute and Publicly Perform the Work including as incorporated in Collections; and, +to Distribute and Publicly Perform Adaptations. +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + +You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested. +You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. +You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works. +If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. +For the avoidance of doubt: + +Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; +Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, +Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). +Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + +This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. +Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. +8. Miscellaneous + +Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. +Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. +If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. +No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. +This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/radiant.data/CRAN-RELEASE b/radiant.data/CRAN-RELEASE new file mode 100644 index 0000000..38e54a8 --- /dev/null +++ b/radiant.data/CRAN-RELEASE @@ -0,0 +1,2 @@ +This package was submitted to CRAN on 2020-08-06. +Once it is accepted, delete this file and tag the release (commit b81ae0e31c). diff --git a/radiant.data/CRAN-SUBMISSION b/radiant.data/CRAN-SUBMISSION new file mode 100644 index 0000000..08250ff --- /dev/null +++ b/radiant.data/CRAN-SUBMISSION @@ -0,0 +1,3 @@ +Version: 1.6.6 +Date: 2024-05-14 23:05:49 UTC +SHA: 0c84c6defccc2050cfe133e40538b6b8cc1d2520 diff --git a/radiant.data/DESCRIPTION b/radiant.data/DESCRIPTION new file mode 100644 index 0000000..8bd5df2 --- /dev/null +++ b/radiant.data/DESCRIPTION @@ -0,0 +1,69 @@ +Package: radiant.data +Title: Data Menu for Radiant: Business Analytics using R and Shiny +Version: 1.6.7 +Date: 2024-10-22 +Authors@R: c( + person("Vincent", "Nijs", email = "radiant@rady.ucsd.edu", role = c("aut", "cre")), + person("Niklas", "von Hertzen", email = "niklasvh@gmail.com", role = c("aut"), comment = "html2canvas library") + ) +Description: The Radiant Data menu includes interfaces for loading, saving, + viewing, visualizing, summarizing, transforming, and combining data. It also + contains functionality to generate reproducible reports of the analyses + conducted in the application. +Depends: + R (>= 4.3.0), + magrittr (>= 1.5), + ggplot2 (>= 3.4.2), + lubridate (>= 1.7.4), + tidyr (>= 0.8.2), + dplyr (>= 1.1.2) +Imports: + tibble (>= 1.4.2), + rlang (>= 0.4.10), + broom (>= 0.5.2), + car (>= 3.0-0), + knitr (>= 1.20), + markdown (>= 1.7), + rmarkdown(>= 2.22), + shiny (>= 1.8.1), + jsonlite (>= 1.0), + shinyAce (>= 0.4.1), + psych (>= 1.8.4), + DT (>= 0.28), + readr (>= 1.1.1), + readxl (>= 1.0.0), + writexl (>= 0.2), + scales (>= 0.4.0), + curl (>= 2.5), + rstudioapi (>= 0.7), + import (>= 1.1.0), + plotly (>= 4.7.1), + glue (>= 1.3.0), + shinyFiles (>= 0.9.1), + stringi (>= 1.2.4), + randomizr (>= 0.20.0), + patchwork (>= 1.0.0), + bslib (>= 0.5.0), + png, + MASS, + base64enc, + shiny.i18n +Suggests: + arrow (>= 12.0.1), + dbplyr (>= 2.1.1), + DBI (>= 0.7), + RSQLite (>= 2.0), + RPostgres (>= 1.4.4), + webshot (>= 0.5.0), + testthat (>= 2.0.0), + pkgdown (>= 1.1.0) +URL: + https://github.com/radiant-rstats/radiant.data/, + https://radiant-rstats.github.io/radiant.data/, + https://radiant-rstats.github.io/docs/ +BugReports: https://github.com/radiant-rstats/radiant.data/issues/ +License: AGPL-3 | file LICENSE +LazyData: true +Encoding: UTF-8 +Language: en-US +RoxygenNote: 7.3.2 diff --git a/radiant.data/LICENSE b/radiant.data/LICENSE new file mode 100644 index 0000000..2f3785f --- /dev/null +++ b/radiant.data/LICENSE @@ -0,0 +1,102 @@ +radiant.data is licensed under AGPL3 (see https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) and https://www.r-project.org/Licenses/AGPL-3). The radiant.data help files and images are licensed under the creative commons attribution and share-alike license CC-BY-SA (https://creativecommons.org/licenses/by-sa/4.0/legalcode). + +As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +If you are interested in using radiant.data or other radiant packages please email me at radiant@rady.ucsd.edu + +==================================================================== + +Creative Commons Attribution-ShareAlike 4.0 International Public License +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + +Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. +Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. +BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. +Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. +Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. +Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. +License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike. +Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. +Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. +Licensor means the individual(s) or entity(ies) granting rights under this Public License. +Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. +Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. +You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + +License grant. +Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: +reproduce and Share the Licensed Material, in whole or in part; and +produce, reproduce, and Share Adapted Material. +Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. +Term. The term of this Public License is specified in Section 6(a). +Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. +Downstream recipients. +Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. +No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. +No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). +Other rights. + +Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. +Patent and trademark rights are not licensed under this Public License. +To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +Attribution. + +If You Share the Licensed Material (including in modified form), You must: + +retain the following if it is supplied by the Licensor with the Licensed Material: +identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); +a copyright notice; +a notice that refers to this Public License; +a notice that refers to the disclaimer of warranties; +a URI or hyperlink to the Licensed Material to the extent reasonably practicable; +indicate if You modified the Licensed Material and retain an indication of any previous modifications; and +indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. +You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. +If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. +ShareAlike. +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License. +You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. +You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; +if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and +You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. +To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. +The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + +This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. +Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + +automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or +upon express reinstatement by the Licensor. +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. +For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. +Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + +The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. +Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + +For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. +To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. +No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. +Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/radiant.data/NAMESPACE b/radiant.data/NAMESPACE new file mode 100644 index 0000000..aa1b278 --- /dev/null +++ b/radiant.data/NAMESPACE @@ -0,0 +1,319 @@ +# Generated by roxygen2: do not edit by hand + +S3method(dtab,data.frame) +S3method(dtab,explore) +S3method(dtab,pivotr) +S3method(plot,character) +S3method(plot,pivotr) +S3method(render,character) +S3method(render,datatables) +S3method(render,plotly) +S3method(render,shiny.render.function) +S3method(store,character) +S3method(store,explore) +S3method(store,pivotr) +S3method(summary,explore) +S3method(summary,pivotr) +export(Search) +export(add_class) +export(add_description) +export(arrange_data) +export(as_character) +export(as_distance) +export(as_dmy) +export(as_dmy_hm) +export(as_dmy_hms) +export(as_duration) +export(as_factor) +export(as_hm) +export(as_hms) +export(as_integer) +export(as_mdy) +export(as_mdy_hm) +export(as_mdy_hms) +export(as_numeric) +export(as_tibble) +export(as_ymd) +export(as_ymd_hm) +export(as_ymd_hms) +export(bs_theme) +export(center) +export(choose_dir) +export(choose_files) +export(ci_label) +export(ci_perc) +export(combine_data) +export(combinedata) +export(copy_all) +export(copy_attr) +export(copy_from) +export(cv) +export(date) +export(deregister) +export(describe) +export(does_vary) +export(dtab) +export(empty_level) +export(explore) +export(filter_data) +export(filterdata) +export(find_dropbox) +export(find_gdrive) +export(find_home) +export(find_project) +export(fixMS) +export(fix_names) +export(fix_smart) +export(flip) +export(format_df) +export(format_nr) +export(formatdf) +export(formatnr) +export(get_class) +export(get_data) +export(get_summary) +export(getclass) +export(getdata) +export(getsummary) +export(ggplotly) +export(glance) +export(glue) +export(glue_collapse) +export(glue_data) +export(indexr) +export(install_webshot) +export(inverse) +export(is.empty) +export(is_double) +export(is_not) +export(is_numeric) +export(is_string) +export(iterms) +export(knit_print) +export(kurtosi) +export(launch) +export(level_list) +export(ln) +export(load_clip) +export(make_arrange_cmd) +export(make_train) +export(make_vec) +export(max_rm) +export(me) +export(mean_rm) +export(median_rm) +export(meprop) +export(min_rm) +export(modal) +export(month) +export(mutate_ext) +export(n_missing) +export(n_obs) +export(normalize) +export(p01) +export(p025) +export(p05) +export(p10) +export(p25) +export(p75) +export(p90) +export(p95) +export(p975) +export(p99) +export(parse_path) +export(pcv) +export(pfun) +export(pivotr) +export(plot_annotation) +export(pmean) +export(pmedian) +export(pp01) +export(pp025) +export(pp05) +export(pp10) +export(pp25) +export(pp75) +export(pp95) +export(pp975) +export(pp99) +export(prop) +export(psd) +export(psum) +export(pvar) +export(qscatter) +export(qterms) +export(radiant.data) +export(radiant.data_url) +export(radiant.data_viewer) +export(radiant.data_window) +export(read_files) +export(refactor) +export(register) +export(render) +export(round_df) +export(rounddf) +export(rownames_to_column) +export(save_clip) +export(sd_rm) +export(sdpop) +export(sdprop) +export(se) +export(search_data) +export(seprop) +export(set_attr) +export(show_duplicated) +export(sig_stars) +export(skew) +export(slice_data) +export(square) +export(sshh) +export(sshhr) +export(standardize) +export(store) +export(subplot) +export(sum_rm) +export(table2data) +export(theme_version) +export(tibble) +export(tidy) +export(toFct) +export(to_fct) +export(var_rm) +export(varpop) +export(varprop) +export(view_data) +export(viewdata) +export(visualize) +export(wday) +export(weighted.sd) +export(which.pmax) +export(which.pmin) +export(wrap_plots) +export(writePNG) +export(write_parquet) +export(xtile) +import(dplyr) +import(ggplot2) +import(shiny) +importFrom(MASS,fractions) +importFrom(base64enc,dataURI) +importFrom(broom,glance) +importFrom(broom,tidy) +importFrom(bslib,bs_theme) +importFrom(bslib,theme_version) +importFrom(car,Recode) +importFrom(curl,curl_download) +importFrom(glue,glue) +importFrom(glue,glue_collapse) +importFrom(glue,glue_data) +importFrom(import,from) +importFrom(jsonlite,fromJSON) +importFrom(knitr,knit) +importFrom(knitr,knit2html) +importFrom(knitr,knit_print) +importFrom(lubridate,as.duration) +importFrom(lubridate,date) +importFrom(lubridate,dmy) +importFrom(lubridate,hm) +importFrom(lubridate,hms) +importFrom(lubridate,hour) +importFrom(lubridate,is.Date) +importFrom(lubridate,is.POSIXt) +importFrom(lubridate,mdy) +importFrom(lubridate,minute) +importFrom(lubridate,month) +importFrom(lubridate,now) +importFrom(lubridate,parse_date_time) +importFrom(lubridate,second) +importFrom(lubridate,wday) +importFrom(lubridate,week) +importFrom(lubridate,year) +importFrom(lubridate,ymd) +importFrom(lubridate,ymd_hms) +importFrom(magrittr,"%$%") +importFrom(magrittr,"%<>%") +importFrom(magrittr,"%T>%") +importFrom(magrittr,add) +importFrom(magrittr,divide_by) +importFrom(magrittr,extract2) +importFrom(magrittr,set_colnames) +importFrom(magrittr,set_names) +importFrom(magrittr,set_rownames) +importFrom(markdown,mark_html) +importFrom(patchwork,plot_annotation) +importFrom(patchwork,wrap_plots) +importFrom(plotly,ggplotly) +importFrom(plotly,renderPlotly) +importFrom(plotly,subplot) +importFrom(png,writePNG) +importFrom(psych,kurtosi) +importFrom(psych,skew) +importFrom(randomizr,block_ra) +importFrom(randomizr,complete_ra) +importFrom(readr,locale) +importFrom(readr,problems) +importFrom(readr,read_csv) +importFrom(readr,read_delim) +importFrom(readr,read_rds) +importFrom(readr,write_csv) +importFrom(readr,write_rds) +importFrom(readxl,read_excel) +importFrom(rlang,.data) +importFrom(rlang,parse_exprs) +importFrom(rmarkdown,html_dependency_bootstrap) +importFrom(rmarkdown,html_document) +importFrom(rmarkdown,pdf_document) +importFrom(rmarkdown,render) +importFrom(rmarkdown,word_document) +importFrom(rstudioapi,getActiveProject) +importFrom(rstudioapi,insertText) +importFrom(rstudioapi,isAvailable) +importFrom(rstudioapi,selectFile) +importFrom(shiny,getDefaultReactiveDomain) +importFrom(shiny,makeReactiveBinding) +importFrom(shiny,paneViewer) +importFrom(shiny,tags) +importFrom(shinyAce,aceEditor) +importFrom(shinyAce,updateAceEditor) +importFrom(shinyFiles,getVolumes) +importFrom(shinyFiles,parseDirPath) +importFrom(shinyFiles,parseFilePaths) +importFrom(shinyFiles,parseSavePath) +importFrom(shinyFiles,shinyFileChoose) +importFrom(shinyFiles,shinyFileSave) +importFrom(shinyFiles,shinyFilesButton) +importFrom(shinyFiles,shinyFilesLink) +importFrom(shinyFiles,shinySaveButton) +importFrom(shinyFiles,shinySaveLink) +importFrom(stats,IQR) +importFrom(stats,as.formula) +importFrom(stats,chisq.test) +importFrom(stats,dbinom) +importFrom(stats,density) +importFrom(stats,median) +importFrom(stats,na.omit) +importFrom(stats,qnorm) +importFrom(stats,qt) +importFrom(stats,quantile) +importFrom(stats,sd) +importFrom(stats,setNames) +importFrom(stats,var) +importFrom(stats,weighted.mean) +importFrom(stringi,stri_trans_general) +importFrom(tibble,as_tibble) +importFrom(tibble,rownames_to_column) +importFrom(tibble,tibble) +importFrom(tidyr,extract) +importFrom(tidyr,gather) +importFrom(tidyr,separate) +importFrom(tidyr,spread) +importFrom(tools,file_ext) +importFrom(utils,browseURL) +importFrom(utils,combn) +importFrom(utils,head) +importFrom(utils,install.packages) +importFrom(utils,read.table) +importFrom(utils,str) +importFrom(utils,tail) +importFrom(utils,write.table) +importFrom(writexl,write_xlsx) diff --git a/radiant.data/NEWS.md b/radiant.data/NEWS.md new file mode 100644 index 0000000..e07832d --- /dev/null +++ b/radiant.data/NEWS.md @@ -0,0 +1,512 @@ +# radiant.data 1.6.7 + +* Moving arrow package to 'recommended' because of its size on macOS (> 100MB) + +# radiant.data 1.6.6 + +* Require Shiny 1.8.1. Adjustments related to icon-buttons were made to address a breaking change in Shiny 1.8.1 +* Reverting changes that removed `req(input$dataset)` in different places + +# radiant.data 1.6.3 + +* Require shiny 1.8.0. This fixes a bug in the shiny 1.7 versions that caused issues with all radiant packages. + +# radiant.data 1.6.2 + +* Fixed a bug in Radiant by changing knitr options. Usernames with a space should no longer cause issues on Windows + +# radiant.data 1.6.0 + +* Added a dependency on the arrow package to allow loading and saving parquet files +* Added option to load and save parquet files and data description files (see Data > Manage) +* Renamed Radiant to "Radiant for R" to destinguish from "Radiant for Python" +* Addressed a bug that can occur when combining line graphs in Data > Visualize + +# radiant.data 1.5.6 + +* Address deprecation issues in markdown >= 1.5 + +# radiant.data 1.5.1 + +* Added features in the UI to facilitate persistent filters for filtered, sorted, and sliced data +* Improvements to screenshot feature: + - Navigation bar is omitted and the image is adjusted to the length of the UI. + - html2canvas.js is now included so users can take screenshot when offline +* Added a convenience function `add_description` to add a description attribute to a data.frame in markdown format +* Line graphs treated more similarly to bar-graphs: + - Can have a binary factor variable on the y-axis + - Y-variable only line are now also possible +* Removed all references to `aes_string` which is being deprecated in ggplot soon +* Improved cleanup after Radiant UI is closed + +# radiant.data 1.4.7 + +* Code cleanup in different areas + +# radiant.data 1.4.6 + +* gsub("[\x80-\xFF]", "", text) is no longer valid in R 4.2.0 and above. Non-asci symbols will now be escaped using stringi::stri_trans_general when needed + +# radiant.data 1.4.5 + +* Add scrolling for dropdown menus that might extend past the edge of the screen +* Addressed warning messages about Font Awesome icons not existing +* gsub("[\x80-\xFF]", "", text) is no longer valid in R 4.2.0 and above. Non-asci symbols will now be escaped using stringi when needed + +# radiant.data 1.4.4 + +* Added option to create screenshots of settings on a page. Approach is inspired by the snapper package by @yonicd +* Added contact request for users on Radiant startup +* Fix issue with R_ZIPCMD when 7zip is on the path but not being recognized by R + +# radiant.data 1.4.2 + +* Use `all` for `is.null` and `is.na` if object length can be greater than 1 as required in R 4.2.0 + +# radiant.data 1.4.1 + +* Setup to allow formatting of the shiny interface with bootstrap 4 +* Addressing `is_empty` function clash with `rlang` +* Upgrading `shiny` dependency to 1.6.0 and fixing project text alignment issue (@cpsievert, https://github.com/radiant-rstats/radiant.data/pull/28) + +# radiant.data 1.3.12 + +* Fixes related to breaking changes in `magrittr` +* Fixes related to changes in `readr` argument names +* Fix to launch radiant in a "windows" + +# radiant.data 1.3.10 + +* Add Google Drive to the default set of directories to explore if available +* Add back functionality to convert a column to type `ts` in _Data > Transform_ now that this is again supported by dplyr 1.0.1 + +# radiant.data 1.3.9 + +* Fix for using the `date` function from the lubridate package in a filter +* Removed functionality to convert a column to type `ts` as this is not supported by dplyr 1.0.0 and vctrs 0.3.1 +* Updated documentation using https://github.com/r-lib/roxygen2/pull/1109 + +# radiant.data 1.3.6 + +* Updated styling for formatting for modals (e.g., help pages) that will also allow improved sizing of the (shinyFiles) file browser +* Fix for `\r` line-endings in _Report > Rmd_ on Windows. Issue was most likely to occur when copy-and-pasting text from PDF into _Report > Rmd_. + +# radiant.data 1.3.4 + +* Minor adjustments in anticipation of dplyr 1.0.0 + +# radiant.data 1.3.3 + +* Function to calculate "mode" +* Fix for "spread" in Data > Transform with column name includes "." + +# radiant.data 1.3.1 + +* If radiant is not opened from an Rstudio project, use the working directory at launch as the base directory for the application + +# radiant.data 1.3.0 + +* Updated styling of Notebook and HTML reports (cosmo + zenburn) +* Documentation updates to link to new video tutorials +* Use `patchwork` for grouping multiple plots together +* Apply `refactor` to any type in the _Data > Transform_ UI +* Fix for `weighted.sd` when missing values differ for `x` and weights +* Avoid resetting the "Column header" to its default value in _Data > Explore_ when other settings are changed. + +# radiant.data 1.2.3 + +* Fix for _Data > Transform > Spread_ when no variables are selected +* Set `debounce` to 0 for all shinyAce editors + +# radiant.data 1.2.2 + +* Use `zenburn` for code highlighting in Notebook and HTML report from _Report > Rmd_ +* Clean up "sf_volumes" from the when radiant is stopped + +# radiant.data 1.2.0 + +* Update action buttons that initiate a calculation when one or more relevant inputs are changed. For example, when a model should be re-estimated because the set of explanatory variables was changed by the user, a spinning "refresh" icon will be shown + +# radiant.data 1.1.8 + +* Changed default `quantile` algorithm used in the `xtile` function from number 2 to 7. See the help for `stats::quantile` for details +* Added `me` and `meprop` functions to calculate the margin of error for a mean and a proportion. Functions are accessible from _Data > Pivot_ and _Data > Explore_ + +# radiant.data 1.1.6 + +* Improvements for wrapping generated code to _Report > Rmd_ or _Report > R_ +* _Data > Transform > Training_ now uses the `randomizr` package to allow blocking variables when creating a training variables. + +# radiant.data 1.1.3 + +* Guard against _using Data > Transform > Reorder/remove levels_ with too many levels (i.e., > 100) +* Guard against _using Data > Transform > Reorder/remove variables_ with too many variables (i.e., > 100) +* Fix for DT table callbacks when shiny 1.4 hits CRAN (see https://github.com/rstudio/DT/issues/146#issuecomment-534319155) +* Tables from _Data > Pivot_ and _Data > Explore_ now have `nr` set to `Inf` by default (i.e., show all rows). The user can change this to the number of desired rows to show (e.g., select 3 rows in a sorted table) +* Fix for example numbering in the help file for _Data > Transform_ +* Numerous small code changes to support enhanced auto-completion, tooltips, and annotations in shinyAce 0.4.1 + +# radiant.data 1.0.6 + +* Fix for `Data > Transform > Change type` +* Option to `fix_names` to lower case +* Keyboard shortcut (Enter) to load remove csv and rds files +* Use a shinyAce input to generate data descriptions +* Allow custom initial dataset list +* Fix for latex formulas in _Report > Rmd_ on Windows +* Updated requirements for markdown and Rmarkdown +* Fix for `radiant.init.data` with shiny-server +* Improvements to setup to allow access to server-side files by adding options to .Rprofile: + - Add `options(radiant.report = TRUE)` to allow report generation in _Report > Rmd_ and _Report > R_ + - Add `options(radiant.shinyFiles = TRUE)` to allow server-side access to files + - List specific directories you want to use with radiant using, for example, `options(radiant.sf_volumes = c(Git = "/home/jovyan/git"))` + +# radiant.data 1.0.0 + +* Support for series of class `ts` (e.g., Data > Transform > Change type > Time series) +* Require shinyAce 0.4.0 +* Vertical jitter set to 0 by default + +# radiant.data 0.9.9.0 + +* Added option to save _Report > Rmd_ as a powerpoint file using `Rmarkdown` +* Removed dependency on `summarytools` due to breaking changes +* Fix for interaction (`iterm`) and non-linear term (`qterm`) creation if character strings rather than integers are passed to the function +* Remove specific symbols from reports in _Report > Rmd_ to avoid issues when generating HTML or PDF documents +* Keyboard shortcuts, i.e., CTRL-O and CTRL-S (CMD-O and CMD-S on macOS) to open and save data files in the _Data > Manage_ tab +* Various fixes to address breaking changes in dplyr 0.8.0 +* Added `radiant_` prefix to all attributes, except `description`, to avoid conflicts with other packages (e.g., `vars` in dplyr) + +# radiant.data 0.9.8.6 + +* Use `stringi::stri_trans_general` to replace special symbols in Rmarkdown that may cause problems +* Add empty line before and after code chunks when saving reports to Rmarkdown +* Use `rio` to load `sav`, `dta`, or `sas7bdat` files through the `read files` button in _Report > Rmd_ and _Report > R_. +* Create a `qscatter` plot similar to the function of the same name in Stata +* New radiant icon +* Fix for setting where both `xlim` and `ylim` are set in `visualize` function +* Use an expandable `shinyAce` input for the R-code log in _Data > Transform_ + +# radiant.data 0.9.8.0 + +* Added an "autosave" options. Use `options(radiant.autosave = c(10, 180)); radiant::radiant()` to auto-save the application state to the `~/.radiant.session` folder every 10 minutes for the next 180 minutes. This can be useful if radiant is being used during an exam, for example. +* Emergency backups are now saved to `~/.radiant.session/r_some_id.state.rda`. The files should be automatically loaded when needed but can also be loaded as a regular radiant state file +* Replace option to load an `.rda` from from a URL in _Data > Manage_ to load `.rds` files instead +* Ensure variable and dataset names are valid for R (i.e., no spaces or symbols), "fixing" the input as needed +* Fix to visualize now `ggplot::labs` no longer accepts a list as input +* Add option to generate square and cubed terms for use in linear and logistic regression in `radiant.model` +* Fix for error when trying to save invalid predictions in `radiant.model`. This action now generates a pop-up in the browser interface +* Add a specified description to a data.frame immediately on `register` +* Option to pass additional arguments to `shiny::runApp` when starting radiant such as the port to use. For example, radiant.data::radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda", port = 8080) +* Option for automatic cleanup of deprecated code in both _Report > Rmd_ and _Report > R_ +* Avoid attempt to fix deprecated code in _Report > Rmd_ if `pred_data = ""` +* Fix for download icon linked to downloading of a state file after upgrade to shiny 1.2 +* Update documentation for _Data > Combine_ +* Fix for `format_df` when the data.frame contains missing values. This fix is relevant for several `summary` functions run in _Report > Rmd_ or _Report > R_ +* Fix for directory set when using `Knit report` in _Report > Rmd_ and _Report > R_ **without** an Rstudio project. Will now correctly default to the working directory used in R(studio) +* Added option to change `smooth` setting for histograms with a density plot +* Similar to `pmin` and `pmax`, `pfun` et al. calculate summary statistics elementwise across multiple vectors +* Add `Desktop` as a default directory to show in the `shinyFiles` file browser +* Load a state file on startup by providing a (relative) file path or a url. For example, radiant.data::radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda") +or radiant.data::radiant.data("assignment.state.rda") +* Update example report in _Report > Rmd_ +* Add `deregister` function to remove data in radiant from memory and the `datasets` dropdown list +* Fix for invalid column names if used in `Data > Pivot` + +# radiant.data 0.9.7.0 + +* Use `summarytools` to generate summary information for datasets in _Data > Manage_ +* Show modal with warning about non-writable working directory when saving reports in _Report > Rmd_ or _Report > R_ +* Apply `radiant.data::fix_names` to files loaded into radiant to ensure valid R-object names +* Use the content of the `Store filtered data as` input to name the csv download in _Data > View_ +* Add "txt" as a recognized file type for `Read files` in _Report > Rmd_ and _Report > R_ +* Allow multiple `lines` or `loess` curves based on a selected `color` variable for scatter plots in _Data > Visualize_ +* Indicate that a plot in _Data > Visualize_ should be updated when plot labels are changed +* Fix for [#81](https://github.com/radiant-rstats/radiant/issues/81) when variables used in _Data > Pivot_ contain dots +* Fix for `radiant.project_dir` when no Rstudio project is used which could cause incorrect relative paths to be used +* Fix code formatting for _Report > Rmd_ when arguments include a list (e.g., ggplot labels) +* On Linux use a modal to show code in Report > Rmd and Report > R when reporting is set to "manual" +* Use `is_double` to ensure dates are not treated as numeric variables in _Data > View_ +* Make sort and filter state of tables in Data > Explore and Data > Pivot available in Report > Rmd +* Fix names for data sets loaded using the `Read files` button in Report > Rmd or Report > R +* Cleanup environment after closing app +* Fix column names with spaces, etc. when reading csv files +* Additional styling and labeling options for _Data > Visualize_ are now available in the browser interface +* Fix for code generation related to DT filters + +# radiant.data 0.9.6.14 + +## Major changes + +* Using [`shinyFiles`](https://github.com/thomasp85/shinyFiles) to provide convenient access to data located on a server +* Avoid `XQuartz` requirement + +## Minor changes + +* Load `data(...)` into the current environment rather than defaulting only to the global environment +* `file.rename` failed using docker on windows when saving a report. Using `file.copy` instead +* Fix for `sf_volumes` used to set the root directories to load and save files +* Set default locale to "en_US.UTF-8" when using shiny-server unless `Sys.getlocale(category = "LC_ALL")` what set to something other than "C" +* Modal shown if and Rmd (R) file is not available when using "To Rstudio (Rmd)" in _Report > Rmd_ or "To Rstudio (R)" in _Report > R_ +* Track progress loading (state) files +* Fix for `radiant.sf_volumes` used for the `shinyFiles` file browser +* Improvements for sending code from Radiant to Rstudio +* Better support for paths when using radiant on a server (i.e., revert to home directory using `radiant.data::find_home()`) +* Revert from `svg` to `png` for plots in `_Report > Rmd_ and _Report > R_. `svg` scatter plots with many point get to big for practical use on servers that have to transfer images to a local browser +* Removed dependency on `methods` package + +# radiant.data 0.9.5.3 + +* Fix smart comma's in data descriptions +* Search and replace `desc(n)` in reports and replace by `desc(n_obs)` +* Revert to storing the r_data environment as a list on stop to avoid reference problems (@josh1400) +* Fix for plot type in _Data > Pivot_ in older state files (@josh1400) +* Used all declared imports (CRAN) + +# radiant.data 0.9.5.0 + +* Fix for `radiant.data::explore` when variable names contain an underscore +* Fix for `find_gdrive` when drive is not being synced +* Fixes in _Report > Rmd_ and _Report > R_ to accommodate for pandoc > 2 + +# radiant.data 0.9.4.6 + +* Don't update a reactive binding for an object if the binding already exists. See issue https://github.com/rstudio/shiny/issues/2065 +* Fix to accommodate changes in `deparse` in R 3.5 +* Fix for saving data in _Data > Manage_ and generating the relevant R-code + +# radiant.data 0.9.3.5 + +## Minor changes + +* Use `dev = "svg"` for plots in _Report > Rmd_ and _Report > R_ + +# radiant.data 0.9.3.4 + +## Minor changes + +* Add argument to `dtab.data.frame` to format specified columns as a percentage + +## Bug fixes + +* Round to the specified number of decimal places even if input if not of type integer (e.g., 2.0) + +# radiant.data 0.9.3.3 + +## Major changes + +* When using radiant with Rstudio Viewer or in an Rstudio Window, loading and saving data through _Data > Manage_ generates R-code the user can add to _Report > Rmd_ or _Report > R_. Clicking the `Show R-code` checkbox displays the R-code used to load or save the current dataset +* Various changes to the code to accommodate the use of `shiny::makeReactiveBinding`. The advantage is that the code generated for _Report > Rmd_ and _Report > R_ will no longer have to use a list (`r_data`) to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as well +* Removed `loadr`, `saver`, `load_csv`, `loadcsv_url`, `loadrds_url`, and `make_funs` functions as they are no longer needed +* Deprecated `mean_rm`, `median_rm`, `min_rm`, `max_rm, `sd_rm`, `var_rm, and `sum_rm` functions as they are no longer needed + +## Minor changes + +* Added `load_clip` and `save_clip` to load and save data to the clipboard on Windows and macOS +* Improved auto completion in _Report > Rmd_ and _Report > R_ +* Maintain, store, and clean the settings of the interactive table in _Data > View_ +* Address closing Rstudio Window issue (https://github.com/rstudio/shiny/issues/2033) + +# radiant.data 0.9.2.3 + +## Major changes + +* _Report > Rmd_ and _Report > R_ will now be evaluated the `r_data` environment. This means that the return value from `ls()` will be much cleaner + +## Minor changes + +* Add option to load files with extension .rdata or .tsv using `loadr` which add that data to the Datasets dropdown +* `visualize` will default to a scatter plot if `xvar` and `yvar` are specified but no plot `type` is provided in the function call +* Improvements to `read_files` function to interactively generate R-code (or Rmarkdown code-chunks) to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses `find_dropbox()` and `find_gdrive()` when applicable + +# radiant.data 0.9.2.2 + +## Minor changes + +* Require `shinyAce` 0.3.0 +* Export `read_files` function to interactively generate R-code or Rmarkdown code-chunks to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses `find_dropbox()` and `find_gdrive()` when applicable + +# radiant.data 0.9.2.0 + +## Minor changes + +* Addins option to start app in Rstudio window +* Upload and download data using the Rstudio file browser. Allows using relative paths to files (e.g., data or images inside an Rstudio project) + +# CHANGES IN radiant.data 0.9.0.22 + +## Bug fixes + +* Fix for [#43](https://github.com/radiant-rstats/radiant/issues/43) where scatter plot was not shown for a dataset with less than 1,000 rows +* Fix for _Report > Rmd_ and _Report > R_ when R-code or Rmarkdown is being pulled from the Rstudio editor + +## Minor changes + +* Updated equation example in _Report > Rmd_ + +# radiant.data 0.9.0.17 + +## Minor changes + +* Use thousand separator for `summary.pivotr` and `summary.explore` +* Fix in code-generation for `table2data` + +# radiant.data 0.9.0.16 + +## Minor changes + +* Changed license for help files and images for radiant.data to [CC-BY-SA](https://creativecommons.org/licenses/by-sa/4.0/legalcode) + +# radiant.data 0.9.0.15 + +## Minor changes + +* Allow all textarea inputs and multi-select inputs to be resized manually by the user +* Use 200 dpi for plots in _Report > Rmd_ and _Report > R_ +* _Data > Visualize_ now has an option to select a sample of data for scatter plots (e.g., 1K, 5K, 10K, or All) + +## Bug fixes + +* Fix for `rounddf` to ignore dates + +# radiant.data 0.9.0.13 + +## Minor changes + +* Apply `fixMS` to replace curly quotes, em dash, etc. when using _Data > Transform > Create_ +* Option to set number of decimals to show in _Data > View_ +* Improved number formatting in interactive tables in _Data > View_, _Data > Pivot_, and _Data > Explore_ +* Option to include an interactive view of a dataset in _Report > Rmd_. By default, the number of rows is set to 100 as, most likely, the user will not want to embed a large dataset in save HTML report +* _Data > Transform_ will leave variables selected, unless switching to `Create` or `Spread` +* Switch focus to editor in _Report > Rmd_ and _Report > R_ when no other input has focus + +## Bug fixes + +* Fix for decimals to show in interactive tables _Report > Rmd_ and saved HTML reports +* Better error messages for `xtile` and when binning data with too many groups +* Fix for variable type warnings in _Data > Pivot_ when filtering the table +* Fix for \ in equations in _Report > Rmd_ + +# radiant.data 0.9.0.7 + +## Minor changes + +* Allow response variables with NA values in _Model > Logistic regression_ and other classification models +* Support logicals in code generation from _Data > View_ +* Track window size using `input$get_screen_width` +* Focus on editor when switching to _Report > Rmd_ or _Report > R_ so generated code is shown immediately and the user can navigate and type in the editor without having to click first +* Add information about the first level when plotting a bar chart with a categorical variable on the Y-axis (e.g., mean(buyer {yes})) + +## Bug fixes + +* Cleanup now also occurs when the stop button is used in Rstudio to close the app +* Fix to include `DiagrammeR` based plots in Rmarkdown reports +* Fix in `read_files` for SQLite data names +* De-activate spell check auto correction in `selectizeInput` in Rstudio Viewer [shiny #1916](https://github.com/rstudio/shiny/issues/1916) +* Fix to allow selecting and copying text output from _Report > Rmd_ and _Report > R_ +* Remove "fancy" quotes from filters +* Known issue: The Rstudio viewer may not always close the viewer window when trying to stop the application with the `Stop` link in the navbar. As a work-around, use Rstudio's stop buttons instead. + +# radiant.data 0.9.0.0 + +## Major changes + +* If Rstudio project is used _Report > Rmd_ and _Report > R_ will use the project directory as base. This allows users to use relative paths and making it easier to share (reproducible) code +* Specify options in .Rprofile for upload memory limit and running _Report > Rmd_ on server +* `find_project` function based on `rstudioapi` +* _Report > Rmd_ Read button to generate code to load various types of data (e.g., rda, rds, xls, yaml, feather) +* _Report > Rmd_ Read button to generate code to load various types of files in report (e.g., jpg, png, md, Rmd, R). If Radiant was started from an Rstudio project, the file paths used will be relative to the project root. Paths to files synced to local Dropbox or Google Drive folder will use the `find_dropbox` and `find_gdrive` functions to enhances reproducibility. +* _Report > Rmd_ Load Report button can be used to load Rmarkdown file in the editor. It will also extract the source code from Notebook and HTML files with embedded Rmarkdown +* _Report > Rmd_ will read Rmd directly from Rstudio when "To Rstudio (Rmd)" is selected. This will make it possible to use Rstudio Server Pro's _Share project_ option for realtime collaboration in Radiant +* Long lines of code generated for _Report > Rmd_ will be wrapped to enhance readability +* _Report > R_ is now equivalent to _Report > Rmd_ but in R-code format +* _Report > Rmd_ option to view Editor, Preview, or Both +* Show Rstudio project information in navbar if available + +## Minor changes + +* Overflow `pre` and `code` blocks in HTML reports generated in _Report > Rmd_ +* Read rdata files through _Data > Manage_ +* Enhanced keyboard shortcuts +* Enhanced editing features in _Report > Rmd_ and _Report > R_ based on updates to `shinyAce` + +# radiant.data 0.8.7.8 + +## Minor changes + +* Added preview options to _Data > Manage_ based on https://github.com/radiant-rstats/radiant/issues/30 +* Add selected dataset name as default table download name in _Data > View_, _Data > Pivot_, and _Data > Explore_ +* Use "stack" as the default for histograms and frequency charts in _Data > Visualize_ +* Cleanup `Stop & Report` option in navbar +* Upgraded tidyr dependency to 0.7 +* Upgraded dplyr dependency to 0.7.1 + +## Bug fixes + +* Fix for large numbers in _Data > Explore_ that could cause an integer overflow + +# radiant.data 0.8.6.0 + +## Minor changes + +* Export `ggplotly` from `plotly` for interactive plots in _Report > Rmd_ +* Export `subplot` from `plotly` for grids of interactive plots in _Report > Rmd_ +* Set default `res = 96` for `renderPlot` and `dpi = 96` for `knitr::opts_chunk` +* Add `fillcol`, `linecol`, and `pointcol` to `visualize` to set plot colors when no `fill` or `color` variable has been selected +* Reverse legend ordering in _Data > Visualize_ when axes are flipped using `coor_flip()` +* Added functions to choose.files and choose.dir. Uses JavaScript on Mac, utils::choose.files and utils::choose.dir on Windows, and reverts to file.choose on Linux +* Added `find_gdrive` to determine the path to a user's local Google Drive folder if available +* `fixMs` for encoding in reports on Windows + +## Bug fixes + +* Chi-square results were not displayed correctly in _Data > Pivot_ +* Fix for `state_multiple` + +# radiant.data 0.8.1.0 + +## Minor changes + +* Specify the maximum number of rows to load for a csv and csv (url) file through _Data > Manage_ +* Support for loading and saving feather files, including specifying the maximum number of rows to load through _Data > Manage_ +* Added author and year arguments to help modals in inst/app/radiant.R (thanks @kmezhoud) +* Added size argument for scatter plots to create bubble charts (thanks @andrewsali) +* Example and CSS formatting for tables in _Report > Rmd_ +* Added `seed` argument to `make_train` +* Added `prop`, `sdprop`, etc. for working with proportions +* Set `ylim` in `visualize` for multiple plots +* Show progress indicator when saving reports from _Report > Rmd_ +* `copy_attr` convenience function +* `refactor` function to keep only a subset of levels in a factor and recode the remaining (and first) level to, for example, other +* `register` function to add a (transformed) dataset to the dataset dropdown +* Remember name of state files loaded and suggest that name when re-saving the state +* Show dataset name in output if dataframe passed directly to analysis function +* R-notebooks are now the default option for output saved from _Report > Rmd_ and _Report > R_ +* Improved documentation on how to customize plots in _Report > Rmd_ +* Keyboard short-cut to put code into _Report > Rmd_ (ALT-enter) + +## Bug fixes + +* When clicking the `rename` button, without changing the name, the dataset was set to NULL (thanks @kmezhoud, https://github.com/radiant-rstats/radiant/issues/5) +* Replace ext with .ext in `mutate_each` function call +* Variance estimation in Data > Explore would cause an error with unit cell-frequencies (thanks @kmezhoud, https://github.com/radiant-rstats/radiant/issues/6) +* Fix for as_integer when factor levels are characters +* Fix for integer conversion in explore +* Remove \\r and special characters from strings in r_data and r_state +* Fix sorting in _Report > Rmd_ for tables created using _Data > Pivot_ and _Data > Explore_ when column headers contain symbols or spaces (thanks @4kammer) +* Set `error = TRUE` for rmarkdown for consistency with knitr as used in _Report > Rmd_ +* Correctly handle decimal indicators when loading csv files in _Data > Manage_ +* Don't overwrite a dataset to combine if combine generates an error when user sets the the name of the combined data to that of an already selected dataset +* When multiple variables were selected, data were not correctly summarized in Data > Transform +* Add (function) label to bar plot when x-variable is an integer +* Maintain order of variables in Data > Visualize when using "color", "fill", "comby", or "combx" +* Avoid warning when switching datasets in Data > Transform and variables being summarized do not exists in the new dataset +* which.pmax produced a list but needed to be integer +* To customized predictions in radiant.model indexr must be able to customize the prediction dataframe +* describe now correctly resets the working directory on exit +* removed all calls to summarise_each and mutate_each from dplyr + +## Deprecated +* varp_rm has been deprecated in favor of varpop +* sdp_rm has been deprecated in favor of sdpop +* mutate_each has been deprecated in favor of mutate_at, mutate_all, and radiant.data::mutate_ext diff --git a/radiant.data/R/aaa.R b/radiant.data/R/aaa.R new file mode 100644 index 0000000..1a91737 --- /dev/null +++ b/radiant.data/R/aaa.R @@ -0,0 +1,135 @@ +# to avoid 'no visible binding for global variable' NOTE +globalVariables( + c(".", "r_data", "r_info", "thead", "th", "tr", "tfoot", "bslib_current_version", "variable") +) + +#' radiant.data +#' +#' @name radiant.data +#' @import ggplot2 shiny dplyr +#' @importFrom rlang parse_exprs +#' @importFrom car Recode +#' @importFrom rstudioapi insertText isAvailable +#' @importFrom knitr knit2html knit +#' @importFrom markdown mark_html +#' @importFrom rmarkdown render html_dependency_bootstrap pdf_document html_document word_document +#' @importFrom magrittr %<>% %T>% %$% set_rownames set_colnames set_names divide_by add extract2 +#' @importFrom lubridate is.Date is.POSIXt now year month wday week hour minute second ymd mdy dmy ymd_hms hms hm as.duration parse_date_time +#' @importFrom tidyr gather spread separate extract +#' @importFrom shinyAce aceEditor updateAceEditor +#' @importFrom readr read_delim read_csv write_csv read_rds write_rds locale problems +#' @importFrom readxl read_excel +#' @importFrom base64enc dataURI +#' @importFrom stats as.formula chisq.test dbinom median na.omit quantile sd setNames var weighted.mean IQR +#' @importFrom utils combn head tail install.packages read.table write.table +#' @importFrom import from +#' @importFrom curl curl_download +#' @importFrom writexl write_xlsx +#' @importFrom shinyFiles getVolumes parseDirPath parseFilePaths parseSavePath shinyFileChoose shinyFileSave shinyFilesButton shinyFilesLink shinySaveButton shinySaveLink +#' +NULL + +#' @importFrom bslib theme_version bs_theme +#' @export +bslib::theme_version + +#' @export +bslib::bs_theme + +#' @importFrom patchwork wrap_plots plot_annotation +#' @export +patchwork::wrap_plots + +#' @export +patchwork::plot_annotation + +#' @importFrom png writePNG +#' @export +png::writePNG + +#' @importFrom glue glue glue_data glue_collapse +#' @export +glue::glue + +#' @export +glue::glue_data + +#' @export +glue::glue_collapse + +#' @importFrom knitr knit_print +#' @export +knitr::knit_print + +#' @importFrom tibble rownames_to_column tibble as_tibble +#' @export +tibble::rownames_to_column + +#' @export +tibble::tibble + +#' @export +tibble::as_tibble + +#' @importFrom broom tidy glance +#' @export +broom::tidy + +#' @export +broom::glance + +#' @importFrom psych kurtosi skew +#' @export +psych::kurtosi + +#' @export +psych::skew + +#' @importFrom lubridate date +#' @export +lubridate::date + +#' Diamond prices +#' @details A sample of 3,000 from the diamonds dataset bundled with ggplot2. Description provided in attr(diamonds,"description") +#' @docType data +#' @keywords datasets +#' @name diamonds +#' @usage data(diamonds) +#' @format A data frame with 3000 rows and 10 variables +NULL + +#' Survival data for the Titanic +#' @details Survival data for the Titanic. Description provided in attr(titanic,"description") +#' @docType data +#' @keywords datasets +#' @name titanic +#' @usage data(titanic) +#' @format A data frame with 1043 rows and 10 variables +NULL + +#' Comic publishers +#' @details List of comic publishers from \url{https://stat545.com/join-cheatsheet.html}. The dataset is used to illustrate data merging / joining. Description provided in attr(publishers,"description") +#' @docType data +#' @keywords datasets +#' @name publishers +#' @usage data(publishers) +#' @format A data frame with 3 rows and 2 variables +NULL + +#' Super heroes +#' @details List of super heroes from \url{https://stat545.com/join-cheatsheet.html}. The dataset is used to illustrate data merging / joining. Description provided in attr(superheroes,"description") +#' @docType data +#' @keywords datasets +#' @name superheroes +#' @usage data(superheroes) +#' @format A data frame with 7 rows and 4 variables +NULL + +#' Avengers +#' @details List of avengers. The dataset is used to illustrate data merging / joining. Description provided in attr(avengers,"description") +#' @docType data +#' @keywords datasets +#' @name avengers +#' @usage data(avengers) +#' @format A data frame with 7 rows and 4 variables +NULL diff --git a/radiant.data/R/combine.R b/radiant.data/R/combine.R new file mode 100644 index 0000000..e9d201b --- /dev/null +++ b/radiant.data/R/combine.R @@ -0,0 +1,81 @@ +#' Combine datasets using dplyr's bind and join functions +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/combine.html} for an example in Radiant +#' +#' @param x Dataset +#' @param y Dataset to combine with x +#' @param by Variables used to combine `x` and `y` +#' @param add Variables to add from `y` +#' @param type The main bind and join types from the dplyr package are provided. \bold{inner_join} returns all rows from x with matching values in y, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. \bold{left_join} returns all rows from x, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. \bold{right_join} is equivalent to a left join for datasets y and x. \bold{full_join} combines two datasets, keeping rows and columns that appear in either. \bold{semi_join} returns all rows from x with matching values in y, keeping just columns from x. A semi join differs from an inner join because an inner join will return one row of x for each matching row of y, whereas a semi join will never duplicate rows of x. \bold{anti_join} returns all rows from x without matching values in y, keeping only columns from x. \bold{bind_rows} and \bold{bind_cols} are also included, as are \bold{intersect}, \bold{union}, and \bold{setdiff}. See \url{https://radiant-rstats.github.io/docs/data/combine.html} for further details +#' @param data_filter Expression used to filter the dataset. This should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @return Combined dataset +#' +#' @examples +#' avengers %>% combine_data(superheroes, type = "bind_cols") +#' combine_data(avengers, superheroes, type = "bind_cols") +#' avengers %>% combine_data(superheroes, type = "bind_rows") +#' avengers %>% combine_data(superheroes, add = "publisher", type = "bind_rows") +#' +#' @export +combine_data <- function(x, y, by = "", add = "", + type = "inner_join", + data_filter = "", + arr = "", + rows = NULL, + envir = parent.frame(), + ...) { + is_join <- grepl("_join", type) + if (is_join && is.empty(by)) { + return(cat("No variables selected to join datasets\n")) + } + + ## legacy to deal with argument name change + if (missing(x) || missing(y)) { + depr <- list(...) + x <- depr$dataset + y <- depr$cmb_dataset + } + + x_name <- ifelse(is_string(x), x, deparse(substitute(x))) + y_name <- ifelse(is_string(y), y, deparse(substitute(y))) + + x <- get_data(x, filt = data_filter, arr = arr, rows = rows, na.rm = FALSE, envir = envir) + if (all(add == "")) { + y <- get_data(y, na.rm = FALSE, envir = envir) + } else { + y <- get_data(y, unique(c(by, add)), na.rm = FALSE, envir = envir) + } + + ## keeping data descriptions + x_descr <- attr(x, "description") + y_descr <- attr(y, "description") + + if (is_join) { + x <- get(type, envir = as.environment("package:dplyr"))(x, y, by = by) + madd <- paste0("
    \nBy: ", paste0(by, collapse = ", ")) + } else { + x <- get(type, envir = as.environment("package:dplyr"))(x, y) + madd <- "" + } + + ## return error message as needed + if (is.character(x)) { + return(x) + } + + mess <- paste0( + "## Combined\n\nDatasets: ", x_name, " and ", y_name, + " (", type, ")", madd, "
    \nOn: ", lubridate::now(), "\n\n", x_descr, + ifelse(!is.empty(data_filter), paste0("\n\n**Data filter:** ", data_filter), ""), + ifelse(!is.empty(arr), paste0("\n\n**Data arrange:** ", make_arrange_cmd(arr)), ""), + ifelse(!is.empty(rows), paste0("\n\n**Data slice:** ", rows), ""), + "\n\n", y_descr + ) + + set_attr(x, "description", mess) +} \ No newline at end of file diff --git a/radiant.data/R/deprecated.R b/radiant.data/R/deprecated.R new file mode 100644 index 0000000..73bc251 --- /dev/null +++ b/radiant.data/R/deprecated.R @@ -0,0 +1,118 @@ +#' Deprecated function(s) in the radiant.data package +#' +#' These functions are provided for compatibility with previous versions of +#' radiant but will be removed +#' @rdname radiant.data-deprecated +#' @name radiant.data-deprecated +#' @param ... Parameters to be passed to the updated functions +#' @export mean_rm median_rm min_rm max_rm sd_rm var_rm sum_rm getdata filterdata combinedata viewdata toFct fixMS getsummary Search formatnr formatdf rounddf getclass is_numeric +#' @aliases mean_rm median_rm min_rm max_rm sd_rm var_rm sum_rm getdata filterdata combinedata viewdata toFct fixMS getsummary Search formatnr formatdf rounddf getclass is_numeric +#' @section Details: +#' \itemize{ +#' \item Replace \code{mean_rm} by \code{\link{mean}} +#' \item Replace \code{median_rm} by \code{\link{median}} +#' \item Replace \code{min_rm} by \code{\link{min}} +#' \item Replace \code{max_rm} by \code{\link{max}} +#' \item Replace \code{sd_rm} by \code{\link{sd}} +#' \item Replace \code{var_rm} by \code{\link{var}} +#' \item Replace \code{sum_rm} by \code{\link{sum}} +#' \item Replace \code{getdata} by \code{\link{get_data}} +#' \item Replace \code{filterdata} by \code{\link{filter_data}} +#' \item Replace \code{combinedata} by \code{\link{combine_data}} +#' \item Replace \code{viewdata} by \code{\link{view_data}} +#' \item Replace \code{toFct} by \code{\link{to_fct}} +#' \item Replace \code{fixMS} by \code{\link{fix_smart}} +#' \item Replace \code{rounddf} by \code{\link{round_df}} +#' \item Replace \code{formatdf} by \code{\link{format_df}} +#' \item Replace \code{formatnr} by \code{\link{format_nr}} +#' \item Replace \code{getclass} by \code{\link{get_class}} +#' \item Replace \code{is_numeric} by \code{\link{is_double}} +#' \item Replace \code{is_empty} by \code{\link{is.empty}} +#' } +#' +mean_rm <- function(...) { + .Deprecated("mean") + mean(..., na.rm = TRUE) +} +median_rm <- function(...) { + .Deprecated("median") + median(..., na.rm = TRUE) +} +min_rm <- function(...) { + .Deprecated("min") + min(..., na.rm = TRUE) +} +max_rm <- function(...) { + .Deprecated("max") + max(..., na.rm = TRUE) +} +sd_rm <- function(...) { + .Deprecated("sd") + sd(..., na.rm = TRUE) +} +var_rm <- function(...) { + .Deprecated("var") + var(..., na.rm = TRUE) +} +sum_rm <- function(...) { + .Deprecated("sum") + sum(..., na.rm = TRUE) +} +getsummary <- function(...) { + .Deprecated("get_summary") + get_summary(...) +} +getdata <- function(...) { + .Deprecated("get_data") + get_data(...) +} +filterdata <- function(...) { + .Deprecated("filter_data") + filter_data(...) +} +combinedata <- function(...) { + .Deprecated("combine_data") + combine_data(...) +} +viewdata <- function(...) { + .Deprecated("view_data") + view_data(...) +} +toFct <- function(...) { + .Deprecated("to_fct") + to_fct(...) +} +fixMS <- function(...) { + .Deprecated("fix_smart") + fix_smart(...) +} +Search <- function(...) { + .Deprecated("search_data") + search_data(...) +} +formatnr <- function(...) { + .Deprecated("format_nr") + format_nr(...) +} +formatdf <- function(...) { + .Deprecated("format_df") + format_df(...) +} +rounddf <- function(...) { + .Deprecated("round_df") + round_df(...) +} +getclass <- function(...) { + .Deprecated("get_class") + get_class(...) +} +is_numeric <- function(...) { + .Deprecated("is_double") + is_double(...) +} +is_empty <- function(...) { + .Deprecated("is.empty") + is.empty(...) +} + +NULL diff --git a/radiant.data/R/explore.R b/radiant.data/R/explore.R new file mode 100644 index 0000000..8d44fe9 --- /dev/null +++ b/radiant.data/R/explore.R @@ -0,0 +1,708 @@ +#' Explore and summarize data +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +#' +#' @param dataset Dataset to explore +#' @param vars (Numeric) variables to summarize +#' @param byvar Variable(s) to group data by +#' @param fun Functions to use for summarizing +#' @param top Use functions ("fun"), variables ("vars"), or group-by variables as column headers +#' @param tabfilt Expression used to filter the table (e.g., "Total > 10000") +#' @param tabsort Expression used to sort the table (e.g., "desc(Total)") +#' @param tabslice Expression used to filter table (e.g., "1:5") +#' @param nr Number of rows to display +#' @param data_filter Expression used to filter the dataset before creating the table (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list of all variables defined in the function as an object of class explore +#' +#' @examples +#' explore(diamonds, c("price", "carat")) %>% str() +#' explore(diamonds, "price:x")$tab +#' explore(diamonds, c("price", "carat"), byvar = "cut", fun = c("n_missing", "skew"))$tab +#' +#' @seealso See \code{\link{summary.explore}} to show summaries +#' +#' @export +explore <- function(dataset, vars = "", byvar = "", fun = c("mean", "sd"), + top = "fun", tabfilt = "", tabsort = "", tabslice = "", + nr = Inf, data_filter = "", arr = "", rows = NULL, + envir = parent.frame()) { + tvars <- vars + if (!is.empty(byvar)) tvars <- unique(c(tvars, byvar)) + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, tvars, filt = data_filter, arr = arr, rows = rows, na.rm = FALSE, envir = envir) + rm(tvars) + + ## in case : was used + vars <- base::setdiff(colnames(dataset), byvar) + + ## converting data as needed for summarization + dc <- get_class(dataset) + fixer <- function(x, fun = as_integer) { + if (is.character(x) || is.Date(x)) { + x <- rep(NA, length(x)) + } else if (is.factor(x)) { + x_num <- sshhr(as.integer(as.character(x))) + if (length(na.omit(x_num)) == 0) { + x <- fun(x) + } else { + x <- x_num + } + } + x + } + fixer_first <- function(x) { + x <- fixer(x, function(x) as_integer(x == levels(x)[1])) + } + mean <- function(x, na.rm = TRUE) sshhr(base::mean(fixer_first(x), na.rm = na.rm)) + sum <- function(x, na.rm = TRUE) sshhr(base::sum(fixer_first(x), na.rm = na.rm)) + var <- function(x, na.rm = TRUE) sshhr(stats::var(fixer_first(x), na.rm = na.rm)) + sd <- function(x, na.rm = TRUE) sshhr(stats::sd(fixer_first(x), na.rm = na.rm)) + se <- function(x, na.rm = TRUE) sshhr(radiant.data::se(fixer_first(x), na.rm = na.rm)) + me <- function(x, na.rm = TRUE) sshhr(radiant.data::me(fixer_first(x), na.rm = na.rm)) + cv <- function(x, na.rm = TRUE) sshhr(radiant.data::cv(fixer_first(x), na.rm = na.rm)) + prop <- function(x, na.rm = TRUE) sshhr(radiant.data::prop(fixer_first(x), na.rm = na.rm)) + varprop <- function(x, na.rm = TRUE) sshhr(radiant.data::varprop(fixer_first(x), na.rm = na.rm)) + sdprop <- function(x, na.rm = TRUE) sshhr(radiant.data::sdprop(fixer_first(x), na.rm = na.rm)) + seprop <- function(x, na.rm = TRUE) sshhr(radiant.data::seprop(fixer_first(x), na.rm = na.rm)) + meprop <- function(x, na.rm = TRUE) sshhr(radiant.data::meprop(fixer_first(x), na.rm = na.rm)) + varpop <- function(x, na.rm = TRUE) sshhr(radiant.data::varpop(fixer_first(x), na.rm = na.rm)) + sdpop <- function(x, na.rm = TRUE) sshhr(radiant.data::sdpop(fixer_first(x), na.rm = na.rm)) + + median <- function(x, na.rm = TRUE) sshhr(stats::median(fixer(x), na.rm = na.rm)) + min <- function(x, na.rm = TRUE) sshhr(base::min(fixer(x), na.rm = na.rm)) + max <- function(x, na.rm = TRUE) sshhr(base::max(fixer(x), na.rm = na.rm)) + p01 <- function(x, na.rm = TRUE) sshhr(radiant.data::p01(fixer(x), na.rm = na.rm)) + p025 <- function(x, na.rm = TRUE) sshhr(radiant.data::p025(fixer(x), na.rm = na.rm)) + p05 <- function(x, na.rm = TRUE) sshhr(radiant.data::p05(fixer(x), na.rm = na.rm)) + p10 <- function(x, na.rm = TRUE) sshhr(radiant.data::p10(fixer(x), na.rm = na.rm)) + p25 <- function(x, na.rm = TRUE) sshhr(radiant.data::p25(fixer(x), na.rm = na.rm)) + p75 <- function(x, na.rm = TRUE) sshhr(radiant.data::p75(fixer(x), na.rm = na.rm)) + p90 <- function(x, na.rm = TRUE) sshhr(radiant.data::p90(fixer(x), na.rm = na.rm)) + p95 <- function(x, na.rm = TRUE) sshhr(radiant.data::p95(fixer(x), na.rm = na.rm)) + p975 <- function(x, na.rm = TRUE) sshhr(radiant.data::p975(fixer(x), na.rm = na.rm)) + p99 <- function(x, na.rm = TRUE) sshhr(radiant.data::p99(fixer(x), na.rm = na.rm)) + skew <- function(x, na.rm = TRUE) sshhr(radiant.data::skew(fixer(x), na.rm = na.rm)) + kurtosi <- function(x, na.rm = TRUE) sshhr(radiant.data::kurtosi(fixer(x), na.rm = na.rm)) + + isLogNum <- "logical" == dc & names(dc) %in% base::setdiff(vars, byvar) + if (sum(isLogNum) > 0) { + dataset[, isLogNum] <- select(dataset, which(isLogNum)) %>% + mutate_all(as.integer) + dc[isLogNum] <- "integer" + } + + if (is.empty(byvar)) { + byvar <- c() + tab <- summarise_all(dataset, fun, na.rm = TRUE) + } else { + + ## convert categorical variables to factors if needed + ## needed to deal with empty/missing values + dataset[, byvar] <- select_at(dataset, .vars = byvar) %>% + mutate_all(~ empty_level(.)) + + tab <- dataset %>% + group_by_at(.vars = byvar) %>% + summarise_all(fun, na.rm = TRUE) + } + + ## adjust column names + if (length(vars) == 1 || length(fun) == 1) { + rng <- (length(byvar) + 1):ncol(tab) + colnames(tab)[rng] <- paste0(vars, "_", fun) + rm(rng) + } + + ## setup regular expression to split variable/function column appropriately + rex <- paste0("(.*?)_", glue('({glue_collapse(fun, "$|")}$)')) + + ## useful answer and comments: http://stackoverflow.com/a/27880388/1974918 + tab <- gather(tab, "variable", "value", !!-(seq_along(byvar))) %>% + extract(variable, into = c("variable", "fun"), regex = rex) %>% + mutate(fun = factor(fun, levels = !!fun), variable = factor(variable, levels = vars)) %>% + # mutate(variable = paste0(variable, " {", dc[variable], "}")) %>% + spread("fun", "value") + + ## flip the table if needed + if (top != "fun") { + tab <- list(tab = tab, byvar = byvar, fun = fun) %>% + flip(top) + } + + nrow_tab <- nrow(tab) + + ## filtering the table if desired from Report > Rmd + if (!is.empty(tabfilt)) { + tab <- filter_data(tab, tabfilt) + } + + ## sorting the table if desired from Report > Rmd + if (!identical(tabsort, "")) { + tabsort <- gsub(",", ";", tabsort) + tab <- tab %>% arrange(!!!rlang::parse_exprs(tabsort)) + } + + ## ensure factors ordered as in the (sorted) table + if (!is.empty(byvar) && top != "byvar") { + for (i in byvar) tab[[i]] <- tab[[i]] %>% (function(x) factor(x, levels = unique(x))) + rm(i) + } + + ## frequencies converted to doubles during gather/spread above + check_int <- function(x) { + if (is.double(x) && length(na.omit(x)) > 0) { + x_int <- sshhr(as.integer(round(x, .Machine$double.rounding))) + if (isTRUE(all.equal(x, x_int, check.attributes = FALSE))) x_int else x + } else { + x + } + } + + tab <- ungroup(tab) %>% mutate_all(check_int) + + ## slicing the table if desired + if (!is.empty(tabslice)) { + tab <- tab %>% + slice_data(tabslice) %>% + droplevels() + } + + ## convert to data.frame to maintain attributes + tab <- as.data.frame(tab, stringsAsFactors = FALSE) + attr(tab, "radiant_nrow") <- nrow_tab + if (!isTRUE(is.infinite(nr))) { + ind <- if (nr > nrow(tab)) 1:nrow(tab) else 1:nr + tab <- tab[ind, , drop = FALSE] + rm(ind) + } + + list( + tab = tab, + df_name = df_name, + vars = vars, + byvar = byvar, + fun = fun, + top = top, + tabfilt = tabfilt, + tabsort = tabsort, + tabslice = tabslice, + nr = nr, + data_filter = data_filter, + arr = arr, + rows = rows + ) %>% add_class("explore") +} + +#' Summary method for the explore function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{explore}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- explore(diamonds, "price:x") +#' summary(result) +#' result <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew")) +#' summary(result) +#' explore(diamonds, "price:x", byvar = "color") %>% summary() +#' +#' @seealso \code{\link{explore}} to generate summaries +#' +#' @export +summary.explore <- function(object, dec = 3, ...) { + cat("Explore\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + if (!is.empty(object$tabfilt)) { + cat("Table filter:", object$tabfilt, "\n") + } + if (!is.empty(object$tabsort[1])) { + cat("Table sorted:", paste0(object$tabsort, collapse = ", "), "\n") + } + if (!is.empty(object$tabslice)) { + cat("Table slice :", object$tabslice, "\n") + } + nr <- attr(object$tab, "radiant_nrow") + if (!isTRUE(is.infinite(nr)) && !isTRUE(is.infinite(object$nr)) && object$nr < nr) { + cat(paste0("Rows shown : ", object$nr, " (out of ", nr, ")\n")) + } + if (!is.empty(object$byvar[1])) { + cat("Grouped by :", object$byvar, "\n") + } + cat("Functions :", paste0(object$fun, collapse = ", "), "\n") + cat("Top :", c("fun" = "Function", "var" = "Variables", "byvar" = "Group by")[object$top], "\n") + cat("\n") + + format_df(object$tab, dec = dec, mark = ",") %>% + print(row.names = FALSE) + invisible() +} + +#' Deprecated: Store method for the explore function +#' +#' @details Return the summarized data. See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param object Return value from \code{\link{explore}} +#' @param name Name to assign to the dataset +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{explore}} to generate summaries +#' +#' @export +store.explore <- function(dataset, object, name, ...) { + if (missing(name)) { + object$tab + } else { + stop( + paste0( + "This function is deprecated. Use the code below instead:\n\n", + name, " <- ", deparse(substitute(object)), "$tab\nregister(\"", + name, ")" + ), + call. = FALSE + ) + } +} + +#' Flip the DT table to put Function, Variable, or Group by on top +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +#' +#' @param expl Return value from \code{\link{explore}} +#' @param top The variable (type) to display at the top of the table ("fun" for Function, "var" for Variable, and "byvar" for Group by. "fun" is the default +#' +#' @examples +#' explore(diamonds, "price:x", top = "var") %>% summary() +#' explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") %>% summary() +#' +#' @seealso \code{\link{explore}} to calculate summaries +#' @seealso \code{\link{summary.explore}} to show summaries +#' @seealso \code{\link{dtab.explore}} to create the DT table +#' +#' @export +flip <- function(expl, top = "fun") { + cvars <- expl$byvar %>% + (function(x) if (is.empty(x[1])) character(0) else x) + if (top[1] == "var") { + expl$tab %<>% gather(".function", "value", !!-(1:(length(cvars) + 1))) %>% + spread("variable", "value") + expl$tab[[".function"]] %<>% factor(., levels = expl$fun) + } else if (top[1] == "byvar" && length(cvars) > 0) { + expl$tab %<>% gather(".function", "value", !!-(1:(length(cvars) + 1))) %>% + spread(!!cvars[1], "value") + expl$tab[[".function"]] %<>% factor(., levels = expl$fun) + + ## ensure we don't have invalid column names + colnames(expl$tab) <- fix_names(colnames(expl$tab)) + } + + expl$tab +} + +#' Make an interactive table of summary statistics +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{explore}} +#' @param dec Number of decimals to show +#' @param searchCols Column search and filter +#' @param order Column sorting +#' @param pageLength Page length +#' @param caption Table caption +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' \dontrun{ +#' tab <- explore(diamonds, "price:x") %>% dtab() +#' tab <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") %>% +#' dtab() +#' } +#' +#' @seealso \code{\link{pivotr}} to create a pivot table +#' @seealso \code{\link{summary.pivotr}} to show summaries +#' +#' @export +dtab.explore <- function(object, dec = 3, searchCols = NULL, + order = NULL, pageLength = NULL, + caption = NULL, ...) { + style <- if (exists("bslib_current_version") && "4" %in% bslib_current_version()) "bootstrap4" else "bootstrap" + tab <- object$tab + cn_all <- colnames(tab) + cn_num <- cn_all[sapply(tab, is.numeric)] + cn_cat <- cn_all[-which(cn_all %in% cn_num)] + isInt <- sapply(tab, is.integer) + isDbl <- sapply(tab, is_double) + dec <- ifelse(is.empty(dec) || dec < 0, 3, round(dec, 0)) + + top <- c("fun" = "Function", "var" = "Variables", "byvar" = paste0("Group by: ", object$byvar[1]))[object$top] + sketch <- shiny::withTags( + table( + thead( + tr( + th(" ", colspan = length(cn_cat)), + lapply(top, th, colspan = length(cn_num), class = "text-center") + ), + tr(lapply(cn_all, th)) + ) + ) + ) + + if (!is.empty(caption)) { + ## from https://github.com/rstudio/DT/issues/630#issuecomment-461191378 + caption <- shiny::tags$caption(style = "caption-side: bottom; text-align: left; font-size:100%;", caption) + } + + ## for display options see https://datatables.net/reference/option/dom + dom <- if (nrow(tab) < 11) "t" else "ltip" + fbox <- if (nrow(tab) > 5e6) "none" else list(position = "top") + dt_tab <- DT::datatable( + tab, + container = sketch, + caption = caption, + selection = "none", + rownames = FALSE, + filter = fbox, + ## must use fillContainer = FALSE to address + ## see https://github.com/rstudio/DT/issues/367 + ## https://github.com/rstudio/DT/issues/379 + fillContainer = FALSE, + style = style, + options = list( + dom = dom, + stateSave = TRUE, ## store state + searchCols = searchCols, + order = order, + columnDefs = list(list(orderSequence = c("desc", "asc"), targets = "_all")), + autoWidth = TRUE, + processing = FALSE, + pageLength = { + if (is.null(pageLength)) 10 else pageLength + }, + lengthMenu = list(c(5, 10, 25, 50, -1), c("5", "10", "25", "50", "All")) + ), + ## https://github.com/rstudio/DT/issues/146#issuecomment-534319155 + callback = DT::JS('$(window).on("unload", function() { table.state.clear(); })') + ) %>% + DT::formatStyle(., cn_cat, color = "white", backgroundColor = "grey") + + ## rounding as needed + if (sum(isDbl) > 0) { + dt_tab <- DT::formatRound(dt_tab, names(isDbl)[isDbl], dec) + } + if (sum(isInt) > 0) { + dt_tab <- DT::formatRound(dt_tab, names(isInt)[isInt], 0) + } + + ## see https://github.com/yihui/knitr/issues/1198 + dt_tab$dependencies <- c( + list(rmarkdown::html_dependency_bootstrap("bootstrap")), + dt_tab$dependencies + ) + + dt_tab +} + +########################################### +## turn functions below into functional ... +########################################### + +#' Number of observations +#' @param x Input variable +#' @param ... Additional arguments +#' @return number of observations +#' @examples +#' n_obs(c("a", "b", NA)) +#' +#' @export +n_obs <- function(x, ...) length(x) + +#' Number of missing values +#' @param x Input variable +#' @param ... Additional arguments +#' @return number of missing values +#' @examples +#' n_missing(c("a", "b", NA)) +#' +#' @export +n_missing <- function(x, ...) sum(is.na(x)) + +#' Calculate percentiles +#' @param x Numeric vector +#' @param na.rm If TRUE missing values are removed before calculation +#' @examples +#' p01(0:100) +#' +#' @rdname percentiles +#' @export +p01 <- function(x, na.rm = TRUE) quantile(x, .01, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p025 <- function(x, na.rm = TRUE) quantile(x, .025, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p05 <- function(x, na.rm = TRUE) quantile(x, .05, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p10 <- function(x, na.rm = TRUE) quantile(x, .1, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p25 <- function(x, na.rm = TRUE) quantile(x, .25, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p75 <- function(x, na.rm = TRUE) quantile(x, .75, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p90 <- function(x, na.rm = TRUE) quantile(x, .90, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p95 <- function(x, na.rm = TRUE) quantile(x, .95, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p975 <- function(x, na.rm = TRUE) quantile(x, .975, na.rm = na.rm) + +#' @rdname percentiles +#' @export +p99 <- function(x, na.rm = TRUE) quantile(x, .99, na.rm = na.rm) + +#' Coefficient of variation +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Coefficient of variation +#' @examples +#' cv(runif(100)) +#' +#' @export +cv <- function(x, na.rm = TRUE) { + m <- mean(x, na.rm = na.rm) + if (m == 0) { + message("Mean should be greater than 0") + NA + } else { + sd(x, na.rm = na.rm) / m + } +} + +#' Standard error +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Standard error +#' @examples +#' se(rnorm(100)) +#' +#' @export +se <- function(x, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + sd(x) / sqrt(length(x)) +} + +#' Margin of error +#' @param x Input variable +#' @param conf_lev Confidence level. The default is 0.95 +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Margin of error +#' +#' @importFrom stats qt +#' +#' @examples +#' me(rnorm(100)) +#' +#' @export +me <- function(x, conf_lev = 0.95, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + se(x) * qt(conf_lev / 2 + .5, length(x) - 1, lower.tail = TRUE) +} + +#' Calculate proportion +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Proportion of first level for a factor and of the maximum value for numeric +#' @examples +#' prop(c(rep(1L, 10), rep(0L, 10))) +#' prop(c(rep(4, 10), rep(2, 10))) +#' prop(rep(0, 10)) +#' prop(factor(c(rep("a", 20), rep("b", 10)))) +#' +#' @export +prop <- function(x, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + if (is.numeric(x)) { + mean(x == max(x, 1)) ## gives proportion of max value in x + } else if (is.factor(x)) { + mean(x == levels(x)[1]) ## gives proportion of first level in x + } else if (is.logical(x)) { + mean(x) + } else { + NA + } +} + +#' Variance for proportion +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Variance for proportion +#' @examples +#' varprop(c(rep(1L, 10), rep(0L, 10))) +#' +#' @export +varprop <- function(x, na.rm = TRUE) { + p <- prop(x, na.rm = na.rm) + p * (1 - p) +} + +#' Standard deviation for proportion +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Standard deviation for proportion +#' @examples +#' sdprop(c(rep(1L, 10), rep(0L, 10))) +#' +#' @export +sdprop <- function(x, na.rm = TRUE) sqrt(varprop(x, na.rm = na.rm)) + +#' Standard error for proportion +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Standard error for proportion +#' @examples +#' seprop(c(rep(1L, 10), rep(0L, 10))) +#' +#' @export +seprop <- function(x, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + sqrt(varprop(x, na.rm = FALSE) / length(x)) +} + +#' Margin of error for proportion +#' @param x Input variable +#' @param conf_lev Confidence level. The default is 0.95 +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Margin of error +#' +#' @importFrom stats qnorm +#' +#' @examples +#' meprop(c(rep(1L, 10), rep(0L, 10))) +#' +#' @export +meprop <- function(x, conf_lev = 0.95, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + seprop(x) * qnorm(conf_lev / 2 + .5, lower.tail = TRUE) +} + +#' Variance for the population +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Variance for the population +#' @examples +#' varpop(rnorm(100)) +#' +#' @export +varpop <- function(x, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + n <- length(x) + var(x) * ((n - 1) / n) +} + +#' Standard deviation for the population +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Standard deviation for the population +#' @examples +#' sdpop(rnorm(100)) +#' +#' @export +sdpop <- function(x, na.rm = TRUE) sqrt(varpop(x, na.rm = na.rm)) + +#' Natural log +#' @param x Input variable +#' @param na.rm Remove missing values (default is TRUE) +#' @return Natural log of vector +#' @examples +#' ln(runif(10, 1, 2)) +#' +#' @export +ln <- function(x, na.rm = TRUE) { + if (na.rm) log(na.omit(x)) else log(x) +} + +#' Does a vector have non-zero variability? +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return Logical. TRUE is there is variability +#' @examples +#' summarise_all(diamonds, does_vary) %>% as.logical() +#' +#' @export +does_vary <- function(x, na.rm = TRUE) { + ## based on http://stackoverflow.com/questions/4752275/test-for-equality-among-all-elements-of-a-single-vector + if (length(x) == 1L) { + FALSE + } else { + if (is.factor(x) || is.character(x)) { + length(unique(x)) > 1 + } else { + abs(max(x, na.rm = na.rm) - min(x, na.rm = na.rm)) > .Machine$double.eps^0.5 + } + } +} + +#' Convert categorical variables to factors and deal with empty/missing values +#' @param x Categorical variable used in table +#' @return Variable with updated levels +#' @export +empty_level <- function(x) { + if (!is.factor(x)) x <- as.factor(x) + levs <- levels(x) + if ("" %in% levs) { + levs[levs == ""] <- "NA" + x <- factor(x, levels = levs) + x[is.na(x)] <- "NA" + } else if (any(is.na(x))) { + x <- factor(x, levels = unique(c(levs, "NA"))) + x[is.na(x)] <- "NA" + } + x +} + +#' Calculate the mode (modal value) and return a label +#' +#' @details From https://www.tutorialspoint.com/r/r_mean_median_mode.htm +#' @param x A vector +#' @param na.rm If TRUE missing values are removed before calculation +#' +#' @examples +#' modal(c("a", "b", "b")) +#' modal(c(1:10, 5)) +#' modal(as.factor(c(letters, "b"))) +#' modal(runif(100) > 0.5) +#' +#' @export +modal <- function(x, na.rm = TRUE) { + if (na.rm) x <- na.omit(x) + unv <- unique(x) + unv[which.max(tabulate(match(x, unv)))] +} diff --git a/radiant.data/R/for.shinyapps.io.R b/radiant.data/R/for.shinyapps.io.R new file mode 100644 index 0000000..14ab46e --- /dev/null +++ b/radiant.data/R/for.shinyapps.io.R @@ -0,0 +1,29 @@ +# ## install the latest version from github so it will be used on shinyapps.io +# packages <- "radiant-rstats/radiant.data" +# packages <- c(packages, "trestletech/shinyAce", "thomasp85/shinyFiles") +# +# ## Use the code below to install the development version +# if (!require(remotes)) { +# install.packages("remotes") +# } +# ret <- sapply( +# packages, +# function(p) { +# remotes::install_github( +# p, +# dependencies = FALSE, +# upgrade = "never" +# ) +# } +# ) +# +# # install.packages("htmltools", repo = "https://cloud.r-project.org/") +# +# ## by listing the call to the radiant library it will get picked up as a dependency +# library(radiant) +# library(radiant.data) +# library(rstudioapi) +# library(shinyAce) +# library(shinyFiles) +# library(DT) +# library(htmltools) diff --git a/radiant.data/R/manage.R b/radiant.data/R/manage.R new file mode 100644 index 0000000..e7fdd79 --- /dev/null +++ b/radiant.data/R/manage.R @@ -0,0 +1,88 @@ +#' Load data through clipboard on Windows or macOS +#' +#' @details Extract data from the clipboard into a data.frame on Windows or macOS +#' @param delim Delimiter to use (tab is the default) +#' @param text Text input to convert to table +#' @param suppress Suppress warnings +#' @seealso See the \code{\link{save_clip}} +#' @export +load_clip <- function(delim = "\t", text, suppress = TRUE) { + sw <- if (suppress) suppressWarnings else function(x) x + sw( + try( + { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + dataset <- read.table( + "clipboard", + header = TRUE, sep = delim, + comment.char = "", fill = TRUE, as.is = TRUE, + check.names = FALSE + ) + } else if (os_type == "Darwin") { + dataset <- read.table( + pipe("pbpaste"), + header = TRUE, sep = delim, + comment.char = "", fill = TRUE, as.is = TRUE, + check.names = FALSE + ) + } else if (os_type == "Linux") { + if (missing(text) || is.empty(text)) { + message("Loading data through clipboard is currently only supported on Windows and macOS") + return(invisible()) + } else { + dataset <- read.table( + text = text, header = TRUE, sep = delim, + comment.char = "", fill = TRUE, as.is = TRUE, + check.names = FALSE + ) + } + } + as.data.frame(dataset, check.names = FALSE, stringsAsFactors = FALSE) %>% + radiant.data::to_fct() + }, + silent = TRUE + ) + ) +} + +#' Save data to clipboard on Windows or macOS +#' +#' @details Save a data.frame or tibble to the clipboard on Windows or macOS +#' @param dataset Dataset to save to clipboard +#' @seealso See the \code{\link{load_clip}} +#' @export +save_clip <- function(dataset) { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + write.table(dataset, "clipboard-10000", sep = "\t", row.names = FALSE) + } else if (os_type == "Darwin") { + write.table(dataset, file = pipe("pbcopy"), sep = "\t", row.names = FALSE) + } else if (os_type == "Linux") { + message("Saving data to clipboard is currently only supported on Windows and macOS.\nSave data to csv for use in a spreadsheet") + } + invisible() +} + +#' Ensure column names are valid +#' +#' @details Remove symbols, trailing and leading spaces, and convert to valid R column names. Opinionated version of \code{\link{make.names}} +#' @param x Data.frame or vector of (column) names +#' @param lower Set letters to lower case (TRUE or FALSE) +#' @examples +#' fix_names(c(" var-name ", "$amount spent", "100")) +#' @export +fix_names <- function(x, lower = FALSE) { + isdf <- is.data.frame(x) + cn <- if (isdf) colnames(x) else x + cn <- gsub("(^\\s+|\\s+$)", "", cn) %>% + gsub("\\s+", "_", .) %>% + gsub("[[:punct:]]", "_", .) %>% + gsub("^[[:punct:]]", "", .) %>% + make.names(unique = TRUE) %>% + gsub("\\.{2,}", ".", .) %>% + gsub("_{2,}", "_", .) %>% + make.names(unique = TRUE) %>% ## used twice to make sure names are still unique + (function(x) if (lower) tolower(x) else x) + if (isdf) stats::setNames(x, cn) else cn +} \ No newline at end of file diff --git a/radiant.data/R/pivotr.R b/radiant.data/R/pivotr.R new file mode 100644 index 0000000..9103605 --- /dev/null +++ b/radiant.data/R/pivotr.R @@ -0,0 +1,572 @@ +#' Create a pivot table +#' +#' @details Create a pivot-table. See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +#' +#' @param dataset Dataset to tabulate +#' @param cvars Categorical variables +#' @param nvar Numerical variable +#' @param fun Function to apply to numerical variable +#' @param normalize Normalize the table by row total, column totals, or overall total +#' @param tabfilt Expression used to filter the table (e.g., "Total > 10000") +#' @param tabsort Expression used to sort the table (e.g., "desc(Total)") +#' @param tabslice Expression used to filter table (e.g., "1:5") +#' @param nr Number of rows to display +#' @param data_filter Expression used to filter the dataset before creating the table (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @examples +#' pivotr(diamonds, cvars = "cut") %>% str() +#' pivotr(diamonds, cvars = "cut")$tab +#' pivotr(diamonds, cvars = c("cut", "clarity", "color"))$tab +#' pivotr(diamonds, cvars = "cut:clarity", nvar = "price")$tab +#' pivotr(diamonds, cvars = "cut", nvar = "price")$tab +#' pivotr(diamonds, cvars = "cut", normalize = "total")$tab +#' +#' @export +pivotr <- function(dataset, cvars = "", nvar = "None", fun = "mean", + normalize = "None", tabfilt = "", tabsort = "", tabslice = "", + nr = Inf, data_filter = "", arr = "", rows = NULL, envir = parent.frame()) { + vars <- if (nvar == "None") cvars else c(cvars, nvar) + fill <- if (nvar == "None") 0L else NA + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, na.rm = FALSE, envir = envir) + + ## in case : was used for cvars + cvars <- base::setdiff(colnames(dataset), nvar) + + if (nvar == "None") { + nvar <- "n_obs" + } else { + fixer <- function(x, fun = as_integer) { + if (is.character(x) || is.Date(x)) { + x <- rep(NA, length(x)) + } else if (is.factor(x)) { + x_num <- sshhr(as.integer(as.character(x))) + if (length(na.omit(x_num)) == 0) { + x <- fun(x) + } else { + x <- x_num + } + } + x + } + fixer_first <- function(x) { + x <- fixer(x, function(x) as_integer(x == levels(x)[1])) + } + if (fun %in% c("mean", "sum", "sd", "var", "sd", "se", "me", "cv", "prop", "varprop", "sdprop", "seprop", "meprop", "varpop", "sepop")) { + dataset[[nvar]] <- fixer_first(dataset[[nvar]]) + } else if (fun %in% c("median", "min", "max", "p01", "p025", "p05", "p10", "p25", "p50", "p75", "p90", "p95", "p975", "p99", "skew", "kurtosi")) { + dataset[[nvar]] <- fixer(dataset[[nvar]]) + } + rm(fixer, fixer_first) + if ("logical" %in% class(dataset[[nvar]])) { + dataset[[nvar]] %<>% as.integer() + } + } + + ## convert categorical variables to factors and deal with empty/missing values + dataset <- mutate_at(dataset, .vars = cvars, .funs = empty_level) + + sel <- function(x, nvar, cvar = c()) { + if (nvar == "n_obs") x else select_at(x, .vars = c(nvar, cvar)) + } + sfun <- function(x, nvar, cvars = "", fun = fun) { + if (nvar == "n_obs") { + if (is.empty(cvars)) { + count(x) %>% dplyr::rename("n_obs" = "n") + } else { + count(select_at(x, .vars = cvars)) %>% dplyr::rename("n_obs" = "n") + } + } else { + dataset <- mutate_at(x, .vars = nvar, .funs = as.numeric) %>% + summarise_at(.vars = nvar, .funs = fun, na.rm = TRUE) + colnames(dataset)[ncol(dataset)] <- nvar + dataset + } + } + + ## main tab + tab <- dataset %>% + group_by_at(.vars = cvars) %>% + sfun(nvar, cvars, fun) + + ## total + total <- dataset %>% + sel(nvar) %>% + sfun(nvar, fun = fun) + + ## row and column totals + if (length(cvars) == 1) { + tab <- + bind_rows( + mutate_at(ungroup(tab), .vars = cvars, .funs = as.character), + bind_cols( + data.frame("Total", stringsAsFactors = FALSE) %>% + setNames(cvars), total %>% + set_colnames(nvar) + ) + ) + } else { + col_total <- + group_by_at(dataset, .vars = cvars[1]) %>% + sel(nvar, cvars[1]) %>% + sfun(nvar, cvars[1], fun) %>% + ungroup() %>% + mutate_at(.vars = cvars[1], .funs = as.character) + + row_total <- + group_by_at(dataset, .vars = cvars[-1]) %>% + sfun(nvar, cvars[-1], fun) %>% + ungroup() %>% + select(ncol(.)) %>% + bind_rows(total) %>% + set_colnames("Total") + + ## creating cross tab + tab <- spread(tab, !!cvars[1], !!nvar, fill = fill) %>% + ungroup() %>% + mutate_at(.vars = cvars[-1], .funs = as.character) + + tab <- bind_rows( + tab, + bind_cols( + t(rep("Total", length(cvars[-1]))) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + setNames(cvars[-1]), + data.frame(t(col_total[[2]]), stringsAsFactors = FALSE) %>% + set_colnames(col_total[[1]]) + ) + ) %>% bind_cols(row_total) + + rm(col_total, row_total, vars) + } + + ## resetting factor levels + ind <- ifelse(length(cvars) > 1, -1, 1) + levs <- lapply(select_at(dataset, .vars = cvars[ind]), levels) + + for (i in cvars[ind]) { + tab[[i]] %<>% factor(levels = unique(c(levs[[i]], "Total"))) + } + + ## frequency table for chi-square test + tab_freq <- tab + + isNum <- if (length(cvars) == 1) -1 else -c(1:(length(cvars) - 1)) + if (normalize == "total") { + tab[, isNum] %<>% (function(x) x / total[[1]]) + } else if (normalize == "row") { + if (!is.null(tab[["Total"]])) { + tab[, isNum] %<>% (function(x) x / x[["Total"]]) + } + } else if (length(cvars) > 1 && normalize == "column") { + tab[, isNum] %<>% apply(2, function(.) . / .[which(tab[, 1] == "Total")]) + } + + nrow_tab <- nrow(tab) - 1 + + ## ensure we don't have invalid column names + ## but skip variable names already being used + cn <- colnames(tab) + cni <- cn %in% setdiff(cn, c(cvars, nvar)) + colnames(tab)[cni] <- fix_names(cn[cni]) + + ## filtering the table if desired + if (!is.empty(tabfilt)) { + tab <- tab[-nrow(tab), ] %>% + filter_data(tabfilt, drop = FALSE) %>% + bind_rows(tab[nrow(tab), ]) %>% + droplevels() + } + + ## sorting the table if desired + if (!is.empty(tabsort, "")) { + tabsort <- gsub(",", ";", tabsort) + tab[-nrow(tab), ] %<>% arrange(!!!rlang::parse_exprs(tabsort)) + + ## order factors as set in the sorted table + tc <- if (length(cvars) == 1) cvars else cvars[-1] ## don't change top cv + for (i in tc) { + tab[[i]] %<>% factor(., levels = unique(.)) + } + } + + ## slicing the table if desired + if (!is.empty(tabslice)) { + tab <- tab %>% + slice_data(tabslice) %>% + bind_rows(tab[nrow(tab), , drop = FALSE]) %>% + droplevels() + } + + tab <- as.data.frame(tab, stringsAsFactors = FALSE) + attr(tab, "radiant_nrow") <- nrow_tab + if (!isTRUE(is.infinite(nr))) { + ind <- if (nr >= nrow(tab)) 1:nrow(tab) else c(1:nr, nrow(tab)) + tab <- tab[ind, , drop = FALSE] + } + + rm(isNum, dataset, sfun, sel, i, levs, total, ind, nrow_tab, envir) + + as.list(environment()) %>% add_class("pivotr") +} + +#' Summary method for pivotr +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{pivotr}} +#' @param perc Display numbers as percentages (TRUE or FALSE) +#' @param dec Number of decimals to show +#' @param chi2 If TRUE calculate the chi-square statistic for the (pivot) table +#' @param shiny Did the function call originate inside a shiny app +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' pivotr(diamonds, cvars = "cut") %>% summary(chi2 = TRUE) +#' pivotr(diamonds, cvars = "cut", tabsort = "desc(n_obs)") %>% summary() +#' pivotr(diamonds, cvars = "cut", tabfilt = "n_obs > 700") %>% summary() +#' pivotr(diamonds, cvars = "cut:clarity", nvar = "price") %>% summary() +#' +#' @seealso \code{\link{pivotr}} to create the pivot-table using dplyr +#' +#' @export +summary.pivotr <- function(object, perc = FALSE, dec = 3, + chi2 = FALSE, shiny = FALSE, ...) { + if (!shiny) { + cat("Pivot table\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + if (!is.empty(object$tabfilt)) { + cat("Table filter:", object$tabfilt, "\n") + } + if (!is.empty(object$tabsort[1])) { + cat("Table sorted:", paste0(object$tabsort, collapse = ", "), "\n") + } + if (!is.empty(object$tabslice)) { + cat("Table slice :", object$tabslice, "\n") + } + nr <- attr(object$tab, "radiant_nrow") + if (!isTRUE(is.infinite(nr)) && !isTRUE(is.infinite(object$nr)) && object$nr < nr) { + cat(paste0("Rows shown : ", object$nr, " (out of ", nr, ")\n")) + } + cat("Categorical :", object$cvars, "\n") + if (object$normalize != "None") { + cat("Normalize by:", object$normalize, "\n") + } + if (object$nvar != "n_obs") { + cat("Numeric :", object$nvar, "\n") + cat("Function :", object$fun, "\n") + } + cat("\n") + print(format_df(object$tab, dec, perc, mark = ","), row.names = FALSE) + cat("\n") + } + + if (chi2) { + if (length(object$cvars) < 3) { + cst <- object$tab_freq %>% + filter(.[[1]] != "Total") %>% + select(-which(names(.) %in% c(object$cvars, "Total"))) %>% + mutate_all(~ ifelse(is.na(.), 0, .)) %>% + { + sshhr(chisq.test(., correct = FALSE)) + } + + res <- tidy(cst) + if (dec < 4 && res$p.value < .001) { + p.value <- "< .001" + } else { + p.value <- format_nr(res$p.value, dec = dec) + } + res <- round_df(res, dec) + + l1 <- paste0("Chi-squared: ", res$statistic, " df(", res$parameter, "), p.value ", p.value, "\n") + l2 <- paste0(sprintf("%.1f", 100 * (sum(cst$expected < 5) / length(cst$expected))), "% of cells have expected values below 5\n") + if (nrow(object$tab_freq) == nrow(object$tab)) { + if (shiny) HTML(paste0("

    ", l1, "
    ", l2)) else cat(paste0(l1, l2)) + } else { + note <- "\nNote: Test conducted on unfiltered table" + if (shiny) HTML(paste0("

    ", l1, "
    ", l2, "

    ", note)) else cat(paste0(l1, l2, note)) + } + } else { + cat("The number of categorical variables should be 1 or 2 for Chi-square") + } + } +} + +#' Make an interactive pivot table +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{pivotr}} +#' @param format Show Color bar ("color_bar"), Heat map ("heat"), or None ("none") +#' @param perc Display numbers as percentages (TRUE or FALSE) +#' @param dec Number of decimals to show +#' @param searchCols Column search and filter +#' @param order Column sorting +#' @param pageLength Page length +#' @param caption Table caption +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' \dontrun{ +#' pivotr(diamonds, cvars = "cut") %>% dtab() +#' pivotr(diamonds, cvars = c("cut", "clarity")) %>% dtab(format = "color_bar") +#' pivotr(diamonds, cvars = c("cut", "clarity"), normalize = "total") %>% +#' dtab(format = "color_bar", perc = TRUE) +#' } +#' +#' @seealso \code{\link{pivotr}} to create the pivot table +#' @seealso \code{\link{summary.pivotr}} to print the table +#' +#' @export +dtab.pivotr <- function(object, format = "none", perc = FALSE, dec = 3, + searchCols = NULL, order = NULL, pageLength = NULL, + caption = NULL, ...) { + style <- if (exists("bslib_current_version") && "4" %in% bslib_current_version()) "bootstrap4" else "bootstrap" + tab <- object$tab + cvar <- object$cvars[1] + cvars <- object$cvars %>% + (function(x) if (length(x) > 1) x[-1] else x) + cn <- colnames(tab) %>% + (function(x) x[-which(cvars %in% x)]) + + ## for rounding + isDbl <- sapply(tab, is_double) + isInt <- sapply(tab, is.integer) + dec <- ifelse(is.empty(dec) || dec < 0, 3, round(dec, 0)) + + ## column names without total + cn_nt <- if ("Total" %in% cn) cn[-which(cn == "Total")] else cn + + tot <- tail(tab, 1)[-(1:length(cvars))] %>% + format_df(perc = perc, dec = dec, mark = ",") + + if (length(cvars) == 1 && cvar == cvars) { + sketch <- shiny::withTags(table( + thead(tr(lapply(c(cvars, cn), th))), + tfoot(tr(lapply(c("Total", tot), th))) + )) + } else { + sketch <- shiny::withTags(table( + thead( + tr(th(colspan = length(c(cvars, cn)), cvar, class = "dt-center")), + tr(lapply(c(cvars, cn), th)) + ), + tfoot( + tr(th(colspan = length(cvars), "Total"), lapply(tot, th)) + ) + )) + } + + if (!is.empty(caption)) { + ## from https://github.com/rstudio/DT/issues/630#issuecomment-461191378 + caption <- shiny::tags$caption(style = "caption-side: bottom; text-align: left; font-size:100%;", caption) + } + + + ## remove row with column totals + ## should perhaps be part of pivotr but convenient for now in tfoot + ## and for external calls to pivotr + tab <- filter(tab, tab[[1]] != "Total") + ## for display options see https://datatables.net/reference/option/dom + dom <- if (nrow(tab) < 11) "t" else "ltip" + fbox <- if (nrow(tab) > 5e6) "none" else list(position = "top") + dt_tab <- DT::datatable( + tab, + container = sketch, + caption = caption, + selection = "none", + rownames = FALSE, + filter = fbox, + ## must use fillContainer = FALSE to address + ## see https://github.com/rstudio/DT/issues/367 + ## https://github.com/rstudio/DT/issues/379 + fillContainer = FALSE, + style = style, + options = list( + dom = dom, + stateSave = TRUE, ## store state + searchCols = searchCols, + order = order, + columnDefs = list(list(orderSequence = c("desc", "asc"), targets = "_all")), + autoWidth = TRUE, + processing = FALSE, + pageLength = { + if (is.null(pageLength)) 10 else pageLength + }, + lengthMenu = list(c(5, 10, 25, 50, -1), c("5", "10", "25", "50", "All")) + ), + ## https://github.com/rstudio/DT/issues/146#issuecomment-534319155 + callback = DT::JS('$(window).on("unload", function() { table.state.clear(); })') + ) %>% + DT::formatStyle(., cvars, color = "white", backgroundColor = "grey") %>% + (function(x) if ("Total" %in% cn) DT::formatStyle(x, "Total", fontWeight = "bold") else x) + + ## heat map with red or color_bar + if (format == "color_bar") { + dt_tab <- DT::formatStyle( + dt_tab, + cn_nt, + background = DT::styleColorBar(range(tab[, cn_nt], na.rm = TRUE), "lightblue"), + backgroundSize = "98% 88%", + backgroundRepeat = "no-repeat", + backgroundPosition = "center" + ) + } else if (format == "heat") { + ## round seems to ensure that 'cuts' are ordered according to DT::stylInterval + brks <- quantile(tab[, cn_nt], probs = seq(.05, .95, .05), na.rm = TRUE) %>% round(5) + clrs <- seq(255, 40, length.out = length(brks) + 1) %>% + round(0) %>% + (function(x) paste0("rgb(255,", x, ",", x, ")")) + + dt_tab <- DT::formatStyle(dt_tab, cn_nt, backgroundColor = DT::styleInterval(brks, clrs)) + } + + if (perc) { + ## show percentages + dt_tab <- DT::formatPercentage(dt_tab, cn, dec) + } else { + if (sum(isDbl) > 0) { + dt_tab <- DT::formatRound(dt_tab, names(isDbl)[isDbl], dec) + } + if (sum(isInt) > 0) { + dt_tab <- DT::formatRound(dt_tab, names(isInt)[isInt], 0) + } + } + + ## see https://github.com/yihui/knitr/issues/1198 + dt_tab$dependencies <- c( + list(rmarkdown::html_dependency_bootstrap("bootstrap")), + dt_tab$dependencies + ) + + dt_tab +} + +#' Plot method for the pivotr function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/pivotr} for an example in Radiant +#' +#' @param x Return value from \code{\link{pivotr}} +#' @param type Plot type to use ("fill" or "dodge" (default)) +#' @param perc Use percentage on the y-axis +#' @param flip Flip the axes in a plot (FALSE or TRUE) +#' @param fillcol Fill color for bar-plot when only one categorical variable has been selected (default is "blue") +#' @param opacity Opacity for plot elements (0 to 1) +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' pivotr(diamonds, cvars = "cut") %>% plot() +#' pivotr(diamonds, cvars = c("cut", "clarity")) %>% plot() +#' pivotr(diamonds, cvars = c("cut", "clarity", "color")) %>% plot() +#' +#' @seealso \code{\link{pivotr}} to generate summaries +#' @seealso \code{\link{summary.pivotr}} to show summaries +#' +#' @importFrom rlang .data +#' +#' @export +plot.pivotr <- function(x, type = "dodge", perc = FALSE, flip = FALSE, + fillcol = "blue", opacity = 0.5, ...) { + cvars <- x$cvars + nvar <- x$nvar + tab <- x$tab %>% + (function(x) filter(x, x[[1]] != "Total")) + + if (flip) { + # need reverse order here because of how coord_flip works + tab <- lapply(tab, function(x) if (inherits(x, "factor")) factor(x, levels = rev(levels(x))) else x) %>% + as_tibble() + } + + if (length(cvars) == 1) { + p <- ggplot(na.omit(tab), aes(x = .data[[cvars]], y = .data[[nvar]])) + + geom_bar(stat = "identity", position = "dodge", alpha = opacity, fill = fillcol) + } else if (length(cvars) == 2) { + ctot <- which(colnames(tab) == "Total") + if (length(ctot) > 0) tab %<>% select(base::setdiff(colnames(.), "Total")) + + dots <- paste0("factor(", cvars[1], ", levels = c('", paste0(base::setdiff(colnames(tab), cvars[2]), collapse = "','"), "'))") %>% + rlang::parse_exprs(.) %>% + set_names(cvars[1]) + + p <- tab %>% + gather(!!cvars[1], !!nvar, !!base::setdiff(colnames(.), cvars[2])) %>% + na.omit() %>% + mutate(!!!dots) %>% + ggplot(aes(x = .data[[cvars[1]]], y = .data[[nvar]], fill = .data[[cvars[2]]])) + + geom_bar(stat = "identity", position = type, alpha = opacity) + } else if (length(cvars) == 3) { + ctot <- which(colnames(tab) == "Total") + if (length(ctot) > 0) tab %<>% select(base::setdiff(colnames(.), "Total")) + + dots <- paste0("factor(", cvars[1], ", levels = c('", paste0(base::setdiff(colnames(tab), cvars[2:3]), collapse = "','"), "'))") %>% + rlang::parse_exprs(.) %>% + set_names(cvars[1]) + + p <- tab %>% + gather(!!cvars[1], !!nvar, !!base::setdiff(colnames(.), cvars[2:3])) %>% + na.omit() %>% + mutate(!!!dots) %>% + ggplot(aes(x = .data[[cvars[1]]], y = .data[[nvar]], fill = .data[[cvars[2]]])) + + geom_bar(stat = "identity", position = type, alpha = opacity) + + facet_grid(paste(cvars[3], "~ .")) + } else { + ## No plot returned if more than 3 grouping variables are selected + return(invisible()) + } + + if (flip) p <- p + coord_flip() + if (perc) p <- p + scale_y_continuous(labels = scales::percent) + + if (isTRUE(nvar == "n_obs")) { + if (!is.empty(x$normalize, "None")) { + p <- p + labs(y = ifelse(perc, "Percentage", "Proportion")) + } + } else { + p <- p + labs(y = paste0(nvar, " (", x$fun, ")")) + } + + sshhr(p) +} + + +#' Deprecated: Store method for the pivotr function +#' +#' @details Return the summarized data. See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param object Return value from \code{\link{pivotr}} +#' @param name Name to assign to the dataset +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{pivotr}} to generate summaries +#' +#' @export +store.pivotr <- function(dataset, object, name, ...) { + if (missing(name)) { + object$tab + } else { + stop( + paste0( + "This function is deprecated. Use the code below instead:\n\n", + name, " <- ", deparse(substitute(object)), "$tab\nregister(\"", + name, ")" + ), + call. = FALSE + ) + } +} diff --git a/radiant.data/R/radiant.R b/radiant.data/R/radiant.R new file mode 100644 index 0000000..f15d919 --- /dev/null +++ b/radiant.data/R/radiant.R @@ -0,0 +1,1617 @@ +#' Launch radiant apps +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for radiant documentation and tutorials +#' +#' @param package Radiant package to start. One of "radiant.data", "radiant.design", "radiant.basics", "radiant.model", "radiant.multivariate", or "radiant" +#' @param run Run a radiant app in an external browser ("browser"), an Rstudio window ("window"), or in the Rstudio viewer ("viewer") +#' @param state Path to statefile to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom shiny paneViewer +#' +#' @examples +#' \dontrun{ +#' launch() +#' launch(run = "viewer") +#' launch(run = "window") +#' launch(run = "browser") +#' } +#' +#' @export +launch <- function(package = "radiant.data", run = "viewer", state, ...) { + ## check if package attached + if (!paste0("package:", package) %in% search()) { + if (!suppressWarnings(suppressMessages(suppressPackageStartupMessages(require(package, character.only = TRUE))))) { + stop(sprintf("Calling %s start function but %s is not installed.", package, package)) + } + } + + ## from Yihui's DT::datatable function + oop <- base::options( + width = max(getOption("width", 250), 250), + scipen = max(getOption("scipen", 100), 100), + max.print = max(getOption("max.print", 5000), 5000), + stringsAsFactors = FALSE, + radiant.launch_dir = normalizePath(getwd(), winslash = "/"), + dctrl = if (getRversion() > "3.4.4") c("keepNA", "niceNames") else "keepNA" + ) + on.exit(base::options(oop), add = TRUE) + if (run == FALSE) { + message(sprintf("\nStarting %s at the url shown below ...\nClick on the link or copy-and-paste it into\nyour browser's url bar to start", package)) + options(radiant.launch = "browser") + } else if (run == "browser" || run == "external") { + message(sprintf("\nStarting %s in the default browser", package)) + options(radiant.launch = "browser") + run <- TRUE + } else if (rstudioapi::getVersion() < "1.1") { + stop(sprintf("Rstudio version 1.1 or later required. Use %s::%s() to open %s in your default browser or download the latest version of Rstudio from https://posit.co/products/open-source/rstudio/", package, package, package)) + } else if (run == "viewer") { + message(sprintf("\nStarting %s in the Rstudio viewer ...\n\nUse %s::%s() to open %s in the default browser or %s::%s_window() in Rstudio to open %s in an Rstudio window", package, package, package, package, package, package, package)) + options(radiant.launch = "viewer") + run <- shiny::paneViewer(minHeight = "maximize") + } else if (run == "window") { + message(sprintf("\nStarting %s in an Rstudio window ...\n\nUse %s::%s() to open %s in the default browser or %s::%s_viewer() in Rstudio to open %s in the Rstudio viewer", package, package, package, package, package, package, package)) + os_type <- Sys.info()["sysname"] + if (os_type != "Darwin" && rstudioapi::getVersion() < "1.2") { + message(sprintf("\nUsing Radiant in an Rstudio Window works best in a newer version of Rstudio (i.e., version > 1.2). See https://dailies.rstudio.com/ for the latest version. Alternatively, use %s::%s_viewer()", package, package)) + } + options(radiant.launch = "window") + run <- get(".rs.invokeShinyWindowViewer") + } else { + message(sprintf("\nStarting %s in the default browser", package)) + options(radiant.launch = "browser") + run <- TRUE + } + + cat("\nRadiant is opensource and free to use. If you are a student or instructor using Radiant for a class, as a favor to the developer, please send an email to with the name of the school and class. If you are using Radiant in your company, as a favor to the developer, please share the name of your company and what types of activites you are supporting with the tool.\n") + + ## load radiant state file if specified + if (!missing(state)) { + if (grepl("^www\\.|^http:|^https:", state)) { + load(url(state), envir = .GlobalEnv) + } else if (file.exists(state)) { + load(state, envir = .GlobalEnv) + } + } + + ## cannot (yet) suppress ERROR: [on_request_read] connection reset by peer in viewer + suppressPackageStartupMessages( + shiny::runApp(system.file("app", package = package), launch.browser = run, ...) + ) +} + +#' Launch the radiant.data app in the default web browser +#' +#' @description Launch the radiant.data app in the default web browser +#' @param state Path to statefile to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @examples +#' \dontrun{ +#' radiant.data() +#' radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda") +#' radiant.data("viewer") +#' } +#' @export +radiant.data <- function(state, ...) launch(package = "radiant.data", run = "browser", state, ...) + +#' Launch the radiant.data app in an Rstudio window +#' +#' @param state Path to statefile to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @examples +#' \dontrun{ +#' radiant.data_window() +#' } +#' @export +radiant.data_window <- function(state, ...) launch(package = "radiant.data", run = "window", state, ...) + +#' Launch the radiant.data app in the Rstudio viewer +#' +#' @param state Path to statefile to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @examples +#' \dontrun{ +#' radiant.data_viewer() +#' } +#' @export +radiant.data_viewer <- function(state, ...) launch(package = "radiant.data", run = "viewer", state, ...) + +#' Start radiant.data app but do not open a browser +#' +#' @param state Path to statefile to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @examples +#' \dontrun{ +#' radiant.data_url() +#' } +#' @export +radiant.data_url <- function(state, ...) launch(package = "radiant.data", run = FALSE, state, ...) + +#' Install webshot and phantomjs +#' @export +install_webshot <- function() { + if (isNamespaceLoaded("webshot")) unloadNamespace("webshot") + type <- ifelse(Sys.info()["sysname"] == "Linux", "source", "binary") + install.packages("webshot", repos = "https://cran.rstudio.com", type = type) + if (Sys.which("phantomjs") == "") eval(parse(text = "webshot::install_phantomjs()")) +} + +#' Alias used to add an attribute +#' +#' @param x Object +#' @param which Attribute name +#' @param value Value to set +# +#' @examples +#' foo <- data.frame(price = 1:5) %>% set_attr("description", "price set in experiment ...") +#' @export +set_attr <- function(x, which, value) `attr<-`(x, which, value) + +#' Convenience function to add a markdown description to a data.frame +#' +#' @param df A data.frame or tibble +#' @param md Data description in markdown format +#' @param path Path to a text file with the data description in markdown format +#' +#' @examples +#' if (interactive()) { +#' mt <- mtcars |> add_description(md = "# MTCARS\n\nThis data.frame contains information on ...") +#' describe(mt) +#' } +#' +#' @seealso See also \code{\link{register}} +#' +#' @export +add_description <- function(df, md = "", path = "") { + if (path != "") { + md <- readLines(path) %>% paste0(collapse = "\n") + } else if (md == "") { + md <- "No description available" + } + set_attr(df, "description", md) +} + +#' Copy attributes from one object to another +#' +#' @param to Object to copy attributes to +#' @param from Object to copy attributes from +#' @param attr Vector of attributes. If missing all attributes will be copied +# +#' @export +copy_attr <- function(to, from, attr) { + if (missing(attr)) { + attr <- attributes(from) + } + for (i in attr) { + to <- set_attr(to, i, attributes(from)[[i]]) + } + to +} + +#' Convenience function to add a class +#' +#' @param x Object +#' @param cl Vector of class labels to add +#' +#' @examples +#' foo <- "some text" %>% add_class("text") +#' foo <- "some text" %>% add_class(c("text", "another class")) +#' @export +add_class <- function(x, cl) `class<-`(x, c(cl, class(x))) + +#' Add stars based on p.values +#' @param pval Vector of p-values +#' @return A vector of stars +#' @examples +#' sig_stars(c(.0009, .049, .009, .4, .09)) +#' @export +sig_stars <- function(pval) { + sapply(pval, function(x) x < c(.001, .01, .05, .1)) %>% + colSums() %>% + add(1) %>% + c("", ".", "*", "**", "***")[.] +} + +#' Hide warnings and messages and return invisible +#' +#' @details Hide warnings and messages and return invisible +#' +#' @param ... Inputs to keep quite +#' +#' @examples +#' sshh(library(dplyr)) +#' @export +sshh <- function(...) { + suppressWarnings(suppressMessages(...)) + invisible() +} + +#' Hide warnings and messages and return result +#' +#' @details Hide warnings and messages and return result +#' +#' @param ... Inputs to keep quite +#' +#' @examples +#' sshhr(library(dplyr)) +#' @export +sshhr <- function(...) suppressWarnings(suppressMessages(...)) + +#' Find user directory +#' @details Returns /Users/x and not /Users/x/Documents +#' @export +find_home <- function() { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + normalizePath( + file.path(Sys.getenv("HOMEDRIVE"), Sys.getenv("HOMEPATH")), + winslash = "/" + ) + } else { + Sys.getenv("HOME") + } +} + +#' Select variables and filter data +#' +#' @details Function is used in radiant to select variables and filter data based on user input in string form +#' @param dataset Dataset or name of the data.frame +#' @param vars Variables to extract from the data.frame +#' @param filt Filter to apply to the specified dataset +#' @param arr Expression to use to arrange (sort) the specified dataset +#' @param rows Select rows in the specified dataset +#' @param data_view_rows Vector of rows to select. Only used by Data > View in Radiant. Users should use "rows" instead +#' @param na.rm Remove rows with missing values (default is TRUE) +#' @param rev Reverse filter and row selection (i.e., get the remainder) +#' @param envir Environment to extract data from +#' +#' @return Data.frame with specified columns and rows +#' +#' @examples +#' get_data(mtcars, vars = "cyl:vs", filt = "mpg > 25") +#' get_data(mtcars, vars = c("mpg", "cyl"), rows = 1:10) +#' get_data(mtcars, vars = c("mpg", "cyl"), arr = "desc(mpg)", rows = "1:5") +#' @export +get_data <- function(dataset, vars = "", filt = "", arr = "", rows = NULL, + data_view_rows = NULL, na.rm = TRUE, rev = FALSE, envir = c()) { + filter_cmd <- gsub("\\n", "", filt) %>% + gsub("\"", "\'", .) + + arrange_cmd <- gsub("\\n", "", arr) %>% + gsub("\"", "\'", .) + + slice_cmd <- rows + + dataset <- if (is.data.frame(dataset)) { + dataset + } else if (is.environment(envir) && !is.null(envir[[dataset]])) { + envir[[dataset]] + } else { + paste0("Dataset ", dataset, " is not available. Please load the dataset") %>% + stop(call. = FALSE) + } + + get_flipped_ind <- function() { + get_data(dataset, arr = arr) %>% + mutate(ind__ = seq_len(n())) %>% + get_data( + c("ind__", colnames(.)), + filt = ifelse(is.empty(filter_cmd), "", filter_cmd), + rows = ifelse(is.empty(slice_cmd), "", slice_cmd) + ) %>% + pull("ind__") + } + if (isTRUE(rev)) { + slice_cmd <- -(get_flipped_ind()) + filter_cmd <- "" + } + + dataset %>% + (function(x) if ("grouped_df" %in% class(x)) ungroup(x) else x) %>% ## ungroup data if needed + (function(x) if (is.empty(filter_cmd)) x else filter_data(x, filter_cmd)) %>% ## apply data_filter + (function(x) if (is.empty(arrange_cmd)) x else arrange_data(x, arrange_cmd)) %>% + (function(x) if (is.empty(slice_cmd)) x else slice_data(x, slice_cmd)) %>% + (function(x) if (is.empty(data_view_rows)) x else x[data_view_rows, , drop = FALSE]) %>% + (function(x) if (is.empty(vars[1])) x else select(x, !!!if (any(grepl(":", vars))) rlang::parse_exprs(paste0(vars, collapse = ";")) else vars)) %>% + (function(x) if (na.rm) droplevels(na.omit(x)) else x) +} + +#' Convert characters to factors +#' @details Convert columns of type character to factors based on a set of rules. By default columns will be converted for small datasets (<= 100 rows) with more rows than unique values. For larger datasets, columns are converted only when the number of unique values is <= 100 and there are 30 or more rows in the data for every unique value +#' @param dataset Data frame +#' @param safx Ratio of number of rows to number of unique values +#' @param nuniq Cutoff for number of unique values +#' @param n Cutoff for small dataset +#' @examples +#' tibble(a = c("a", "b"), b = c("a", "a"), c = 1:2) %>% to_fct() +#' @export +to_fct <- function(dataset, safx = 30, nuniq = 100, n = 100) { + isChar <- sapply(dataset, is.character) + if (sum(isChar) == 0) { + return(dataset) + } + nobs <- nrow(dataset) + fab <- function(x) { + nd <- length(unique(x)) + (nobs <= n && nd < nobs) || (nd <= nuniq && (nd / nobs < (1 / safx))) + } + toFct <- select(dataset, which(isChar)) %>% + summarise_all(fab) %>% + select(which(. == TRUE)) %>% + names() + if (length(toFct) == 0) { + dataset + } else { + mutate_at(dataset, .vars = toFct, .funs = as.factor) + } +} + +#' Choose files interactively +#' +#' @details Open a file dialog. Uses JavaScript on Mac, utils::choose.files on Windows, and file.choose() on Linux +#' +#' @param ... Strings used to indicate which file types should be available for selection (e.g., "csv" or "pdf") +#' +#' @return Vector of paths to files selected by the user +#' +#' @examples +#' \dontrun{ +#' choose_files("pdf", "csv") +#' } +#' +#' @export +choose_files <- function(...) { + argv <- unlist(list(...)) + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + if (length(argv) > 0) { + argv <- paste0(paste0("*.", argv), collapse = "; ") + argv <- matrix( + c("All files (*.*)", "*.*", argv, argv), + nrow = 2, ncol = 2, byrow = TRUE + ) + } else { + argv <- c("All files", "*.*") + } + utils::choose.files(filters = argv) + } else if (os_type == "Darwin") { + pth <- file.path(system.file(package = "radiant.data"), "app/www/scpt/choose.files.scpt") + if (length(argv) > 0) { + argv <- paste0("\"", paste0(unlist(argv), collapse = "\" \""), "\"") + } + fpath <- suppressWarnings( + system( + paste0("osascript -l JavaScript ", pth, " ", argv), + intern = TRUE + ) + ) + if (length(fpath) > 0) { + fpath <- strsplit(fpath, ", ")[[1]] + gsub("Path\\(\"(.*)\"\\)", "\\1", fpath) + } else { + character(0) + } + } else { + file.choose() + } +} + +#' Choose a directory interactively +#' +#' @details Open a file dialog to select a directory. Uses JavaScript on Mac, utils::choose.dir on Windows, and dirname(file.choose()) on Linux +#' +#' @param ... Arguments passed to utils::choose.dir on Windows +#' +#' @return Path to the directory selected by the user +#' +#' @examples +#' \dontrun{ +#' choose_dir() +#' } +#' +#' @export +choose_dir <- function(...) { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + utils::choose.dir(...) + } else if (os_type == "Darwin") { + pth <- file.path(system.file(package = "radiant.data"), "app/www/scpt/choose.dir.scpt") + dpath <- suppressWarnings( + system(paste0("osascript -l JavaScript ", pth), intern = TRUE) + ) + if (length(dpath) > 0) { + gsub("Path\\(\"(.*)\"\\)", "\\1", dpath) + } else { + character(0) + } + } else { + dirname(file.choose()) + } +} + +#' Get variable class +#' +#' @details Get variable class information for each column in a data.frame +#' +#' @param dat Dataset to evaluate +#' +#' @return Vector with class information for each variable +#' +#' @examples +#' get_class(mtcars) +#' @export +get_class <- function(dat) { + sapply(dat, function(x) class(x)[1]) %>% + sub("ordered", "factor", .) %>% + sub("POSIXct", "date", .) %>% + sub("POSIXlt", "date", .) %>% + sub("Date", "date", .) %>% + sub("Period", "period", .) +} + +#' Is a variable empty +#' +#' @details Is a variable empty +#' +#' @param x Character value to evaluate +#' @param empty Indicate what 'empty' means. Default is empty string (i.e., "") +#' +#' @return TRUE if empty, else FALSE +#' +#' @examples +#' is.empty("") +#' is.empty(NULL) +#' is.empty(NA) +#' is.empty(c()) +#' is.empty("none", empty = "none") +#' is.empty("") +#' is.empty(" ") +#' is.empty(" something ") +#' is.empty(c("", "something")) +#' is.empty(c(NA, 1:100)) +#' is.empty(mtcars) +#' @export +is.empty <- function(x, empty = "\\s*") { + # any should not be needed here but patchwork objects can have length == 1 + # and yet still return a vector of logicals + is_not(x) || (length(x) == 1 && any(grepl(paste0("^", empty, "$"), x))) +} + +#' Is input a string? +#' +#' @param x Input +#' +#' @return TRUE if string, else FALSE +#' +#' @examples +#' is_string(" ") +#' is_string("data") +#' is_string(c("data", "")) +#' is_string(NULL) +#' is_string(NA) +#' @export +is_string <- function(x) { + # any should not be needed here but patchwork objects can have length == 1 + # and yet still return a vector of logicals + length(x) == 1 && any(is.character(x)) && !is.empty(x) +} + +#' Is input a double (and not a date type)? +#' +#' @param x Input +#' +#' @return TRUE if double and not a type of date, else FALSE +#' +#' @importFrom lubridate is.Date is.POSIXt +#' +#' @export +is_double <- function(x) { + is.double(x) && !lubridate::is.Date(x) && !lubridate::is.POSIXt(x) +} + +#' Create a vector of interaction terms for linear and logistic regression +#' +#' @param vars Labels to use +#' @param nway 2-way (2) or 3-way (3) interaction labels to create +#' @param sep Separator to use between variable names (e.g., :) +#' +#' @return Character vector of interaction term labels +#' +#' @examples +#' paste0("var", 1:3) %>% iterms(2) +#' paste0("var", 1:3) %>% iterms(3) +#' paste0("var", 1:3) %>% iterms(2, sep = ".") +#' @export +iterms <- function(vars, nway = 2, sep = ":") { + sapply(2:min(as.integer(nway), length(vars)), function(x) apply(combn(vars, x), 2, paste, collapse = sep)) %>% + unlist() %>% + as.vector() +} + +#' Create a vector of quadratic and cubed terms for use in linear and logistic regression +#' +#' @param vars Variables labels to use +#' @param nway quadratic (2) or cubic (3) term labels to create +#' +#' @return Character vector of (regression) term labels +#' +#' @examples +#' qterms(c("a", "b"), 3) +#' qterms(c("a", "b"), 2) +#' @export +qterms <- function(vars, nway = 2) { + sapply(2:as.integer(nway), function(x) glue("I({vars}^{x})")) %>% + as.vector() +} + +#' Source for package functions +#' +#' @details Equivalent of source with local=TRUE for package functions. Written by smbache, author of the import package. See \url{https://github.com/rticulate/import/issues/4/} for a discussion. This function will be deprecated when (if) it is included in \url{https://github.com/rticulate/import/} +#' +#' @param .from The package to pull the function from +#' @param ... Functions to pull +#' +#' @examples +#' copy_from(radiant.data, get_data) +#' @export +copy_from <- function(.from, ...) { + ## copied from import:::symbol_list and import:::symbol_as_character by @smbache + dots <- eval(substitute(alist(...)), parent.frame(), parent.frame()) + names <- names(dots) + unnamed <- if (is.null(names)) { + 1:length(dots) + } else { + which(names == "") + } + dots <- vapply(dots, as.character, character(1)) + names(dots)[unnamed] <- dots[unnamed] + + symbols <- dots + parent <- parent.frame() + from <- as.character(substitute(.from)) + + for (s in seq_along(symbols)) { + fn <- get(symbols[s], envir = asNamespace(from), inherits = TRUE) + assign( + names(symbols)[s], + eval.parent(call("function", formals(fn), body(fn))), + parent + ) + } + + invisible(NULL) +} + +#' Source all package functions +#' +#' @details Equivalent of source with local=TRUE for all package functions. Adapted from functions by smbache, author of the import package. See \url{https://github.com/rticulate/import/issues/4/} for a discussion. This function will be deprecated when (if) it is included in \url{https://github.com/rticulate/import/} +#' +#' @param .from The package to pull the function from +#' +#' @examples +#' copy_all(radiant.data) +#' @export +copy_all <- function(.from) { + from <- as.character(substitute(.from)) + + ls(getNamespace(from), all.names = TRUE) %>% + .[grep("^\\.", ., invert = TRUE)] %>% + set_names(., .) -> symbols + + parent <- parent.frame() + + for (s in seq_along(symbols)) { + fn <- get(symbols[s], envir = asNamespace(from), inherits = TRUE) + assign( + names(symbols)[s], + eval.parent(call("function", formals(fn), body(fn))), + parent + ) + } + + invisible(NULL) +} + +#' Labels for confidence intervals +#' +#' @param alt Type of hypothesis ("two.sided","less","greater") +#' @param cl Confidence level +#' @param dec Number of decimals to show +#' +#' @return A character vector with labels for a confidence interval +#' +#' @examples +#' ci_label("less", .95) +#' ci_label("two.sided", .95) +#' ci_label("greater", .9) +#' @export +ci_label <- function(alt = "two.sided", cl = .95, dec = 3) { + if (alt == "less") { + c("0%", paste0(100 * cl, "%")) + } else if (alt == "greater") { + c(paste0(100 * (1 - cl), "%"), "100%") + } else {{ + 100 * (1 - cl) / 2 + } %>% + c(., 100 - .) %>% + round(dec) %>% + paste0(., "%") } +} + +#' Values at confidence levels +#' +#' @param dat Data +#' @param alt Type of hypothesis ("two.sided","less","greater") +#' @param cl Confidence level +#' +#' @return A vector with values at a confidence level +#' +#' @examples +#' ci_perc(0:100, "less", .95) +#' ci_perc(0:100, "greater", .95) +#' ci_perc(0:100, "two.sided", .80) +#' @export +ci_perc <- function(dat, alt = "two.sided", cl = .95) { + probs <- if (alt == "two.sided") { + ((1 - cl) / 2) %>% c(., 1 - .) + } else if (alt == "less") { + 1 - cl + } else { + cl + } + quantile(dat, probs = probs) +} + +#' Format a data.frame with a specified number of decimal places +#' +#' @param tbl Data.frame +#' @param dec Number of decimals to show +#' @param perc Display numbers as percentages (TRUE or FALSE) +#' @param mark Thousand separator +#' @param na.rm Remove missing values +#' @param ... Additional arguments for format_nr +#' +#' @return Data.frame for printing +#' +#' @examples +#' data.frame(x = c("a", "b"), y = c(1L, 2L), z = c(-0.0005, 3)) %>% +#' format_df(dec = 4) +#' data.frame(x = c(1L, 2L), y = c(0.06, 0.8)) %>% +#' format_df(dec = 2, perc = TRUE) +#' data.frame(x = c(1L, 2L, NA), y = c(NA, 1.008, 2.8)) %>% +#' format_df(dec = 2) +#' @export +format_df <- function(tbl, dec = NULL, perc = FALSE, mark = "", na.rm = FALSE, ...) { + frm <- function(x, ...) { + if (is_double(x)) { + format_nr(x, dec = dec, perc = perc, mark = mark, na.rm = na.rm, ...) + } else if (is.integer(x)) { + format_nr(x, dec = 0, mark = mark, na.rm = na.rm, ...) + } else { + x + } + } + mutate_all(tbl, .funs = frm) +} + +#' Format a number with a specified number of decimal places, thousand sep, and a symbol +#' +#' @param x Number or vector +#' @param sym Symbol to use +#' @param dec Number of decimals to show +#' @param perc Display number as a percentage +#' @param mark Thousand separator +#' @param na.rm Remove missing values +#' @param ... Additional arguments passed to \code{\link{formatC}} +#' +#' @return Character (vector) in the desired format +#' +#' @examples +#' format_nr(2000, "$") +#' format_nr(2000, dec = 4) +#' format_nr(.05, perc = TRUE) +#' format_nr(c(.1, .99), perc = TRUE) +#' format_nr(data.frame(a = c(.1, .99)), perc = TRUE) +#' format_nr(data.frame(a = 1:10), sym = "$", dec = 0) +#' format_nr(c(1, 1.9, 1.008, 1.00)) +#' format_nr(c(1, 1.9, 1.008, 1.00), drop0trailing = TRUE) +#' format_nr(NA) +#' format_nr(NULL) +#' @export +format_nr <- function(x, sym = "", dec = 2, perc = FALSE, + mark = ",", na.rm = TRUE, ...) { + if (is.data.frame(x)) x <- x[[1]] + if (na.rm && length(x) > 0) x <- na.omit(x) + if (perc) { + paste0(sym, formatC(100 * x, digits = dec, big.mark = mark, format = "f", ...), "%") + } else { + paste0(sym, formatC(x, digits = dec, big.mark = mark, format = "f", ...)) + } +} + +#' Round doubles in a data.frame to a specified number of decimal places +#' +#' @param tbl Data frame +#' @param dec Number of decimals to show +#' @return Data frame with rounded doubles +#' @examples +#' data.frame(x = as.factor(c("a", "b")), y = c(1L, 2L), z = c(-0.0005, 3.1)) %>% +#' round_df(dec = 2) +#' @export +round_df <- function(tbl, dec = 3) { + mutate_if(tbl, is_double, .funs = ~ round(., dec)) +} + +#' Find Dropbox folder +#' +#' @details Find the path for Dropbox if available +#' @param account Integer. If multiple accounts exist, specify which one to use. By default, the first account listed is used +#' @return Path to Dropbox account +#' @importFrom jsonlite fromJSON +#' @export +find_dropbox <- function(account = 1) { + if (length(account) > 1) { + stop("find_dropbox can only return the path for one account at a time") + } + + os_type <- Sys.info()["sysname"] + if (os_type == "Linux" && file.exists("~/Dropbox")) { + return(normalizePath("~/Dropbox", winslash = "/")) + } else if (os_type == "Windows") { + fp <- file.path(Sys.getenv("APPDATA"), "Dropbox/info.json") %>% gsub("\\\\", "/", .) + if (!file.exists(fp)) { + fp <- file.path(Sys.getenv("LOCALAPPDATA"), "Dropbox/info.json") %>% + gsub("\\\\", "/", .) + } + } else { + fp <- "~/.dropbox/info.json" + } + + if (file.exists(fp)) { + fp <- normalizePath(fp, winslash = "/") + dbinfo <- jsonlite::fromJSON(fp) + ldb <- length(dbinfo) + if (ldb > 1) { + message("Multiple dropbox folders found. By default the first folder is used.\nTo select, for example, the third dropbox folder use find_dropbox(3).\nAlternatively, specify the type of dropbox account, e.g., find_dropbox('personal')") + } + if (is.numeric(account) && account > ldb) { + stop(paste0("Invalid account number. Choose a number between 1 and ", ldb)) + } else if (is.character(account) && !account %in% names(dbinfo)) { + stop(paste0("Invalid account type. Choose ", paste0(names(dbinfo), collapse = " or "))) + } else { + dbp <- dbinfo[[account]]$path + if (file.exists(dbp)) { + normalizePath(dbp, winslash = "/") + } else if (file.exists("~/Dropbox")) { + normalizePath("~/Dropbox", winslash = "/") + } else if (file.exists("~/../Dropbox")) { + normalizePath("~/../Dropbox", winslash = "/") + } else { + stop("Failed to uncover the path to a Dropbox account") + } + } + } else if (file.exists("~/Dropbox")) { + normalizePath("~/Dropbox", winslash = "/") + } else if (file.exists("~/../Dropbox")) { + normalizePath("~/../Dropbox", winslash = "/") + } else { + stop("Failed to uncover the path to a Dropbox account") + } +} + +#' Find Google Drive folder +#' +#' @details Find the path for Google Drive if available +#' @return Path to Google Drive folder +#' @export +find_gdrive <- function() { + os_type <- Sys.info()["sysname"] + home <- radiant.data::find_home() + home_gdrive <- paste0(home, "/Google Drive") + if (dir.exists(home_gdrive)) { + return(normalizePath(home_gdrive, winslash = "/")) + } else if (dir.exists("/Volumes/GoogleDrive")) { + return("/Volumes/GoogleDrive") + } else if (os_type == "Windows") { + fp <- file.path(Sys.getenv("LOCALAPPDATA"), "Google/Drive/user_default/sync_config.db") %>% + gsub("\\\\", "/", .) + } else if (os_type == "Darwin") { + fp <- "~/Library/Application Support/Google/Drive/user_default/sync_config.db" + } else if (os_type == "Linux") { + ## http://www.techrepublic.com/article/how-to-mount-your-google-drive-on-linux-with-google-drive-ocamlfuse/ + ## Linux update suggested by Chris Armstrong (https://github.com/chrisarm) + if (file.exists(file.path("~/google_drive/.grive"))) { + return(normalizePath("~/google_drive")) + } else { + stop("Please install grive2 and use '~/google_drive' as your grive directory (http://www.techrepublic.com/article/how-to-sync-your-google-cloud-on-linux-with-grive2/)", call. = FALSE) + } + } else { + stop("find_gdrive not supported on this platform", call. = FALSE) + } + + if (file.exists(fp)) { + if (!requireNamespace("DBI", quietly = TRUE)) { + stop("DBI package is needed for this function to work. Please install it", call. = FALSE) + if (!requireNamespace("RSQLite", quietly = TRUE)) { + stop("RSQLite package is needed for this function to work. Please install it", call. = FALSE) + } + } + + fp <- normalizePath(fp, winslash = "/") + con <- DBI::dbConnect(RSQLite::SQLite(), fp) + ret <- DBI::dbGetQuery(con, 'select data_value from data where entry_key = "local_sync_root_path"') %>% + unlist() + DBI::dbDisconnect(con) + + if (length(ret) > 0) { + return(normalizePath(ret, winslash = "/")) + } + } else { + stop("Failed to uncover the path to a Google Drive folder") + } +} + +#' Find the Rstudio project folder +#' +#' @details Find the path for the Rstudio project folder if available. The returned path is normalized (see \code{\link{normalizePath}}) +#' @param mess Show or hide messages (default mess = TRUE) +#' @return Path to Rstudio project folder if available or else and empty string. The returned path is normalized +#' @importFrom rstudioapi isAvailable getActiveProject +#' @export +find_project <- function(mess = TRUE) { + if (rstudioapi::isAvailable()) { + pdir <- rstudioapi::getActiveProject() + if (is.null(pdir)) { + if (mess) { + message("Project directory cannot be found because application is not run from Rstudio project") + } + "" + } else { + normalizePath(pdir, winslash = "/") + } + } else { + "" + } +} + +#' Index of the maximum per row +#' @details Determine the index of the maximum of the input vectors per row. Extension of \code{which.max} +#' @param ... Numeric or character vectors of the same length +#' @return Vector of rankings +#' @seealso See also \code{\link{which.max}} and \code{\link{which.pmin}} +#' @examples +#' which.pmax(1:10, 10:1) +#' which.pmax(2, 10:1) +#' which.pmax(mtcars) +#' @export +which.pmax <- function(...) unname(apply(cbind(...), 1, which.max)) + +#' Index of the minimum per row +#' @details Determine the index of the minimum of the input vectors per row. Extension of \code{which.min} +#' @param ... Numeric or character vectors of the same length +#' @return Vector of rankings +#' @seealso See also \code{\link{which.min}} and \code{\link{which.pmax}} +#' @examples +#' which.pmin(1:10, 10:1) +#' which.pmin(2, 10:1) +#' which.pmin(mtcars) +#' @export +which.pmin <- function(...) unname(apply(cbind(...), 1, which.min)) + +#' Summarize a set of numeric vectors per row +#' @rdname pfun +#' @details Calculate summary statistics of the input vectors per row (or 'parallel') +#' @param ... Numeric vectors of the same length +#' @param fun Function to apply +#' @param na.rm a logical indicating whether missing values should be removed. +#' @return A vector of 'parallel' summaries of the argument vectors. +#' @seealso See also \code{\link{pmin}} and \code{\link{pmax}} +#' @examples +#' pfun(1:10, fun = mean) +#' @export +pfun <- function(..., fun, na.rm = TRUE) unname(apply(cbind(...), 1, fun, na.rm = na.rm)) + +#' @rdname pfun +#' @examples +#' psum(1:10, 10:1) +#' @export +psum <- function(..., na.rm = TRUE) pfun(..., fun = sum, na.rm = na.rm) + +#' @rdname pfun +#' @export +pmean <- function(..., na.rm = TRUE) pfun(..., fun = mean, na.rm = na.rm) + +#' @rdname pfun +#' @export +pmedian <- function(..., na.rm = TRUE) pfun(..., fun = median, na.rm = na.rm) + +#' @rdname pfun +#' @export +psd <- function(..., na.rm = TRUE) pfun(..., fun = sd, na.rm = na.rm) + +#' @rdname pfun +#' @export +pvar <- function(..., na.rm = TRUE) pfun(..., fun = var, na.rm = na.rm) + +#' @rdname pfun +#' @export +pcv <- function(..., na.rm = TRUE) pfun(..., fun = cv, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp01 <- function(..., na.rm = TRUE) pfun(..., fun = p01, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp025 <- function(..., na.rm = TRUE) pfun(..., fun = p025, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp05 <- function(..., na.rm = TRUE) pfun(..., fun = p05, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp10 <- function(..., na.rm = TRUE) pfun(..., fun = p10, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp25 <- function(..., na.rm = TRUE) pfun(..., fun = p25, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp75 <- function(..., na.rm = TRUE) pfun(..., fun = p75, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp95 <- function(..., na.rm = TRUE) pfun(..., fun = p95, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp975 <- function(..., na.rm = TRUE) pfun(..., fun = p975, na.rm = na.rm) + +#' @rdname pfun +#' @export +pp99 <- function(..., na.rm = TRUE) pfun(..., fun = p99, na.rm = na.rm) + +#' Method to store variables in a dataset in Radiant +#' +#' @param dataset Dataset +#' @param object Object of relevant class that has information to be stored +#' @param ... Additional arguments +#' +#' @export +store <- function(dataset, object = "deprecated", ...) { + UseMethod("store", object) +} + +#' Catch error messages when a user tries to store results +#' +#' @param dataset Dataset +#' @param object Object of type character +#' @param ... Additional arguments +#' +#' @noRd +#' @export +store.character <- function(dataset = NULL, object, ...) { + if ("pivotr" %in% class(dataset)) { + store.pivotr(dataset = NULL, object = dataset, ...) + } else if ("explore" %in% class(dataset)) { + store.explore(dataset = NULL, object = dataset, ...) + } else if ("crs" %in% class(dataset)) { + ## using get("...") to avoid 'undefined' global function warnings + get("store.crs")(dataset = NULL, object = dataset, ...) + } else if ("conjoint" %in% class(dataset)) { + ## using get("...") to avoid 'undefined' global function warnings + get("store.conjoint")(dataset = NULL, object = dataset, ...) + } else if ("model" %in% class(dataset)) { + paste0( + "This usage of the store function is now deprecated.\nUse the code below instead:\n\n", + dataset$df_name, " <- store(", dataset$df_name, ", ", deparse(substitute(dataset)), ", name = \"", list(...)[["name"]], "\")" + ) %>% store_character_popup() + } else if ("data.frame" %in% class(dataset)) { + if (grepl("\\s", object)) { + store_character_popup(object) + } else { + paste0("This usage of the store function is now deprecated.\nUse the code below instead:\n\n", object, " <- ...") %>% + store_character_popup() + } + } else { + if (missing(object)) { + object <- "Incorrect call to the 'store' function. The function should be\ncalled as follows:\n\ndata <- store(data, model, name = \"new_column_name\")" + } + paste0("Unable to store output. The returned message was:\n\n", object) %>% + store_character_popup() + } + + ## ensure the original data is not over-written if what is to be stores is a character object + dataset +} + +store_character_popup <- function(mess) { + if (is.null(shiny::getDefaultReactiveDomain())) { + stop(mess, call. = FALSE) + } else { + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = "Data not stored", + span(HTML(gsub("\n", "
    ", mess))), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + } +} + +#' Find index corrected for missing values and filters +#' +#' @param dataset Dataset +#' @param vars Variables to select +#' @param filt Data filter +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Selected rows +#' @param cmd A command used to customize the data +#' +#' @export +indexr <- function(dataset, vars = "", filt = "", arr = "", rows = NULL, cmd = "") { + if (is.empty(vars) || sum(vars %in% colnames(dataset)) != length(vars)) { + vars <- colnames(dataset) + } + nrows <- nrow(dataset) + + ## customizing data if a command was used + if (!is.empty(cmd)) { + pred_cmd <- gsub("\"", "\'", cmd) %>% + gsub("\\s+", "", .) + cmd_vars <- strsplit(pred_cmd, ";\\s*")[[1]] %>% + strsplit(., "=") %>% + sapply("[", 1) %>% + gsub("\\s+", "", .) + + dots <- rlang::parse_exprs(pred_cmd) %>% + set_names(cmd_vars) + + dataset <- try(dataset %>% mutate(!!!dots), silent = TRUE) + } + + ind <- mutate(dataset, imf___ = seq_len(nrows)) %>% + (function(x) if (is.empty(filt)) x else filter_data(x, filt)) %>% + (function(x) if (is.empty(arr)) x else arrange_data(x, arr)) %>% + (function(x) if (is.empty(rows)) x else slice_data(x, rows)) %>% + select_at(.vars = unique(c("imf___", vars))) %>% + na.omit() %>% + .[["imf___"]] + + list(nr = nrows, ind = ind) +} + +#' Convenience function for is.null or is.na +#' +#' @param x Input +#' +#' @examples +#' is_not(NA) +#' is_not(NULL) +#' is_not(c()) +#' is_not(list()) +#' is_not(data.frame()) +#' @export +is_not <- function(x) { + # any should not be needed here but patchwork objects can have length == 1 + # and yet still return a vector of logicals + length(x) == 0 || (length(x) == 1 && any(is.na(x))) +} + +#' Don't try to plot strings +#' +#' @param x A character returned from a function +#' @param ... Any additional arguments +#' +#' @noRd +#' @export +plot.character <- function(x, ...) { + return(invisible()) +} + +#' Base method used to render htmlwidgets +#' +#' @param object Object of relevant class to render +#' @param ... Additional arguments +#' +#' @export +render <- function(object, ...) UseMethod("render", object) + +#' Method to render DT tables +#' +#' @param object DT table +#' @param shiny Check if function is called from a shiny application +#' @param ... Additional arguments +#' +#' @importFrom shiny getDefaultReactiveDomain +#' +#' @export +render.datatables <- function(object, shiny = shiny::getDefaultReactiveDomain(), ...) { + ## hack for rmarkdown from Report > Rmd and Report > R + if (!is.null(shiny) && !getOption("radiant.rmarkdown", FALSE)) { + DT::renderDataTable(object) + } else { + object + } +} + +#' Work around to avoid (harmless) messages from ggplotly +#' +#' @param ... Arguments to pass to the \code{\link[plotly]{ggplotly}} function in the plotly package +#' +#' @seealso See the \code{\link[plotly]{ggplotly}} function in the plotly package for details (?plotly::ggplotly) +#' +#' @importFrom plotly ggplotly +#' +#' @export +ggplotly <- function(...) { + args <- list(...) + ## awaiting resolution of https://github.com/ropensci/plotly/issues/1171 + # if (!"width" %in% names(args)) { + # args$width <- knitr::opts_current$get('fig.width') * 96 + # } + # if (!"height" %in% names(args)) { + # args$height <- knitr::opts_current$get('fig.height') * 96 + # } + suppressMessages(do.call(plotly::ggplotly, args)) +} + +#' Work around to avoid (harmless) messages from subplot +#' +#' @param ... Arguments to pass to the \code{\link[plotly]{subplot}} function in the plotly packages +#' @param margin Default margin to use between plots +#' @seealso See the \code{\link[plotly]{subplot}} in the plotly package for details (?plotly::subplot) +#' +#' @importFrom plotly subplot +#' +#' @export +subplot <- function(..., margin = 0.04) { + ## awaiting resolution of https://github.com/ropensci/plotly/issues/1171 + suppressMessages(plotly::subplot(..., margin = margin)) +} + +#' Method to render plotly plots +#' +#' @param object plotly object +#' @param shiny Check if function is called from a shiny application +#' @param ... Additional arguments +#' +#' @importFrom shiny getDefaultReactiveDomain +#' @importFrom plotly renderPlotly +#' +#' @export +render.plotly <- function(object, shiny = shiny::getDefaultReactiveDomain(), ...) { + ## hack for rmarkdown from Report > Rmd and Report > R + if (!is.null(shiny) && !getOption("radiant.rmarkdown", FALSE)) { + ## avoid the ID-not-used-by-Shiny message + object$elementId <- NULL + + ## see https://github.com/ropensci/plotly/issues/1171 + # if (is.null(object$height)) { + # message("\n\nThe height of (gg)plotly objects may not be correct in Preview. Height will be correctly set in saved reports however.\n\n") + # } + + plotly::renderPlotly(object) + } else { + object + } +} + +#' Method to render rmarkdown documents +#' +#' @param object File path to an R-markdown file +#' @param ... Additional arguments passed on to rmarkdown::render +#' +#' @noRd +#' @export +render.character <- function(object, ...) { + if (length(object) > 1) { + stop("Expecting file path to an R-markdown file") + } else if (file.exists(object)) { + rmarkdown::render(object, ...) + } else { + stop("R-markdown file not found") + } +} + +#' Method to avoid re-rendering a shiny.render.function +#' +#' @param object Shiny render function +#' @param ... Additional arguments +#' +#' @noRd +#' @export +render.shiny.render.function <- function(object, ...) object + +#' Show dataset description +#' +#' @details Show dataset description, if available, in html form in Rstudio viewer or the default browser. The description should be in markdown format, attached to a data.frame as an attribute with the name "description" +#' +#' @param dataset Dataset with "description" attribute +#' @param envir Environment to extract data from +#' +#' @importFrom utils browseURL str +#' @importFrom knitr knit2html +#' +#' @export +describe <- function(dataset, envir = parent.frame()) { + dataset <- if (is.character(dataset)) { + message(paste0("Using describe(\"", dataset, "\") is deprecated.\nUse describe(", dataset, ") instead")) + get_data(dataset, envir = envir) + } else { + dataset + } + + description <- attr(dataset, "description") + if (is.empty(description)) { + return(str(dataset)) + } + + tf <- file.path(tempdir(), "index.html") + ## generate html and open in the Rstudio viewer or in the default browser + cat(knitr::knit2html(text = description), file = tf, output = FALSE) + ## based on https://support.posit.co/hc/en-us/articles/202133558-Extending-RStudio-with-the-Viewer-Pane + viewer <- getOption("viewer", default = browseURL) + viewer(tf) +} + +#' Workaround to store description file together with a parquet data file +#' +#' @param x A data frame to write to disk +#' @param file Path to store parquet file +#' @param description Data description +#' +#' @export +write_parquet <- function(x, file, description = attr(x, "description")) { + if (requireNamespace("arrow", quietly = TRUE)) { + arrow::write_parquet(x, file) + if (!is.empty(description)) { + cat(description, file = sub(".parquet", "_description.md", file)) + } + } else { + stop("The arrow package is required to work with data in parquet format is not installed. Please use install.packages('arrow')") + } +} + +#' Replace smart quotes etc. +#' +#' @param text Text to be parsed +#' @param all Should all non-ascii characters be removed? Default is FALSE +#' +#' @importFrom stringi stri_trans_general +#' +#' @export +fix_smart <- function(text, all = FALSE) { + if (all) { + ## to remove all non-ascii symbols use ... + text <- stringi::stri_trans_general(text, "latin-ascii") + } else { + ## based on https://stackoverflow.com/a/1262210/1974918 + ## based on https://stackoverflow.com/a/54467895/1974918 + text <- gsub("\u2022", "*", text) %>% + gsub("\u2026", "...", .) %>% + gsub("\u2013", "-", .) %>% + gsub("\u2019", "'", .) %>% + gsub("\u2018", "'", .) %>% + gsub("\u201D", '"', .) %>% + gsub("\u201C", '"', .) + } + gsub("\r\n", "\n", text) %>% + gsub("\r", "\n", .) %>% + gsub("\f", "\n", .) +} + +#' Register a data.frame or list in Radiant +#' +#' @param new String containing the name of the data.frame to register +#' @param org Name of the original data.frame if a (working) copy is being made +#' @param descr Data description in markdown format +#' @param shiny Check if function is called from a shiny application +#' @param envir Environment to assign data to +#' +#' @importFrom shiny makeReactiveBinding getDefaultReactiveDomain +#' +#' @seealso See also \code{\link{add_description}} to add a description in markdown format +#' to a data.frame +#' +#' @export +register <- function(new, org = "", descr = "", shiny = shiny::getDefaultReactiveDomain(), envir = r_data) { + if (!is.null(shiny)) { + if (is.environment(envir)) { + if (length(new) > 1) { + message("Only one object can be registered at a time") + return(invisible()) + } else if (!is_string(new) || is.null(envir[[new]])) { + message("No dataset with that name (", new, ") has been loaded in Radiant") + return(invisible()) + } + } else { + message("Unable to assign data (", new, ") to ", envir, "as this does not seem to be an environment") + return(invisible()) + } + + if (is.data.frame(envir[[new]])) { + ## use data description from the original data.frame if available + if (!is.empty(descr)) { + r_info[[paste0(new, "_descr")]] <- descr + } else if (is.empty(r_info[[paste0(new, "_descr")]]) && !is.empty(org)) { + r_info[[paste0(new, "_descr")]] <- r_info[[paste0(org, "_descr")]] + } else { + r_info[[paste0(new, "_descr")]] <- attr(envir[[new]], "description") + } + + ## add description to the data.frame + attr(envir[[new]], "description") <- r_info[[paste0(new, "_descr")]] + + r_info[["datasetlist"]] <- c(new, r_info[["datasetlist"]]) %>% unique() + if (exists(new, envir = envir) && !bindingIsActive(as.symbol(new), env = envir)) { + shiny::makeReactiveBinding(new, env = envir) + } + } else if (is.list(envir[[new]])) { + r_info[["dtree_list"]] <- c(new, r_info[["dtree_list"]]) %>% unique() + } else { + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = "Data not registered", + span("Only data.frames can be registered"), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + } + } + invisible() +} + +#' Deregister a data.frame or list in Radiant +#' +#' @param dataset String containing the name of the data.frame to deregister +#' @param shiny Check if function is called from a shiny application +#' @param envir Environment to remove data from +#' @param info Reactive list with information about available data in radiant +#' +#' @importFrom shiny getDefaultReactiveDomain +#' +#' @export +deregister <- function(dataset, shiny = shiny::getDefaultReactiveDomain(), envir = r_data, info = r_info) { + if (is.null(shiny)) { + message("The deregister function should only be used in the radiant web application") + } else { + datasets <- info[["datasetlist"]] + if (!dataset %in% datasets) { + message("No dataset with that name (", dataset, ") has been loaded in Radiant") + } else { + info[[paste0(dataset, "_descr")]] <- NULL + info[[paste0(dataset, "_lcmd")]] <- NULL + info[[paste0(dataset, "_scmd")]] <- NULL + info[["datasetlist"]] <- setdiff(datasets, dataset) + rm(list = dataset, envir = envir) + } + } +} + +#' Parse file path into useful components +#' @details Parse file path into useful components (i.e., file name, file extension, relative path, etc.) +#' @param path Path to be parsed +#' @param chr Character to wrap around path for display +#' @param pdir Project directory if available +#' @param mess Print messages if Dropbox or Google Drive not found +#' @importFrom tools file_ext +#' @examples +#' list.files(".", full.names = TRUE)[1] %>% parse_path() +#' @export +parse_path <- function(path, chr = "", pdir = getwd(), mess = TRUE) { + if (inherits(path, "try-error") || is.empty(path)) { + return( + list(path = "", rpath = "", base = "", base_name = "", ext = "", content = "") + ) + } + + if (is.empty(pdir)) { + pdir <- try(rstudioapi::getActiveProject(), silent = TRUE) + if (inherits(pdir, "try-error") || is.empty(pdir)) { + pdir <- radiant.data::find_home() + } + } + + path <- normalizePath(path[1], winslash = "/", mustWork = FALSE) + filename <- basename(path) + fext <- tools::file_ext(filename) + + ## objname is used as the name of the data.frame without any spaces, dashes, etc. + objname <- sub(glue(".{fext}$"), "", filename, ignore.case = TRUE) %>% fix_names() + + fext <- tolower(fext) + + if (!is.empty(pdir) && grepl(glue("^{pdir}"), path)) { + rpath <- sub(glue("^{pdir}"), "", path) %>% sub("^/", "", .) + rpath <- glue("{chr}{rpath}{chr}") + } else { + dbdir <- getOption("radiant.dropbox_dir", "") + if (is.empty(dbdir)) { + dbdir <- try(radiant.data::find_dropbox(), silent = TRUE) + if (inherits(dbdir, "try-error") && mess) { + message("Not able to determine the location of a local the Dropbox folder") + dbdir <- "" + } + } + + if (!is.empty(dbdir) && grepl(glue("^{dbdir}"), path)) { + rpath <- sub(glue("^{dbdir}"), "", path) %>% sub("^/", "", .) + rpath <- glue('file.path(radiant.data::find_dropbox(), "{rpath}")') + } else { + gddir <- getOption("radiant.gdrive_dir", "") + if (is.empty(gddir)) { + gddir <- try(radiant.data::find_gdrive(), silent = TRUE) + if (inherits(gddir, "try-error") && mess) { + message("Not able to determine the location of a local Google Drive folder") + gddir <- "" + } + } + if (!is.empty(gddir) && grepl(glue("^{gddir}"), path)) { + rpath <- sub(glue("^{gddir}"), "", path) %>% sub("^/", "", .) + rpath <- glue('file.path(radiant.data::find_gdrive(), "{rpath}")') + } else { + rpath <- glue("{chr}{path}{chr}") + } + } + } + + list(path = path, rpath = rpath, filename = filename, fext = fext, objname = objname) +} + +#' Generate code to read a file +#' @details Return code to read a file at the specified path. Will open a file browser if no path is provided +#' @param path Path to file. If empty, a file browser will be opened +#' @param pdir Project dir +#' @param type Generate code for _Report > Rmd_ ("rmd") or _Report > R_ ("r") +#' @param to Name to use for object. If empty, will use file name to derive an object name +#' @param clipboard Return code to clipboard (not available on Linux) +#' @param radiant Should returned code be formatted for use with other code generated by Radiant? +#' @examples +#' if (interactive()) { +#' read_files(clipboard = FALSE) +#' } +#' @importFrom rstudioapi selectFile isAvailable +#' @export +read_files <- function(path, pdir = "", type = "rmd", to = "", clipboard = TRUE, radiant = FALSE) { + ## if no path is provided, an interactive file browser will be opened + if (missing(path) || is.empty(path)) { + if (rstudioapi::isAvailable()) { + pdir <- getOption("radiant.project_dir", default = rstudioapi::getActiveProject()) + path <- rstudioapi::selectFile( + caption = "Generate code to read file", + filter = "All files (*)", + path = pdir + ) + } else { + path <- try(choose_files(), silent = TRUE) + pdir <- getwd() + } + if (inherits(path, "try-error") || is.empty(path)) { + return("") + } else { + pp <- parse_path(path, pdir = pdir, chr = "\"", mess = FALSE) + } + } else { + if (is.empty(pdir)) { + pp <- parse_path(path, chr = "\"", mess = FALSE) + } else { + pp <- parse_path(path, pdir = pdir, chr = "\"", mess = FALSE) + } + } + + if (to == "") { + to <- gsub("\\s+", "_", pp$objname) %>% radiant.data::fix_names() + } + if (pp$fext %in% c("rda", "rdata")) { + cmd <- glue('## loaded object assigned to {to[1]}\n{to[1]} <- load({pp$rpath}) %>% get()\nregister("{to[1]}")') + } else if (pp$fext == "rds") { + cmd <- glue('{to} <- readr::read_rds({pp$rpath})\nregister("{pp$objname}")') + } else if (pp$fext == "csv") { + cmd <- glue(' + {to} <- readr::read_csv({pp$rpath}) %>% + fix_names() %>% + to_fct() + register("{pp$objname}")') + } else if (pp$fext == "tsv") { + cmd <- glue(' + {to} <- readr::read_tsv({pp$rpath}) %>% + fix_names() %>% + to_fct() + register("{pp$objname}")') + } else if (pp$fext %in% c("xls", "xlsx")) { + cmd <- glue(' + {to} <- readxl::read_excel({pp$rpath}, sheet = 1) %>% + fix_names() %>% + to_fct() + register("{pp$objname}")') + } else if (pp$fext == "feather") { + ## waiting for https://github.com/wesm/feather/pull/326 + # cmd <- paste0(to, " <- feather::read_feather(", pp$rpath, ", columns = c())\nregister(\"", pp$objname, "\", desc = feather::feather_metadata(\"", pp$rpath, "\")$description)") + cmd <- glue('{to} <- feather::read_feather({pp$rpath}, columns = c())\nregister("{pp$objname}")') + } else if (pp$fext %in% c("dta", "save", "sas7bdat")) { + cmd <- glue('{to} <- rio::import({pp$rpath})\nregister("{pp$objname}")') + } else if (pp$fext == "yaml") { + cmd <- glue('{to} <- yaml::yaml.load_file({pp$rpath})\nregister("{pp$objname}")') + } else if (grepl("sqlite", pp$fext)) { + obj <- glue("{pp$objname}_tab1") + cmd <- "## see https://solutions.posit.co/connections/db/r-packages/dplyr/\n" %>% + glue('library(DBI)\ncon <- dbConnect(RSQLite::SQLite(), dbname = {pp$rpath})\n(tables <- dbListTables(con))\n{obj} <- dplyr::tbl(con, from = tables[1]) %>% collect()\ndbDisconnect(con)\nregister("{obj}")') + } else if (pp$fext == "sql") { + if (type == "rmd") { + cmd <- "/* see https://bookdown.org/yihui/rmarkdown/language-engines.html */\n" %>% + paste0(paste0(readLines(pp$path), collapse = "\n")) + cmd <- glue("\n\n```{sql, connection = con, max.print = 20}\n<>\n```\n\n", .open = "<<", .close = ">>") + type <- "" + } else { + cmd <- glue("{to} <- readLines({pp$rpath})") + } + } else if (pp$fext %in% c("py", "css", "js")) { + if (type == "rmd") { + cmd <- "## see https://bookdown.org/yihui/rmarkdown/language-engines.html\n" %>% + paste0(paste0(readLines(pp$path), collapse = "\n")) + cmd <- glue('\n\n```{<>}\n<>\n```\n\n', .open = "<<", .close = ">>") + type <- "" + } else { + cmd <- glue("{to} <- readLines({pp$rpath})") + } + } else if (pp$fext %in% c("md", "rmd")) { + if (type == "rmd") { + cmd <- glue("\n```{r child = <>}\n```\n", .open = "<<", .close = ">>") + type <- "" + } else { + cmd <- glue("{to} <- readLines({pp$rpath})") + } + } else if (pp$fext == "txt") { + cmd <- glue("{to} <- readLines({pp$rpath})") + } else if (pp$fext %in% c("jpg", "jpeg", "png", "pdf")) { + if (type == "rmd") { + cmd <- glue("\n\n![](`r {pp$rpath}`)\n\n") + if (!grepl("file.path", cmd)) cmd <- sub("`r \"", "", cmd) %>% sub("\"`", "", .) + type <- "" + } else { + cmd <- "## see https://cran.r-project.org/web/packages/magick/vignettes/intro.html\n" %>% + glue("{to} <- magick::image_read({pp$rpath})") + } + } else if (pp$fext %in% c("r", "R")) { + cmd <- glue("source({pp$rpath}, local = TRUE, echo = TRUE)") + } else { + cmd <- pp$rpath + } + + if (type == "rmd") { + cmd <- paste0("\n```{r}\n", cmd, "\n```\n") + } else if (type == "r") { + cmd <- paste0("\n", cmd, "\n") + } + + if (radiant) { + cmd + } else { + ## if not in Radiant remove register calls + cmd <- gsub("\nregister\\(.*?\\)", "", cmd) + if (clipboard) { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + cat(cmd, file = "clipboard") + } else if (os_type == "Darwin") { + pipe("pbcopy") %T>% cat(cmd, file = .) %>% close() + } + } else { + cat(cmd) + } + return(invisible(cmd)) + } +} diff --git a/radiant.data/R/transform.R b/radiant.data/R/transform.R new file mode 100644 index 0000000..4a84ee4 --- /dev/null +++ b/radiant.data/R/transform.R @@ -0,0 +1,764 @@ +#' Center +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return If x is a numeric variable return x - mean(x) +#' @export +center <- function(x, na.rm = TRUE) { + if (is.numeric(x)) { + x - mean(x, na.rm = na.rm) + } else { + x + } +} + +#' Standardize +#' @param x Input variable +#' @param na.rm If TRUE missing values are removed before calculation +#' @return If x is a numeric variable return (x - mean(x)) / sd(x) +#' @export +standardize <- function(x, na.rm = TRUE) { + if (is.numeric(x)) { + x_sd <- sd(x, na.rm = na.rm) + x <- x - mean(x, na.rm = na.rm) + if (isTRUE(x_sd > 0)) { + x / x_sd + } else { + x + } + } else { + x + } +} + +#' Calculate square of a variable +#' @param x Input variable +#' @return x^2 +#' @export +square <- function(x) x^2 + +#' Calculate inverse of a variable +#' @param x Input variable +#' @return 1/x +#' @export +inverse <- function(x) { + if (is.numeric(x)) 1 / x else x +} + +#' Normalize a variable x by a variable y +#' @param x Input variable +#' @param y Normalizing variable +#' @return x/y +#' @export +normalize <- function(x, y) { + if (is.numeric(x) && is.numeric(y)) x / y else x +} + +#' Convert input in month-day-year format to date +#' @details Use as.character if x is a factor +#' @param x Input variable +#' @return Date variable of class Date +#' @examples +#' as_mdy("2-1-2014") +#' \dontrun{ +#' as_mdy("2-1-2014") %>% month(label = TRUE) +#' as_mdy("2-1-2014") %>% week() +#' as_mdy("2-1-2014") %>% wday(label = TRUE) +#' } +#' @export +as_mdy <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(mdy(x)) %>% as.Date() +} + +#' Convert input in day-month-year format to date +#' @param x Input variable +#' @return Date variable of class Date +#' @examples +#' as_dmy("1-2-2014") +#' +#' @export +as_dmy <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(dmy(x)) %>% as.Date() +} + +#' Convert input in year-month-day format to date +#' @param x Input variable +#' @return Date variable of class Date +#' @examples +#' as_ymd("2013-1-1") +#' +#' @export +as_ymd <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(ymd(x)) %>% as.Date() +} + +# http://www.noamross.net/blog/2014/2/10/using-times-and-dates-in-r---presentation-code.html +#' Convert input in year-month-day-hour-minute-second format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_ymd_hms("2014-1-1 12:15:01") +#' \dontrun{ +#' as_ymd_hms("2014-1-1 12:15:01") %>% as.Date() +#' as_ymd_hms("2014-1-1 12:15:01") %>% month() +#' as_ymd_hms("2014-1-1 12:15:01") %>% hour() +#' } +#' @export +as_ymd_hms <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(ymd_hms(x)) +} + +#' Convert input in year-month-day-hour-minute format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_ymd_hm("2014-1-1 12:15") +#' @export +as_ymd_hm <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(parse_date_time(x, "%Y%m%d %H%M")) +} + +#' Convert input in month-day-year-hour-minute-second format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_mdy_hms("1-1-2014 12:15:01") +#' @export +as_mdy_hms <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(parse_date_time(x, "%m%d%Y %H%M%S")) +} + +#' Convert input in month-day-year-hour-minute format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_mdy_hm("1-1-2014 12:15") +#' @export +as_mdy_hm <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(parse_date_time(x, "%m%d%Y %H%M")) +} + +#' Convert input in day-month-year-hour-minute-second format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_mdy_hms("1-1-2014 12:15:01") +#' @export +as_dmy_hms <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(parse_date_time(x, "%d%m%Y %H%M%S")) +} + +#' Convert input in day-month-year-hour-minute format to date-time +#' @param x Input variable +#' @return Date-time variable of class Date +#' @examples +#' as_mdy_hm("1-1-2014 12:15") +#' @export +as_dmy_hm <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(parse_date_time(x, "%d%m%Y %H%M")) +} + +#' Convert input in hour-minute-second format to time +#' @param x Input variable +#' @return Time variable of class Period +#' @examples +#' as_hms("12:45:00") +#' \dontrun{ +#' as_hms("12:45:00") %>% hour() +#' as_hms("12:45:00") %>% second() +#' } +#' @export +as_hms <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(hms(x)) +} + +#' Convert input in hour-minute format to time +#' @param x Input variable +#' @return Time variable of class Period +#' @examples +#' as_hm("12:45") +#' \dontrun{ +#' as_hm("12:45") %>% minute() +#' } +#' @export +as_hm <- function(x) { + if (is.factor(x)) x <- as.character(x) + sshhr(hm(x)) +} + +#' Convert variable to integer avoiding potential issues with factors +#' @param x Input variable +#' @return Integer +#' @examples +#' as_integer(rnorm(10)) +#' as_integer(letters) +#' as_integer(as.factor(5:10)) +#' as.integer(as.factor(5:10)) +#' as_integer(c("a", "b")) +#' as_integer(c("0", "1")) +#' as_integer(as.factor(c("0", "1"))) +#' +#' @export +as_integer <- function(x) { + if (is.factor(x)) { + int <- sshhr(levels(x) %>% .[x] %>% as.integer()) + if (length(na.omit(int)) == 0) as.integer(x) else int + } else if (is.character(x)) { + int <- sshhr(as.integer(x)) + if (length(na.omit(int)) == 0) as_integer(as.factor(x)) else int + } else { + as.integer(x) + } +} + +#' Convert variable to numeric avoiding potential issues with factors +#' @param x Input variable +#' @return Numeric +#' @examples +#' as_numeric(rnorm(10)) +#' as_numeric(letters) +#' as_numeric(as.factor(5:10)) +#' as.numeric(as.factor(5:10)) +#' as_numeric(c("a", "b")) +#' as_numeric(c("3", "4")) +#' as_numeric(as.factor(c("3", "4"))) +#' +#' @export +as_numeric <- function(x) { + if (is.factor(x)) { + num <- sshhr(levels(x) %>% .[x] %>% as.numeric()) + if (length(na.omit(num)) == 0) as.numeric(x) else num + } else if (is.character(x)) { + num <- sshhr(as.numeric(x)) + if (length(na.omit(num)) == 0) as_numeric(as.factor(x)) else num + } else { + as.numeric(x) + } +} + +#' Wrapper for factor with ordered = FALSE +#' @param x Input vector +#' @param ordered Order factor levels (TRUE, FALSE) +#' @export +as_factor <- function(x, ordered = FALSE) factor(x, ordered = ordered) + +#' Wrapper for as.character +#' @param x Input vector +#' @export +as_character <- function(x) as.character(x) + +#' Wrapper for lubridate's as.duration function. Result converted to numeric +#' @param x Time difference +#' @export +as_duration <- function(x) as.numeric(lubridate::as.duration(x)) + +#' Distance in kilometers or miles between two locations based on lat-long +#' Function based on \url{http://www.movable-type.co.uk/scripts/latlong.html}. Uses the haversine formula +#' @param long1 Longitude of location 1 +#' @param lat1 Latitude of location 1 +#' @param long2 Longitude of location 2 +#' @param lat2 Latitude of location 2 +#' @param unit Measure kilometers ("km", default) or miles ("miles") +#' @param R Radius of the earth +#' @return Distance between two points +#' @examples +#' as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "km") +#' as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "miles") +#' +#' @export +as_distance <- function(lat1, long1, lat2, long2, + unit = "km", R = c("km" = 6371, "miles" = 3959)[[unit]]) { + rad <- pi / 180 + d1 <- lat1 * rad + d2 <- lat2 * rad + dlat <- (lat2 - lat1) * rad + dlong <- (long2 - long1) * rad + a <- sin(dlat / 2)^2 + cos(d1) * cos(d2) * sin(dlong / 2)^2 + c <- 2 * atan2(sqrt(a), sqrt(1 - a)) + R * c +} + +#' Generate a variable used to selected a training sample +#' @param n Number (or fraction) of observations to label as training +#' @param nr Number of rows in the dataset +#' @param blocks A vector to use for blocking or a data.frame from which to construct a blocking vector +#' @param seed Random seed +#' +#' @return 0/1 variables for filtering +#' +#' @importFrom randomizr complete_ra block_ra +#' +#' @examples +#' make_train(.5, 10) +#' make_train(.5, 10) %>% table() +#' make_train(100, 1000) %>% table() +#' make_train(.15, blocks = mtcars$vs) %>% table() / nrow(mtcars) +#' make_train(.10, blocks = iris$Species) %>% table() / nrow(iris) +#' make_train(.5, blocks = iris[, c("Petal.Width", "Species")]) %>% table() +#' +#' @export +make_train <- function(n = .7, nr = NULL, blocks = NULL, seed = 1234) { + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) set.seed(seed) + + if (is.empty(nr) && is.empty(blocks)) { + stop("Please provided the number of rows in the data (nr) or a vector with blocking information (blocks)") + } else if (is.data.frame(blocks)) { + blocks <- do.call(paste, c(blocks, sep = "-")) + nr <- length(blocks) + } else if (is.vector(blocks)) { + nr <- length(blocks) + } + + if (n > 1) n <- n / nr + + if (length(blocks) > 0) { + randomizr::block_ra(blocks, prob = n) + } else { + randomizr::complete_ra(N = nr, prob = n) + } +} + +#' Add transformed variables to a data frame with the option to include a custom variable name extension +#' +#' @details Wrapper for dplyr::mutate_at that allows custom variable name extensions +#' +#' @param .tbl Data frame to add transformed variables to +#' @param .funs Function(s) to apply (e.g., log) +#' @param ... Variables to transform +#' @param .ext Extension to add for each variable +#' @param .vars A list of columns generated by dplyr::vars(), or a character vector of column names, or a numeric vector of column positions. +#' +#' @examples +#' mutate_ext(mtcars, .funs = log, mpg, cyl, .ext = "_ln") +#' mutate_ext(mtcars, .funs = log, .ext = "_ln") +#' mutate_ext(mtcars, .funs = log) +#' mutate_ext(mtcars, .funs = log, .ext = "_ln", .vars = vars(mpg, cyl)) +#' +#' @export +mutate_ext <- function(.tbl, .funs, ..., .ext = "", .vars = c()) { + if (length(.vars) == 0) { + ## from https://stackoverflow.com/a/35317870/1974918 + .vars <- sapply(substitute(list(...))[-1], deparse) + if (length(.vars) == 0) { + .vars <- colnames(.tbl) + } + } + + if (is.empty(.ext)) { + dplyr::mutate_at(.tbl, .vars = .vars, .funs = .funs) %>% + set_rownames(rownames(.tbl)) + } else { + new <- gsub("^~", "", .vars) %>% paste0(., .ext) + .tbl[, new] <- transmute_at(.tbl, .vars = .vars, .funs = .funs) %>% + set_colnames(new) + .tbl + } +} + +#' Split a numeric variable into a number of bins and return a vector of bin numbers +#' +#' @param x Numeric variable +#' @param n number of bins to create +#' @param rev Reverse the order of the bin numbers +#' @param type An integer between 1 and 9 to select one of the quantile algorithms described in the help for the stats::quantile function +#' +#' @seealso See \link[stats]{quantile} for a description of the different algorithm types +#' +#' @examples +#' xtile(1:10, 5) +#' xtile(1:10, 5, rev = TRUE) +#' xtile(c(rep(1, 6), 7:10), 5) +#' +#' @export +xtile <- function(x, n = 5, rev = FALSE, type = 7) { + if (!is.numeric(x)) { + stop(paste0("The variable to bin must be of type {numeric} but is of type {", class(x)[1], "}"), call. = FALSE) + } else if (n < 1) { + stop(paste0("The number of bins must be > 1 but is ", n), call. = FALSE) + } else if (length(x) < n) { + stop(paste("The number of bins to create is larger than\nthe number of data points. Perhaps you grouped the data before\ncalling the xtile function and the number of observations per\ngroup is too small"), call. = FALSE) + } else if (type < 1 || type > 9) { + stop(paste("The value for type is", type, "but must be between 1 and 9"), call. = FALSE) + } + + breaks <- quantile(x, prob = seq(0, 1, length = n + 1), na.rm = TRUE, type = type) + if (length(breaks) < 2) stop(paste("Insufficient variation in x to construct", n, "breaks"), call. = FALSE) + bins <- .bincode(x, breaks, include.lowest = TRUE) + + if (rev) as.integer((n + 1) - bins) else bins +} + +#' Show all rows with duplicated values (not just the first or last) +#' +#' @details If an entire row is duplicated use "duplicated" to show only one of the duplicated rows. When using a subset of variables to establish uniqueness it may be of interest to show all rows that have (some) duplicate elements +#' +#' @param .tbl Data frame to add transformed variables to +#' @param ... Variables used to evaluate row uniqueness +#' +#' @examples +#' bind_rows(mtcars, mtcars[c(1, 5, 7), ]) %>% +#' show_duplicated(mpg, cyl) +#' bind_rows(mtcars, mtcars[c(1, 5, 7), ]) %>% +#' show_duplicated() +#' +#' @export +show_duplicated <- function(.tbl, ...) { + .vars <- sapply(substitute(list(...))[-1], deparse) + if (length(.vars) == 0 || length(unique(.vars)) == ncol(.tbl)) { + filter(.tbl, duplicated(.tbl)) + } else { + .tbl %>% + group_by_at(.vars = .vars) %>% + filter(n() > 1) %>% + mutate(nr_dup = 1:n()) %>% + arrange_at(.vars = .vars) %>% + ungroup() + } +} + +#' Weighted standard deviation +#' +#' @details Calculate weighted standard deviation +#' +#' @param x Numeric vector +#' @param wt Numeric vector of weights +#' @param na.rm Remove missing values (default is TRUE) +#' +#' @export +weighted.sd <- function(x, wt, na.rm = TRUE) { + if (na.rm) { + ind <- is.na(x) | is.na(wt) + x <- x[!ind] + wt <- wt[!ind] + } + wt <- wt / sum(wt) + wm <- weighted.mean(x, wt) + sqrt(sum(wt * (x - wm)^2)) +} + +#' Create data.frame summary +#' +#' @details Used in Radiant's Data > Transform tab +#' +#' @param dataset Data.frame +#' @param dc Class for each variable +#' @param dec Number of decimals to show +#' +#' @export +get_summary <- function(dataset, dc = get_class(dataset), dec = 3) { + isFct <- "factor" == dc + isNum <- dc %in% c("numeric", "integer", "Duration") + isDate <- "date" == dc + isChar <- "character" == dc + isLogic <- "logical" == dc + isPeriod <- "period" == dc + isTs <- "ts" == dc + + if (sum(isNum) > 0) { + cn <- names(dc)[isNum] + + cat("Summarize numeric variables:\n") + select(dataset, which(isNum)) %>% + gather("variable", "values", !!cn, factor_key = TRUE) %>% + group_by_at(.vars = "variable") %>% + summarise_all( + list( + n_obs = n_obs, + n_missing = n_missing, + n_distinct = n_distinct, + mean = mean, + median = median, + min = min, + max = max, + p25 = p25, + p75 = p75, + sd = sd, + se = se + ), + na.rm = TRUE + ) %>% + data.frame(check.names = FALSE, stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + set_colnames(c("", colnames(.)[-1])) %>% + print(row.names = FALSE) + cat("\n") + } + + if (sum(isTs) > 0) { + cn <- names(dc)[isTs] + + cat("Summarize time-series variables:\n") + lapply( + select(dataset, which(isTs)), + function(x) { + as.data.frame(x) %>% + summarise_all( + list( + n_obs = n_obs, + n_missing = n_missing, + n_distinct = n_distinct, + mean = mean, + median = median, + min = min, + max = max, + start = ~ attr(., "tsp")[1] %>% round(dec), + end = ~ attr(., "tsp")[2] %>% round(dec), + frequency = ~ attr(., "tsp")[3] %>% as.integer() + ), + na.rm = TRUE + ) + } + ) %>% + bind_rows() %>% + data.frame(check.names = FALSE, stringsAsFactors = FALSE) %>% + data.frame(.vars = cn, .) %>% + format_df(dec = 3, mark = ",") %>% + set_colnames(c("", colnames(.)[-1])) %>% + print(row.names = FALSE) + cat("\n") + } + + if (sum(isFct) > 0) { + cat("Summarize factors:\n") + select(dataset, which(isFct)) %>% + summary(maxsum = 20) %>% + print() + cat("\n") + } + + if (sum(isDate) > 0) { + cat("Earliest dates:\n") + select(dataset, which(isDate)) %>% + summarise_all(min) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + print(row.names = FALSE) + cat("\nFinal dates:\n") + select(dataset, which(isDate)) %>% + summarise_all(max) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + print(row.names = FALSE) + + cat("\n") + } + + if (sum(isPeriod) > 0) { + max_time <- function(x) sort(x) %>% tail(1) + min_time <- function(x) sort(x) %>% head(1) + + cat("Earliest time:\n") + select(dataset, which(isPeriod)) %>% + summarise_all(min_time) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + print(row.names = FALSE) + cat("\nFinal time:\n") + select(dataset, which(isPeriod)) %>% + summarise_all(max_time) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + print(row.names = FALSE) + cat("\n") + } + + if (sum(isChar) > 0) { + ## finding unique elements can be slow for large files + if (nrow(dataset) < 10^5) { + cat("Summarize character variables (< 20 unique values shown):\n") + select(dataset, which(isChar)) %>% + lapply(unique) %>% + (function(x) { + for (i in names(x)) { + cat(i, paste0("(n_distinct ", length(x[[i]]), "): "), x[[i]][1:min(20, length(x[[i]]))], "\n") + } + }) + } else { + cat("Summarize character variables (< 20 values shown):\n") + select(dataset, which(isChar)) %>% + (function(x) { + for (i in names(x)) { + cat(i, ":", x[[i]][1:min(20, length(x[[i]]))], "\n") + } + }) + } + cat("\n") + } + if (sum(isLogic) > 0) { + cat("Summarize logical variables:\n") + select(dataset, which(isLogic)) %>% + summarise_all(list(x = ~ sum(., na.rm = TRUE), y = ~ mean(., na.rm = TRUE), z = ~ n_missing(.))) %>% + round(dec) %>% + matrix(ncol = 3) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + set_colnames(c("# TRUE", "% TRUE", "n_missing")) %>% + set_rownames(names(dataset)[isLogic]) %>% + format(big.mark = ",", scientific = FALSE) %>% + print() + cat("\n") + } +} + +#' Create data.frame from a table +#' +#' @param dataset Data.frame +#' @param freq Column name with frequency information +#' +#' @examples +#' data.frame(price = c("$200", "$300"), sale = c(10, 2)) %>% table2data() +#' +#' @export +table2data <- function(dataset, freq = tail(colnames(dataset), 1)) { + if (!is.numeric(dataset[[freq]])) stop("The frequency variable must be numeric", call = FALSE) + blowup <- function(i) { + if (!is.na(dataset[[freq]][i])) dataset[rep(i, each = dataset[[freq]][i]), ] + } + + lapply(seq_len(nrow(dataset)), blowup) %>% + bind_rows() %>% + select_at(.vars = base::setdiff(colnames(dataset), freq)) %>% + mutate_all(as.factor) +} + +#' Generate list of levels and unique values +#' +#' @param dataset A data.frame +#' @param ... Unquoted variable names to evaluate +#' +#' @examples +#' data.frame(a = c(rep("a", 5), rep("b", 5)), b = c(rep(1, 5), 6:10)) %>% level_list() +#' level_list(mtcars, mpg, cyl) +#' +#' @export +level_list <- function(dataset, ...) { + fl <- function(x) { + if ("factor" %in% class(x)) { + levels(x) + } else { + unique(x) + } + } + .vars <- sapply(substitute(list(...))[-1], deparse) + if (length(.vars) > 0) { + lapply(select_at(dataset, .vars = .vars), fl) + } else { + lapply(dataset, fl) + } +} + +#' Add ordered argument to lubridate::month +#' @param x Input date vector +#' @param label Month as label (TRUE, FALSE) +#' @param abbr Abbreviate label (TRUE, FALSE) +#' @param ordered Order factor (TRUE, FALSE) +#' +#' @importFrom lubridate month +#' +#' @seealso See the \code{\link[lubridate]{month}} function in the lubridate package for additional details +#' +#' @export +month <- function(x, label = FALSE, abbr = TRUE, ordered = FALSE) { + x <- lubridate::month(x, label = label, abbr = abbr) + if (!ordered && label) { + factor(x, ordered = FALSE) + } else { + x + } +} + +#' Add ordered argument to lubridate::wday +#' @param x Input date vector +#' @param label Weekday as label (TRUE, FALSE) +#' @param abbr Abbreviate label (TRUE, FALSE) +#' @param ordered Order factor (TRUE, FALSE) +#' +#' @importFrom lubridate wday +#' +#' @seealso See the \code{\link[lubridate:day]{lubridate::wday()}} function in the lubridate package for additional details +#' +#' @export +wday <- function(x, label = FALSE, abbr = TRUE, ordered = FALSE) { + x <- lubridate::wday(x, label = label, abbr = abbr) + if (!ordered && label) { + factor(x, ordered = FALSE) + } else { + x + } +} + +#' Remove/reorder levels +#' @details Keep only a specific set of levels in a factor. By removing levels the base for comparison in, e.g., regression analysis, becomes the first level. To relabel the base use, for example, repl = 'other' +#' @param x Character or Factor +#' @param levs Set of levels to use +#' @param repl String (or NA) used to replace missing levels +#' +#' @examples +#' refactor(diamonds$cut, c("Premium", "Ideal")) %>% head() +#' refactor(diamonds$cut, c("Premium", "Ideal"), "Other") %>% head() +#' +#' @export +refactor <- function(x, levs = levels(x), repl = NA) { + if (is.factor(x)) { + lv <- levels(x) + } else { + lv <- unique(x) + if (length(levs) == 0) levs <- lv + } + + if (length(levs) > 0 && length(lv) > length(levs)) { + if (!is.empty(repl)) levs <- unique(c(repl, levs)) + x <- as_character(x) %>% ifelse(. %in% base::setdiff(lv, levs), repl, .) + } + + factor(x, levels = levs) +} + +#' Convert a string of numbers into a vector +#' +#' @param x A string of numbers that may include fractions +#' +#' @importFrom MASS fractions +#' +#' @examples +#' make_vec("1 2 4") +#' make_vec("1/2 2/3 4/5") +#' make_vec(0.1) +#' @export +make_vec <- function(x) { + if (is.empty(x)) { + return(NULL) + } else if (!is.character(x)) { + return(x) + } + + any_frac <- FALSE + check_frac <- function(x) { + if (length(x) == 2) { + any_frac <<- TRUE + as.numeric(x[1]) / as.numeric(x[2]) + } else { + as.numeric(x) + } + } + x <- strsplit(x, "(\\s*,\\s*|\\s*;\\s*|\\s+)") %>% + unlist() %>% + strsplit("\\s*/\\s*") %>% + sapply(check_frac) + + if (any_frac) { + MASS::fractions(x) + } else { + x + } +} + +############################### +## function below not exported +############################### +.recode. <- function(x, cmd) car::Recode(x, cmd) \ No newline at end of file diff --git a/radiant.data/R/view.R b/radiant.data/R/view.R new file mode 100644 index 0000000..12c3697 --- /dev/null +++ b/radiant.data/R/view.R @@ -0,0 +1,312 @@ +#' Method to create datatables +#' +#' @param object Object of relevant class to render +#' @param ... Additional arguments +#' +#' @seealso See \code{\link{dtab.data.frame}} to create an interactive table from a data.frame +#' @seealso See \code{\link{dtab.explore}} to create an interactive table from an \code{\link{explore}} object +#' @seealso See \code{\link{dtab.pivotr}} to create an interactive table from a \code{\link{pivotr}} object +#' +#' @export +dtab <- function(object, ...) UseMethod("dtab", object) + +#' Create an interactive table to view, search, sort, and filter data +#' +#' @details View, search, sort, and filter a data.frame. For styling options see \url{https://rstudio.github.io/DT/functions.html} +#' +#' @param object Data.frame to display +#' @param vars Variables to show (default is all) +#' @param filt Filter to apply to the specified dataset. For example "price > 10000" if dataset is "diamonds" (default is "") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Select rows in the specified dataset. For example "1:10" for the first 10 rows or "n()-10:n()" for the last 10 rows (default is NULL) +#' @param nr Number of rows of data to include in the table. This function will be mainly used in reports so it is best to keep this number small +#' @param na.rm Remove rows with missing values (default is FALSE) +#' @param dec Number of decimal places to show. Default is no rounding (NULL) +#' @param perc Vector of column names to be displayed as a percentage +#' @param filter Show column filters in DT table. Options are "none", "top", "bottom" +#' @param pageLength Number of rows to show in table +#' @param dom Table control elements to show on the page. See \url{https://datatables.net/reference/option/dom} +#' @param style Table formatting style ("bootstrap" or "default") +#' @param rownames Show data.frame rownames. Default is FALSE +#' @param caption Table caption +#' @param envir Environment to extract data from +#' @param ... Additional arguments +#' +#' @importFrom shiny tags +#' @examples +#' \dontrun{ +#' dtab(mtcars) +#' } +#' +#' @export +dtab.data.frame <- function(object, vars = "", filt = "", arr = "", rows = NULL, + nr = NULL, na.rm = FALSE, dec = 3, perc = "", + filter = "top", pageLength = 10, dom = "", + style = "bootstrap4", rownames = FALSE, + caption = NULL, + envir = parent.frame(), ...) { + ## does this need a data_view_rows argument? + dat <- get_data(object, vars, filt = filt, arr = arr, rows = rows, na.rm = na.rm, envir = envir) + if (!is.empty(nr) && nr < nrow(dat)) { + dat <- dat[seq_len(nr), , drop = FALSE] + } + + ## for rounding + isInt <- sapply(dat, is.integer) + isDbl <- sapply(dat, is_double) + dec <- ifelse(is.empty(dec) || dec < 0, 3, round(dec, 0)) + + ## don't do normal rounding for perc variables + isInt[intersect(names(isInt), perc)] <- FALSE + isDbl[intersect(names(isDbl), perc)] <- FALSE + + ## avoid factor with a huge number of levels + isBigFct <- function(x) is.factor(x) && length(levels(x)) > 1000 + dat <- mutate_if(dat, isBigFct, as.character) + + ## for display options see https://datatables.net/reference/option/dom + if (is.empty(dom)) { + dom <- if (pageLength == -1 || nrow(dat) < pageLength) "t" else "lftip" + } + + if (!is.empty(caption)) { + ## from https://github.com/rstudio/DT/issues/630#issuecomment-461191378 + caption <- shiny::tags$caption(style = "caption-side: bottom; text-align: left; font-size:100%;", caption) + } + + dt_tab <- DT::datatable( + dat, + caption = caption, + filter = filter, + selection = "none", + rownames = rownames, + ## must use fillContainer = FALSE to address + ## see https://github.com/rstudio/DT/issues/367 + ## https://github.com/rstudio/DT/issues/379 + fillContainer = FALSE, + escape = FALSE, + style = style, + options = list( + dom = dom, + search = list(regex = TRUE), + columnDefs = list( + list(orderSequence = c("desc", "asc"), targets = "_all"), + list(className = "dt-center", targets = "_all") + ), + autoWidth = TRUE, + processing = FALSE, + pageLength = pageLength, + lengthMenu = list(c(5, 10, 25, 50, -1), c("5", "10", "25", "50", "All")) + ) + ) + + ## rounding as needed + if (sum(isDbl) > 0) { + dt_tab <- DT::formatRound(dt_tab, colnames(dat)[isDbl], digits = dec) + } + if (sum(isInt) > 0) { + dt_tab <- DT::formatRound(dt_tab, colnames(dat)[isInt], digits = 0) + } + if (!is.empty(perc)) { + dt_tab <- DT::formatPercentage(dt_tab, perc, digits = dec) + } + + ## see https://github.com/yihui/knitr/issues/1198 + dt_tab$dependencies <- c( + list(rmarkdown::html_dependency_bootstrap("bootstrap")), + dt_tab$dependencies + ) + + dt_tab +} + +#' Filter data with user-specified expression +#' @details Filters can be used to view a sample from a selected dataset. For example, runif(nrow(.)) > .9 could be used to sample approximately 10% of the rows in the data and 1:nrow(.) < 101 would select only the first 100 rows in the data. Note: "." references the currently selected dataset. +#' @param dataset Data frame to filter +#' @param filt Filter expression to apply to the specified dataset +#' @param drop Drop unused factor levels after filtering (default is TRUE) +#' @return Filtered data frame +#' @examples +#' select(diamonds, 1:3) %>% filter_data(filt = "price > max(.$price) - 100") +#' select(diamonds, 1:3) %>% filter_data(filt = "runif(nrow(.)) > .995") +#' @export +filter_data <- function(dataset, filt = "", drop = TRUE) { + if (grepl("([^=!<>])=([^=])", filt)) { + message("Invalid filter: Never use = in a filter. Use == instead (e.g., year == 2014). Update or remove the expression") + } else { + filter_dat <- try(dataset %>% filter(!!rlang::parse_expr(filt)), silent = TRUE) + if (inherits(filter_dat, "try-error")) { + message(paste0("Invalid filter: \"", attr(filter_dat, "condition")$message, "\". Update or remove the expression")) + } else { + if (drop) { + return(droplevels(filter_dat)) + } else { + return(filter_dat) + } + } + } + dataset +} + +#' Generate arrange commands from user input +#' @details Form arrange command from user input +#' @param expr Expression to use arrange rows from the specified dataset +#' @param dataset String with dataset name +#' @return Arrange command +#' @importFrom glue glue +#' @export +make_arrange_cmd <- function(expr, dataset = "") { + expr %>% + strsplit(., split = "(\\s*&\\s*|\\s*,\\s*|\\s+)") %>% + unlist() %>% + .[!. == ""] %>% + paste0(collapse = ", ") %>% + (function(x) ifelse(is.empty(dataset), glue("arrange({x})"), glue("arrange({dataset}, {x})"))) +} + +#' Arrange data with user-specified expression +#' @details Arrange data, likely in combination with slicing +#' @param dataset Data frame to arrange +#' @param expr Expression to use arrange rows from the specified dataset +#' @return Arranged data frame +#' @export +arrange_data <- function(dataset, expr = NULL) { + if (!is.empty(expr)) { + arrange_cmd <- make_arrange_cmd(expr, "dataset") + arrange_dat <- try(eval(parse(text = arrange_cmd)), silent = TRUE) + if (inherits(arrange_dat, "try-error")) { + message(paste0("Invalid arrange expression: \"", attr(arrange_dat, "condition")$message, "\". Update or remove the expression")) + } else { + return(arrange_dat) + } + } + + dataset +} + +#' Slice data with user-specified expression +#' @details Select only a slice of the data to work with +#' @param dataset Data frame to slice +#' @param expr Expression to use select rows from the specified dataset +#' @param drop Drop unused factor levels after filtering (default is TRUE) +#' @return Sliced data frame +#' @export +slice_data <- function(dataset, expr = NULL, drop = TRUE) { + if (is.numeric(expr)) { + slice_dat <- try(dataset %>% slice(expr), silent = TRUE) + } else { + slice_dat <- try(dataset %>% slice(!!rlang::parse_expr(expr)), silent = TRUE) + } + if (inherits(slice_dat, "try-error")) { + message(paste0("Invalid slice: \"", attr(slice_dat, "condition")$message, "\". Update or remove the expression")) + } else { + if (drop) { + return(droplevels(slice_dat)) + } else { + return(slice_dat) + } + } + dataset +} + +#' Search for a pattern in all columns of a data.frame +#' +#' @param dataset Data.frame to search +#' @param pattern String to match +#' @param ignore.case Should search be case sensitive or not (default is FALSE) +#' @param fixed Allow regular expressions or not (default is FALSE) +#' @seealso See \code{\link{grepl}} for a detailed description of the function arguments +#' @examples +#' publishers %>% filter(search_data(., "^m")) +#' @export +search_data <- function(dataset, pattern, ignore.case = TRUE, fixed = FALSE) { + mutate_all( + dataset, + ~ grepl(pattern, as.character(.), ignore.case = ignore.case, fixed = fixed) + ) %>% + transmute(sel = rowSums(.) > 0) %>% + pull("sel") +} + +#' View data in a shiny-app +#' +#' @details View, search, sort, etc. your data +#' +#' @param dataset Data.frame or name of the dataframe to view +#' @param vars Variables to show (default is all) +#' @param filt Filter to apply to the specified dataset +#' @param arr Expression to arrange (sort) data +#' @param rows Select rows in the specified dataset +#' @param na.rm Remove rows with missing values (default is FALSE) +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' +#' @seealso See \code{\link{get_data}} and \code{\link{filter_data}} +#' +#' @examples +#' \dontrun{ +#' view_data(mtcars) +#' } +#' +#' @export +view_data <- function(dataset, vars = "", filt = "", + arr = "", rows = NULL, na.rm = FALSE, dec = 3, + envir = parent.frame()) { + ## based on https://rstudio.github.io/DT/server.html + dat <- get_data(dataset, vars, filt = filt, arr = arr, rows = rows, na.rm = na.rm, envir = envir) + title <- if (is_string(dataset)) paste0("DT:", dataset) else "DT" + fbox <- if (nrow(dat) > 5e6) "none" else list(position = "top") + + ## avoid factor with a huge number of levels + isBigFct <- function(x) is.factor(x) && length(levels(x)) > 1000 + dat <- mutate_if(dat, isBigFct, as.character) + + ## for rounding + isDbl <- sapply(dat, is_double) + isInt <- sapply(dat, is.integer) + dec <- ifelse(is.empty(dec) || dec < 0, 3, round(dec, 0)) + + shinyApp( + ui = fluidPage( + title = title, + includeCSS(file.path(system.file(package = "radiant.data"), "app/www/style.css")), + fluidRow(DT::dataTableOutput("tbl")), + actionButton("stop", "Stop", class = "btn-danger", onclick = "window.close();") + ), + server = function(input, output, session) { + widget <- DT::datatable( + dat, + selection = "none", + rownames = FALSE, + style = "bootstrap4", + filter = fbox, + escape = FALSE, + ## must use fillContainer = FALSE to address + ## see https://github.com/rstudio/DT/issues/367 + ## https://github.com/rstudio/DT/issues/379 + # fillContainer = FALSE, + ## works with client-side processing + extensions = "KeyTable", + options = list( + keys = TRUE, + search = list(regex = TRUE), + columnDefs = list( + list(orderSequence = c("desc", "asc"), targets = "_all"), + list(className = "dt-center", targets = "_all") + ), + autoWidth = TRUE, + processing = FALSE, + pageLength = 10, + lengthMenu = list(c(5, 10, 25, 50, -1), c("5", "10", "25", "50", "All")) + ) + ) %>% + (function(x) if (sum(isDbl) > 0) DT::formatRound(x, names(isDbl)[isDbl], dec) else x) %>% + (function(x) if (sum(isInt) > 0) DT::formatRound(x, names(isInt)[isInt], 0) else x) + + output$tbl <- DT::renderDataTable(widget) + observeEvent(input$stop, { + stopApp(cat("Stopped view_data")) + }) + } + ) +} diff --git a/radiant.data/R/visualize.R b/radiant.data/R/visualize.R new file mode 100644 index 0000000..8475dfb --- /dev/null +++ b/radiant.data/R/visualize.R @@ -0,0 +1,796 @@ +#' Visualize data using ggplot2 \url{https://ggplot2.tidyverse.org/} +#' +#' @details See \url{https://radiant-rstats.github.io/docs/data/visualize.html} for an example in Radiant +#' +#' @param dataset Data to plot (data.frame or tibble) +#' @param xvar One or more variables to display along the X-axis of the plot +#' @param yvar Variable to display along the Y-axis of the plot (default = "none") +#' @param comby Combine yvars in plot (TRUE or FALSE, FALSE is the default) +#' @param combx Combine xvars in plot (TRUE or FALSE, FALSE is the default) +#' @param type Type of plot to create. One of Distribution ('dist'), Density ('density'), Scatter ('scatter'), Surface ('surface'), Line ('line'), Bar ('bar'), or Box-plot ('box') +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param facet_row Create vertically arranged subplots for each level of the selected factor variable +#' @param facet_col Create horizontally arranged subplots for each level of the selected factor variable +#' @param color Adds color to a scatter plot to generate a 'heat map'. For a line plot one line is created for each group and each is assigned a different color +#' @param fill Display bar, distribution, and density plots by group, each with a different color. Also applied to surface plots to generate a 'heat map' +#' @param size Numeric variable used to scale the size of scatter-plot points +#' @param fillcol Color used for bars, boxes, etc. when no color or fill variable is specified +#' @param linecol Color for lines when no color variable is specified +#' @param pointcol Color for points when no color variable is specified +#' @param bins Number of bins used for a histogram (1 - 50) +#' @param smooth Adjust the flexibility of the loess line for scatter plots +#' @param fun Set the summary measure for line and bar plots when the X-variable is a factor (default is "mean"). Also used to plot an error bar in a scatter plot when the X-variable is a factor. Options are "mean" and/or "median" +#' @param check Add a regression line ("line"), a loess line ("loess"), or jitter ("jitter") to a scatter plot +#' @param axes Flip the axes in a plot ("flip") or apply a log transformation (base e) to the y-axis ("log_y") or the x-axis ("log_x") +#' @param alpha Opacity for plot elements (0 to 1) +#' @param theme ggplot theme to use (e.g., "theme_gray" or "theme_classic") +#' @param base_size Base font size to use (default = 11) +#' @param base_family Base font family to use (e.g., "Times" or "Helvetica") +#' @param labs Labels to use for plots +#' @param xlim Set limit for x-axis (e.g., c(0, 1)) +#' @param ylim Set limit for y-axis (e.g., c(0, 1)) +#' @param data_filter Expression used to filter the dataset. This should be a string (e.g., "price > 10000") +#' @param arr Expression used to sort the data. Likely used in combination for `rows` +#' @param rows Rows to select from the specified dataset +#' @param shiny Logical (TRUE, FALSE) to indicate if the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param envir Environment to extract data from +#' +#' @return Generated plots +#' +#' @examples +#' visualize(diamonds, "price:cut", type = "dist", fillcol = "red") +#' visualize(diamonds, "carat:cut", +#' yvar = "price", type = "scatter", +#' pointcol = "blue", fun = c("mean", "median"), linecol = c("red", "green") +#' ) +#' visualize(diamonds, +#' yvar = "price", xvar = c("cut", "clarity"), +#' type = "bar", fun = "median" +#' ) +#' visualize(diamonds, +#' yvar = "price", xvar = c("cut", "clarity"), +#' type = "line", fun = "max" +#' ) +#' visualize(diamonds, +#' yvar = "price", xvar = "carat", type = "scatter", +#' size = "table", custom = TRUE +#' ) + scale_size(range = c(1, 10), guide = "none") +#' visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) + +#' labs(title = "A scatterplot", x = "price in $") +#' visualize(diamonds, xvar = "price:carat", custom = TRUE) %>% +#' wrap_plots(ncol = 2) + plot_annotation(title = "Histograms") +#' visualize(diamonds, +#' xvar = "cut", yvar = "price", type = "bar", +#' facet_row = "cut", fill = "cut" +#' ) +#' +#' @importFrom rlang .data +#' @importFrom stats density +#' +#' @export +visualize <- function(dataset, xvar, yvar = "", comby = FALSE, combx = FALSE, + type = ifelse(is.empty(yvar), "dist", "scatter"), nrobs = -1, + facet_row = ".", facet_col = ".", color = "none", fill = "none", + size = "none", fillcol = "blue", linecol = "black", pointcol = "black", + bins = 10, smooth = 1, fun = "mean", check = "", axes = "", + alpha = 0.5, theme = "theme_gray", base_size = 11, base_family = "", + labs = list(), xlim = NULL, ylim = NULL, data_filter = "", + arr = "", rows = NULL, shiny = FALSE, custom = FALSE, + envir = parent.frame()) { + if (missing(xvar) && type %in% c("box", "line")) { + xvar <- yvar + if (type == "box") { + type <- "box-single" + if (comby) { + comby <- FALSE + combx <- TRUE + } + } else { + type <- "line-single" + } + } + + ## inspired by Joe Cheng's ggplot2 browser app http://www.youtube.com/watch?feature=player_embedded&v=o2B5yJeEl1A#! + vars <- xvar + + if (!type %in% c("scatter", "line", "line-single", "box")) color <- "none" + if (!type %in% c("bar", "dist", "density", "surface")) fill <- "none" + if (type != "scatter") { + check %<>% sub("line", "", .) %>% sub("loess", "", .) + if (length(fun) > 1) { + fun <- fun[1] ## only scatter can deal with multiple functions + message("No more than one function (", fun, ") will be used for plots of type ", type) + } + size <- "none" + } + if (type == "scatter" && length(fun) > 3) { + fun <- fun[1:3] ## only scatter can deal with multiple functions, max 3 for now + message("No more than three functions (", paste(fun, collapse = ", "), ") can be used with scatter plots") + } + if (!type %in% c("scatter", "box", "box-single")) check %<>% sub("jitter", "", .) + + ## variable to use if bar chart is specified + byvar <- NULL + + if (length(yvar) == 0 || identical(yvar, "")) { + if (!type %in% c("dist", "density")) { + return("No Y-variable provided for a plot that requires one") + } + } else if (type == "surface" && is.empty(fill, "none")) { + return("No Fill variable provided for a plot that requires one") + } else { + if (type %in% c("dist", "density")) { + yvar <- "" + } else { + vars %<>% c(., yvar) + } + } + + if (color != "none") { + vars %<>% c(., color) + if (type == "line") byvar <- color + } + if (facet_row != ".") { + vars %<>% c(., facet_row) + byvar <- if (is.null(byvar)) facet_row else unique(c(byvar, facet_row)) + } + if (facet_col != ".") { + vars %<>% c(., facet_col) + byvar <- if (is.null(byvar)) facet_col else unique(c(byvar, facet_col)) + } + + if (facet_col != "." && facet_row == facet_col) { + return("The same variable cannot be used for both Facet row and Facet column") + } + + if (fill != "none") { + vars %<>% c(., fill) + if (type == "bar") { + byvar <- if (is.null(byvar)) fill else unique(c(byvar, fill)) + } + } + if (size != "none") vars %<>% c(., size) + + ## so you can also pass-in a data.frame + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + if (type == "scatter" && !is.empty(nrobs)) { + nrobs <- as.integer(nrobs) + if (nrobs > 0 && nrobs < nrow(dataset)) { + dataset <- sample_n(dataset, nrobs, replace = FALSE) + } + } + + ## get class + dc <- dc_org <- get_class(dataset) + + ## if : is used to specify a range of variables + if (length(vars) < ncol(dataset)) { + fl <- strsplit(xvar, ":") %>% unlist() + cn <- colnames(dataset) + xvar <- cn[which(fl[1] == cn):which(fl[2] == cn)] + } + + ## converting character variables if needed + isChar <- dc == "character" + if (sum(isChar) > 0) { + if (type == "density") { + dataset[, isChar] <- select(dataset, which(isChar)) %>% mutate_all(as_numeric) + if ("character" %in% get_class(select(dataset, which(isChar)))) { + return("Character variable(s) were not converted to numeric for plotting.\nTo use these variables in a plot convert them to numeric\nvariables (or factors) in the Data > Transform tab") + } + } else { + dataset[, isChar] <- select(dataset, which(isChar)) %>% mutate_all(as_factor) + nrlev <- sapply(dataset, function(x) if (is.factor(x)) length(levels(x)) else 0) + if (max(nrlev) > 500) { + return("Character variable(s) were not converted to factors for plotting.\nTo use these variable in a plot convert them to factors\n(or numeric variables) in the Data > Transform tab") + } + } + ## in case something was changed, if not, this won't run + dc <- get_class(dataset) + } + + if (type %in% c("bar", "line")) { + if (any(xvar %in% yvar)) { + return("Cannot create a bar or line chart if an X-variable is also included as a Y-variable") + } + } else if (type == "box") { + if (any(xvar %in% yvar)) { + return("Cannot create a box-plot if an X-variable is also included as a Y-variable") + } + } + + ## Determine if you want to use the first level of factor or not + if (type %in% c("bar", "line")) { + isFctY <- "factor" == dc & names(dc) %in% yvar + if (sum(isFctY)) { + levs_org <- sapply(dataset[, isFctY, drop = FALSE], function(x) levels(x)[1]) + levs <- c() + fixer_first <- function(x) { + x_num <- sshhr(as.integer(as.character(x))) + if (length(na.omit(x_num)) == 0) { + lx <- levels(x) + x <- as_integer(x == lx[1]) + levs <<- c(levs, lx[1]) + } else { + x <- x_num + levs <<- c(levs, NA) + } + x + } + fixer <- function(x) { + x_num <- sshhr(as.integer(as.character(x))) + if (length(na.omit(x_num)) == 0) { + lx <- levels(x) + x <- as_integer(x) + levs <<- c(levs, lx[1]) + } else { + x <- x_num + levs <<- c(levs, NA) + } + x + } + if (fun %in% c("mean", "sum", "sd", "var", "sd", "se", "me", "cv", "prop", "varprop", "sdprop", "seprop", "meprop", "varpop", "sepop")) { + mfun <- fixer_first + } else if (fun %in% c("median", "min", "max", "p01", "p025", "p05", "p10", "p25", "p50", "p75", "p90", "p95", "p975", "p99", "skew", "kurtosi")) { + mfun <- fixer + } else { + mfun <- function(x) { + levs <<- c(levs, NA) + x + } + } + + dataset[, isFctY] <- select(dataset, which(isFctY)) %>% + mutate_all(mfun) + names(levs) <- names(levs_org) + dc[isFctY] <- "integer" + } + } + + if (xor("log_x" %in% axes, "log_y" %in% axes)) { + if (any(xvar %in% yvar)) { + return("When applying 'Log X' an X-variable cannot also be selected as a Y-variable") + } + if (any(yvar %in% xvar)) { + return("When applying 'Log Y' a Y-variable cannot also be selected as an X-variable") + } + } + + log_trans <- function(x) ifelse(x > 0, log(x), NA) + + if ("log_x" %in% axes) { + if (any(!dc[xvar] %in% c("integer", "numeric"))) { + return("'Log X' is only meaningful for X-variables of type integer or numeric") + } + to_log <- (dc[xvar] %in% c("integer", "numeric")) %>% xvar[.] + dataset <- mutate_at(dataset, .vars = to_log, .funs = log_trans) + } + + if ("log_y" %in% axes) { + if (any(!dc[yvar] %in% c("integer", "numeric"))) { + return("'Log Y' is only meaningful for Y-variables of type integer or numeric") + } + to_log <- (dc[yvar] %in% c("integer", "numeric")) %>% yvar[.] + dataset <- mutate_at(dataset, .vars = to_log, .funs = log_trans) + } + + ## combining Y-variables if needed + if (comby && length(yvar) > 1) { + if (any(xvar %in% yvar) && !type %in% c("box-single", "line-single")) { + return("X-variables cannot be part of Y-variables when combining Y-variables") + } + if (!is.empty(color, "none")) { + return("Cannot use Color when combining Y-variables") + } + if (!is.empty(fill, "none")) { + return("Cannot use Fill when combining Y-variables") + } + if (!is.empty(size, "none")) { + return("Cannot use Size when combining Y-variables") + } + if (facet_row %in% yvar || facet_col %in% yvar) { + return("Facet row or column variables cannot be part of\nY-variables when combining Y-variables") + } + + dataset <- gather(dataset, "yvar", "values", !!yvar, factor_key = TRUE) + yvar <- "values" + byvar <- if (is.null(byvar)) "yvar" else c("yvar", byvar) + color <- fill <- "yvar" + + dc <- get_class(dataset) + } + + ## combining X-variables if needed + if (combx && length(xvar) > 1) { + if (!is.empty(fill, "none")) { + return("Cannot use Fill when combining X-variables") + } + if (facet_row %in% xvar || facet_col %in% xvar) { + return("Facet row or column variables cannot be part of\nX-variables when combining Y-variables") + } + if (any(!get_class(select_at(dataset, .vars = xvar)) %in% c("numeric", "integer"))) { + return("Cannot combine plots for non-numeric variables") + } + + dataset <- gather(dataset, "xvar", "values", !!xvar, factor_key = TRUE) + xvar <- "values" + byvar <- if (is.null(byvar)) "xvar" else c("xvar", byvar) + color <- fill <- "xvar" + + dc <- get_class(dataset) + } + + plot_list <- list() + if (type == "dist") { + for (i in xvar) { + ## can't create a distribution plot for a logical + if (dc[i] == "logical") { + dataset[[i]] <- as_factor(dataset[[i]]) + dc[i] <- "factor" + } + + hist_par <- list(alpha = alpha, position = "stack") + if (combx) hist_par[["position"]] <- "identity" + if (fill == "none") hist_par[["fill"]] <- fillcol + plot_list[[i]] <- ggplot(dataset, aes(x = .data[[i]])) + if ("density" %in% axes && !"factor" %in% dc[i]) { + hist_par <- c(list(aes(y = after_stat(density))), hist_par) + plot_list[[i]] <- plot_list[[i]] + geom_density(adjust = smooth, color = linecol, linewidth = .5) + } + if ("factor" %in% dc[i]) { + plot_fun <- get("geom_bar") + if ("log_x" %in% axes) axes <- sub("log_x", "", axes) + } else { + plot_fun <- get("geom_histogram") + hist_par[["binwidth"]] <- select_at(dataset, .vars = i) %>% + range() %>% + { + diff(.) / (bins - 1) + } + } + + plot_list[[i]] <- plot_list[[i]] + do.call(plot_fun, hist_par) + if ("log_x" %in% axes) plot_list[[i]] <- plot_list[[i]] + xlab(paste("log", i)) + } + } else if (type == "density") { + for (i in xvar) { + plot_list[[i]] <- ggplot(dataset, aes(x = .data[[i]])) + + if (fill == "none") { + geom_density(adjust = smooth, color = linecol, fill = fillcol, alpha = alpha, linewidth = 1) + } else { + geom_density(adjust = smooth, alpha = alpha, linewidth = 1) + } + + if ("log_x" %in% axes) plot_list[[i]] <- plot_list[[i]] + xlab(paste("log", i)) + } + } else if (type == "scatter") { + itt <- 1 + if ("jitter" %in% check) { + if (color == "none") { + gs <- geom_jitter(alpha = alpha, color = pointcol, position = position_jitter(width = 0.4, height = 0.0)) + } else { + gs <- geom_jitter(alpha = alpha, position = position_jitter(width = 0.4, height = 0.0)) + } + check <- sub("jitter", "", check) + } else { + if (color == "none") { + gs <- geom_point(alpha = alpha, color = pointcol) + } else { + gs <- geom_point(alpha = alpha) + } + } + + for (i in xvar) { + if ("log_x" %in% axes && dc[i] == "factor") axes <- sub("log_x", "", axes) + + for (j in yvar) { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]])) + gs + + if ("log_x" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + xlab(paste("log", i)) + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", j)) + + if (dc[i] == "factor") { + ## make range comparable to bar plot + ymax <- max(0, max(dataset[[j]])) + ymin <- min(0, min(dataset[[j]])) + plot_list[[itt]] <- plot_list[[itt]] + ylim(ymin, ymax) + + fun1 <- function(y) { + y <- get(fun[1])(y) + data.frame(ymin = y, ymax = y, y = y, stringsAsFactors = FALSE) + } + + if (length(fun) == 1) { + ## need some contrast in this case + if (pointcol[1] == "black" && linecol[1] == "black") { + linecol[1] <- "blue" + } + + plot_list[[itt]] <- plot_list[[itt]] + + stat_summary( + fun.data = fun1, na.rm = TRUE, aes(fill = fun[1]), + geom = "crossbar", show.legend = FALSE, + color = linecol[1] + ) + } else { + plot_list[[itt]] <- plot_list[[itt]] + + stat_summary( + fun.data = fun1, na.rm = TRUE, aes(fill = fun[1]), + geom = "crossbar", show.legend = TRUE, + color = linecol[1] + ) + + if (length(fun) > 1) { + fun2 <- function(y) { + y <- get(fun[2])(y) + data.frame(ymin = y, ymax = y, y = y, stringsAsFactors = FALSE) + } + if (length(linecol) == 1) linecol <- c(linecol, "blue") + plot_list[[itt]] <- plot_list[[itt]] + + stat_summary( + fun.data = fun2, na.rm = TRUE, aes(fill = fun[2]), + geom = "crossbar", show.legend = FALSE, + color = linecol[2] + ) + } + + if (length(fun) == 3) { + fun3 <- function(y) { + y <- get(fun[3])(y) + data.frame(ymin = y, ymax = y, y = y, stringsAsFactors = FALSE) + } + if (length(linecol) == 2) linecol <- c(linecol, "red") + plot_list[[itt]] <- plot_list[[itt]] + + stat_summary( + fun.data = fun3, na.rm = TRUE, aes(fill = fun[3]), + geom = "crossbar", show.legend = FALSE, + color = linecol[3] + ) + } + + ## adding a legend if needed + plot_list[[itt]] <- plot_list[[itt]] + + scale_fill_manual(name = "", values = linecol, labels = fun) + + ## next line based on https://stackoverflow.com/a/25294787/1974918 + guides(fill = guide_legend(override.aes = list(color = NULL))) + } + + ## Not working for some reason + # fun_list <- list() + # for (f in seq_along(fun)) { + # fun_list[[f]] <- function(y) { + # y <- get(fun[deparse(f)])(y, na.rm = TRUE) + # data.frame(ymin = y, ymax = y, y = y, stringsAsFactors = FALSE) + # } + # plot_list[[itt]] <- plot_list[[itt]] + + # stat_summary(fun.data = fun_list[[f]], geom = "crossbar", color = c("red", "green", "blue")[f]) + # } + + nr <- nrow(dataset) + if (nr > 1000 || nr != length(unique(dataset[[i]]))) { + plot_list[[itt]]$labels$y %<>% paste0(., " (", paste(fun, collapse = ", "), ")") + } + } + + itt <- itt + 1 + } + } + } else if (type == "surface") { + itt <- 1 + for (i in xvar) { + if ("log_x" %in% axes && dc[i] == "factor") axes <- sub("log_x", "", axes) + interpolate <- ifelse("interpolate" %in% check, TRUE, FALSE) + + for (j in yvar) { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]], fill = .data[[fill]])) + + geom_raster(interpolate = interpolate) + + if ("log_x" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + xlab(paste("log", i)) + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", j)) + + itt <- itt + 1 + } + } + } else if (type == "line") { + itt <- 1 + for (i in xvar) { + for (j in yvar) { + flab <- "" + if (color == "none") { + if (dc[i] %in% c("factor", "date") || dc_org[j] == "factor") { + tbv <- if (is.null(byvar)) i else c(i, byvar) + tmp <- dataset %>% + group_by_at(.vars = tbv) %>% + select_at(.vars = c(tbv, j)) %>% + na.omit() %>% + summarise_all(fun) + colnames(tmp)[ncol(tmp)] <- j + plot_list[[itt]] <- ggplot(tmp, aes(x = .data[[i]], y = .data[[j]])) + + geom_line(aes(group = 1), color = linecol) + if (nrow(tmp) < 101) plot_list[[itt]] <- plot_list[[itt]] + geom_point(color = pointcol) + } else { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]])) + + geom_line(color = linecol) + } + } else { + if (dc[i] %in% c("factor", "date") || (!is.empty(dc_org[j]) && dc_org[j] == "factor")) { + tbv <- if (is.null(byvar)) i else unique(c(i, byvar)) + tmp <- dataset %>% + group_by_at(.vars = tbv) %>% + select_at(.vars = c(tbv, color, j)) %>% + na.omit() %>% + summarise_all(fun) + colnames(tmp)[ncol(tmp)] <- j + plot_list[[itt]] <- ggplot(tmp, aes(x = .data[[i]], y = .data[[j]], color = .data[[color]], group = .data[[color]])) + + geom_line() + if (nrow(tmp) < 101) plot_list[[itt]] <- plot_list[[itt]] + geom_point() + } else { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]], color = .data[[color]], group = .data[[color]])) + + geom_line() + } + } + if ("log_x" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + xlab(paste("log", i)) + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", j)) + if ((dc[i] %in% c("factor", "date") || (!is.empty(dc_org[j]) && dc_org[j] == "factor")) && nrow(tmp) < nrow(dataset)) { + if (exists("levs")) { + if (j %in% names(levs) && !is.na(levs[j])) { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, " {", levs[j], "})") + } else { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, ")") + } + } else { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, ")") + } + } + itt <- itt + 1 + } + } + } else if (type == "line-single") { + itt <- 1 + for (i in yvar) { + if (color == "none") { + plot_list[[itt]] <- ggplot(dataset, aes(x = seq_along(.data[[i]]), y = .data[[i]])) + + geom_line(color = linecol) + + labs(x = "") + } else { + plot_list[[itt]] <- ggplot(dataset, aes(x = seq_along(.data[[i]]), y = .data[[i]], color = .data[[color]], group = .data[[color]])) + + geom_line() + + labs(x = "") + } + itt <- itt + 1 + } + } else if (type == "bar") { + itt <- 1 + for (i in xvar) { + if (!"factor" %in% dc[i]) dataset[[i]] %<>% as_factor() + if ("log_x" %in% axes) axes <- sub("log_x", "", axes) + for (j in yvar) { + tbv <- if (is.null(byvar)) i else c(i, byvar) + tmp <- dataset %>% + group_by_at(.vars = tbv) %>% + select_at(.vars = c(tbv, j)) %>% + na.omit() %>% + summarise_all(fun) + colnames(tmp)[ncol(tmp)] <- j + + if ("sort" %in% axes && facet_row == "." && facet_col == ".") { + if ("flip" %in% axes) { + tmp <- arrange_at(ungroup(tmp), .vars = j) + } else { + tmp <- arrange_at(ungroup(tmp), .vars = j, .funs = desc) + } + tmp[[i]] %<>% factor(., levels = unique(.)) + } + + plot_list[[itt]] <- ggplot(tmp, aes(x = .data[[i]], y = .data[[j]])) + { + if (fill == "none") { + geom_bar(stat = "identity", position = "dodge", alpha = alpha, fill = fillcol) + } else { + geom_bar(stat = "identity", position = "dodge", alpha = alpha) + } + } + + if (!custom && (fill == "none" || fill == i)) { + plot_list[[itt]] <- plot_list[[itt]] + theme(legend.position = "none") + } + + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", j)) + + if (dc[i] %in% c("factor", "integer", "date") && nrow(tmp) < nrow(dataset)) { + if (exists("levs")) { + if (j %in% names(levs) && !is.na(levs[j])) { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, " {", levs[j], "})") + } else { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, ")") + } + } else { + plot_list[[itt]]$labels$y %<>% paste0(., " (", fun, ")") + } + } + + itt <- itt + 1 + } + } + } else if (type == "box") { + itt <- 1 + for (i in xvar) { + if (!"factor" %in% dc[i]) dataset[[i]] %<>% as_factor + for (j in yvar) { + if (color == "none") { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]])) + + geom_boxplot(alpha = alpha, fill = fillcol, outlier.color = pointcol, color = linecol) + } else { + plot_list[[itt]] <- ggplot(dataset, aes(x = .data[[i]], y = .data[[j]], fill = .data[[color]])) + + geom_boxplot(alpha = alpha) + } + + if (!custom && (color == "none" || color == i)) { + plot_list[[itt]] <- plot_list[[itt]] + theme(legend.position = "none") + } + + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", j)) + + itt <- itt + 1 + } + } + } else if (type == "box-single") { + itt <- 1 + for (i in xvar) { + if (color == "none") { + plot_list[[itt]] <- dataset %>% ggplot(aes(x = "", y = .data[[i]])) + + geom_boxplot(alpha = alpha, fill = fillcol, outlier.color = pointcol, color = linecol) + + scale_x_discrete(labels = NULL, breaks = NULL) + + labs(x = "") + } else { + plot_list[[itt]] <- dataset %>% ggplot(aes(x = "", y = .data[[i]], fill = color)) + + geom_boxplot(alpha = alpha) + } + + if (!custom && (color == "none" || color == i)) { + plot_list[[itt]] <- plot_list[[itt]] + theme(legend.position = "none") + } + + if ("log_y" %in% axes) plot_list[[itt]] <- plot_list[[itt]] + ylab(paste("log", i)) + + itt <- itt + 1 + } + } + + + if (facet_row != "." || facet_col != ".") { + facets <- if (facet_row == ".") { + paste("~", facet_col) + } else { + paste(facet_row, "~", facet_col) + } + scl <- if ("scale_y" %in% axes) "free_y" else "fixed" + facet_fun <- if (facet_row == ".") facet_wrap else facet_grid + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + facet_fun(as.formula(facets), scales = scl) + } + } + + if (color != "none") { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + aes(color = .data[[color]]) + } + } + + if (size != "none") { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + aes(size = .data[[size]]) + } + } + + if (fill != "none") { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + aes(fill = .data[[fill]]) + } + } + + if ((length(xlim) == 2 && is.numeric(xlim)) && + (length(ylim) == 2 && is.numeric(ylim))) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + coord_cartesian(xlim = xlim, ylim = ylim) + } + } else if (length(xlim) == 2 && is.numeric(xlim)) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + coord_cartesian(xlim = xlim) + } + } else if (length(ylim) == 2 && is.numeric(ylim)) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + coord_cartesian(ylim = ylim) + } + } + + if ("jitter" %in% check) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + + geom_jitter(alpha = alpha, position = position_jitter(width = 0.4, height = 0.0)) + } + } + + if ("line" %in% check) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + + sshhr(geom_smooth(method = "lm", alpha = 0.2, linewidth = .75, linetype = "dashed")) + } + } + + if ("loess" %in% check) { + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + + sshhr(geom_smooth(span = smooth, method = "loess", alpha = 0.2, linewidth = .75, linetype = "dotdash")) + } + } + + if ("flip" %in% axes) { + ## reverse legend ordering if available + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + coord_flip() + + guides(fill = guide_legend(reverse = TRUE)) + + guides(color = guide_legend(reverse = TRUE)) + } + } + + if (length(labs) > 0) { + if (is.list(labs[[1]])) { + for (i in 1:length(labs)) { + plot_list[[i]] <- plot_list[[i]] + do.call(ggplot2::labs, labs[[i]]) + } + } else { + plot_list[[1]] <- plot_list[[1]] + do.call(ggplot2::labs, labs) + } + } + + ## setting theme + for (i in 1:length(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + + get(theme)(base_size = ifelse(is.na(base_size), 11, base_size), base_family = base_family) + } + + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = min(length(plot_list), 2)) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } +} + +#' Create a qscatter plot similar to Stata +#' +#' @param dataset Data to plot (data.frame or tibble) +#' @param xvar Character indicating the variable to display along the X-axis of the plot +#' @param yvar Character indicating the variable to display along the Y-axis of the plot +#' @param lev Level in yvar to use if yvar is of type character of factor. If lev is empty then the first level is used +#' @param fun Summary measure to apply to both the x and y variable +#' @param bins Number of bins to use +#' +#' @examples +#' qscatter(diamonds, "price", "carat") +#' qscatter(titanic, "age", "survived") +#' +#' @importFrom rlang .data +#' +#' @export +qscatter <- function(dataset, xvar, yvar, lev = "", fun = "mean", bins = 20) { + if (is.character(dataset[[yvar]])) { + dataset <- mutate_at(dataset, .vars = yvar, .funs = as.factor) + } + if (is.factor(dataset[[yvar]])) { + if (is.empty(lev)) lev <- levels(pull(dataset, !!yvar))[1] + dataset <- mutate_at(dataset, .vars = yvar, .funs = function(y) as.integer(y == lev)) + lev <- paste0(" {", lev, "}") + } else { + lev <- "" + } + mutate_at(dataset, .vars = xvar, .funs = list(bins = ~ radiant.data::xtile(., bins))) %>% + group_by(bins) %>% + summarize_at(.vars = c(xvar, yvar), .funs = fun) %>% + ggplot(aes(x = .data[[xvar]], y = .data[[yvar]])) + + geom_point() + + labs(y = paste0(yvar, " (", fun, lev, ")")) +} diff --git a/radiant.data/README.md b/radiant.data/README.md new file mode 100644 index 0000000..b92da26 --- /dev/null +++ b/radiant.data/README.md @@ -0,0 +1,187 @@ +# Radiant - Business analytics using R and Shiny + + + +[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/radiant.data)](https://CRAN.R-project.org/package=radiant.data) + + +Radiant is an open-source platform-independent browser-based interface for business analytics in [R](https://www.r-project.org/). The application is based on the [Shiny](https://shiny.posit.co/) package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.data/issues. For other questions and comments please use radiant@rady.ucsd.edu. + +## Key features + +- Explore: Quickly and easily summarize, visualize, and analyze your data +- Cross-platform: It runs in a browser on Windows, Mac, and Linux +- Reproducible: Recreate results and share work with others as a state file or an [Rmarkdown](https://rmarkdown.rstudio.com/) report +- Programming: Integrate Radiant's analysis functions with your own R-code +- Context: Data and examples focus on business applications + + + +#### Playlists + +There are two youtube playlists with video tutorials. The first provides a general introduction to key features in Radiant. The second covers topics relevant in a course on business analytics (i.e., Probability, Decision Analysis, Hypothesis Testing, Linear Regression, and Simulation). + +* Introduction to Radiant +* Radiant Tutorial Series + +#### Explore + +Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., `Estimate` in _Model > Estimate > Logistic regression (GLM)_). This facilitates rapid exploration and understanding of the data. + +#### Cross-platform + +Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server. + +#### Reproducible + +To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using [Rmarkdown](https://rmarkdown.rstudio.com/). See also the section on `Saving and loading state` below + +If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to [Joe Cheng](https://github.com/jcheng5). + +#### Programming + +Although Radiant's web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant's functions directly from R-code). For more information about programming with Radiant see the [programming](https://radiant-rstats.github.io/docs/programming.html) page on the documentation site. + +#### Context + +Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve. + +## How to install Radiant + +- Required: [R](https://cran.r-project.org/) version 4.0.0 or later +- Required: [Rstudio](https://posit.co/download/rstudio-server/) + +In Rstudio you can start and update Radiant through the `Addins` menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Once all packages are installed, select `Start radiant` from the `Addins` menu in Rstudio or use the command below to launch the app: + +```r +radiant::radiant() +``` + +To launch Radiant in Rstudio's viewer pane use the command below: + +```r +radiant::radiant_viewer() +``` + +To launch Radiant in an Rstudio Window use the command below: + +```r +radiant::radiant_window() +``` + +To easily update Radiant and the required packages, install the `radiant.update` package using: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("remotes") +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never") +``` + +Then select `Update radiant` from the `Addins` menu in Rstudio or use the command below: + +```r +radiant.update::radiant.update() +``` + +See the [installing radiant](https://radiant-rstats.github.io/docs/install.html) page additional for details. + +**Optional:** You can also create a launcher on your Desktop to start Radiant by typing `radiant::launcher()` in the R(studio) console and pressing return. A file called `radiant.bat` (windows) or `radiant.command` (mac) will be created that you can double-click to start Radiant in your default browser. The `launcher` command will also create a file called `update_radiant.bat` (windows) or `update_radiant.command` (mac) that you can double-click to update Radiant to the latest release. + +When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click `Stop`. The Radiant process will stop and the browser window will close (Chrome) or gray-out. + +## Documentation + +Documentation and tutorials are available at and in the Radiant web interface (the icons on each page and the icon in the navigation bar). + +Individual Radiant packages also each have their own [pkgdown](https://github.com/r-lib/pkgdown) sites: + +* http://radiant-rstats.github.io/radiant +* http://radiant-rstats.github.io/radiant.data +* http://radiant-rstats.github.io/radiant.design +* http://radiant-rstats.github.io/radiant.basics +* http://radiant-rstats.github.io/radiant.model +* http://radiant-rstats.github.io/radiant.multivariate + +Want some help getting started? Watch the tutorials on the [documentation site](https://radiant-rstats.github.io/docs/tutorials.html). + + +## Reporting issues + +Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant. + +## Try Radiant online + +Not ready to install Radiant on your computer? Try it online at the link below: + +https://vnijs.shinyapps.io/radiant + +Do **not** upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons. + +## Running Radiant on shinyapps.io + +To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running `radiant/inst/app/for.shinyapps.io.R`. Finally, open `radiant/inst/app/ui.R` and [deploy](https://shiny.posit.co/articles/shinyapps.html) the application. + +## Running Radiant on shiny-server + +You can also host Radiant using [shiny-server](https://posit.co/download/shiny-server/). First, install radiant on the server using the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Then clone the radiant repo and point shiny-server to the `inst/app/` directory. As a courtesy, please let me know if you intend to use Radiant on a server. + +When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in _Report > Rmd_ and _Report > R_ will not be evaluated for security reasons. If you have `sudo` access to the server and have appropriate security in place you can change these settings by adding the following lines to `.Rprofile` for the `shiny` user on the server. + +```bash +options(radiant.maxRequestSize = -1) ## no file size limit +options(radiant.report = TRUE) +``` + +## Running Radiant in the cloud (e.g., AWS) + +To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details + +## Saving and loading state + +To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on `Save radiant state file` (see also the _Data > Manage_ tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file [`radiant-example.state.rda`](https://radiant-rstats.github.io/docs/examples/radiant-example.state.rda) by clicking on the icon in the navbar and then on `Load radiant state file`. Go to _Data > View_ and _Data > Visualize_ to see some of the settings from the previous "state" of the app. There is also a report in _Report > Rmd_ that was created using the Radiant interface. The html file `radiant-example.nb.html` contains the output. + +A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use `Refresh` in the menu in the navigation bar to return to a clean/new state. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > `Stop` to stop the app, lists called `r_data`, `r_info`, and `r_state` will be put into Rstudio's global workspace. If you start radiant again using `radiant::radiant()` it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state. + +**Technical note**: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called `r_state`. If there is, this value is used. The `r_state` list is created when saving state using `reactiveValuesToList(input)`. An example of a call to `numericInput` is given below where the `state_init` function from `radiant.R` is used to check if a value from `r_state` can be used. + +```r +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0)) +``` + +## Source code + +The source code for the radiant application is available on GitHub at . `radiant.data`, offers tools to load, save, view, visualize, summarize, combine, and transform data. `radiant.design` builds on `radiant.data` and adds tools for experimental design, sampling, and sample size calculation. `radiant.basics` covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. `radiant.model` covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, `radiant.multivariate` includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis. + +These tools are used in the _Business Analytics_, _Quantitative Analysis_, _Research for Marketing Decisions_, _Applied Market Research_, _Consumer Behavior_, _Experiments in Firms_, _Pricing_, _Pricing Analytics_, and _Customer Analytics_ classes at the Rady School of Management (UCSD). + +## Credits + +Radiant would not be possible without [R](https://cran.r-project.org/) and [Shiny](https://shiny.posit.co/). I would like to thank [Joe Cheng](https://github.com/jcheng5), [Winston Chang](https://github.com/wch), and [Yihui Xie](https://github.com/yihui) for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, shinyFiles, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page. + + +## License + + +Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +The documentation, images, and videos for the `radiant.data` package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for `radiant.design`, `radiant.basics`, `radiant.model`, and `radiant.multivariate`, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA. + +If you are interested in using any of the radiant packages please email me at radiant@rady.ucsd.edu + +© Vincent Nijs (2024) Creative Commons License diff --git a/radiant.data/_pkgdown.yml b/radiant.data/_pkgdown.yml new file mode 100644 index 0000000..b43df3c --- /dev/null +++ b/radiant.data/_pkgdown.yml @@ -0,0 +1,265 @@ +url: https://radiant-rstats.github.io/radiant.data + +template: + params: + docsearch: + api_key: 311c7eff313b1f67999e5838086df74e + index_name: radiant_data + +navbar: + title: "radiant.data" + left: + - icon: fa-home fa-lg + href: index.html + - text: "Reference" + href: reference/index.html + - text: "Articles" + href: articles/index.html + - text: "Changelog" + href: news/index.html + - text: "Other Packages" + menu: + - text: "radiant" + href: https://radiant-rstats.github.io/radiant/ + - text: "radiant.data" + href: https://radiant-rstats.github.io/radiant.data/ + - text: "radiant.design" + href: https://radiant-rstats.github.io/radiant.design/ + - text: "radiant.basics" + href: https://radiant-rstats.github.io/radiant.basics/ + - text: "radiant.model" + href: https://radiant-rstats.github.io/radiant.model/ + - text: "radiant.multivariate" + href: https://radiant-rstats.github.io/radiant.multivariate/ + - text: "docker" + href: https://github.com/radiant-rstats/docker + right: + - icon: fa-twitter fa-lg + href: https://twitter.com/vrnijs + - icon: fa-github fa-lg + href: https://github.com/radiant-rstats + +reference: + - title: Data > Manage + desc: Functions used with Data > Manage + contents: + - choose_dir + - choose_files + - describe + - find_dropbox + - find_gdrive + - find_home + - find_project + - fix_names + - get_data + - load_clip + - parse_path + - read_files + - save_clip + - write_parquet + - to_fct + - title: Data > View + desc: Functions used with Data > View + contents: + - dtab + - dtab.data.frame + - filter_data + - make_arrange_cmd + - arrange_data + - slice_data + - search_data + - view_data + - title: Data > Visualize + desc: Function used with Data > Visualize + contents: + - visualize + - qscatter + - ggplotly + - subplot + - title: Data > Pivot + desc: Functions used with Data > Pivot + contents: + - pivotr + - summary.pivotr + - dtab.pivotr + - plot.pivotr + - title: Data > Explore + desc: Functions used with Data > Pivot + contents: + - explore + - summary.explore + - dtab.explore + - flip + - title: Data > Transform + desc: Functions used with Data > Transform + contents: + - as_character + - as_distance + - as_distance + - as_dmy + - as_dmy_hm + - as_dmy_hms + - as_duration + - as_factor + - as_hm + - as_hms + - as_integer + - as_mdy + - as_mdy_hm + - as_mdy_hms + - as_numeric + - as_ymd + - as_ymd_hm + - as_ymd_hms + - center + - cv + - inverse + - is.empty + - is_not + - is_double + - is_string + - level_list + - ln + - make_train + - month + - mutate_ext + - n_missing + - n_obs + - normalize + - make_vec + - me + - meprop + - modal + - p025 + - p05 + - p10 + - p25 + - p75 + - p90 + - p95 + - p975 + - prop + - refactor + - sdpop + - sdprop + - se + - seprop + - show_duplicated + - square + - standardize + - store + - table2data + - varpop + - varprop + - wday + - weighted.sd + - which.pmax + - which.pmin + - pfun + - psum + - pmean + - psd + - pvar + - pcv + - pp01 + - pp025 + - pp05 + - pp25 + - pp75 + - pp95 + - pp975 + - pp99 + - xtile + - title: Data > Combine + desc: Functions used with Data > Combine + contents: + - combine_data + - title: Report + desc: Functions used with Report > Rmd and Report > R + contents: + - fix_smart + - format_df + - format_nr + - round_df + - register + - deregister + - render + - render.datatables + - render.plotly + - title: Convenience functions + desc: Convenience functions + contents: + - add_class + - add_description + - get_class + - ci_label + - ci_perc + - copy_all + - copy_attr + - copy_from + - does_vary + - empty_level + - get_summary + - indexr + - install_webshot + - iterms + - qterms + - set_attr + - sig_stars + - sshh + - sshhr + - title: Starting radiant.data + desc: Functions used to start radiant shiny apps + contents: + - launch + - radiant.data + - radiant.data_url + - radiant.data_viewer + - radiant.data_window + - title: Re-exported + desc: Functions exported from other packages + contents: + - as_tibble + - tibble + - rownames_to_column + - glance + - tidy + - glue + - glue_collapse + - glue_data + - knit_print + - kurtosi + - skew + - title: Data sets + desc: Data sets bundled with radiant.data + contents: + - avengers + - diamonds + - publishers + - superheroes + - titanic + - title: Deprecated + desc: Deprecated + contents: + - radiant.data-deprecated + - store.pivotr + - store.explore +articles: + - title: Data Menu + desc: > + These vignettes provide an introduction to the Data menu in radiant + contents: + - pkgdown/manage + - pkgdown/view + - pkgdown/visualize + - pkgdown/pivotr + - pkgdown/explore + - pkgdown/transform + - pkgdown/combine + - title: Report + contents: + - pkgdown/report_rmd + - pkgdown/report_r + - title: State + contents: + - pkgdown/state diff --git a/radiant.data/build/build.R b/radiant.data/build/build.R new file mode 100644 index 0000000..9c0968d --- /dev/null +++ b/radiant.data/build/build.R @@ -0,0 +1,87 @@ +setwd(rstudioapi::getActiveProject()) +curr <- getwd() +pkg <- basename(curr) + +## building package for mac and windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) stop("Change R-version") + +dirsrc <- "../minicran/src/contrib" + +if (rv < "3.4") { + dirmac <- fs::path("../minicran/bin/macosx/mavericks/contrib", rv) +} else if (rv > "3.6") { + dirmac <- c( + fs::path("../minicran/bin/macosx/big-sur-arm64/contrib", rv), + fs::path("../minicran/bin/macosx/contrib", rv) + ) +} else { + dirmac <- fs::path("../minicran/bin/macosx/el-capitan/contrib", rv) +} + +dirwin <- fs::path("../minicran/bin/windows/contrib", rv) + +if (!fs::file_exists(dirsrc)) fs::dir_create(dirsrc, recursive = TRUE) +for (d in dirmac) { + if (!fs::file_exists(d)) fs::dir_create(d, recursive = TRUE) +} +if (!fs::file_exists(dirwin)) fs::dir_create(dirwin, recursive = TRUE) + +# delete older version of radiant +rem_old <- function(pkg) { + unlink(paste0(dirsrc, "/", pkg, "*")) + for (d in dirmac) { + unlink(paste0(d, "/", pkg, "*")) + } + unlink(paste0(dirwin, "/", pkg, "*")) +} + +sapply(pkg, rem_old) + +## avoid 'loaded namespace' stuff when building for mac +system(paste0(Sys.which("R"), " -e \"setwd('", getwd(), "'); app <- '", pkg, "'; source('build/build_mac.R')\"")) + +win <- readline(prompt = "Did you build on Windows? y/n: ") +if (grepl("[yY]", win)) { + + fl <- list.files(pattern = "*.zip", path = "~/Dropbox/r-packages", full.names = TRUE) + for (f in fl) { + file.copy(f, "~/gh/") + } + unlink(fl) + + ## move packages to radiant_miniCRAN. must package in Windows first + # path <- normalizePath("../") + pth <- fs::path_abs("../") + + sapply(list.files(pth, pattern = "*.tar.gz", full.names = TRUE), file.copy, dirsrc) + unlink("../*.tar.gz") + for (d in dirmac) { + sapply(list.files(pth, pattern = "*.tgz", full.names = TRUE), file.copy, d) + } + unlink("../*.tgz") + sapply(list.files(pth, pattern = "*.zip", full.names = TRUE), file.copy, dirwin) + unlink("../*.zip") + + tools::write_PACKAGES(dirwin, type = "win.binary") + for (d in dirmac) { + tools::write_PACKAGES(d, type = "mac.binary") + } + tools::write_PACKAGES(dirsrc, type = "source") + + # commit to repo + setwd("../minicran") + system("git add --all .") + mess <- paste0(pkg, " package update: ", format(Sys.Date(), format = "%m-%d-%Y")) + system(paste0("git commit -m '", mess, "'")) + system("git push") +} + +setwd(curr) + +# remove.packages(c("radiant.model", "radiant.data")) +# radiant.update::radiant.update() +# install.packages("radiant.update") diff --git a/radiant.data/build/build_mac.R b/radiant.data/build/build_mac.R new file mode 100644 index 0000000..1452bac --- /dev/null +++ b/radiant.data/build/build_mac.R @@ -0,0 +1,6 @@ +## build for mac +app <- basename(getwd()) +curr <- setwd("../") +f <- devtools::build(app) +system(paste0("R CMD INSTALL --build ", f)) +setwd(curr) diff --git a/radiant.data/build/build_win.R b/radiant.data/build/build_win.R new file mode 100644 index 0000000..f988de1 --- /dev/null +++ b/radiant.data/build/build_win.R @@ -0,0 +1,24 @@ +## build for windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) + stop("Change R-version using Rstudio > Tools > Global Options > Rversion") + +## build for windows +setwd(rstudioapi::getActiveProject()) +f <- devtools::build(binary = TRUE) +devtools::install(upgrade = "never") + +f <- list.files(pattern = "*.zip", path = "../", full.names = TRUE) + +print(glue::glue("Copying: {f}")) +file.copy(f, "C:/Users/vnijs/Dropbox/r-packages/", overwrite = TRUE) +unlink(f) + +#options(repos = c(RSM = "https://radiant-rstats.github.io/minicran")) +#install.packages("radiant.data", type = "binary") +#remove.packages(c("radiant.data", "radiant.model")) +#install.packages("radiant.update") +#radiant.update::radiant.update() diff --git a/radiant.data/cran-comments.md b/radiant.data/cran-comments.md new file mode 100644 index 0000000..1a3d0a8 --- /dev/null +++ b/radiant.data/cran-comments.md @@ -0,0 +1,329 @@ +## Resubmission + +This is a resubmission. In this version I moved the arrow package to 'recommended' because of its size on macOS (>100MB) + +## Test environments + +* macOS, R 4.4.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + +# Previous cran-comments + +## Resubmission + +This is a resubmission. In this version I require shiny version 1.8.1 or newer and have addressed a breaking change introduced in that version of shiny. See NEWS.md for details. + +## Test environments + +* macOS, R 4.4.0 +* macOS, R 4.3.2 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + + +## Resubmission + +This is a resubmission. In this version I require shiny version 1.8.0 which fixed a bug that caused issues in the radiant apps. See NEWS.md for details. + +## Test environments + +* macOS, R 4.3.2 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have fixed a bug that caused problems for users on Windows with a space in their username. See NEWS.md for details. + +## Test environments + +* macOS, R 4.3.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this update I fixed a strange issue related the patchwork package. At least it was strange to me. In the code below `any` should not be needed. However, it seems that a patchwork object can have length == 1 and still have is.na return a vector of length > 1. Perhaps there are other libraries that have objects like this but I have never seen this before. + +My apologies for submitting a new version so soon after the previous version. + +```r +length(x) == 0 || (length(x) == 1 && any(is.na(x))) +``` + +## Test environments + +* macOS, R 4.3.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this update I have added features and removed a bug. See NEWS.md. + +## Test environments + +* macOS, R 4.3.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + +## Resubmission + +This is a resubmission. In this update I have added features and cleaned up code to avoid issues with markdown deprecation warnings. See NEWS.md. + +## Test environments + +* macOS, R 4.2.2 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + +# + +## Resubmission + +This is a resubmission. In this update I have added features and cleaned up code to avoid issues with ggplot deprecation warnings. See NEWS.md. Also, URLs have been updated from Rstudio to Posit and the Radiant Documentation site is now back online and accessible. + +I have also tried to address the build issue connected to calibre. See note below. + +"This suggests you open a web browser in non interactive mode. Please use +such calls only conditionally via + +if(interactive()) + +Please fix and resubmit. + +Best, +Uwe Ligges +" + +## Test environments + +* macOS, R 4.2.2 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this update I have addressed three issues. See NEWS.md. + +## Test environments + +* macOS, R 4.2.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I fixed a dependency issue that is essential for correct functioning of the radiant.data shiny application. This feature is difficult to evaluate with automated testing and unfortunately I made a mistake in the submission earlier today. I uncovered the issue after upgrading to R 4.2.1. My apologies. + +## Test environments + +* macOS, R 4.2.1 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have fixed a bug and added features (see NEWS.md for details). + +## Test environments + +* macOS, R 4.2.0 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have fixed bugs and updated documentation (see NEWS.md for details). I also fixed an link issue in the documentation for sshh and sshhr + +## Test environments + +* macOS, R 4.2.0 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have fixed several bugs and added several new features (see NEWS.md for details). + +## Test environments + +* local Ubuntu 20.04, R 4.1.0 +* local Ubuntu 20.04 through WSL2, R 4.0.5 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + +## Resubmission + +This is a resubmission. In this version I have address a problem linked to issue: https://github.com/yihui/knitr/issues/1864 There are also a number of changes that allow users to change the aesthetics of the app using `bslib` if available. + +## Test environments + +* local Ubuntu 20.04, R 4.1.0 +* local Ubuntu 20.04 through WSL2, R 4.0.5 +* win-builder (devel) + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + +# Previous cran-comments + + +## Resubmission + +This is a resubmission. In this version I have fixed issues related to updates in the `magrittr` and `readr` packages. I + +## Test environments + +* Ubuntu 20.04, R 4.0.3 +* win-builder (devel) +* ubuntu "bionic" (on travis-ci), R release and devel + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have added back a feature that is now supported in dplyr 1.0.1 and made it easier to connect to Google Drive from the file-browser. I also, updated links that CRAN's automated checking listed. + +## Test environments + +* local OS X install, R 4.0.2 +* local Windows install, R 4.0.2 +* win-builder (devel) +* ubuntu "bionic" (on travis-ci), R release and devel + +## R CMD check results + +There were no ERRORs or WARNINGs. There was one NOTE related to the number of non-standard dependencies. However, this note is not easily addressed without substantially inconveniencing users that rely on the web (shiny) interface available for radiant.data. + + +## Resubmission + +This is a resubmission. In this version I have fixed a bug and removed a feature that no-longer works with dplyr 1.0.0 (see NEWS.md for details). Also, update the link to the ggplot2 documentation + +## Test environments + +* local OS X install, R 4.0.1 +* local Windows install, R 4.0.0 +* win-builder + +## R CMD check results + +There were no ERRORs or WARNINGs. There is one NOTE about the number of imported non-default packages. + +## Resubmission + +This is a resubmission. In this version I have fixed several bugs and added several new features (see NEWS.md for details). + +## Test environments + +* local OS X install, R 3.6.3 +* local Windows install, R 3.6.2 +* ubuntu "trusty" (on travis-ci), R release and devel +* win-builder + +## R CMD check results + +There were no ERRORs, WARNINGs, or NOTEs. + + +## Resubmission + +This is a resubmission. In this version I have fixed several bugs and added several new features (see NEWS.md for details). + +## Test environments + +* local OS X install, R 3.6.1 +* local Windows install, R 3.6.1 +* ubuntu "trusty" (on travis-ci), R release and devel +* win-builder + +## R CMD check results + +There were no ERRORs, WARNINGs, or NOTEs. + +## Resubmission + +This is a resubmission. In this version I have fixed several bugs and added several new features (see NEWS.md for details). + +## Test environments + +* local OS X install, R 3.6.1 +* local Windows install, R 3.6.1 +* ubuntu "trusty" (on travis-ci), R release and devel +* win-builder +* rhub + +## R CMD check results + +There were no ERRORs, WARNINGs, or NOTEs. + +# Previous cran-comments + +## Resubmission + +This is a resubmission. In this version I have fixed several bugs and added several new features (see NEWS.md for details). + +## Test environments + +* local OS X install, R 3.5.2 +* local Windows install, R 3.5.2 +* ubuntu "trusty" (on travis-ci), R release and devel +* win-builder + +## R CMD check results + +There were no ERRORs, WARNINGs, or NOTEs. diff --git a/radiant.data/data/avengers.rda b/radiant.data/data/avengers.rda new file mode 100644 index 0000000000000000000000000000000000000000..3356e7a0fb17abe99a953f22da37a8e8335d1ac6 GIT binary patch literal 967 zcmb_aO;6k~5H*_sU8Aa%`UghZb2)HC0*S(b9=3-TQEsbAGD)m;?8x!5>aBmf66$sw zY!EqAmC9l4nR)Z!ndh%pcPH{r3L$19+uswjjMaR`$DYW=obNYyPo^O^2$6jVAj^A} z!-(fMt#v8(v$F=4XcBh4(d(!mUgLI6KPZ|*n3n4E;@3m#FV(i z#*nwuzKyk249WjP&kC%jr90H=o%uiL2Q~dQ>gB=?mgw$D$EUxp^^&@|v)f~X9Wi&} zEz9gDAG_V|*M#GviiXmu-YaW3BG8-Ye^@NwBK`m=7i`_4Q&?ykr2Gh>I-J3<>B&J$ z&W;`iP^-ptWIUsR9k32~(@?hPu=M0OrXf>t+8KoHg@DIBGSY7ftp={g;Ml^};9G*y zcB*_vrTk(&ox%-A5~u+XD$=SThn}EQgU2=d&6r!E$7A?LG+Hg`9%{vXBfPp|9M0j= zc7-yu0*}RHP5Wt=VL^HNd%+p?`P0;i-Nz9V{500IaH(+!B!$9R%Jqd_Rduv7wxTM> MNop7R3h_J0AJ#m<3IG5A literal 0 HcmV?d00001 diff --git a/radiant.data/data/diamonds.rda b/radiant.data/data/diamonds.rda new file mode 100644 index 0000000000000000000000000000000000000000..0a2e828a77d6904bdf2c7f2b82ae2d8290fe8049 GIT binary patch literal 53992 zcmW)Hhg%Z{_w{S3QmdF+RAff$K&yg?Y)Dk9s0gTtY@#4THiR%Uv?!=Rq9PzG5fPCs zdnY0z?6AWK1PBlykU$36$*dZLC|2jT+=9wCuV-DrDLQT*UeSQQh-&fbujQLaKU!&ClzrPS zF5XizxOK%~au}Srhlf%aziVJktc2=P!nX@Da^kK#z>chQUdXcZ+qJpfdLmY*h}9!v z?Tcm37iU@ErQrs`mSQyvh+L-b-dtaNK=2hyEi6u#{ey!AG0hCRPKo&P5vb!jfzF_2 zg{+ZE{1?Cu<07zMsd@wx2(yu6#m&W8>2CSj>y(TV|FS^@=Uy4}qO?+z?TByT?)LU+&VR@~0Pavy1&D7HVFo0bO@p zc+(15Be$=_f7THu^OME_a>>#XbV>1H@;c>g7E8sUmYft}6FXxMjre+bM_hAY%4?}! zjW+8d-*=gQj$1lGAo3$f(_LB|g1ZAz+tR@D^*fVlrc<3whJ$loKpb0g8Z)csEDozX+{bw;sCiC zQ&yb+B;(eA34?Gln`_qMAV+@c!cHJYtbL2PXK-rH$6TKxpt7s>nuUQ!%A${lSZ-4d4wPaWCvd}**wE9By1`Ko9q&)ExueIn2kJuZAs?ua;DrP`r z?LPAb)tA_{9A_PXYI313l~|)DJBSU7o?E|2`S+y!Kq23(CSkV5R!F%fY|kN#N6X9Q zUq`R+YZfd_Lie`|e8v@alB!iT{HKuNDV!^wcEp~H z@n-E-D?DMc()&=6!GU)Uy$HN)4XXc!wcpWrK*T^HmNi9`GRazb9s-^o|={C84N0$7Pj{ICdlBc6U%R~)gKjI zBfEfe({9!w>sP;kSpH-dVb(J3E(@j(f;J;7CqnZB<@Shltl@g*brt&}N)_W#a!nCzdUlmgJS2aA;kPFd{#oxdWzLbEoC zHwB-PWRB_g9a2nMHdAJ|U0o1$Z@-u3ncgN?dzZj|cE+Tp1ZyAKr`bt&n|kyBdf<0) z`frTHmxnDY0+)^oknv^l?9@{u!`GHG6weN-_?0fl2Ip;FFFcYEFILTK^I zKe>YzrWFh^zI1r}nJ09$$R_#x!_xDp8xEVI-=>z$m)n(W@Fg^4<&%#vKjjKefmlg9 zpkF?|l;^UO*o{^68}$01zsG>(p_?W>42h@Tl&PsNS;to`NDS1h^e&!mw!4|ZS;9g2 z6ZgDe2LeI`L#T;+CQqMF7?ek|Rx=Mip8O87GynAZdD>6vLE&iN<6x^u^$!&TA}{5A zR;#i`gWPYNT6W*t?>>zYwGSdQ3+Yiv`}};%B?y$^6!V2C%)DqFpiXh9l*3YZ$IEKb zMxFd_sQR7ET9@q;=hY5+94H@Ysl`#t!d~{pvz|s+oH08;tp>N;$#$C+L|Ms9e80V> zn;r;&=MD)J-r&LpEF4AZ<6%()28@&@NK8~+s2^Zqg83$uSLh!cmTJ;lXnlA_f$HxW zz4hH^@LtcQA`Mt+INfEr8o|&w<2qQheOHeC!>6=7j5(c9*qN$3d+ z$5`_%M;oMSM$qXca(r*piQe5wMD;<~_obt0xf!<$<3;>w`BZ4i-sK#VCQuP2>I3`d zq9UVZ;$mUf4dDZ;=&|9C@s|ca^NmbGQzmBand>-|yXu-L^%$i;ZRH$lPFxqp{LI|j zWBhlE=0mjGNns&ydlKyS;B zz`>yp1XZ8>qi=0m*P;fBy|#((D_2T>*6$5_9rn268Q1(T)cS9zfTreabvSKJQYv## z1nbYTkT&Y&#!p>!Xtu=GrLUzgJ36PpNy{;L<16LTak=YBRWp~-Vk2w%o1)_>7RTXc zS7PFdzN7w$+4@GlX}jjV6sLqvCg;Fv+L*_eu>~%y@}ETpF4X%%>hB9%L#ST?K%D-$g@Wz~1_pubfWNrA>& zE%G6YpFPKg;?Mf(S`pnKo8Xd0hWX53@g6Jsn1*A3`0fOxxz8ZhB)Fd}MYT+>?MWa|X)51pIxPCb@cKD=%d30~@p>_4>s%F$m0deFX>uA}a|e%4inypl)oik+dkimerr2b??ewq( zirV;j&E>YRPSQWQ-~!^kW%AR70X8Zq6nR%jTScg!FAb`BfQJs<^%@<{YWK&Yxfl8A zry~o$%;a9C|6T^mpSWBZ)s9mH&miXoO(@APz|5zlD1un#0y^vIc!T#XzwVgPv(SH5BNsGIaGxvfn z#o4zL6<+`ps)%m0;FEA{2?{VfJ2nLMZ=p_a72oOsS?{Q&nOmQ1zbn1tu5u>i{2v(i zPqmoac-Y8VgJ5f<@f}cWYRru{?T^q=IlXxTJZ(eqtP6#;>t@B)p`RZde@_JE6^YHx z!7%=x(V^ZO>L~*UzQOVvG>W`#yFIxp`+nQa>p9#HSoZWjtyE=xFkR>L%P7TeMRI^N ziRrgKoBNWdDU9zZJCdZ*?-;CMTHc0NOX45dQzjtq$xe8&pm@g66zmti*?8SqV80aR=ATgIJK+p|RJk}c^ zr_J^gPOU2~zq?+=@hHCMW1T^J!+Y+k9*i2|s0ZfgB9!{*k?%nmM-S(d`_&PJgZnr; ze;m=c3pE^%YcAGO1ve}h>|?kry!wiS5UksQ{*deux8^lrCk$YPA9`m)KI2$1mUHf~ zWqgzYOw!it5MQ+|F}mK;3yNPfJ~6VX5b5t(H~6~QTD$s?f^yaM!mhJxzIPi;J_}r2 z$N`JZB{c~zRc_;(PDgtyCmGm|*Y>zQUeROYDhVOwZ8WF zCh1Ru;?7klNj?`Xm>L=KTxJzb9y(n-qhq`ke;RnA3Bk~*?>zH|Jq#{*$3f8)7e)A|P=^_q7Yn~2Am(2hs#o%Fwt zBqU@Z`v%$Lv;H|F68kLFO1g$n$iOy|i*{4!=!5u(;NQ@MmbDAxwelTN#YzrL>DYNE?iU~Y%lA;fs)dua6@YVAXtHQTq@8B9 zr<}ZfIEAF~xt8^Sb0sX*p?5R&4Oz<2qC{m$TI_Qbj4sE7JuqL|g4u*TGU}v!TbjC# zyhwlRv&k{M%f@|54fW{HL}i<5ZND@iDN!|0pup2NBv z@EkX7$Gm>+?6{MA+~2NfsOKu4a7qd2B`L%P%ZItZ77gL_-A=rweu~FyYS)joq^U`E}P6 zqH@c#vVk()g#56nLZ~XT=qe8hZ;zx}G`6Lg?)mCXGpX?B8bsXk%5TcJORhC|s8o_L zeQf{Sbq#o>=aVbZ>|?X~R!6})z>m7{?6HRS#RIADrN?ILZxX!s$?0Zb0pgAF6v(#7<5oB*Rcpq)PRNQ6db2b>0?(PFH%!zm&KKZyQ z1kWD-w4r|zWqenzB@JqCReYgZ?Tu@~Ksaxl7at{_1KYw~yufv9icz+K?7IWC3{d0% zV8#Ce;1F^Bynn0-2Q?kqwcM+hbjYjvMO5=S6`hK>fH$<(!zv1DaVk?@ucNshkO2RM zX~NE7LmNb8+rKf3zpAI%)A#Z-N)pr&w(atj)~{<`gRSLlH4eqr3G4WZt;M6;&BKT+ zr-}gF-nGYd;S=226y5!6jSEIb7FBBYinTk=F03lnWlHch_dt!;=!-=7INjPfB{tl zsvyk<5{8xdUc+CuM%MomZFpwZ?zQ8E7>D>1jF(n%udD|%EKG?E@WRetLQw;oxIp!T zH!+9L4;d@G5et82c^j~lziyncxFESUYOnEU`38h@e4+bO1N+kQv)wGeSo2yL;LxCs zqelO*M*N8ILpeZdydK)g->|L5W{Cm*K_y>G4)f;T1Wq0_OqPFHYlOWxkvL&~D^@cD zxBpeO#s%P{>o$nM#PtA)M=sMQMCCkVE4;;BJ|%+Wx#l-_Dg`wzDVWn=8>9G>_7qNB z2o%h|x)?feBFlsHDtz$SL{-(CSxmzsQ^CdqBCPbmdIS6;@b^tu#|%sPKRO)5uYdQn>f;7-rrJ_uzsW-v`D5poQto_2@E zF7f`$wZuPe3^rsjzN5wIZPFGD+*rA_APVdx$=EMDdv~Y8aMvRd&m^AZ5tkYu?XwJu zskMn``Fh4);q;>1Ulazj(37j!0FnRbP2AhB`=4Bj^@y*uK5R`}RL!q-uaPb2XJv(E z#MtOQj-0h0vB)nz{*X1*4YtD-`WTo*L_ZuY{3c|4Uo5a^9mW?dg!AUQCu?nz`w@5A z*Vfg_R#tej`?J-Xzp<K6R2Udx@Mm$$!vWz``u365hqPjnyufcMnii`7a)pGM6r zbzkk=9Qwz;dSbHm3O~|gX42E6%(u+z+EGMJXn_A!nps>=WZYA!BH4g*E;}a5lH3u|!WX0CW;>e)>H2l$`3mgDW(ibpR1uj_T9FY8qPa zamlw8Y3yo~_t4u%Lj_lDnC0~1?P9F>hgvGP|Cwjhy8Am|1nXui_#y7Q$ort&KQfNq1wmvZH`4W{{2#!Bg5BvoXijjt8#^tJZZH|@ zG|=q0TYI9KbGUGycY9tee87M`>Jw5qLHc)D$;iFb^l^Da6(OAY*-M>iYKQ!^R=oQ? zqB0bk2lw-6o#PwEW=kHoFZd4{6gPcmUMIIMPFL&*@6t;0sX>w_<=pZ=^QNU0>N%Pp zs2ALZLmL|3d)=(Ga3m#rP&f2&ccEN`EbK@aY*UAVJA|5y3L3RiJGeu-e}1q?9LkgR z0ATnRq_|Br-KON0^I0tq!32U8*C=E1$gb&<5 zA2k>(`1#S(tB0(Paz8tBXUrlCFn43h*CQ8Tz;_$J zWqmkRId@Nf;)|#4u4+0>2*TZ+tPL~I0kdCWn+~jDwEMKc zWuP_y3pSnPCMEc{$cYL2##^78qEdRka+ZL7>!4Cuc7^2PDRb4b&BB1{5VDlyZ@jq! ze?W9fX)UJiXbf49{QNhXT5MQ)#DIV;% zb9=p&+yr^x6*lmi{#)~U>r_}+&u+WGi+Sb309Ug3Cl3@o+pY@#7h4jiP)nVVRt+aG zLRiO9byGCt(BpwDmET8Ai=$S~${10{)@7T5td-2h_hn4)2`2(W$p-ixy=<{AJ=Hl! z0T}6duxKgcajZAe&R+e1m#&F>f%IEn)8s=-qEov5(SngCr0}6Kt{oOsV>On^mLD9b zB;6XO4bksyr#ZjLM+@fjiV=H&vrFq!;E+ILNL8e%%>@YbStAU0R~R*~WCQWJPw~3h z7=5Q{dQEv?TCsqvI2M=r=B0rPQ8Zvf*{>74RX1l@1dVE~H#s{+-&bg6a2hhVBsb_*`HoHE=D=yH$?3S{>!UFIdO-b@0{ZY9)m>VE=!1fF)s0 z&_UD}nR2@AM6~$bSI{?>#iLuJuI2o>b&c_NxRf!ICT8D6YhlIZxW{oGlk;8!ht1UT zk%SU->t-CeidfYY;z0gTY>?9G%0+(&B(G+D7p3Yj}%eI50Cw zNnQ+{z!xu*Eh-nzaSjm~9hpRr@z9bcEw^KF$rHT7z{a~?I^ST@9UsEev@X~C{P*i~ ze6l*$S?s6@VX%UC&9K_Egul%pA37$$U_Bf1&NVG?6LQqO7vN0neop2%Iv3mQ~r0M=gR|5 zFE8#U1)^aVjsM{BJ5n2)>g=u1K^vQjm{2ceIn1_H?4RF+`lm@NdvpW5|F!o1@!Il< zW;n)2H;*X~W<76hh{5;{TdAY(k@v!w-(rF`q48{aEt{}Vn?jmky&5Qv>&66ZeE&xn z_yL=Kv4lB8w&)F8i~fhr4D+&28W&R(|E4n`#2-m&%!lOH0dup0kyoC6uP+9TKemxS zt(-89u#R_#!+$O^3kbf)j}JJ|nupF#Q_{hVAslDH)<^lrge!a2{O+1O0SmX_3vKs> zT`g+z1a&-Ej7bS%c#I~*C}DLEoz`_Ux4Ruu@`Z$sUTBc`MB~2dTAVaHe@JI=R81Q- zw$$bf2=K4EwI(~-87Q^AKMN?;Tc4lFo`Xn{)4y!LZ>xMY9AY4h@$Kw+D_Q%^0{oZe z1+r-*B2u{mru*m$5?oTwcmVGIlRR5gp31;(5@D^(sv%mF56_DJ5YkFkauBb8=R~8Z!(NZ`O=9i+*-ZmMbYjlc- z7eD9!M`@bs{`uH^e_LNCFdG|aJhLNp+^(z?t6@E$)oo3Qa3t6E3&y|zP{tVAmj!nu zJHgyd;ZTn4pyx6*mu?`YGs^w8yyIl{=b0`u>#zZ_X#jp=?1$N{3B|D(evc9sZOuwL zMHTT4^~@Wqit-aWz$^PWr+1#l%Hpuok2>ZILL72Za%V%|JYMt6IQMVJ?euM;VWo-C zVa-t^aG2r){4^&oic4%JH<8s;`jFKxJKM9OuF0B+SCznwGpD0eLj-Kg7n>yvK`NH` z0JHfJ1B$*5QMX zMRTN(xtHpPyT(~cV~zQ9C2sD}MiU#>ll&(hWz$dEpxM}wzdGsHgk6ElqD~lYy=g_- zYDr2leF&;vg|*#V(uF}D&vO$(##k4}T0(DvV!uQW{_C2>FFcT1P7aVDmX-UKjTBq) zF-Bptx7yn5%IgTMd*rim>zqrSV{ft`LBTsCN6u1ph1WSAolJJY;l-2CL*RUNZV$vT zjuFS29h>A~-CD8UBf_RwoBR}t0ly^RneA*vs@5J%z|PYHu~*u6CD0A=5JKTa7On=_ z(_{-J74t{e5qCSStnhjjD`yvXE8@nvc?{El?{oQYF)8QxfS$q~DUv4VX+0WHVu*am zv8b&LA5uBex7wpmvU^|-E?u1N&_;{;3MGODfKKfCJrwU{2CjCY9%8<(YZxr2-a{eg zcI2A8c=dI8>%uo&hY%7dC}UEj-ymI5u<0faSHGfM2!w^?VCaPouHy>y==U`;$RJS) zE&+l!RZK__c!=ax-`sX9mc+;B%ZN5svr!W}iX0C3g$AnNo=g}MfDwh6^BJO|?Gs;1 zKGIo?r#Lq4107EfLLCFk7Y9Wss_D9R7>KLqZosw$;NjwqvjCFx%mfd?{ewZ1Sl}j+ z$Ct&39Jxccw9l9noy;*xk;H&^1P&B=^=6+5h$t5~;OIy#wkHl%&y$~?5EGq9vw5VD zAe7{m)vPi{54>|bZbm3qB`sLV6{K1C5#+W8TVG4o2_1MW`G)#k$V?HU)cAS_I0&j_ z8|Vd+>?H`@SJxc#tTyB{fkb`dC~a1Soez=dY`T-G7NTOL+Q-4PuXxWER)@JNFr{Tw z;W(Xir<_~(-5Q;w)ej&5*^<*BIYOYor$wzQilr~hQo|~hk*oaUWN<<&p5M0lzl-jj zEu|Sk7CLO(b%F>-Da&Fj%CfgjFy@o{;KH!^+akyO#Ew%NFR{#&eDOKiGwfRhaFkST zKEYvpq~nk3(qD_Wa5aR5i;Uld_Q73NSl~-At#CDw(_uHQjC#XJjt4)p=exAb287`R zDvV!9uk=H6g+G>?e`-zcZfrB)V&L-twiGm|uhpcsxZXHu3QepJWwZA3H&0Xz3h6#EUsdhGy zaz&1MD*VMlxnebu_gsClk9QSh3EE%@m6|07B{kdK6^$CC~D^d!jQj zmf%dBn%EZb(Y-rPaCKF0b4$#G8(2IN#`9#CnO>S5sf=u%d|w!uf@90l7RFmwDz_6}fHGd#n(!JC|+_)uCt~bZX@8Mo}6e@P(!ocvo<{emmCaOS_ zW=?aM-_w%Wq&p}tRj+uDiN;^Yfa~DhO~cCO?Lw=abJuJ))`W*!2F0{j(jVGbG5LEo zNpbEZkhNljS~Qqff<=^ON8iTpM<+<;Q^mxPYoxQ7&T5Wcg`@lm;YE`f_etdXg8pi% zv6WT@y`5U9Xo(Sk`SLc=m41xJ5P^Jdz6bRZJg>5KhQ83>*Ho%CAi0@4&(mW|gOXV> zy&N;#wz^=nVl!rm24Bhht{C=0mV&VZ{NP+e_X9oXS%hU#8Tw~Px6y=Sme#+h4!Ha= z@0W%otr5Ua^!z^LM#B+l#@a%##FpTdyW~w$Y{U=k+u6Y@3liX^>Md=-g0mbSxz5US z@Lwo)-rH=L>=JjCwxB%;W~j1T%gDH>I9Y=69_=;97jA?CoL4Lnztpo~^g?6)aIB5Y zauxutiXN1?CtJc}Aiq#-WNHkl&3qE)dB?y}zHh&!Rx)WTg!mMrxUn2F7Xy+`mbTN7 zthhv~bgyIS0U<2e(&AlY3SIs`umRi(@_KYD-brPf&pAp+v~q%+;(X_27G*p6PM+W# z4A-+`pJc=P`7>LIxG0)8Iu)iU(896wn)7@Gr?>yn`oa1aCBMbmg3xx)pF~8gU*`gt zpA?BN`>iX{HJG(slwRX18wHbHUi>vJfy_=m-cg6}1}5n`117A41~e(tS%#F`*n@)JhAqp9RNgKLXks_1uSE;i|EQnC2{swAn?-K` zX9M8d)F9js@e=AWqqBTaw*{!^5hL#r40D~}JH{OcRyn#C>_RmO?P#t|k#@s>)_)-z z@3>O(-Fm0JM?nzKk7*IK153frK(A&9dO18{b%?r1TGm;>`ICKeTd3ZCoPPqVt@GV? z{^{Z+b|s2$on*H`6JUU{{;l`1TwqGYdtkS(Mx{E!LGn^CAYrt$?Zj*6&5bGR*;NJX6?{u|O# zK*o%CFKP?%KkgM&4!)-IMC|ACM{*jqM|+89{AWlhz)V_OHp5qKw8f=L&u^)=bU|bm z%sx>L(tmXq(%^~ciY+~L4cJjgzI8lg;we{kVP6=Ie4)b#`I->h@&tE=NkpN1;K%s8 zo3<~2m4Q7*izb8eZb>q%x`NKyC7EN_aPD*ofe(G7f#(<{P8hL@RF&HcJsZ-^n>hj( z#E*x~e{6+(2&Y-iMJ`OFSIDgZ_FnNX{R(qm=YArW+_~@J1v5IM@h#+C z%uYCAZ6|dH^n5un8DmUBDhtiUKkMXIG_@Dg?~j3vr3A4%fhV{n}7 zf{bx;cONK-84{i>MtQ-MrP>v)qjt%xw)*dVnEepuX{}YTCwRv?P!<;i!rFOg#`ZU5 z%8s;j@)2c#A8~5(Bikv!OTd_8(!V6x4PhQzvqSnZ>3n^Ss43FC30J}P3vM*3#{3Rs z(e)mG6mp019PneNjCo4un>zC4?6nY8%zX8-9t$uV(6H8$E_PCh-OX|Wiv}bk?v90! zXYKPu!Y3Ae3S_;i-nt^o8Mm0<%{v@f%eRY*Ru(-%nTuT$X1cFxv?)t0pjb;}SN_~F zrasDrijMB)o4g7U#XgKWXtnidD?Kb#<*i~M^;gONbXzMF!HZD#nG*G%q_2wG;&kI~ zzQH0gbdOuNwA=V+My8@!H1$ZUH{txmvQWw5d4>E**tUAR0heJuN+oVftKfDe1$HAG z5UQIGNdPRVlB%R7s(W;b%?KTR}OIdZhXtU3Z4T$-W3LK^B`2q%%Xq8 zKB|DYO1I9n^Ome;k-S0{sROoUPFCd%<37n%BYP1VOrowT22K8-2+c|=b z?SG`)sGZh*lHXe2M{&gen^d+?1^+BJXR#W?fIHufGqsY%a=+NC%%y=!+pYq17$`%~ z22u|T68%CSW&M{o(_52jQbmI7vSxTxR_AiLPWe)o<*?0 zt-#w<6?iS8tu%GN<8TGvyLGS-h!uwkZ2D;k8{#hXd^2r>m16ZrR5u1pQz=zMdF7Oz zy94ZJNHdqBx&R+l2t4>gWHWgyUSf-nGzNT zs%tR()N8@*thEC&zeqM{AF|K9l#!TlE|Ure_b-l#D+EemR|zVVgoOK8r|N|7;+`oTc}7l6=D)1f47##(Wq1*ZL4ba4>LNF&DJB@UlWXE45<@U zp28WmoFHG3_eWJM9NK;^d!@ZKv-z$8C`;B5sKZZ%?MLM^Y2C1OrE2>wXN@*6-;DcH zj{sJ~wGy7oT5NY@4^{vyc_L-?f-t80wPtk4OjnQTUqYLXPSjC(JKz;xtJzil4z?8A zpcNi%A=Z7Y8*LIUsTIO@dQLF+><6}x;ws88E!VJHe5avv9G_WWq{bscZx^u~G^pDw ze(J0;QaH#;QVrI_a%@(_FUyo=IpQM=V6cIi4<0RK%hF?+zCPOAG~uL(FW>>nbe31Q zt=(c#=`G8W9*$P*4LdY#HG`9hDwFYyWmc|`uI%lyQo7|J*d@o5a0ATE{}%6L)Uqpv zr3b$3wkDM6#GD8_&;89#SVmUtVz4&5Qn3637MRL%>N{W{Xkvj%=xw-cG6|_hdI97G zm@8P?Dxu<;Y*-!nJNU5{(|6XK*wB3|XIo|={l@KktAf%#@Eyp3QmGO2!nHhOxkbB8 zmv+T*qev?fIB-}uQk1`@Cv-L^H852K`(oEB3&&5$+?e`^JaOwjIo>GpFTf-1iFb&3 zV|hpdHK^rG*FdbUm@}509)ePZpI}_!$m6bg&|T-qHV8GOK1y(FWnn2JPes%%YgO%I zp{7;PCxl9JA$B2RQ7Jm`KbQ85q^hdnkwqy6c98GPvIoLg;APo!qP{qp0;IAA_(!+< zAoq1UTh=ljs`$u38>`V19E+tExc|m+W!jm2G75c#ccAcLjDQA; zGwucWPrgv<9R2UqW-z-<=!{oU#zBF};`u`EbJwl2yeC2lZUcnR*!(XB!n!45JvpY0 zD1>AF?vi4TvcxNjuW1RRtFz*g(s=%x78EU-MpfwnK$S71StvaS-QCt%A_E>q*=)e{T}94f<) zQ^A^PSlw+R)AUf#nn9Yd;~>dMa_ebD$#LGIwC!VJn2%^q8G(Jp084FMD01jVp!7ej z6{RBU7GqY2qitk^4|53WU;~O^Z?p>ETk8!&P|fdi!=MY3tu?6Ll3%5scI@>>IedOk z9MWpn+#fXAIaaRA>{W>mkRs|}`fjuzSCL+iBcPf-AGp{O8keuVlBgYnV`{1EZg&gb z1LeKZ7iCG*ANoBfu=PkALOk!CF72j7Qt?WGo;s;c;qtM}TKGpXXlZX>)NAW)_|E7B ztdlNslOX;fYDK-0Ujl?Nctv7G)`hRRKlD>mIb#`AJ;^cjD*ZTy_M7o7jZ-=W{Ex^x9)HlpER$#FgcddvuW^dZN*VPd zBnCCgd#OZ%p{YPZB1jqH23O(QTe2*5)O5;ACVN*t()3!5V+waiPS%D~q=wnX4C zUCB~NkR&-Ox_DuK%wEb)SS5fyipHwMJN`h)rqN?C3Hm!RRjw1fc)J@X{&jL{j_`vy zAGT9Fd=B0bdZ0Cis%oass_4f}hf=l^_}D4P&ycq3eUL_A91!QazC;Q6!a7KM1dNU@ z)h8bJP$s8@yk|LS%M`HDK(tWSDVgOg*ePYS9bD=`)Y6*x!^%{eIl@x#he)2XJiMX! zo^OejSXgs!6S~(E+^i<|34hcA>z6S{6Y+4ot}^2Wt~4I$$y8qCcNA_PWyNzc;mZWw z|LQ2+<}$5)EX_|SEXnwb?r!-jSUagwo9BqE7+U;NIOwI74YW{J+3;G>MfvWKwlByV zaU$gJ(N7V}SStTT{aa$H?+eKk>wxf;{o*p9tIr}tJ{|gEn`2Sl6_Q0A!wFt|)tEr# z77KUD-x;I38f|mb&zFa3pgHkjR6jSb^Gxqj_FSd$0U{#TlhWpye7}xu>_#!ufF^gM zEIUykmf!Y(5H|DJ>kGI?Uhro?S@v3 zwwS#@AVilpAlkEOZg}i~sK;^8bzK>ubcnuX#22%haCF&%C*@tS8B)BKMau7-EP!AR zd5PSXoeBo}#E60XPM5yujY5@rFG9382;#d&lft`b?Os1&|87d>{#5U+6-bs{8h!g$ z&LcX!)z6l5?yOam)9+J*@b-%{cgGpv<)$B%&pih#i^J@bi#lueQ#8m^+w@|kYE!VkV**1O8@C!TPq zz)}DfEaSn*KphA@6lbDIzb!^{Gb@(PFMkvicxBBH#-QN-^D)CtdWK=s7_$a^Uzj^E zNZ`?{=f_Xy9ORtX$syi6Yq=KH9$7*E`VPd&XeqZ(w#!MIbXvUeT07rxk9lE#<+9|I zELFFmV$3QVvfrUK@|X66Vh{OQo@*E1Z~UBZk$eQbWyD=>{M7NvPwK#q9q8o1=Q`xOrpy_PCw(pcJuf6jcdokE-7(GO6)(m|u?@9h8)(hw-n3%j4%Zc;~VwMP&$#ReWDXZab1s> zn`dM+%;?Vbx{(1^ebEs>U=7{6^o;aF+-;$`&#*&gVGDNC7fP%Tr(8-G^MY@i^vbMM zEl=T1jJU>8=eu^i%kFt*(?5=otXl&5Zk2OJNSdyZB~KB+*e!Rc)jPkkzVZ9SJLB^C!$w<>QVOmw)kYfQ^!)85)S+<-`^!ao>y zN}DG*M~Z`+)}JTo1+QgG!xz6JbT(IWe$C8D5}<-dks@8`Cm`Tl49=^?>!sMc=>LJ5 z_YfQ>JX(Ospj2{a{tVEpn2%eAGkpu}04nk{jb<*2m=>N}fNhC#>*9S%*=*=+5ICCD zF-o|3NE5H`>$NYvz&J$C{U|R7epX-f-(i8@j|OxPW^kStVeL&j;mARlL+^djE3fNQ z45;~8=&c@-2`PHsoq)gEm~aU+Wcm7(7Px&UhYUVN*SxU87bVO0{O+0-GZi!g!0g#{ zDu?}8S+B=DK)Z^b5#1VP!;4^cw%EClM6iZ)kT1xZrygd=(_}8;9pRF;;%tWTfjmyQ z4zce~R}I&`hA7DeIaJGSWx6h|Mc3G^-+8*EG$_HP3kHwqXCAw}Ucn_YVpIwgJZy5=RB6hJH>CGt? zGIL1UB`&STveT_#4w1VonS+GSH0`I1V(d(r9|C|nD^MoH6NF!=T!_i9sqI@oO05jD zIK9ok6x`d2eH^DHO-CjKdQ*(?`wx@y+Ye?Jjy&!iY8l>!k+`dLiePsdEiEl-}yo|6kM3Zlz z`-1B)VMKTh25^J3aZ}INg!Oio-fBf`9wD{(IxZ&CkeSN2bDI&?X3?PFW?*Aqi_3~B zM!#O!CP`cUO4eXBM-;7p^V&~4328exy+h#I-i|17jXCzb>gBAE}?KPRWz zj+amuisLY4{fY&1raNx0Ey^n{L1F>l$Ko;W>(yh=i8&b8=|&1_!ELR+`)+u~h_5xG zIT@?(M)E$et+Cm#cGRucLv*XL&|y8Fd#gT!{sn0=i@Sj6MC2utkc^$9q2?E$8#i%{ z)-BA!)Dc$Sw)tSM#yxgC^5eYT8b`^2Ut!ORN(+0iJ{>j({S|o?xk@J#ASjWh2MnAp zKNu(`Hu^DA>pdb~$_yG29V;92d&NY8DZpak8Ca@M0xjk#O4e{Wnz0=?Te5r(Y-Kj# zqluJUcP)Q3a%j2b0*1gI>El(%OJgBjx=O51&cEEg^)}~Z%rVnU#pGU-+t|AMH_|f?936x-hswHjVO^ij;`>u%6Zdu6&9%Ltu*fR{xB&&DaCMh z$9h96RSNI)lF1~)s9wU)$?w$Wf|xQFmgkKOdeK}3B@UrZpk{j!`T3va*$xH=L(t{L&~2s=0q z;5a^~;Jzc1ynHm?&^N|T6(U_(b!=$bkb2T&5!Mp^=)Tx9M0V5Hvh+1y02)m@b%2-D ziNsH`plbvzUnzWueufltoW)or#pSg8FcAM&LM&3L zu$tAirUbMvjF3gb=8C9q>pTnkerf19!<7FTtZgKq*R{;(CM1;1WmOH(C99%ydPP93 zSsbtlJL{o<;7+mTkO5l(pc}6HxqZ1(?9-%_@L(d^5Ht=jGf(jOi9-rT0CZ8O7ojn6 zbE>YPg+QS-&_#?wWqu*sMV%fhg%!(oA}k~(ye?cd6WQ2mGbqk(-(2yk<^3+2%JU*c z@8`EukO7-yzNf58ah|cIH?y%|8fLr5=5lO^G9(R)mk|X#^V&V*N-RUnM(8v`z;4rOpH` zRc?GFC+MT^;hD$)7?Ty=SS}jB7S#9!q7|+Y%;`Z&!I&gu!x)PiG&uo~PqQ6onx-YQ zaeMIxD#V)BBH=|5)J+6kg1V<6AFemGOoULvlXu0{Nho$KY2cC`Ev9C3?vmDYxKFmc z=5e1?_<(RUyp?N47c~=dM*cHZr)q;_BN@}4p9a42Gpx3okuhDBtFpk6IzwDD@Br7< z)wzBS=LU)d&zOSv92`3qEa&@*r)IYs#xlG_(zSks_cv1XWLcTxIw>tS$~~Bb^*88p%5 zD_Y2*``4ogCT_v?_O9pukD}}FYwCWxRjSmYq)HW$5fud$fdVZvBvrIjQPWBl6(k}m z<%bXg4J0AMjmQX!f)+?xDNrjzWJ5?mM%WR-gqZ*d1PGA5*PHhbxS#vE_xs#uoadZ# z>*WdBxkbI2!aendfd|pKpVd*}9F^g__pm`(Cb01`?PV-iu1~r^11+KJhTQZk#|ozS z%hqX1`oVr_Rin1Hl>ReKds^Ke!F$O?taz+UPuzq{Qw>)YiQ3P5;x%gp!4YJK&YMSN z;ii*C+i>)3mm^5uF;6(e=x&Vb+^;lsKEKz(O{x=9%gGU9{oMQ$slTjLlNnnl>=tNK z*T?kJwC~2CwDp40=~BkF$r$2Ies&cN-;8u>Rjct4@5e6FK&q{ zJOdG*5+@yM@R-tN^JgyVMfI>q#miOa)Np(Ygd*9k7)RI?TjVR1T&9Ck|Ht|dcQ^u% zmEF7~S?9~7>0<$wQzp6<9z3<^QyQUcBu+7Cw?5q6XIq|K{oFVMJEP3BRo+ip^#sp- zAAe~&-(}_^wd_22F>zYJ57mEHGB)v7_GdW7d({oOEWbOz&L?Z5V6>JJAaN-@TR;Dn zjJxWyFIay?H%quMR4D4aKmid}^DW%@9QswvaZYxkNo|JH$>l4C z$}P7q;|q2-_kZWgx{~8}2`Q+1&giWECt?Afii-WMe{5Hk!+Ip%|4UR~lbXYixn{C0Ft>Z=+jG#=!+;P(U}Rw21wmltogdW_XlB^EsnO^q)ij$Ve^? z?B^U=;-?>c^dcC>`1$i%`ofjdz(a?>WIX3c?Q00FGayn3df?KY3XGmT+5+bU>=f{W z7vLe!Il`cvUke8aJ{`+HzUrJ@x}>gX#Nh@ex!1Z#2-s@y)uNQ=)Op{>5Jl&=f7~IR z#=0*kFJ5Y1Jf>asRC#+zp9_xSYIURr{sdl~E$-I|{pw^L&yrPeh_4~#_8B-AQ-KEC zzel&3TBm;DYQFEB>%R3hW#IgI+Jf@#Kz%{YZ}WdFlW$hZ>Sdjs_)AxN&iXkeH5;3t zX<&u0QiCEfPTQmlW892Gb&`Ow(&E$Dqqr$C&F<}UT2|(c&H?PmE%Gz>Mls8?A>@n{ z8@}=%4<7laDOx2H-j?SVL+NPM&#z$3kt;LksEooY$PL?unto|ckp7DO@P^a3QzDn@ zgAXUaGM=U#T6=J`6dONX^}HEKce$DB@Z0=RWtPkjwuq92EtVuX5P`6?jN($Zolntd zKB$U!x^$gV`O)1xAKRgB<)SY;HXSX^3BgD9N3N7*ZBTZc=NPny)};&6h5#4+cb{3j zm&;&N9CSH0#xD~NF23+~E*k)?sA zwy?&l9S$K9>t5Do(LPy+7!xC|Rcr_lM$}aPbfl)0S5IYsG6v!Ykk4tApWn3TTY1pZ zRqCT17TO8DA?c=HnKA#gX+C1TKz~ZJyh(e#YWs&KD}3=CzP?6K!#k~4h4&E#_#k#j z>(=pz(wx(lSCS4fmV>+-_-pv0!RY#EM!_@%MjLLvKsUHVPd6uBZuEy8;kGvyXs;KZ z4Ou-xjvH7ujZT5tJFKRO#n9*eF43j1bE%|Xn7IcXyvX!c{-#FOFQ4PnchJ@Fu^!<# z$TV%@7A^%{XsilM=&vcZ&c~nE{P@Z|Wcm=_9SzOsT<{%!5lHrf*}pe|9hMi`@K-1Q z%d#+TEBTb(uLhaFpq`(<&j_8*;oteBxZf?8*hS|XCTr9KsKjB=7~fR%D7O~;VA0F` zgJr}?ep2x|@gU(ya;*CH8&h-a@5=SR_#FMd3q@;;AhHhJq`Ig>n{zxD2ME&JeItPY znPB3%;7D{&&HJt!^dis2{@sUgAGzIrr_^cj3z%tgNU@!~Z32sa~U+IYIS0Av3SVFv{b zPb*Ik&*`(z$55-zTN3F>ZKX6+k*u?CN1Rq27AyS(r3@!V9Kki((FPyt=j*c^l|g($ zDKV`gpSqBecqVcBFuEi<`Aw@QARiGf8Hy@|e;h9GKDyv8k65XL32S)AO4ma!57fWF z|1$qVK-bzFjC_G{(KpJb&L_|=RSp&5ADd@ti`$^`lG94Q<8~KDZ@3U zP6OBFnc8AcNs&>`FWS;+c-`ANLTnh_S2^^F7E-h_jsg>21^ZuU+}4l#g1>v1Fz^zw zDvlUimcsl96J9GZF#e8VP>3#;RH?8jmun5XvPog0g;3k zxkeOl*UQyoz|5HVR+N4VUn$h>p=4Rgiy;ZnM)3Ti?PQ{?6JgQRkiA278mr+0=J{yc)|_a^!6 zCx=o}e@*}R5j18w^d_hPWAg?h|NfV(g(8+mdDj3QSGG?Jy2dXi`oa#2+Y!SxuQ`~I ztuFD)HGEw54p>pDVnBS5neP#%$<@Z8;mhVXEuEcrsz&4({qLVCTOf&Bji|4TzWD?@ zIwXe=bQTe<-a@$Dn*Sx}uj^%pr~cCrM$6ePrUiiPjfwSa#KmcN|4$W-(u|!Q;)j+O zYR{>UB^$n7=c8bD!YsbLr>1?)R!k_shgZ$hF zQoK|ejU6sAUyq?mTj*yY_1aL<$En5i9^Y~6G(?vXO+ps7`9P8MP-2^ju-EJ$fZAmU z3f}<`eY)`%+96_6k!_2-5OI&T!?^T9J+J8-|6x&yN=2V{TXdvea@J5L)`N(DlZPD3 zs$Fi|)wXi?D2Anj>5vlhp5!7>Cph_r-QvxeGS>6X#JwzH_ADE74UCEE24U`7H=Yw~lJ+JvuZQ-45}z8Td^ zhk2VAXewPeVrF1G6*nTu=Fr_f{9wpnCsIe-BPMf!zhjTFb?Q!=ktz z{jo+}#@jBJl%{4Rk62(%xFrtHAC>P;neJ+NYSubienHtX3Qbtchj1~m(5_;DyA78IXdm@j^%6K50>Qh< zY7rdV>JYBGD?Yaf67Z78Z+bDf>C@?u-^yZEyH(>)9h3aQ;}o?`z<_R7n&T)12Wig9p1uq$^A2jD$%BP4sAfU)xDRmvWpsGC! zB@x7s`2)O}2lgL1c>`EPw9zmBKUOM-W^FYY{B|222m5o^HcUHB6rd|aU#^~TL42(q2?G`A z(5!XUDTi;#K4MCCUJ9gIs~)nRz&QmoS&QX?;(n<(f_b>Yn$}!DMOuc;_SG#57T2SD z{KQ!fuhJ1`-D3f=9?VA<)>G%60o4;hA{i;#ZU~Hz&SBI)8wMdiwNAjdreLSS+SBstSIbrT(Y6@K!VA!K!U=#{Q@&qQa&RF&gW=B zRqau-Ck|)8)j=4|zS%9BcG#fXuyY>Jk<9&qKLW(VRU@PPrm88oK>Q=}YhysG5E=nM zdqVdTmwnbAg6%o$%gneQGt6ZN@i@&niuf*cr5N=+At~~uAQ6`|v({Lt^+&yw z?)O3cPxUJ0hJy@qRoSuwmTM7sh4K$9$==uwK|AP9SjwPwb9@$ZAWu>PUER)Fw%9?Z z8h-@$8)~LL>)6`vSDajHA%RTB2b2S#9h-#$TgbJXr{8jxoOc#%qX#H zDc@(I1AxvEH|0c(&Irx~M5ijPbsmchtk(>VtvZYZ67C}nWuag#&hCXI zi~>3WNojt)$>+>)7rMuTwt;>gIL?|+@-o;82C&yP{Z0JGhG;4S&p=0j3jK{n8edvwbkI7w8`2{$kr^>!RxMx_y-{DAFz=L8 z2wze#NR%ub7SD22{!NQ-aFZ%Y)T*I0PxJ%9pcVJV)#S)VNE!8=nIbx}sy0$LpwH!Z z09T22AgGQ!Qb{JYd|~{$^%*cZViis7M+Extk~u^3q4G)bc!)Ks_b^wYL_yRe-fM$&ZG(g=_eg@KDrNT z1d~=_5fBXn+eY$YRy)MZ1azMB9Pv?1VA6Y1K&u?PM^cg=8&0>M!Srfh!ke>+uzdv+ zKj=T`ciYYS+&K`h}uk-#tL_L>PMu9)9uQ0V(f z`uo6_z@}-{2EhVI{GixW(%yk}KG%Zq5N{B7ZT?1dCdr1uEJkYVQ`jatP*M+lHG!}+p*&8jNKI)ZtAY* z<3-PudR^N$Y{HqqWFUS>GXh9ydL0gV1@-=uJz^`M1Dn?k8O5d`JjY0*s_u55QZ()c z629^qB`}tlF>Jaf!)hR)e4Juqy(`SQRkxIZ7LmPfn?_frmF5=YzsiJuJt`;bK4~{& z^_7~LIIP@|rlInYWF?p=ty(3%_7Oc4@F#SL>8%MbaVYnGfj7;abxr1bd? z3^^evG&k_y?nQVl71Xr^9vvSNk=1S0zg`c`LGrf&mObF(DB%x*iG&nr4M#>nQqIj zU#nKEay`~HlVK<#QA=Nhn{}3EpI7Tplr1xwW(}(#a!Z%If)!>IhWoZJG9leT<3o|T|41$IdTg~vSI6}KE@@T7kTi8K5T z_jipGL(;eW!U|=_rXFe2jX?1$P`=ul(Bpn9RWPA0mtIyyD|~L7Sf7hAT_+`A$Q6g5 zBRmKLIOfv?-3@!SgN;NQVV6wEL2Bu_B-|n&zt6A@XFjA9#S}+y#sl54`#EVD{P(1j0HM>S*5O80oo(<=!XNY^!xy;OX)s?7ViY+5=3mO`=r}`hZJ+-CHdLfA5OX*xk^d@7SuV8|3j1-$^ zYFyB@gnLEfv0btppa{FEAIY95RU&+7T~93an9A zXk%{2r%udhDX^S9dJp%M6KrS+ShY4aJ)e7SkCncUQBMAr_Tjvq>ek2 z92xH*&k%QJ8ju5{QrsU*hQDhLhDx(j$PsqrP{!;xf+&h@%i5g$%8GN(L4pEH{wm-a zTxWsX?<3hwy%Cu@eZURA)DW7(Ri(r!HTpD%SZi6s$U0w#oJmS6ej)Bg%kIED9mIDC z^R%TcX@6CJG~VL<2p@ka7g4$|uZMCbfW$Pm^>-jCIE_JF8kz|fn)tR>0hZk@?*T-- z2*z^6W1z|wPq#tBXkida<#f~(R&6Ob9lJ+=$E>e<4_Uq0-!4?oI?l0`T$Q z`{m{#0;|8n4+?3mqqXF8+MQ(8PD}(F2ZK&`sq>~GHrDD9D`|t;N3z{|{3((yAG81i z1k?|U+t9V-6FL$rzPgSpS?4F=Nx^_3=X0XC)hN6`n90Yy1h&2g$^g_tJf^Ayx_AuI zn8GlT%*fqXHt}a#)O2iKa!VRcjo-<51;$Xr?iRl!Ys=#8`N)A~eKkpV`7Z#=LQ*1p zXRFUC0z!_PE+?n5r#fLi$N@fLY}EaFan?XGqK)5X6bVS24c~$KIL>WV;l#-5Qua$A z?Pgm}dR997sr9r}uKO!Z9}DGuXLKSv8?l6?yG=oyfmVKCMw2IPWjUG7=cReT6chQW z12dzvEJ69zF?(a6U~~Cy`us;4Y)Z=h7Qd8|$$wAVvc89X1H4(-?$y&tc;|(G6xhsI zEkfV(jlpFB=|e0NFpw=++TQm5oK#3sVlDwSHONwe)Xoq@iC|Tx8c9)$A+kZ=uDNY9 zn$b5RX^h)-s_HP1n2-J|kmo|gv&HO|m%pp~U1z`@Y+YopOjL=2tmpOAV zbsCri5WUUia6*M@`>urr zSMr-uNPKDF=Xkv^xmlX3y;7ysV3-T6tHZmRaWe+(xjwViEfk>kA0}7J)GQX4FjMyR0S&Mm?q$=x|F}KaU-t#3MW%*BdLUUCH&Ie~8DvrvtFmeC?D9Dp28P7AJ1Ard0ST zX*{mr)yf_3BKQC#9`ouHty0XCG!L1e^(%tN;VC^E7`tXZp(g2sO4I2o5;D_Y&Hq=q zemhe@qO@bCdWZ~?Pa0~tA;GVf+EAihJA?o9$hg|5#fko5`m-60gRCC&sd@fy0h~}) z-H^|HyFl*bh`5K2XqAn{x|Q3vK|QUAv2TMWc|}hlYF}&v8l#)8Qp()dFihDXK?g}5^0qLXAsPP~5NqG`nwk1lskSfe)J z&p^oo#3>Ch9Nj!L)el`WG#HK*22P>=;=bgQ8?b(%;6ETp?H%jF@SXwAWuNA7Wpo61 zy;0!Cx|O!hSPPP=LI?EmzT-W%Q>yFX#h+`*^8%0NNzLg%4Ge@h(ogoV@oeF1n?wWwUE&e4ItLZ>%?^p{%zT;y7{x81J8wD zo$hDp(Zf@GZ(L(#YdoiZO@EjbHf1sek77_Z50l&z*UR=|HMnquN`W!R}jVkKfp zkgU#4YcW!s#Ri#o09>%N9HY{CCqUbxB=r(s7<7O?IO8_>RBU%mn>T z4o9Pk;Aw#BAHd;@si1i7{djZ*ADma44Q!M{rdG!Dj;^Pn+8fpplPlx~!_?5VVh&aje>aHd)Hy_DLxYnkWNrYF;lCMP~68SVPI0_0DrB+ z);7k;PS9uOogi6QHc09hYDm;~Gb|?mXPii%9X}(`CQBc2p#WHMY?~9z7FzrUT$EAX zD9&IimmB5e>Ug~aBhY||OEts^l4Y}}OsRlQqBafrIKpZf@dmax%q6E`aC8*Xz@H(N zpY@?PU?#-_^w`c3Qzppb*xoiWm>!{#32DRJsx_^vm-vpiE}_$$2w(|r*~av=Oo7R$ zV52l%^$b6iq^~oDl4@NN-)dA(NrI=e50dtKXRVF4(aqSf&WP9i`G#F|7^u;t zsk-WB;Eehq&MsIWeqw)2IA};k4K9MeodP+aOgH-?p4-@6Ob-DV=*rm1m1lP8LdQvI zJm&XInm4Wm(##ot*|>@=Bu%Z3cN*ahLg^$n9+c=rAa4my(-9F1n&Em0Abf zE4x77opNM2X?@Pet0JuozjQ`5(W$*X&6`l@wt%U9eC*q7f;O2Q10Nvfz};fPjf;%# z>Q^fZHtO^lNM2i-iZVmkA-*B0uc9x!FQMO@qTUnK*PpA6&KZa)q*YdrNF!UX8k4n! zl{js@o>+;ZREFogGG$fp8C&2|$Kikmg^NzQl~MmW-b-#u;j{5G47uH!LH73SjIg7A zA+TUTOAExMrB$t|v)u87zZROkjXy&aCj5AYY}i2`x}a1yfN9*YaD1PtLFy%0$Y;dU zz1!-t^AK${1pB~}nKJ-V@TA5wP_AiM7qDa2md)Z zpIn`6U^n0w&WI=TQvX}$r)d_QVr;8_&x3FmDC^1&jOg9X2x8$YDt}IxA?JxF^va!6 zyx-pzPR?hD!v%+12|d1XX>1-ZHEIe)q5o=FKgh=gI`Plwy14(Ole^JEVxw5^9r1zc z)#hvpcK%`?3FV<~W5>NEUQss;O|`(M-h)}vjO}6Z2zEasoH-F~o>!YrehKoLFR3h# zFOGzX+GO7N&$XPL^dVPeqxceGSnNzQk7uRz#ON<5`QD_lM|7}*`kzX0?2x0YAc5;1 zug&qA;aoJzWENLsAA3UWp|@ISmB3Z($eM|d883}7zP?%H4JzD1Pg`lqm&;`VtA+*; z`y#YKLA=8J?8wLIIRkRdjQ(#^UGabGOr4kBN~@}L_qTFusG1TgIdO$if$Ok9nt2rc zmF~?8=Sg3$HBNnZEP&9+kNHn)Z^ST>CsS#)F~-WXcb;u z-3_iHS8E`gd|)`@M!1m?h@#Y_5&ERZ6|_}#0~I;t8}G~N47y!hiN-!MJyz+}a{-IO ze*Irs?P8>PqvR?H{&ZA%P-keMuo{S;dN_s%2i7RO9(`-YrGD`e`C6Vg&At~hJt`N%qPBa`Ca z=|3e(Dr>TO}w)iI9{ladgqpoK_~>UN3&#fNww3#OZW=yDkkx z{xYC$(9JOU>m4UstAAkBSG+|6hZmRU8ZQjUeM$dg%@8Je0(GPl|0)<(Jv3z%V<^HU zER0NPU~q0`rT$<}N?SR8Hg!C_=PaR45U;I?7c9-~bQQqgT2HOGNq#K^4t14GNp6J0 z;60jAp0cU<4QH~)1Rd?9aluBba=lc_T-vRLO05GI=yY7-i0t0u+D-EEavchTz(y)0 zwca{~g*!Qts!wFfUi-R1=HI9OzuC{S+Jp0a^XJ}CY02;|4{ zIG5wXkmwnUpsIyA{#&l*NiN(*@K_wyqp1--$xV#{HS+FHRsREY`x?FL5hXK-Ja7q! z*daM~CbYKL6*{0srgHtVUY$e22 zByTY6VQ}H95Vo}<+!j-KVt6;))1=wu{-s>#wMyv}K28>0M|S}bv?GhfKvu_wdHBh! zfSqJ($C%!>{k&e)X6Pl@VB`1T`vorV;<6gQ=XF=NzuhDT`8GXhdW^pKomir!+~?f)34+kv)zXej7;+I0P@Y0g?oeyA2>SIyb?Aa^rEIt>+>s+U=a z{4S{ttcIkHib>q8ySytU{J#FWt}oX-@bC0f^G-6VC-2f1)cfVUHea`lrsMEe*3s+> zvvIwQri_6KcV>+*DLjX|6@Kv>lP%8f~>YZ!S3N6%|yRU zjp}_!ZHMX{AeX-7=5efij#s;MlHPW@cl15=jmQgxZ*=-J_}8(Z#+8)`Q$--Ra1ECO4ZdN6-&U+MlQ|VZF8@Go90-8Ry@^T?h!`OVh5ck1W#G1*o<{ z4^lq>XFX=!44XNrhO9_YYT^sken1ERnGZVhVfj6%$XaEM4PZ9^iRw)7Sii3OIwD7W z@pX&}F-?2q>tQ?&4XMcKh@5p(-%&e@>5rwK_tE`z`xjx`0QceTVWKb{K;PZ+(Hv3p zpygZA7IGH{H7wbiaw|~OvMI_u@v&o5I{RM>k)z5BA5`4*tz9|*TaUKXp6iikwO#@u zcZ#=hVy=q%>;E<}R8X*c#?Y`l;A`3j_MN!QPJrj|Z29aa#5o+i>0D&^X7>Y71cZBu zaLrFcLMg*HXGCb!m+E{FWh)h^xyy3>dp%Q{W%`217(|J?E+6S`LAZPq30+K+ z>;Y}1WQofYZj;g>XSStNqRLA}!@Gf`hCfw%ssEN72jm2+IQ}C0fJcPRU{UQsS#mGY zqyittY@(zKb7SUk;|1X3*fPT-Via6*2niI-f>r$eD-kG5>zO{XZ;cgRt2W)S%( zvwly&-C&Uy(;naD??s^d_P&t2${i73(R}>oZpvOQSr1yE-_ct>T45982hG`M?uCoC z@+{l#x>TfY$83TJk&qn&&Rmebu_A1CLKG}9Q&}78vXG(1yUDW~6{SFH%?E-P+lHvR z);8-V=}2!+);)7XXKS8m+e21^19zre-C}4j5i@d$$Wfnu%ze~X5Lh>bXQldO3I4xk zdC;5a%Z;CFX3dZgiXG{MuH57iqjDzC#f@E^CgNuE5F|=Ec?a-v!CX4XTKbeR=eLy2 z7?`_U6S;Cx^hfsRH@#$>30Xz&a-e)-w(bC*1DdyW1kV{o9;(CG`{2W3GsZvo5@>wN zkF;^?q9ROcD)v+GjpAA6m8x`nE#nj|!}o886V<9fIT*di=z%}xFl!hKuQ0=n82=i+ z)Qz#U1RraQ$Ni+~7Y%hkx-ZT0X=nV)coY7npcf!>?3lSA>%LC;Tv4ccpqvj=K~THt zZ$vIDdt_g7NEqaJ0k&Vq?v6i%Fo+pfp zkJUhb;@BI0BxLw+)X%fV9$s|s41X5JC5s@cL*n0Y&~=y@bGbpoVPto2SkbA!GkuY!Y&zwWb*f|I9sTjUP{H8!PcOLaUH`lr{XP62EJu`eEICyT(Pi3pO(sUzE!200JVI9uL zVHJg78w&D5@7dxY;{)&^?yu=F#y}FRFN4eJ`9r;UH2 z{(?W$_qm6Lbt6~8=La=OykAv6NHk)quU`Jv7!LpU+{j+oX>b3?!4xh2%@ug zAd)*rlR0@*Ps0|IK_J&$7Bp)+YpHvJ$pUXlx+f61@@|n(37;g}^?yx=ZB#yvR@fgW z@|Lq;^N;*@v5By8>R0lwRJ7^DZ2XtV??SChMNvcQfX=AYo4=KYlSdt*dBZ*P;Yg^ba= z+UCA8Y~z@dml~^(kTUp}>~^oG0Q?gIUB4Q}!!401XYfkYKcs`;e;FNH5}ycWcZwvvtdqnhd2ul1=C3k*X!K95G(`kp2&wjG*( z*ixttg-ACR%xm_nfCQ{xSx;l;4vYS&prLbc$5(I~gvtu^2;3;YuuN;O-NBd*5y4fv z5b^r26Q64e!7iGg$m6dx@VkA5`qY&(T&{G;&~;F^G2)@IvW#@6{E~4Cq1^pD0QCec zNB?klI;x9G@u{7Z*vj`JPB`>a@2;6h5aWi0|8do#^i}6@4&l|@z@Bv?;ytMpXhGaN ze91h8C>^Y|B&0KT2**lgt-X%DoqArZBs!}=erhlTlBG=XBz{Of3Ov9*Z{DL4%)*!K zr(ct;rK7;hgWwI?ogK-3i`v^BmN=lqMHjaXwb^a7dOxHyV8k8un06jENAv(H`Pz#Y zfjdk?{8{58eY9kg!o#i|pEnpxI*^kQ0?q@>4)9!8FsehSYuZt@!)CMv>Arr>eyOAs z-u497Cj4HR7yN$xZdf?%AcO8d5qzMk##XzeidERy09&sVe@W?q@SxI4vD@Lw)~@MTOb@qs>C zw;I!4MZN&Z27 zSCxh68x@^XZAJhH*Np{~d|}k3$U!Boqa@cEeH8!5&}UxMsK@KJ80Yn0tR!nNva2ZJ zGvp^AH}IBZsAZh?n*1aFi_~O70GL}Xv+lF#+NQZd8f2(k729aNxM0a)%zmK+q;*yu zQw8WxDE8c6EP#-DrLw{bG zp0+;eCOgS4#XsQxLcRm!ZP4gd+gV~qk(K^l>#P^j8vP9^2$qlcRG3?fI(; z{1yk4=p_rQ;9h`br}MwkmjJ&B6NLD*+~kSGdS@Yw>8M5nvUNd}MQzR^OpX6RlP!=1 z{OdlqVb%<{Rkxd(S^U&i*Q>0)UW8oDyF$GNb3^+WtWy4}`up5{pF1&qu-m}zIqpux z=on3^Xw&M~z#dL^W3BKcX-H|8;XLm}il#kBXT%vDw&MTPg1T(f8QNVF)M{y(?5pAM zHYolyK2GPaZB*GHE9Dy`TG-g=(p^e7inkoxWB5lNzZCMT^8uO@InOw29A_wELZK>v ziQXq|`&#p2wneUe25c{=aOkO)Xg7HPv~3hvzxLLwbyJZ2Db5gwUq*GrOWTrB07aH~ z*@Z{lf;bIv?Qu-Fo;<0^k-0(lDqD+=EyJfziG;3asLi1 zL8AaFb6oi}aTA1#PXwtifP9GRWkC;Sxp09BWK7}h6?emC%hhegO~cxMRWQZne+x5+ zzPBJ`!!FH9cP3+4W$Cvgro#AjLUh3o`HdNjIv?4CX3}uxR8uI}<@2_1^x9vl1kRQdl&v)uK6G|gD z`^*tV_Oih=yP9=mc#ELfWFi}lM6Nq_##E3)?4iYH@PmfEzCV(#8TXKWr&yT0-R|g9 zBs)-Nb?=~FCvk(IG3%^M_S{@P*=u;B;1|t_xsi+BORB zyYB_+H!93Ki74PcZC{r;@~M2HH%?Snx(K-}{I#I7dMUa`Wdq^)No=&c9;IG}%=ye7 zQ9q@epdJIRI=4Ib2}R+mD<;~qto5VrYg#G3Uj+!%D%<|G7*9P2{9raGA2@4R%~QoF z%$5qn?Ki_qVTH8N>o}V1?ME+R;e5daq>Q+oJh!Y)v*0!RLa`rxhK04?Fe;pR^s3pL z3g|mxw+;58A&MGv&amL+dpt0R^pEi5Rk~?3ceIvoQ@_Gq6Iy(1y!5m25z4U&4YR;U z`34!fs^>PTaVe-Dm&n*ZIgXu?BFmL{-8V&!c#)6ERW@5aXRF4Y)pd(9aYu~o@g4Il z8JQDZRvkp54_BCDk8zkjn~Bo43yGEyi+I%YwM?ENz9K;BRgrLw6TcHQl6XV_T@7x# zhBHi)uiL4L20{os@ei=GPKGEsLUNp2IhH44^6W*ey9<;<|H586D;XaWmYymFZwlT; zOQIzQ5c7IF%|4YMB^#50N~b?1yrOGhDtCPYmYnOq%lN&+OU`I1&^C$TfiD!Ae@eeu zEQ^Z9vhy5`{4|Id{mkEv^g!QU_|Xh~m=OFxw{d->I;dJ?U7Ngq|8=U$jPfVmQ~W<< z3e~+IZ;lF{$&56!X5N`9tHyFHAPp^F8fQV2KQ!DfycMF_tR)TKIw14nZYnk%h*4 z&LV%^L-{o*>OvM>o2}OSDWI<4e~A-5rHtc|_uVV^lWm|f;aexS8q1Ywk@nQeA&IZz z9&6OR7L$jo!_u5rgDAOxWmu;a&AF%hfZv0=r65Z5ZK#A5hqo59wp~`*;PGvgV^G=h zyq6X-uw-?g@W^EX=Hrk75mRk3#T$XyN^M$SY^vsZuNmnIkcsxEkf|3PmbJg8&Jk4s z@(a^s8u=0D8^T;Umi7(h0K^Ki3R~1tmxu;;`Te?GbnPplwBx2bUhAI(sO+C8F;%x!oK>FdB>A^RXgvyVWfa^nuTdaK)&;$wDq zf+x%$^ZUHUTxDvt!^uUZ?{FqEmp_{(^N^ z4L5l(M}0^8dw3!B{3r*#Ua_v~6B_ekvP`a}dmm8eW>m0sFRNf#buXV+`na>pi+PIN zsrg0aihoKQIL%H6)DS}S|MLy8r?u-cC|}`u%0t<~i^BNx<{!g8Fy^2&37UJeKT^w2 z)9yBH@|gz-A?<)2tl8Kawr=K}rmMo4X-;Ht%wI!q$hV@N)2hEr_?7h?1aYG6gyHpY zI=RFAaWd1MJ6iBJm^3+Nw_NZJVv$or$XDA_uCbeloRhh^vEu!b2V=PIhitdn^@IlPoCdc79@tBP)Y&`vMXoCJ5$u@1YI?eN9YKNmI zu}dfOlB7PZh%ART^zep+uey*c8&m-0ukb~o`fngAG{pW6_&xOw;F8gu)7S}%#`5|( z=tsewal75CxYk&jBQ53;JIEo?n?N2`T$QB$)XC<>;vruV{`4f>A>1U}f=Y>9hJ&ix z+D*J54NC@l6O1Mw;5b`0t0Ny0fDbTtm60m_KFI~i*+iS^pWO3Py@ctMUyT>l0qeaT zNRg>YHQHepdegpKN(b#At4UjZ^YziH9eQ7l%@|Jh5PNmZO0^yRfWHLa;a-DZ`GEkq zuK{Z-MMoq@4Lb}JOZ05$Sez<*?puB`%}G`$^tl{ZL?c6IvT=Q*6;q0BQrscMn+d*? z(Zt7u+f5MK$*Ah>)EDxNau+mHQfH*X@kEBsos(7qe}r$}!ZSU))tl%FY78Wszw1wf zB=D8CdJoxM{F~^J zU~2k3&Nq!R*Cq0f)G-^;K9#xp>wqhP8!erxOCnDIx2KvUGZO92G2_x*VL*GjG%YY| z0DrOfDJSR)!m{%x_ya=EQ@pueg>`o$#jthuAe4jdKGh6qE~xc)fIOm$(hjKnKpx7u z<>c)^UcBZpFIwdcGAr6|=&(s7YTp=x05Z5l89Cyk>>T~q>Yd5O0lSVniuy*giSRf~ zcHbd7QuEu`i`g4g@|UCs_;E5{xi>7lNMZ=f31;(Z#dmeMl=(-X9CEZdH}5jN%UA8- zW%wD^p#c1AEeYH=AF#+!GDR@dUd$H4Wivx)`kjE;uaNdQOH}M2gGy6wNCG|r0|kFG zI$}iM^>EYv_XaLJQ{Xp#F^rjoGv+H?Jn}*Y>Db~+$#|7L4 z<@wn{(YLE#Q`7C#txv~Nu{qkg7phI#IbMv0u2$|`DhUP5Rm-HuA!_X}vp=A}AHFYa zhM&9obd7m{(tj1 zh73aWAzHN^e}eH-g6i}C61)G8rgx8Px&Qyixw=TAA%tp^FbTU7DyELH>^3$Cw0LMt&uqO^$nK41-;&=UnAYG z%#Dmk;BrTdny52?lLQ+PP~{Q13SImmNT^~~T2qG(F_m^$LN@sXJU((e^Kk_KpLql9 zX~?7v7crZlMEeTYMkS+M8y%TOjsAo!S34WXMFTj{ljMAjfC;LqC5 zptf>eX&^No{m*zDW}EUU>JNA_QWybRJ2g1&+O{0?*mR$U%L96v<}oetf>cW^{B;!D z5Q!cO<${#4(XY)_=ah-jYwW#LY1GnWX44cWTFqFmTAa37ho3jfm|_uR4UebwOcFF1 zQ+MDx7{J0!OgrL3*j)q!o0W_1YSNi)$km0drQU!>22Lky@2=v6cKu#^k^V$Ag2>)M zYH8h)6+JAkRW}4{4Ott354)H+e7GB;2yV>y>8fiaYFs6C_NHS@RFl$gJmdG8LS5w} zSe^hZo${}-pAtoQv%mlM>&Y2&e+jRe5QjB82&@pPKKVsmi#o}X@}BXS+H6yf!21eg zJ_zin__dV3jpWa!AEABcGOAsKp>k`*`gzbg(4f;dRSBOn8nQ~kR~(lyRzQKHpVR

    _Z+KRRN_d$&V@KNEgI26@zccV1DI+3;|X^YQ)LLCX9jNr!vJ7bqEW3 zq29EZ$G)RBFe87L-zy855Y>w=s2LE|I<7&K6rDHEY|&}D5NRLvEc}N@D{oqnPJ3z@ zX@ItD?fV!kUEDU`WGilbg*&8ueFxi#)@TPQE>ySQQXJ6&@VyeOV+Re zVjodV0Be2tv7}a}LlILKG9D!qZbT-lSX8dtpdluUNehHYw;`PxPr;L=Z&TV1u^)imI9Mxia-$br;3#elN}mD9;yXe6UQ$afYtxZlFq6%z?3wco=MFD^uY-8mn=0 zJw@rETE?5QYHL>_5~xo``#CZSZjm;e)x*@Sq-674CnWbd(Sw&p=?Ztgd+48btY&V2 zT)%@hOm!I@A94aFeY&YC^8?l8orBu5Wjd=rUof?kZoQj|BX@`S+YU2o>>42&9iMWkSV^gKxog|e?mc+Q;1l#nL5Rxe8CJ0K2XK*WbTke z$g`4MeH{&E_X+)`b*ZBkuo}c`USfh$7ITEZBJ$HBVn&A#J4T7vDj$!*DjC}_I#j*{ zHbUy=`S|OGCLX1UUrm)GSmgD<)ufd}f{>*ep+Zw;&wZypLAU%4?2@oP^;=(MrqTwz zOkeSSvmjFYs3+ue*ln?7NsFJ-lN&RjQ2{x>p*8PviNHZIf|P#@#nu)VcK)KsjIE-VS*#h4w@W@!xlHmo}XYa(^l&J&v> zrm5*!Y}fw7tQ{DxEl5}(QJRkR+RG9o2~B|6C)@^>nfy^LEmC|+6rpp%KpH{;yTCW0 zcH|ew&6u-^S9x5D&K%bodT6jajcWOd*VydZ)h(v-L7}>h(byE}Tk6flXv$O^He;w4 zj%ijcF;>dDC0~RQlq#?!uGZ?F+69i;B#iBoH69k9*1qm>lC@gWcJuN`y{Mhz*}V1^ zkC{R)(*Yn;Nz!H%TqeA=q9bd%)I3OycAbmktKOBl&4AO5s%#dolx5M$uDOf*FhPp| zb#i`lsS=1R!(%qib@TH4JQ&7icyo9-_+bIVUlS+MZSs?Eoo{#?RHgMRT_(TXe;f*M zNf_%){6e?@t5NNcGh_|DozD5I8@Y-j(n7XB1#2ks3&FsRy}$7yX!5508U>bY)6E-y z4|4JrNpzZ8M?ooze7oO|eY(idYag2SPN>s*PMfGM~E=` zbT>&0p$jK9M_F{>B1DWc>I0HeN8kC!W8Bp%m{mf{F4t;HU!WR{UI1M)%ADY|(TO1g`Rcm)h?Utw8}c+V>9G zP~V57Q!|_!|53iK+fMqK^|v<204TIn1GI+glM{;7WW=hFzd;V1quga0QG|xQf7ldr zM*){YFc+{1lJg$M_)ch$f*|z}t`-&#ILmx@sO-4`dGm8E^l^+9Vo@gv){P&XtEmI1 zengn@{IH=f)jL!-BK75+Je_!;z?g#1;JKZm#%v<%qfWal6`jCH{e-K8tD;_Los2VC z$NBN|<~U#^CXGF?5q&Jw5ZJ2SrLLKOl()sE$F25K#1!*vEpjH{v6D1>X`o3*zQGD8 zl&eosXeXG@l}%w>O{$@t5N$04D_7aa<(L6@ZWlF^u+8c=`3Ie+Mv>bh&!Boqe*sqj z%rt%wQlf~r_0e^1RcajctKyZkL8qgmpUNCmVO~b6U2w|gza5FS#N{dVqs4>U#-@=YT%tF+#HxUS`Z*w5cV|5;pb z@B%27AT>n(4qp>)^zc39?Lz!i91&@1zmC+u9|gyebC|fAsG5`_mz@UBjOUN3PMeyl zotajeo*Fhn-2+Ge9lAajmvs$p&NPar#u|%#o<=O)jWqCX!E`#I0hpgb3HX!L{n~{g z`mi+AL?qew!)@47)1#-}8r{h=Yz<&L_fLs~IWiQ$1bvOV7rBXohkFrrQxV7VjHgDJ z0#%nXrj)g8>CL@Z*KzzbAb&&jM6{Z+3mPlWv0VXp7Bjw%+Da`Woiq_C(zt@cY-rZBQnfC>c%Vcu0SGoMM@}0`WT_j@&U{k z@%PG)a1ng-9uelGIt7(Ppn{WtT}G@mi>gC9KKX zAo&53t3sEA}EAg7y?tL8upk9d9Agdw@>#7FqJVX1|G>AUcUlkB_qmzH53=MX@DHgZHW3I zX=1W?{q1HU7$zY97+cpoY9Qg(Dt&(V+DI381|_M{BXjW< zY9Y!s-ZsIem;PS;vHrRGMu$0B$6*-rwZ1oa$+!*#yBP&lfzaz+KjXFHi#hcckO`5R z7hXQ_4C;ic#C~InI;lqfs$3Kzy&f8BjwOM)E^4FbE(}z%9>CH=+X?=Qc2eEWk-Z#_V;)BY!e6Vi8$s!)HJA-U&4C!4nQS|B6U7z#RJxq> zEUa53i@Dw3J)La6i0X72jWyqD)Onnmro0!uoF?RzZ(}}z>@ZTimqlbY>GAhBDKTiV#`k(u6I?^q|9)@oGKAi8A;C7&OUiYHnrwh=*FSLzgr=j4-FQ zECsWkCd4ebw6KPG9=-)iOnENz@XFob+6EdbHWEs9Btba3TIHc$0SK+1Yt@{gIi#tmC-+$TG{Hv3cCeGLh)IJ{k)0T>&X}ECxLdN;IVR_0#&b0?JMhE8}-f^#S>^ zFZlLw@g3XLhi~Ysd2g5-By=-;K~QO8dTlCI3tR=i36f{`o5>`G%|^3ZVKjLdXbt89 z#*Ej8J7zGudyaRr@wD=ZkCK;s88F4W)5_5XZG2*NX;(Cj&$av2N8W#{b8UObpCL}5 zBUGnTjn3qB*O{p;@bBc6_hNJUuNAmrLUPENDmP{4Y*rWFGW4((77i(O6speS9fek+ zb}2b%jq6)@u7de3SosHfGUiA}jgV*1QWJSVOhDh|6Xa>Of6}x;qmI^ap@bzuf2!1x znMaw*0Oa?;wvb_3vSJwiooaJJ^XF&+m=%;_G)U^C7M}Ii@^Ov`|4yRu*1gfp+ph;9 zK}d&FzPeyO=M`K7T%~T6?yz;ysR2u#BJ}%})9yM1p35 zcV`r+%s#qKN$e>gIl?#P|Jl>$@eUE9G|11##8d1Z7k-Ak=HX%?W+2|{n`$D&fbgsy z%5-}=#f}SRBd3$0%X)HP%`_AuC;AWS+YlYx(iESs z1;vGlkI!f})ZWt#&50h6nsB&0k&y9x;I+)2I;`uPL|6|O7ky~>5HtQ%lZuN1?PmUJ z>!|{cTMq$9pX!sPxohlXK0&jwN|j!|4z|4K8yX(DIqFb{Sw4G&Wfhr<{#)Kr5HSl1 z&Ey4hLS*)iTs!4o3*AiOXGsG~G!pa~=C|ZjPJf|*CmGWPl1oCKzoAEe2;V65CFYPQ zjhPg3S+^yatr6Qt5n{>N)FDvxq+$)3)~>#%Hn1YEg$6WAL3KDZtCsJmBv2fdrtCsf zP&d)b`QM_BMCyn1P>L73`d}R~LdBOsqm>bL1n9}pJ`f@>{12&a&%PVfKd~!oXMQ~r zRryK}VF_l)KVT~jQnP-57Ht;I!}Ua$NwHbdoRRRubT^0q)yYQ-hA1>h`SXnb|}I7EBmNY8TGCRhB8pe4gbLQ}h=9H}s!0_9n$+8G6rnZuCL! zN{o)%z)%*k{+bPRjS?qmi_|{2 z>ak$qKB!@X7nPu1%ggzp+ex)Zv9Dyn#@xS5b^h&%}sS_N|d2yT(ob{NO+-5#o8rwIj#J@0?RUQ+a+B$WoT4sZhI4H zZ43iyQ=Y|1Og2$!kAZH$v?`_c(s)c0)sLSUo{(ScIIO!RMevGH*QVh^I=15Jd6D-X z4zIOy)3Cs*8_L+D*>eS8klf*!y|+ycyRyx(IDFLZg8 zFvi!J-+Z4%3=nK}NKQvQ1t?cD*4L8`lnzBx~vQ|nnkjBV(&G~G#tl^hAckN&zyfP!WNsg##(P)#aw()UL7e+U1KPG4{U#F+_*ELY&ZABZ)aBiWA zr=?&Vsxh9UEAQgHK3WR#W@aArxRaMu)M^X?m0ILb!goiEnd>Mu&1S-bm;8-E4D3IZ?=?uqHZR~asH???m68Vn`h%_zgX zc+lg%tF9MaIq*@NTUz%XxhSkxhiuo;3aW(2mU}ImY;5tmct3862lN-5JAuy#=S*v;@9pBdX--U}{pJ zKb@K}!+9t=OkZikE%M#^oX*#iuAPfRWYo@pZ@}YWThSXLtyOEM%)U8c-sIOPZBE12 zG1dtUiLWC*7&!u@AY?x31=^hBmy`(K1*)vKmaT{~pqhc==2%eZ^Kb!XH}uE+BLW!Y zM3S1R?@IA-Fy^{17#^tf1kT1&-{O?^t>mfIkX70=P}Ur`$SRTkEv7$#e_~0$*q&|A z-!C^G1z^m;s`k`4avB;eT#ZT6Xt9$OZ0jeue%y4Sp(MGvwFxdX2|v7O9=#p#3-ds@ zO}HIxpnQF_L%x#LiMoy*bP&^$@PUM#O8!G{uA^>nQo;qX5)~IVgC>e0wZE+9MEPX=~k&eu*ong zUjj(Qn!wJHFNOp}jBiwg!O6OCvyc|NmfjgG?!c^5)%JoE=GTT=-1fmA_et&4Y1p9+ zusE0&yLkS^HCEGM%SQ_j33612Y2iy*uWcrqH6zUIfcspEiIY5S`j=4f2WPp-R9ij! z5#N41lX7i|un!x^jDv3A*g-fBC*(&)h;bgVMq-QcdI@zaL<5YIS@Vig>BE4xu34&w z^1r#};#C##)HH4RsBQ~fL6gGOH&APH3)SCL7PFS!rCkJe6l-NTOb&MSZ0uBOS51&A zYsDt689z@}jlHQ_BM;#RFVXp7vpU>mLCsF%Ss38lSIY9m!>VP1wr%mvR`Hcc72eq%P- zD7V7-D%-&>s5pkL%T1goJhCas(hGIysiC|u?+6+#D|Cd(aU(YIv^Mgn&28y48aTU0 zoQ___HP`B^_=UYX7~KUv#)M~{VRS8I60n3TW9BLXhBv`ZIK(w3F((vr{UX+uIT8B8 zykEGkFoVQ)Xmc29&KNb?&e%#on@f`xcWn*`8e9uZr%h)KtCu0uWY#IHLv=WKAagCe z1Ky>vf~hVGJr^vi41ST$VwT;bSt-Et*6ToJ8BoxWeg7ry^}!1chIBTO?9D`02C)aR>U0@gwiBsKT4tkF59zpsfre(n z+M_!GoJs66z&v7|Ylmeq5v_@%%kqsxo~jGJe>3wi%at%Ds2Zb>IpMn-mI2zz{6jaL z_qe(+`;P4~#ADUxgRZ?v+D151?oH^J^ zaD*{%%WJE#k1@>vx$_{%3|I~OOVg#AdIci0(O&#@ur9@GHOyV;CoFA`P@5i`Of*-4 zq)$a3$^z~ZEJTMNPQt{eH7|}PLN^T+Yo_sQ(nz)d1JBV(n2vH&LoVL*5GB_qh!&P89aFK|(qv(5OhSUOHC&plIIp{~w zV2=3vHK(KuYDNgUcs{3>&cZD1dg?rX+r?6bh`ow?SOD7gPHQk+eA^1_)%aD)YL4-DWk&L2EMTMOPo(70(dr6CqVIWY< z3Rn|16$c9t?wJJ$FMR8kNSYh{MA!L=(Z*D;!7I>cm!!WkYv2d}!>C6Q@UU+_uciiZ z3TvQf&f&YxKO$cRSE=X29@P%=x+PHdt$xc+yh(qER2$StPMZ4gOQ0WWF}Ip;I$D6e zsR+?-HPjg@4Bs}TErD}-P*;mO?h$UEV(ZPvu&~?^4o!yH5T$Q|BUKx80MIqO7szfA zAIPmyKUe~ccqAzV-Ac8tU|GmhQJcqt{-Z>1qPl=^Te;aJ7BVH#sf3dgF**;;2%$G9 z{6ZygRd}LcdFY=psUU&dl1)=azd71!PUmK0>?q%kzed@#AT6Eio{bV>1`F7L;pMO- zs$p&aEmNV1G6DLxET`T=rO&`ohhZlMajcwjfO4z0ObYh`buw{XlI!dsskOuyPOIn_ zaBGyn3*UH5>~V@-t0ONUHbz_|bl4iXnw%63pgtLToFQGIT!*be51{DTFbkCR{4B5d zCUd>Yi~3j8GFc`XoL|V(TZkpGCE}p_quOA(T~YYe4Y6UY9jHHibr6I=EnMvfkh{qm z|5!2}huS{UOku2++CUuHM;pbfek6Z0K5W*RQ(P8T*C}cEfbT?D-4i;H=+B&IFDZ`< z>fF1b-A{Rx5stzXrmP){djvNYuPt0}aV*oU#dc~L^A4h>AxGG({d}7GDU+?aN?KzN z)N)f5O=D%H0VYx}iWU)H2H5A?N8d>=#D-ePbd?0Pg<`OPpfn8=pBlTNa+7=UA55+I zqFF^2rJeXE&M^nD@W;NwJozciN_w8E(?rz%AW zT&q5%j&)tHojdbxhdT~Bb7il3ed|VclFmLY$(L zvl$}GPgp$F>Bjm;sHZgWZIL@7IspV4Nu;Q5GezRDeOcQVzTX=eN?EMzQJSuwGn&Hq z5ARagck02n)0>Dt0O(hqL6q7ApF0QuHZK_Y0uAJk%x=*}lM`fj8}*a2q%mK)L9@rj znM}jvIez>oPFFKC)uh7@8`py-($$R6K|+5{KXcT{XC=J=(v0TYcH6(ET?1)R3j-Hp z-~rs`Vm3>?F}#kYUp15}@>2w-w(XkQK#yZM zG@VKIR~-t?gT{Kx^6yA@J>*MDI$D6r#%=s$%)LoF4nf9P4mD7|<1Ghj!^?t%#-T~l zoxE$N$<%Mv;ggaqmNobA67fT;^t{8Fu@!Kw&^8NQQYPudeRG9dR7^?6nu3L!WjhAx zia)yuBZR}bt#EDP^22wC@$ePl*D<7{6;r&jCW#=U&ZY4MQ$p0{WNXoC@EmDMZ5Z_j z!x>>dpT&!?ru^nb6VmE4>URpPlzS93?(!7zu3^x}MUnk&nY~Rvq<^M^y7}K2qKsin zW+;66A;as@tr4u_WgwUnWfweS=&2z`^@WsV@)?qBqE<~L+0W5i<8+@njc=q{!BROm z%@6!niR&6&ErFHyQsp)~(2HG&TVKmJoDH1Q7NJe+j#1v=gCglMVNpFLx=@Bz zWT{x$22vg7FGF8roOEG8#$)y-e!thbocaXv7|WeVNWl$f*7pf9OGT{Yel$NqxrLe{ z5JeC_fPTb`;!VTg$MYUzl?eN`4<*Th_hK)BsdB`q; zHak0qSKDH!h35}N?_!MLYcW@s^nXCYcT1fZg=+JZX2^Jk(s*vmeauSIN0{AIm;N+Z zagcve4z8luvG$<1$k|d|PKnO8diL1I-MA)>l4OUsuC+%4rK+ zEABCu@myH!Z=H)nQl7_c+ zNkGt&akJBG>u3a#>6E{ln(D#MU>VkNRqk48ic6$X-Nv~o$KYk$DnqAH&LkXE(_k!7-Zc7&+&1KSBY7HhgoK z9Mu0?=4%jn${`SwANdC;jNu6NR5|CjVteDT@WWW$4cOLu(yeum3C%-g^b5>Y3a+G^ zttWK|w-4Vw_xb4FInTN4LWd(u#!5+VFMtWy!JCqtzk@i$G~W&{)J zbk-KP>{KVTf-QRnaXSGAtLCjq`2u9G9rQS-K0$dZOC#8JLK8u;HpAxp^}bnXm(Z#o z!S3PNOeD1wnQKb>uW3wEx+6>?Of-dL!?7;?-x;+j z^pVg1^@61f4*z$QMi&&q{C|Bgm!x0*cUi=LBT|N-l*mv29n9oOGw%MsUNssZ7V+D5 zLEF^S2jrML(f^HDlg|G z*D0O-x4UFE7w0ih^Q2_9GU&>{3Vd-%0`KRakn$3(OrYeR$q%gNk~_$=a1KH$K^v5o z;DFcMIY)g(pG)dzp1FULHoJ#Y;#J(alG(48rMLTv-NUOoMx)-8+(US|$6${SNs3Fr zz{~D*a$^Za;N(E$${0r$t$x-ZX+jUNax~Sw{hChQsDajXSmw3HH!cmUyccX5*`;e@F$YbsfY)I*BPNA2=sr2^z za`(k8U6mIPVx}+r%KoiEg}kV6mD%KJ&br@i@Sd~#Qj+rf%0Qe; zNy&;<_r)LjC9~(dlqHfY1BHa5MV{GMmq8BfT`-7LQVT08ft7RC|781WZIyfrVm?*` z?Jq7_l=JiyvzRe!WlKpk;RYqZ&wc;Em++s8W-KJ{_xr=tHzhB9+}wF-Wx>23vYL+_ zc=v&|weAB&_==L!kO42sWp|L`j(elPg%^;UV=M78jrmhUQR1Y9) zuMG5kO0j`m=b$Mi@72X6`J$N;FSYNO=IqG%=wZIT?E4jW2hXLb=N+2PeD}o_Gf0mv zRb-d+na3@l&o3vAw}9^csbNyiKiDPySR$7v{QRQiG^ZnZ?!p>uCMo~z;y+4a@PfnO ztz_EQ&BABscbvuvFkNlwV1FIy$$e~>iV{>lU;CwmvKx(Mg_O*O1zjDm=GNkZ z=Ox{Y0b?#R=nT)R)o)wGm;9XiYaHe-LYe_}FI7viRl#Jc$_KDTy!+y2S+ivk)qbI0 z7IXNeQZ^tg&e`ZpRGy}H_Rxa&*AgrnyWdC5=4%;%zB|wiRdUJED+lw7rBN!y;VHw7 zpln`+7xAYe;~kD>>FJs==Aryt@~|&52DEQ0Xy-^#&aY3C^sj1AOuZP1bT|DFG}wuQ zZ%1Gj9Cvju2>nJ-L|6BL@5EclUd-zlA9u@%+J>`63N=Jl(Sw!QM=vG2FCLrWIZ%Ik zEtQsJhX)ocSC|1{w1@l4{LKPzx(jyA2M2v?>j5_zO9&R?z%G~ zWXtn_8>QA0wZ>d$`p~c_%VXfnbK;_qy?*(>9uIh!>UQIg`93=(M@RfoM&$zM^i!W@ zB@Z4fA@l<%Wy9$ppoOvNn>yYE2!4yr3UX+!mCUg4^SQA6hhyFT$r1v>Bg-_jPbYRm_XZ z(0?Fo;tle2yZd5j*TI;I2Rq32$0gpRAV}KXn_Wa|fo)W4aG*|J!>u&s^{T2GF2&0# zCT^V7{rpEw!hYtamyN&gjDdabWWWhBqiu+4hq*AJeS5!nm+)|x;9tEiwQV`)(KcR6 zNp#u*Iv(}UYrga^zb5^6^stYEXo4l8-_vN%Yx2nDN+pOJ%P?}+k_ z50wpQLCZR70%3WUqH{}4zkSCEb1^!_}eSwZL5%4ExK#qDXrubSd!ekxn)k!L@ z$g!GJdZ;JbuYUxwsiO-Xa^*a84|;5`0`$hy?%XT+U$Q2fcr-CMDKV4g3;Fiz!z)cT zpB*ZbM}J>j)y`P{b8J((>SxGVBQLt0@E152vL>^KzVRMbV#}tYcxd6kr=OaW$?h#R zBufqI7P#Ew3-a{?I|RL=mr5x2MiK`odxCk|#>cxZQa|6O6TxZYt2I5(ONAUNl z)tt?@zwOfax@!}EZ#sKKtiBFXJ^T(KL%m-KS9FQikFYNL{r1?Tp;>^i$L5seP~I*f zt&|&z+mjE;C})CmeLbf<+Gi8$Lkh-Y62!`ErvBVc-W?e&?wwW-2|*2@9iO)ve_C2D z`}xO=u%_jMlb#W^I9F=Y-m#B8v~^q$|C8#9E%Nu6yXaMFV1GieGb!d>WCyhC%P|4} z7V>GP7u_)MSH{PVn!^j;UDm~~d_Ro-_2IAy1U=?CcU2i!&=DzHDI+aV&j-hR6r&sG zYc5hgpTdat%2*MB#FRVg7gMV|HaY8_!Fj9->e;k%>;Mybg@UfK?S3E7b~xU#Rag{t zlzQ$Jno=29IL=w|93S;Hi|&SkIUTL@MaJaVwyT9d8aG}Ce`ONPq5wb8M15z*yTc}C z^SmBElLJ{5tvB-QNmTdI2?-rKI}enF(}yuMKAExgr*X$YN3 z6lz38iNO;*Kswd|AzFAlD)&KtZ#_(_y+IGrccpv?AFX)BJayl9uO%9moALmF(Bg)2_GW`0i-Ho|=nHO{({{sy$z?i5E+bO$?3|HJESmaQoR_ zx+x7Kid9#p;}>{@LG39p2)Qf z8T^;JA7PROLU|lQ+u1EkkoUpn^_OjL7rav5`l9^3n9Vyao23X}gY^*fP2iYp+xa6ifyEC#T{;SNgsC>S_j{Mm zt%diZ((hiZipl+JRy4kxv@RvLB;3L02>BF+Od3?%b%`FxI^rH^UOcFE`NF;_Q#kLE z+?jZxi~&fy@hEYauT#NYZ^l?*#@|4E}Y*pc)3XuYtu|?Hc)}ZLSA>caAYWp!ho{ zxSU{&StHC#fX=)l**(MA<~JgW*M|&66D)FmL++^F@#imnb!T3L{n~w}{^a2<$H1W+ zgUghS2dL)-;%zgSG_m5?#B0lh0v#cz_O=Rlb^)SinUYF^U%?1XCqCBd*HAxfiF}C) zK4B{hWOvqX;())B5c{CAl=1r~qXbbxnd@rj16n$SJ}Dpl!T%Hz`DjqKtbOiC9{l9z z;kTohRIcWgEm!b!!uf{l@e>1S6-TikJO0V8rN3t) zg1WS`ro;r9ZF5!<<5N<9{Gh`H>EgMGUlHe+eJvdWUPIsj z`niy0_na1CapXXj+T*NtG7TXg8@lIl-sP)N#gBg(mSfskKDzSu+bN49u6^|&FjYx@ zpb8xetC98sg(KI584d}6si!)G?HXnJU{%hY#WQ&g7Y;fctCE_HuqVDY8{J}%IzcWk zyyIH(YTET4_8s*&2l9AEM_&(iID_Gbj!c@gf6vYi*lV=roRj4P4O<(Raai-gKPWLD zU2yxcRXO_d)YYeMFh?sJ3++=Ns69iGKlJ-<{Bhx|Afq9ZUeR~->bW2UqWIIfEI@Bq zh~bpa_I-+y${QZvzcj$Gr;$cKn7<=G?8Sopb+vre zNWc{}{|s7PDPDRwCOY0FIH{6&sU&OKN6g>-3VJq&IZOFi`#|V9vJmj~2k1%#_9=hf zzg*%eqph6L+-dLHi-!4xGvX^_KHU*{%D&Bv7b?1m`McM^FVKk2YFalF@bgpnxN}HZ zz;#>6&Jor=KW1El9nTOO8K<^)I)W*(Z7Pg!U=AFG@4S|h=31Ugbq@#j%O74wp{@ui zPG8uY?thDzli3tsl~#8A+Ad=jV5vS7@gBdS@6~-<_997#UO)d~w097nis`vrfvTzG z$y$h6gMpugUoZR=7`89Z-?E92sm zNiWN?f*bJ}2EN2avMbE?dexG40c!n1pLD6>%LP&6r8&_0n=W5*q;wMXMAXtf_DteL zP;DpG<|~r1vn+d^LEio^E^fZ^c$DhKK&ZzaN{`2H<<9o`hEIc;!bkRjzf|uUz+dG-?EtGt4lt_X!W5kRp>;HUb&-l31cS+9nTkJ zRu43^(~or3!gjrOF>;L|3flxfX+M6l!#-7r0u>ot0x8Se^Nj$yyZC_UW3Zm3DvPz74UDp?LqqHF< z9lKiR>bWVzRfcc*F!l6NxX0&_vcu%lo=fYJsaNMPW#i*VX82Hn;(N=dkh58k3=QgB zJ=8UTSssb08(h3KGU?ZXvuo)Y($9Li#}~fWl=(Kn!P$;;O4vmjXk0Tf9duh2beq!t z6&Z464f>KA>ii|D)F1muEITKgvGWoQC0H2WC6R%a7 z5%)6hQoJ|~V#?Ke)XRKyEuVF#z4PjX_$;#UdixMAGYr4+J=y1e{%(hRR~fG^-#hB_ z(By};@r$^nR0pQ{FQ(GJz0805%g=$Sk3A9HMBnWU)hq14rQn#){!=?--OjuE4txa% zJeT3She+#pW4$BmsLH#5a=|IN>#OS)MsUREhGQmoysaJ-KX{lpC^|i`$Q=9^xPRVrzv9kSZ|G?l zwpiVG^0W7LAJiupIO;vukhYi7^P=Lw%aGiC*AAqq4N^5Gd!Tk_J;OgO*j-ff!`VNK z65yb8I>j@1_|y<(4;hpN_uW1+^$c?7C7Q8sfqY?$@`h|Acn-B6tyQ$i(u4&#y&8jy zD6*qEvfw_)L^c$`b+ext)vi(-HcBi%J)w1JB$+0zSMH*7A1F8bjVl6)cs;<9(d32T zQJ;-jIEy1aB{5s8CFT>39(&+-UeeL0U-5;X#?!`EP3;9T_V{3&>&YzaULa`y`EVkhVs308w{}Qthior{?EvW-<|!2;%tkrE1Ql=XCo_C;A5P zuM6R`tsh^;ZORHNQ3J31mUz!7@5tu6s(&5+s^86Zo!Ud)cZrg7HDCVmMs(Jl|5ly3 z558Rd99eF=011g-2vV?m-qs}BzeyKGk>jQIbrMV=k!7jWWvV|s7wl` z2nT#aYww^l_%{&kEbEQ%sl6JEOQg_6He6LLa1s8#J06>LYkz55JNM;4#su8nxwc^_ z{7vNin2^1E23d9cX^Ow3w53J&93iVD|LC=y7JzlG;2m~`81xMQK{f*=ok8uL7A~w_WkEbz(hvyMzHSfWSk`} zB(>bPaFKc@`qvJ-lnqblY3Ku&$RQg(H#*ur__UzPzOVde%&>1uUpCd{KJBXqaAyVO zR2cc#XwilPXzwL-CjUX{YOy5@fGim#bL7B3%O#-P&txnb#&+k#Z1RrVnp z4)mm@kh0SA_iB!wp&xLELOn)*%bu481ZHKOW4eu-fs8z0*QAv$a@8x;!k_FZo4_H! zIS<{{0lDGW?zswD7wmj#_nrQ){L6BXZPmY3?t{y z*RRawzqgHgUqRn&fbu|%`?UxF&n+7-Mt=74W(TGRUxe9wFi|dNj~2AVUCR!sx)WAE z9!`t~9iKvwknp{C8hs8zFHw~KvL^G5iOkC`|L*iLh1~HnGf?d8vaZ+y_2uO4i&@wO z-QY;0+3XbUqK@}ya;1noQ!nLK|#jf;9Z_#hL-dEL^T8GY}(mDDpC z8!MbVH!^!q*2QUSG+JeY%cKzw&{O_IDZV}Ns#Wa0YgGMi{P)(DClSvIp%-N0g6h_wo%B~iRp~pTE9~t3bA*_) zwC;qpIqx*!MC&neM2lEwqt5eZ5#4x1;o+2SEXf^X>jo3AC}-bp=l}8DVTbSi)OmE= zUw&UEV+scOJJ<|bIMb@-=V9URfK8knXZOkeHEhc>)Q^?JW6Ueldlr%g%|*Dl{@dPh_i8do|L zmLm_B6NA^%-{NMR!iIbsgp2}At@IN`I`g?m4^}{hTjJ=~I@dkq+J|{AHob23k}OX? zYTrW~0wTWwa4+P_b^!7xO*4B+(S~8e zM+QBLQqq;uL22(JPa?S>RuxlWGc)`qvzixZ00zZfxVhH&CV3qJ@CMm6yxshP0|w?l z>9C~Lxyt^-4*Pr%R=+8`)N_r}TyKuu+~aN>l91Aj`(BnUJnzh(5YgIg6~t@U&{w9| zcdOygqG_5eV!9{w&4|2fB<+DT`w+FJNXWFLGZ0!Q)MjU3TktV+@MpS9KPqY$sBQOl z)^XbOv8@KWw00j{RTt&mYt~xh!S3vh{;2W-uiUV| zSp&zEtj1@klPdoRcMxM5T?eBga#s4mBOj=g5=e!^q_Qf4fjpJUaD`u9JQpg3zzC~1 zhc6dOpZ!=Mw;!&^_cb6=I{x$%LDTQpQT-tBdQ(E7W6JCI+7{`b9csl9pm$HfeA>+F z0r^snrEIt8ujZ^7i(J_ayYD_6^@VLCq(~lmXE)zAo#1m}o-252SSLgUV}lUfUCrqI zK?K%&OnDy2_6&)OY%Yq5`!qgK%!nK8G91#-`gY_PlTam7`TO$@Rhb6cy6M2QtaM z5`}t-Fra8!r}O=pOFR84DosOd+;G>V2BY%)=*MQ&Wl^>}6wgrf<^lY>-V!c!+WIW$ zgo!~h%iysL63m-^+c@2z#5b;|Wl#_&HLz?j-k*?Oq3o4KHXH6dYVtT8VTXEN$%_Y> zT&R63Wz|sjJUqNA6G=^HS$LHQIU4|1`{wQV}#h6woGUO z0I6_0hXHBmP!?%5n6NQWW+e4X5~-i878mJ|J+(uA?F#??r#)I@rPA698ejD%sWfTIho$1yISvA{ix$R&_iE?zG$og zmBl;Mv0~xe;$~yE{0i{b3u$}I0`}4=bl0l3GKCpf4?j6cXu_@kFbt#Fw&VSiSV*SA zau{fCrH~e6=viypaC%zPqHW8xSyg2Uo7MY)cPTBmx;jdXDI#1621?7;&D1Z10= zJ1@47>`(+97}`p6N6#DOw;$hOP{b;?^q~dl?1sm|M^GV$iI`W8t0H!}do?wqh({%n z>3;L?og^jWx?)n?vvOX61GG}&apfV*hJ^QH%A)~JpjdEmhOKAG&vX>{isKov$}e3^ zYRrwWkt0C&^R$WGW3sHK#q2KL?<&?Sb>mI-H>{}AaJLL>4L+o;NVqu7j}fa7<3>20|Lb;NkgPieZTX>Q$ODyW?Ax8t`Dh*e9O3 znLTy4Vdk2^qy6q4)S#Qbk^ACojvu>acu29#&YJqshgVRaUp&C4l(Gu8x&{o9^7O&{ae_XL6M$eMSKchKVH$O2++1^-HL8&Za(Bt6Or#d&n9?*IeW`a7fU zNJjg6Qws)sNU$Z#xP&hCs$-a9SO1KDn7o# zwE1iS+NDow5ylDR%p#j?lFplFI=y(*015quQuQlGa5+XuvH=gOmTg_3W$=sZ&8kVDFB<&@xs_Db?Zj(r z>ejCoZV|e>3Gfqn!;B<|BcW4P4Cp1omK#pX7R1&@=lc~0v5w;_>eZ{sqH;tEzqg00 zAn{hLP-EBVVtn=}%=UJkv5CdWa_G<6dj1ei<`eI_y_4p6y7V9yjQ~fSx3m1 zjz4nJy>jT@3Rc4?7g8$O&3^Rc^zYh7-$VA$Tc zYc^2)FETez`1h-0f}_$5SbrRNrj-|*GcitY|6bwZslDe+ z0$fD`Qf!c3X8g@Z77Xb=4+}(<3F6Kb5d9v9X0fa;{yqawK#F0crK(*<~5vA>^Rfi zMR*v2?HW-U0KF#nKlPrNhBiz}aUWHl;`v{~#O?q>nByyy)$BIaJwozhPCl z7vT8jt~oU*uJ=Jgzi#g5{As~%y?h)B*Tst7cd_bID8;`S?jz%-S45R;NtyG2btc9o z`{f70nn z1q#QHx{$T3&s7;_yz3QDVN*w#=%NaIM+N?YKne&p;!B7GL?edoC=4wKYaUtMHZwet zSvWB(^v<%N?hTxLF0fCG zm4HKp9NfzBu)otqT-r{|+B?AKPHD!J9MiVs4CBFnBI>FV1y$0a zzt~zm??>CEh5Aks+btdzGEp`-O}27lF*A~DYz8aIgIX?OJ8x;Cfz@3@n*WMw!<~EK zW6NIR*>f{&Rq{$D2V~$c;h!WDsDf`sz=pBlDs^88%M*~yuwUg^ErK$Wtata?KZV6j z-+X>J9qOfkYRu#hGdj2k_SS>cI_tdcEGo%g$8Aj&*PzC<<~hvUSahW;&pSdz<8Z5((Yfmz&iBRmOqBPW=P^J{Ga}{hpJrX34696b zqI6DMLrwQWA@10;2HZ;IP@j9XYWSdTSE()yVE?0B=gVN#B~hQn^L+76_4CN1WZFdn zE?2$o^AY_bQGPn|O?&jDNA^T>riG9_*6vNLGon`Rk9`)K_*5`+RNxiWM`BqLRhfe2 zOJbeXLEW;HEad1aD5k+%BlAazuE^(qlr40EV(e5qyA@CA&Cb&g*lYRUS+FZEp;>4@ zwh%VFV(e+nE8YV+UJkEQHY6{*OLG}56?W1Lm)+hx5;*pg5>*Uo*TOeR7xJGO`ot{f zpZ87d*TJ5V;g+!>RJ#1qlp=O)b+7=~2}m=HCoIG>Dep!%jPtsEC4X0Dmxboz>1 z1*VT~Hyk6Pr!-1CQhcW`8pV*aWey!p70i+|x5?vw@F99j48?o=#zee|aZt#%r4CPp z*4R&XiL&eL`Pj7)?>1=iU)4d2(h)ln+Kuq~_JuHA?VcbM7BCKyFh{?*!(3l!SsFzt zw#VJ@t&XYJ`#1t zJo(p#Ry|2O@2`pB)X00KAskReUE@L)9D5Ug@g27v*&^!KC(~O^eo=VlZC#vk9Xplq ziIBdc`9JrCQN= z?2^!aJhATp`dq=&_GjIQHF;{1sGU=0$NGp_u(Hwdo4L)~< zq|UlxLYIHUeWe&fV%z<3rX3H7j_?2UQ$GCIIl&71EMG43ftz(o?}OYnCS}h9$pW&_ e*>NdpS`^~Zs^Oj;CTev*^o&@6UOd?T!~X*jLI&#lK7r$V6e5&|i)?NP zu|46XQg-(L!@n{5ukZ>G=PDEYtM{Du+#dDLoREHo(FW8v6kR9&;W_J-W&O!|y#}@C z_fpl!SF*?>Elf|dVF`s%t5wPCnq`94o`A^HvcQtMVp1&Qvl5f42}NFO(JwBZDESz4 zm%r2robP%&9*;jRh*vSzk;*H|WohfM12q`TW_)XAil2tc_h<1yl~9z}olc++^TO z-cDZ2Y9ksrm#tBwJ(r5>ao|w~3L-+KIj5Isf>F>APP%C1{3;E$DP+PaLmrtPKB2yU z3p`VpETt6pCG(SkKj-HT@U}f A*8l(j literal 0 HcmV?d00001 diff --git a/radiant.data/data/titanic.rda b/radiant.data/data/titanic.rda new file mode 100644 index 0000000000000000000000000000000000000000..ecb4584b532e187340552fa3e5df3bbae6407f48 GIT binary patch literal 88704 zcmeIbdvKk}l^=#7Mk6h?(vSoQ;zitVIO`E84LL({$azYit>cZVQXAJgQSBd+^T$?Y*K4n>WV5c=7E`IM%DN`W#;LW}sl?hm z>~du7%8pXmxHjI&?{uGEfBiM?1vr|~dSww+WPja#`t<43r%#_g{kTizpS*nhCy)2_ z^&RW$|Hu=4$NKU4i4eq6r&IC1q#I}Dy>7!sEs`g#0j7}D>j6GykS!}3CS#u@r$ z!!+hGWIn^g(tE+MjD&Q#KGi3dYOUQpA?l9diLs-K2 zA?qNFA19oj#_te6hGR$L~_`dVSC|Vx{rh3ep%vVURaLlEW8%u-))6 zk9fOeusH1PrQWlC_}|^&-%naETz)#g!%*sx zG^R5i)*r$!-!JEgZO6_$BoJ5tjMA;!N)r z9#xk0u`J>Jkl#KG%Q25}!n~i5IKnbvdKf2sk96^19D5Hu6`#d1dMDmWTKaixp<(?L z{RBGNH6c~9x?Uk+B%d&TntU_P@G!U#rWf9B=`1Uu|Bv-C^x>FBe2f!@aX;+!%{u*j z;^~$raD*is(|V=*ctRNB2t(pzS%xehhGBU>?til!)BJk6!>j2~7eq@`O~ z;tBKo^uxYc2SdU#E+PN14(9o=ep;_@mhTo4SC~g!3=hi}7$1%}!}M-2#M>*6xcu-a z*k1X5x_mRvkaaN6PiGooB=pmKSU;~DObAPyOh2j&^BJ-}hD?``X?`6{@0I4~^P3^d zbPEY1VYh#N8NxCxj5A$AKaY5sALjY#g!Mz_6EE}p^uxYcpC9tuFXyMpH~;xC^6kSh zuNN%yj|v~PykEEfP5ew_7^X8GhP~i>rFSbYupzv_bxZThcgqiP`7r)>FZ_p<_v>bP z;$+wj#!n-DhCUu2NBHf>eSC*~hh@6O!?X}zw|u7gq5ti-Da6++F6BcUgk^fKxTO0q zhv6a)hAhXBxEN>HE#1!}KEg2`!gP!KY2mlT{WRhY>tXt%!uP^SJboDB^y7!&VIJWb z_i_8*em=`czMoEbKP~+B3-Y_VCZ1YP zw&Pl&-ias8x4HRoxPPMWlXCeZ|5>ycf7gHS^S_YK-~aP@6YJ~Cf6jj7U)69{!`u7j zBVW?+riO1mwCOV%zigs?`ByZ2O~d6N{f5T#8WtJun~yy4vHX+rl ze5Nx_evp6SjKg34mWGrYmSg|8aNhtrIel5nksjh9-3-Ye$}RhcB9wzs@*Fsc)_t z^r?Piy%&RYwwwJD>O;08ltaqfV&1lcd~@S?-=>p((o6ZFTyY$+|4Aq5q5P6BlsDG< zhSoFv(AGyhFgjpX3YWi298o=_UW!U&PCHvi;;Q^$X)H z&vD2&@sK~15B4Mbg>mwM`i}j~a-@fF>?h_EAL+;&cK78uo;3gZKiBjV8cu3RJgk@H zSP$o4>LK!hazp(>{<2?QQv7Te>tUSuG`#-pUt0U-H-COF&-yqH*`K6~dWZc;`JsNH z9$-Dw`-TwOlX>!saE!A(k z9@hHEPmU|%8Q1)ⅇ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 ji9|!|srE|kOKbdb + + + + + + +Page not found (404) • radiant.data + + + + + + + + + + + + + +

    +
    + + + + +
    +
    + + +Content not found. Please use links in the navbar. + +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/LICENSE-text.html b/radiant.data/docs/LICENSE-text.html new file mode 100644 index 0000000..2d3041c --- /dev/null +++ b/radiant.data/docs/LICENSE-text.html @@ -0,0 +1,237 @@ + +License • radiant.data + + +
    +
    + + + +
    +
    + + +
    radiant.data is licensed under AGPL3 (see https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) and https://www.r-project.org/Licenses/AGPL-3). The radiant.data help files and images are licensed under the creative commons attribution and share-alike license CC-BY-SA (https://creativecommons.org/licenses/by-sa/4.0/legalcode).
    +
    +As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file.
    +
    +If you are interested in using radiant.data or other radiant packages please email me at radiant@rady.ucsd.edu
    +
    +====================================================================
    +
    +Creative Commons Attribution-ShareAlike 4.0 International Public License
    +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
    +
    +Section 1 – Definitions.
    +
    +Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
    +Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
    +BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
    +Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
    +Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
    +Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
    +License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
    +Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
    +Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
    +Licensor means the individual(s) or entity(ies) granting rights under this Public License.
    +Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
    +Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
    +You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
    +Section 2 – Scope.
    +
    +License grant.
    +Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
    +reproduce and Share the Licensed Material, in whole or in part; and
    +produce, reproduce, and Share Adapted Material.
    +Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
    +Term. The term of this Public License is specified in Section 6(a).
    +Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
    +Downstream recipients.
    +Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
    +Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
    +No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
    +No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
    +Other rights.
    +
    +Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
    +Patent and trademark rights are not licensed under this Public License.
    +To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
    +Section 3 – License Conditions.
    +
    +Your exercise of the Licensed Rights is expressly made subject to the following conditions.
    +
    +Attribution.
    +
    +If You Share the Licensed Material (including in modified form), You must:
    +
    +retain the following if it is supplied by the Licensor with the Licensed Material:
    +identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
    +a copyright notice;
    +a notice that refers to this Public License;
    +a notice that refers to the disclaimer of warranties;
    +a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
    +indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
    +indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
    +You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
    +If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
    +ShareAlike.
    +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
    +
    +The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
    +You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
    +You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
    +Section 4 – Sui Generis Database Rights.
    +
    +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
    +
    +for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
    +if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
    +You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
    +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
    +Section 5 – Disclaimer of Warranties and Limitation of Liability.
    +
    +Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
    +To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
    +The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
    +Section 6 – Term and Termination.
    +
    +This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
    +Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
    +
    +automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
    +upon express reinstatement by the Licensor.
    +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
    +For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
    +Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
    +Section 7 – Other Terms and Conditions.
    +
    +The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
    +Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
    +Section 8 – Interpretation.
    +
    +For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
    +To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
    +No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
    +Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
    +
    + +
    + + + +
    + + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/articles/index.html b/radiant.data/docs/articles/index.html new file mode 100644 index 0000000..1840e34 --- /dev/null +++ b/radiant.data/docs/articles/index.html @@ -0,0 +1,162 @@ + +Articles • radiant.data + + +
    +
    + + + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/articles/pkgdown/combine.html b/radiant.data/docs/articles/pkgdown/combine.html new file mode 100644 index 0000000..bb288fb --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine.html @@ -0,0 +1,2290 @@ + + + + + + + +Combine data sets (Data > Combine) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Combine two datasets

    +
    +

    There are six join (or merge) options available in +Radiant from the +dplyr +package developed by Hadley Wickham et.al.

    +

    The examples below are adapted from the +Cheatsheet +for dplyr join functions by +Jenny Bryan +and focus on three small datasets, superheroes, +publishers, and avengers, to illustrate the +different join types and other ways to combine datasets in R +and Radiant. The data are also available in csv format through the links +below:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Superheroes +
    +name + +alignment + +gender + +publisher +
    +Magneto + +bad + +male + +Marvel +
    +Storm + +good + +female + +Marvel +
    +Mystique + +bad + +female + +Marvel +
    +Batman + +good + +male + +DC +
    +Joker + +bad + +male + +DC +
    +Catwoman + +bad + +female + +DC +
    +Hellboy + +good + +male + +Dark Horse Comics +
    + + + + + + + + + + + + + + + + + + + + +
    +Publishers +
    +publisher + +yr_founded +
    +DC + +1934 +
    +Marvel + +1939 +
    +Image + +1992 +
    +

    In the screen-shot of the Data > Combine tab below we see +the two datasets. The tables share the variable publisher which +is automatically selected for the join. Different join options are +available from the Combine type dropdown. You can also +specify a name for the combined dataset in the +Combined dataset text input box.

    +

    +

    +


    +
    +

    Inner join (superheroes, publishers) +

    +

    If x = superheroes and y = publishers:

    +
    +

    An inner join returns all rows from x with matching values in y, and +all columns from both x and y. If there are multiple matches between x +and y, all match combinations are returned.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher + +yr_founded +
    +Magneto + +bad + +male + +Marvel + +1939 +
    +Storm + +good + +female + +Marvel + +1939 +
    +Mystique + +bad + +female + +Marvel + +1939 +
    +Batman + +good + +male + +DC + +1934 +
    +Joker + +bad + +male + +DC + +1934 +
    +Catwoman + +bad + +female + +DC + +1934 +
    +

    In the table above we lose Hellboy because, although this +hero does appear in superheroes, the publisher (Dark +Horse Comics) does not appear in publishers. The join +result has all variables from superheroes, plus +yr_founded, from publishers. We can visualize an +inner join with the venn-diagram below:

    +

    +

    +

    The R(adiant) commands are:

    +
    +# Radiant
    +combine_data(superheroes, publishers, by = "publisher", type = "inner_join")
    +
    +# R
    +inner_join(superheroes, publishers, by = "publisher")
    +


    +
    +
    +

    Left join (superheroes, publishers) +

    +
    +

    A left join returns all rows from x, and all columns from x and y. If +there are multiple matches between x and y, all match combinations are +returned.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher + +yr_founded +
    +Magneto + +bad + +male + +Marvel + +1939 +
    +Storm + +good + +female + +Marvel + +1939 +
    +Mystique + +bad + +female + +Marvel + +1939 +
    +Batman + +good + +male + +DC + +1934 +
    +Joker + +bad + +male + +DC + +1934 +
    +Catwoman + +bad + +female + +DC + +1934 +
    +Hellboy + +good + +male + +Dark Horse Comics + +NA +
    +

    The join result contains superheroes with variable +yr_founded from publishers. Hellboy, +whose publisher does not appear in publishers, has an +NA for yr_founded. We can visualize a left join +with the venn-diagram below:

    +

    +

    +

    The R(adiant) commands are:

    +
    +# Radiant
    +combine_data(superheroes, publishers, by = "publisher", type = "left_join")
    +
    +# R
    +left_join(superheroes, publishers, by = "publisher")
    +


    +
    +
    +

    Right join (superheroes, publishers) +

    +
    +

    A right join returns all rows from y, and all columns from y and x. +If there are multiple matches between y and x, all match combinations +are returned.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher + +yr_founded +
    +Magneto + +bad + +male + +Marvel + +1939 +
    +Storm + +good + +female + +Marvel + +1939 +
    +Mystique + +bad + +female + +Marvel + +1939 +
    +Batman + +good + +male + +DC + +1934 +
    +Joker + +bad + +male + +DC + +1934 +
    +Catwoman + +bad + +female + +DC + +1934 +
    +NA + +NA + +NA + +Image + +1992 +
    +

    The join result contains all rows and columns from +publishers and all variables from superheroes. +We lose Hellboy, whose publisher does not appear in +publishers. Image is retained in the table but has +NA values for the variables name, +alignment, and gender from superheroes. +Notice that a join can change both the row and variable order so you +should not rely on these in your analysis. We can visualize a right join +with the venn-diagram below:

    +

    +

    +

    The R(adiant) commands are:

    +
    +# Radiant
    +combine_data(superheroes, publishers, by = "publisher", type = "right_join")
    +
    +# R
    +right_join(superheroes, publishers, by = "publisher")
    +


    +
    +
    +

    Full join (superheroes, publishers) +

    +
    +

    A full join combines two datasets, keeping rows and columns that +appear in either.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher + +yr_founded +
    +Magneto + +bad + +male + +Marvel + +1939 +
    +Storm + +good + +female + +Marvel + +1939 +
    +Mystique + +bad + +female + +Marvel + +1939 +
    +Batman + +good + +male + +DC + +1934 +
    +Joker + +bad + +male + +DC + +1934 +
    +Catwoman + +bad + +female + +DC + +1934 +
    +Hellboy + +good + +male + +Dark Horse Comics + +NA +
    +NA + +NA + +NA + +Image + +1992 +
    +

    In this table we keep Hellboy (even though Dark Horse +Comics is not in publishers) and Image (even +though the publisher is not listed in superheroes) and get +variables from both datasets. Observations without a match are assigned +the value NA for variables from the other dataset. We can +visualize a full join with the venn-diagram below:

    +

    +

    +

    The R(adiant) commands are:

    +
    +# Radiant
    +combine_data(superheroes, publishers, by = "publisher", type = "full_join")
    +
    +# R
    +full_join(superheroes, publishers, by = "publisher")
    +
    +
    +

    Semi join (superheroes, publishers) +

    +
    +

    A semi join keeps only columns from x. Whereas an inner join will +return one row of x for each matching row of y, a semi join will never +duplicate rows of x.

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Magneto + +bad + +male + +Marvel +
    +Storm + +good + +female + +Marvel +
    +Mystique + +bad + +female + +Marvel +
    +Batman + +good + +male + +DC +
    +Joker + +bad + +male + +DC +
    +Catwoman + +bad + +female + +DC +
    +

    We get a similar table as with inner_join but it +contains only the variables in superheroes. The R(adiant) +commands are:

    +
    +# Radiant
    +combine_data(superheroes, publishers, by = "publisher", type = "semi_join")
    +
    +# R
    +semi_join(superheroes, publishers, by = "publisher")
    +


    +
    +
    +

    Anti join (superheroes, publishers) +

    +
    +

    An anti join returns all rows from x without matching values in y, +keeping only columns from x

    +
    + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Hellboy + +good + +male + +Dark Horse Comics +
    +

    We now get only Hellboy, the only superhero +not in publishers and we do not get the variable +yr_founded either. We can visualize an anti join with the +venn-diagram below:

    +

    +

    +


    +
    +
    +

    Dataset order +

    +

    Note that the order of the datasets selected may matter for a join. +If we setup the Data > Combine tab as below the results are +as follows:

    +

    +

    +


    +
    +
    +

    Inner join (publishers, superheroes) +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +publisher + +yr_founded + +name + +alignment + +gender +
    +DC + +1934 + +Batman + +good + +male +
    +DC + +1934 + +Joker + +bad + +male +
    +DC + +1934 + +Catwoman + +bad + +female +
    +Marvel + +1939 + +Magneto + +bad + +male +
    +Marvel + +1939 + +Storm + +good + +female +
    +Marvel + +1939 + +Mystique + +bad + +female +
    +

    Every publisher that has a match in superheroes appears +multiple times, once for each match. Apart from variable and row order, +this is the same result we had for the inner join shown above.

    +


    +
    +
    +

    Left and Right join (publishers, superheroes) +

    +

    Apart from row and variable order, a left join of +publishers and superheroes is equivalent to a +right join of superheroes and publishers. +Similarly, a right join of publishers and +superheroes is equivalent to a left join of +superheroes and publishers.

    +


    +
    +
    +

    Full join (publishers, superheroes) +

    +

    As you might expect, apart from row and variable order, a full join +of publishers and superheroes is equivalent to +a full join of superheroes and publishers.

    +


    +
    +
    +

    Semi join (publishers, superheroes) +

    + + + + + + + + + + + + + + + +
    +publisher + +yr_founded +
    +DC + +1934 +
    +Marvel + +1939 +
    +

    With semi join the effect of switching the dataset order is more +clear. Even though there are multiple matches for each publisher only +one is shown. Contrast this with an inner join where “If there are +multiple matches between x and y, all match combinations are returned.” +We see that publisher Image is lost in the table because it is +not in superheroes.

    +


    +
    +
    +

    Anti join (publishers, superheroes) +

    + + + + + + + + + +
    +publisher + +yr_founded +
    +Image + +1992 +
    +

    Only publisher Image is retained because both +Marvel and DC are in superheroes. We keep +only variables in publishers.

    +


    +
    +
    +

    Additional tools to combine datasets (avengers, superheroes) +

    +

    When two datasets have the same columns (or rows) there are +additional ways in which we can combine them into a new dataset. We have +already used the superheroes dataset and will now try to +combine it with the avengers data. These two datasets have +the same number of rows and columns and the columns have the same +names.

    +

    In the screen-shot of the Data > Combine tab below we see +the two datasets. There is no need to select variables to combine the +datasets here. Any variables in Select variables are +ignored in the commands below. Again, you can specify a name for the +combined dataset in the Combined dataset text input +box.

    +

    +

    +


    +
    +
    +

    Bind rows +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Thor + +good + +male + +Marvel +
    +Iron Man + +good + +male + +Marvel +
    +Hulk + +good + +male + +Marvel +
    +Hawkeye + +good + +male + +Marvel +
    +Black Widow + +good + +female + +Marvel +
    +Captain America + +good + +male + +Marvel +
    +Magneto + +bad + +male + +Marvel +
    +Magneto + +bad + +male + +Marvel +
    +Storm + +good + +female + +Marvel +
    +Mystique + +bad + +female + +Marvel +
    +Batman + +good + +male + +DC +
    +Joker + +bad + +male + +DC +
    +Catwoman + +bad + +female + +DC +
    +Hellboy + +good + +male + +Dark Horse Comics +
    +

    If the avengers dataset were meant to extend the list of +superheroes we could just stack the two datasets, one below the other. +The new datasets has 14 rows and 4 columns. Due to a coding error in the +avengers dataset (i.e.., Magneto is not +an Avenger) there is a duplicate row in the new combined +dataset. Something we probably don’t want.

    +

    The R(adiant) commands are:

    +
    +# Radiant
    +combine_data(avengers, superheroes, type = "bind_rows")
    +
    +# R
    +bind_rows(avengers, superheroes)
    +


    +
    +
    +

    Bind columns +

    +
    ## New names:
    +##  `name` -> `name...1`
    +##  `alignment` -> `alignment...2`
    +##  `gender` -> `gender...3`
    +##  `publisher` -> `publisher...4`
    +##  `name` -> `name...5`
    +##  `alignment` -> `alignment...6`
    +##  `gender` -> `gender...7`
    +##  `publisher` -> `publisher...8`
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name…1 + +alignment…2 + +gender…3 + +publisher…4 + +name…5 + +alignment…6 + +gender…7 + +publisher…8 +
    +Thor + +good + +male + +Marvel + +Magneto + +bad + +male + +Marvel +
    +Iron Man + +good + +male + +Marvel + +Storm + +good + +female + +Marvel +
    +Hulk + +good + +male + +Marvel + +Mystique + +bad + +female + +Marvel +
    +Hawkeye + +good + +male + +Marvel + +Batman + +good + +male + +DC +
    +Black Widow + +good + +female + +Marvel + +Joker + +bad + +male + +DC +
    +Captain America + +good + +male + +Marvel + +Catwoman + +bad + +female + +DC +
    +Magneto + +bad + +male + +Marvel + +Hellboy + +good + +male + +Dark Horse Comics +
    +

    If the dataset had different columns for the same superheroes we +could combine the two datasets, side by side. In radiant you will see an +error message if you try to bind these columns because they have the +same name. Something that we should always avoid. The method can be +useful if we know the order of the row ids of two dataset are +the same but the columns are all different.

    +


    +
    +
    +

    Intersect +

    + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Magneto + +bad + +male + +Marvel +
    +

    A good way to check if two datasets with the same columns have +duplicate rows is to choose intersect from the +Combine type dropdown. There is indeed one row that is +identical in the avengers and superheroes data +(i.e., Magneto).

    +

    The R(adiant) commands are the same as shown above, except you will +need to replace bind_rows by intersect.

    +


    +
    +
    +

    Union +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Thor + +good + +male + +Marvel +
    +Iron Man + +good + +male + +Marvel +
    +Hulk + +good + +male + +Marvel +
    +Hawkeye + +good + +male + +Marvel +
    +Black Widow + +good + +female + +Marvel +
    +Captain America + +good + +male + +Marvel +
    +Magneto + +bad + +male + +Marvel +
    +Storm + +good + +female + +Marvel +
    +Mystique + +bad + +female + +Marvel +
    +Batman + +good + +male + +DC +
    +Joker + +bad + +male + +DC +
    +Catwoman + +bad + +female + +DC +
    +Hellboy + +good + +male + +Dark Horse Comics +
    +

    A union of avengers and +superheroes will combine the datasets but will omit +duplicate rows (i.e., it will keep only one copy of the row for +Magneto). Likely what we want here.

    +

    The R(adiant) commands are the same as shown above, except you will +need to replace bind_rows by union.

    +


    +
    +
    +

    Setdiff +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +name + +alignment + +gender + +publisher +
    +Thor + +good + +male + +Marvel +
    +Iron Man + +good + +male + +Marvel +
    +Hulk + +good + +male + +Marvel +
    +Hawkeye + +good + +male + +Marvel +
    +Black Widow + +good + +female + +Marvel +
    +Captain America + +good + +male + +Marvel +
    +

    Finally, a setdiff will keep rows from +avengers that are not in superheroes. +If we reverse the inputs (i.e., choose superheroes from the +Datasets dropdown and superheroes from the +Combine with dropdown) we will end up with all rows from +superheroes that are not in avengers. In both +cases the entry for Magneto will be omitted.

    +

    The R(adiant) commands are the same as shown above, except you will +need to replace bind_rows by setdiff.

    +


    +
    +
    +

    Report > Rmd +

    +

    Add code to +Report +> Rmd to (re)create the combined dataset by clicking the + icon on the bottom +left of your screen or by pressing ALT-enter on your +keyboard.

    +

    For additional discussion see the chapter on relational data in +R +for data science and +Tidy +Explain

    +
    +
    +

    R-functions +

    +

    For help with the combine_data function see +Data +> Combine

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/combine_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/combine_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/combine_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/explore.html b/radiant.data/docs/articles/pkgdown/explore.html new file mode 100644 index 0000000..492139f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore.html @@ -0,0 +1,288 @@ + + + + + + + +Summarize and explore your data (Data > Explore) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Summarize and explore your data

    +
    +

    Generate summary statistics for one or more variables in your data. +The most powerful feature in Data > Explore is that you can +easily describe the data by one or more other variables. Where +the +Data +> Pivot tab works best for frequency tables and to summarize +a single numeric variable, the Data > Explore tab allows you +to summarize multiple variables at the same time using various +statistics.

    +

    For example, if we select price from the +diamonds dataset and click the Create table +button we can see the number of observations (n), the mean, the +variance, etc. However, the mean price for each clarity level of the +diamond can also be easily provided by choosing clarity as +the Group by variable.

    +
    +

    Note that when a categorical variable (factor) is +selected from the Numeric variable(s) dropdown menu it will +be converted to a numeric variable if required for the selected +function. If the factor levels are numeric these will be used in all +calculations. Since the mean, standard deviation, etc. are not relevant +for non-binary categorical variables, these will be converted to 0-1 +(binary) variables where the first level is coded as 1 and all other +levels as 0.

    +
    +

    The created summary table can be stored in Radiant by clicking the +Store button. This can be useful if you want to create +plots of the summarized data in +Data +> Visualize. To download the table to csv format +click the download icon on the top-right.

    +

    You can select options from Column header dropdown to +switch between different column headers. Select either +Function (e.g., mean, median, etc), Variable +(e.g., price, carat, etc), or the levels of the (first) +Group by variable (e.g., Fair-Ideal).

    +

    +

    +
    +

    Functions +

    +

    Below you will find a brief description of several functions +available from the Apply function(s) dropdown menu. Most +functions, however, will be self-explanatory.

    +
      +
    • +n calculates the number of observations, or rows, in +the data or in a group if a Group by variable has been +selected (n uses the length function in +R)
    • +
    • +n_distinct calculates the number of distinct +values
    • +
    • +n_missing calculates the number of missing values
    • +
    • +cv is the coefficient of variation (i.e., mean(x) / +sd(x))
    • +
    • +sd and var calculate the sample standard +deviation and variance for numeric data
    • +
    • +me calculates the margin of error for a numeric +variable using a 95% confidence level
    • +
    • +prop calculates a proportion. For a variable with only +values 0 or 1 this is equivalent to mean. For other numeric +variables it captures the occurrence of the maximum value. For a +factor it captures the occurrence of the first level.
    • +
    • +sdprop and varprop calculate the sample +standard deviation and variance for a proportion
    • +
    • +meprop calculates the margin of error for a proportion +using a 95% confidence level
    • +
    • +sdpop and varpop calculate the population +standard deviation and variance
    • +
    +
    +

    Filter data +

    +

    Use the Filter data box to select (or omit) specific +sets of rows from the data. See the helpfile for +Data +> View for details.

    +
    +
    +

    Report > Rmd +

    +

    Add code to +Report +> Rmd to (re)create the summary table by clicking the + icon on the bottom +left of your screen or by pressing ALT-enter on your +keyboard.

    +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to summarize +and explore data see +Data +> Explore

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/explore_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/explore_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/explore_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/images/by-sa.png b/radiant.data/docs/articles/pkgdown/images/by-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..2332cc49dd634c62e4013e13e5e4f06747c7e250 GIT binary patch literal 2284 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/articles/pkgdown/manage.html b/radiant.data/docs/articles/pkgdown/manage.html new file mode 100644 index 0000000..e10664c --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage.html @@ -0,0 +1,335 @@ + + + + + + + +Loading and Saving data (Data > Manage) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Manage data and state: Load data into Radiant, Save data to disk, +Remove a dataset from memory, or Save/Load the state of the app

    +
    +
    +

    Datasets +

    +

    When you first start Radiant a dataset (diamonds) with +information on diamond prices is shown.

    +

    It is good practice to add a description of the data and variables to +each file you use. For the files that are bundled with Radiant you will +see a brief overview of the variables etc. below a table of the first 10 +rows of the data. To add a description for your own data click the +Add/edit data description check-box. A text-input box will +open below the table where you can add text in +markdown +format. The description provided for the diamonds data +included with Radiant should serve as a good example. After adding or +editing a description click the Update description +button.

    +

    To rename a dataset loaded in Radiant click the +Rename data check box, enter a new name, and click the +Rename button

    +
    +
    +

    Load data +

    +

    The best way to load and save data for use in Radiant (and R) is to +use the R-data format (rds or rda). These are binary files that can be +stored compactly and read into R quickly. Select rds (or +rda) from the Load data of type dropdown and +click Browse to locate the file(s) you want to load on your +computer.

    +

    You can get data from a spreadsheet (e.g., Excel or Google sheets) +into Radiant in two ways. First, you can save data from the spreadsheet +in csv format and then, in Radiant, choose csv from the +Load data of type dropdown. Most likely you will have a +header row in the csv file with variable names. If the data are not +comma separated you can choose semicolon or tab separated. To load a csv +file click ‘Browse’ and locate the file on your computer.

    +

    Alternatively, you can select and copy the data in the spreadsheet +using CTRL-C (or CMD-C on mac), go to Radiant, choose +clipboard from the Load data of type dropdown, +and click the Paste button. This is a short-cut that can be +convenient for smaller datasets that are cleanly formatted.

    +

    If the data is available in R’s global workspace (e.g., you opened a +data set in Rstudio and then started Radiant from the +addins menu) you can move (or copy) it to Radiant by +selecting from global workspace. Select the data.frame(s) +you want to use and click the Load button.

    +

    To access all data files bundled with Radiant choose +examples from the Load data of type dropdown +and then click the Load button. These files are used to +illustrate the various data and analysis tools accessible in Radiant. +For example, the avengers and publishers data +are used to illustrate how to combine data in R(adiant) (i.e., Data +> Combine).

    +

    If csv data is available online choose +csv (url) from the dropdown, paste the url into the text +input shown, and press Load. If an rda file is +available online choose rda (url) from the dropdown, paste +the url into the text input, and press Load.

    +
    +
    +

    Save data +

    +

    As mentioned above, the most convenient way to get data in and out of +Radiant is to use the R-data format (rds or rda). Choose +rds (or rda) from the +Save data to type dropdown and click the Save +button to save the selected dataset to file.

    +

    Again, it is good practice to add a description of the data and +variables to each file you use. To add a description for your own data +click the ‘Add/edit data description’ check-box, add text to the +text-input window shown in +markdown +format, and then click the Update description button. When +you save the data as an rds (or rda) file the description you created +(or edited) will automatically be added to the file as an +attribute.

    +

    Getting data from Radiant into a spreadsheet can be achieved in two +ways. First, you can save data in csv format and load the file into the +spreadsheet (i.e., choose csv from the +Save data to type dropdown and click the Save +button). Alternatively, you can copy the data from Radiant into the +clipboard by choosing clipboard from the dropdown and +clicking the Copy button, open the spreadsheet, and paste +the data from Radiant using CTRL-V (or CMD-V on mac).

    +

    To move or copy data from Radiant into R(studio)’s global workspace +select to global workspace from the +Save data to type dropdown and click the Save +button.

    +
    +
    +

    Save and load state +

    +

    It is convenient to work with state files if you want complete your +work at another time, perhaps on another computer, or to review previous +work you completed using Radiant. You can save and load the state of the +Radiant app just as you would a data file. The state file (extension +.state.rda) will contain (1) the data loaded in Radiant, +(2) settings for the analyses you were working on, (3) and any reports +or code from the Report menu. To save the current state of the +app to your hard-disk click the +icon in the navbar and then click Save radiant state file. +To load load a previous state click the + icon in the navbar and the click +Load radiant state file.

    +

    You can also share a state file with others that would like to +replicate your analyses. As an example, download and then load the state +file +radiant-example.state.rda +as described above. You will navigate automatically to the Data > +Visualize tab and will see a plot. See also the Data > +View tab for some additional settings loaded from the state file. +There is also a report in Report > Rmd created using the +Radiant interface. The html file +radiant-example.nb.html +contains the output created by clicking the Knit report +button.

    +

    Loading and saving state also works with Rstudio. If you start +Radiant from Rstudio and use + and then click +Stop, the r_data environment and the +r_info and r_state lists will be put into +Rstudio’s global workspace. If you start radiant again from the +Addins menu it will use r_data, +r_info, and r_state to restore state. Also, if +you load a state file directly into Rstudio it will be used when you +start Radiant.

    +

    Use Refresh in the + menu in the navbar to +return to a clean/new state.

    +
    +
    +

    Remove data from memory +

    +

    If data are loaded in memory that you no longer need in the current +session check the Remove data from memory box. Then select +the data to remove and click the Remove data button. One +datafile will always remain open.

    +
    +
    +

    Using commands to load and save data +

    +

    R-code can be used in Report > Rmd or Report > +R to load data from a file directly into the active Radiant +session. Use register("insert-dataset-name") to add a +dataset to the Datasets dropdown. R-code can also be used +to extract data from Radiant and save it to disk.

    +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to load and +save data see +Data +> Manage

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/manage_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/manage_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/manage_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/pivotr.html b/radiant.data/docs/articles/pkgdown/pivotr.html new file mode 100644 index 0000000..eaed034 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr.html @@ -0,0 +1,307 @@ + + + + + + + +Create pivot tables (Data > Pivot) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Create pivot tables to explore your data

    +
    +

    If you have used pivot-tables in Excel the functionality provided in +the Data > Pivot tab should be familiar to you. Similar to +the +Data +> Explore tab, you can generate summary statistics for +variables in your data. You can also generate frequency tables. Perhaps +the most powerful feature in Data > Pivot is that you can +easily describe the data by one or more other variables.

    +

    For example, with the diamonds data loaded, select +clarity and cut from the +Categorical variables drop-down. The categories for the +first variable will be the column headers but you can drag-and-drop the +selected variables to change their ordering. After selecting these two +variables, and clicking on the Create pivot table button, a +frequency table of diamonds with different levels of clarity and quality +of cut is shown. Choose Row, Column, or +Total from the Normalize by drop-down to +normalize cell frequencies or create an index from a summary statistic +by the row, column, or overall total. If a normalize option is selected +it can be convenient to check the Percentage box to express +the numbers as percentages. Choose Color bar or +Heat map from the Conditional formatting +drop-down to emphasize the highest frequency counts.

    +

    It is also possible to summarize numerical variables. Select +price from the Numeric variables drop-down. +This will create the table shown below. Just as in the +Data +> View tab you can sort the table by clicking on the column +headers. You can also use sliders (e.g., click in the input box below +I1) to limit the view to values in a specified range. To +view only information for diamonds with a Very good, +Premium or Ideal cut click in the input box +below the cut header.

    +

    +

    +

    Below you will find a brief description of several functions +available from the Apply function dropdown menu. Most +functions, however, will be self-explanatory.

    +
      +
    • +n calculates the number of observations, or rows, in +the data or in a group if a Group by variable has been +selected (n uses the length function in +R)
    • +
    • +n_distinct calculates the number of distinct +values
    • +
    • +n_missing calculates the number of missing values
    • +
    • +cv is the coefficient of variation (i.e., mean(x) / +sd(x))
    • +
    • +sd and var calculate the sample standard +deviation and variance for numeric data
    • +
    • +me calculates the margin of error for a numeric +variable using a 95% confidence level
    • +
    • +prop calculates a proportion. For a variable with only +values 0 or 1 this is equivalent to mean. For other numeric +variables it captures the occurrence of the maximum value. For a +factor it captures the occurrence of the first level.
    • +
    • +sdprop and varprop calculate the sample +standard deviation and variance for a proportion
    • +
    • +meprop calculates the margin of error for a proportion +using a 95% confidence level
    • +
    • +sdpop and varpop calculate the population +standard deviation and variance
    • +
    +

    You can also create a bar chart based on the generated table (see +image above). To download the table in csv format or the plot +in png format click the appropriate download icon on the +right.

    +
    +

    Note that when a categorical variable (factor) is +selected from the Numeric variable(s) dropdown menu it will +be converted to a numeric variable if required for the selected +function(s). If the factor levels are numeric these will be used in all +calculations. Since the mean, standard deviation, etc. are not relevant +for non-binary categorical variables, these will be converted to 0-1 +(binary) variables where the first level is coded as 1 and all other +levels as 0.

    +
    +
    +

    Filter data +

    +

    Use the Filter data box to select (or omit) specific +sets of rows from the data to tabulate. See the help file for +Data +> View for details.

    +
    +
    +

    Store +

    +

    The created pivot table can be stored in Radiant by clicking the +Store button. This can be useful if you want do additional +analysis on the table or to create plots of the summarized data in +Data +> Visualize. To download the table to csv format +click the download icon on the top-right.

    +
    +
    +

    Report > Rmd +

    +

    Add code to +Report +> Rmd to (re)create the pivot table by clicking the + icon on the bottom +left of your screen or by pressing ALT-enter on your +keyboard.

    +

    If a plot was created it can be customized using ggplot2 +commands (e.g., +plot(result) + labs(title = "Pivot graph")). See +Data +> Visualize for details.

    +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to create +pivot tables see +Data +> Pivot

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/pivotr_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/pivotr_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_r.html b/radiant.data/docs/articles/pkgdown/report_r.html new file mode 100644 index 0000000..fccf885 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r.html @@ -0,0 +1,276 @@ + + + + + + + +Create a reproducible report using R (Report > R) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Create a (reproducible) report using R

    +
    +

    The Report > R tab allows you to run R-code with access +to all functions and data in Radiant. By clicking the +Knit report (R) button, the code will be evaluated and the +output will be shown on the right of the Report > R page. To +evaluate only a part of the code use the cursor to select a section and +press CTRL-enter (CMD-enter on mac).

    +

    You can load an R-code file into Radiant by clicking the +Load report button and selecting an .r or .R file. If you +started Radiant from Rstudio you can save a report in HTML, Word, or PDF +format by selecting the desired format from the drop-down menu and +clicking Save report. To save just the code choose +R from the dropdown and press the Save report +button.

    +

    If you started Radiant from Rstudio, you can also click the +Read files button to browse for files and generate code to +read it into Radiant. For example, read rda, rds, xls, yaml, and feather +and add them to the Datasets dropdown. If the file type you +want to load is not currently supported, the path to the file will be +returned. The file path used will be relative to the Rstudio-project +root. Paths to files synced to a local Dropbox or Google Drive folder +will use the find_dropbox and find_gdrive +functions to enhances reproducibility.

    +

    As an example you can copy-and-paste the code below into the editor +and press Knit report (R) to generate results.

    +
    +## get the active dataset and show the first few observations
    +.get_data() %>%
    +  head()
    +
    +## access a dataset
    +diamonds %>%
    +  select(price, clarity) %>%
    +  head()
    +
    +## add a variable to the diamonds data
    +diamonds <- mutate(diamonds, log_price = log(price))
    +
    +## show the first observations in the price and log_price columns
    +diamonds %>%
    +  select(price, log_price) %>%
    +  head()
    +
    +## create a histogram of prices
    +diamonds %>%
    +  ggplot(aes(x = price)) +
    +    geom_histogram()
    +
    +## and a histogram of log-prices using radiant.data::visualize
    +visualize(diamonds, xvar = "log_price", custom = TRUE)
    +
    +## open help in the R-studio viewer from Radiant
    +help(package = "radiant.data")
    +
    +## If you are familiar with Shiny you can call reactives when the code
    +## is evaluated inside a Shiny app. For example, if you transformed
    +## some variables in Data > Transform you can call the transform_main
    +## reacive to see the latest result. Very useful for debugging
    +# transform_main() %>% head()
    +head()
    +
    +

    Options +

    +

    The editor used in Report > Rmd and Report > +R has several options that can be set in +.Rprofile.

    +
    +options(radiant.ace_vim.keys = FALSE)
    +options(radiant.ace_theme = "cobalt")
    +options(radiant.ace_tabSize = 2)
    +options(radiant.ace_useSoftTabs = TRUE)
    +options(radiant.ace_showInvisibles = TRUE)
    +options(radiant.ace_autoComplete = "live")
    +

    Notes:

    +
      +
    • +vim.keys enables a set of special keyboard short-cuts. +If you have never used VIM you probably don’t want this
    • +
    • For an overview of available editor themes see: +shinyAce::getAceThemes() +
    • +
    • Tabs are converted to 2 spaces by default (i.e., ‘soft’ tabs). You +can change the number of spaces used from 2 to, for example, 4
    • +
    • +showInvisibles shows tabs and spaces in the editor
    • +
    • Autocomplete has options “live”, “enabled”, and “disabled”
    • +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to generate +reproducible reports see +Report

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/report_r_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_r_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_rmd.html b/radiant.data/docs/articles/pkgdown/report_rmd.html new file mode 100644 index 0000000..ebbe0e9 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd.html @@ -0,0 +1,326 @@ + + + + + + + +Create a reproducible report using Rmarkdown (Report > Rmd) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Create a (reproducible) report using Rmarkdown

    +
    +

    The best way to store your work in Radiant is to use the Report +> Rmd feature and save a state file with all your results and +settings. The report feature in Radiant should be used in conjunction +with the icons shown +on the bottom left of your screen on most pages.

    +

    The editor shown on the left in Report > Rmd shows past +commands in R-code chunks. These chunks can +include R-code you typed or R-code generated by Radiant and added to the +report after clicking an + icon. All code chunks +start with ```{r} and are closed by ```

    +

    By default Radiant will add the R-code generated for the analysis you +just completed to the bottom of the report. After clicking a + icon Radiant will, by +default, switch to the Report > Rmd tab. Click inside the +editor window on the left and scroll down to see the generated +commands.

    +

    If you want more control over where the R-code generated by Radiant +is put into your report, choose Manual paste instead or +Auto paste from the appropriate drop-down in the Report +> Rmd tab. When Manual paste is selected, the code +is put into the clipboard when you click + and you can paste it +where you want in the editor window.

    +

    If you started Radiant from Rstudio, you can also choose to have +commands sent to an Rmarkdown (R-code) document open in Rstudio by +selecting To Rmd (To R) instead of +Auto paste or Manual paste. If you choose +To Rmd the editor in Report > Rmd will be +hidden (i.e., “Preview only”) and clicking on +Knit report (Rmd) will source the text and code directly +from Rstudio.

    +

    By default, the app will switch to the Report > Rmd tab +after you click the +icon. However, if you don’t want to switch tabs after clicking a + icon, choose +Don't switch tab from the appropriate drop-down in the +Report > Rmd tab. Don't switch tab is the +default option when you choose To Rmd.

    +

    You can add text or additional commands to create an Rmarkdown +document. An Rmarkdown file (extension .Rmd) is a plain text file that +can be opened in Notepad (Windows), TextEdit (Mac), Rstudio, Sublime +Text, or any other text editor. Please do not use Word +to edit Rmarkdown files.

    +

    Using Rmarkdown is extremely powerful because you can replicate your +entire analysis quickly without having to generate all the required +R-code again. By clicking the Knit report (Rmd) button on +the top-left of your screen, the output from the analysis will be +(re)created and shown on the right of the Report > Rmd page. +To evaluate only a part of the report use the cursor to select a section +and press CTRL-enter (CMD-enter on mac) to +create the (partial) output.

    +

    You can add text, bullets, headers, etc. around the code chunks to +describe and explain the results using +markdown. +For an interactive markdown tutorial visit +commonmark.org.

    +

    If you started Radiant from Rstudio you can save the report in +various formats (i.e., Notebook, HTML, Word, Powerpoint, or PDF). For +more on generating powerpoint presentation see +https://bookdown.org/yihui/rmarkdown/powerpoint-presentation.html. +To save the Rmarkdown file open in the editor select Rmd +(or Rmd + Data (zip)) and press Save report. +Previously saved Rmarkdown files can be loaded into Radiant by using the +Load report button. For more

    +

    You can also click the Read files button to browse for +files and generate code to read it into Radiant. For example, read rda, +rds, xls, yaml, and feather and add them to the Datasets +dropdown. You can also read images, R-code, and text (e.g., Rmd or md) +to include in your report. If the file type you want to load is not +currently supported, the path to the file will be returned. If Radiant +was started from an Rstudio project, the file paths used will be +relative to the project root. Paths to files synced to local Dropbox or +Google Drive folder will use the find_dropbox and +find_gdrive functions to enhances reproducibility.

    +
    +

    State +

    +

    The best way to save your analyses and settings is to save the +state of the application to a file by clicking on the + icon in the navbar and then +clicking on Save radiant state file. The state file +(extension rda) will contain (1) the data loaded in Radiant, (2) +settings for the analyses you were working on, (3) and any reports or +code from the Report > Rmd and Report > R. Save +the state file to your hard-disk and, when you are ready to continue, +simply load it by icon in the +navbar and then clicking on Load radiant state file

    +

    If you are using Radiant for a class I suggest you use the Report +> Rmd feature to complete assignments and cases. When you are +done, generate an (HTML) Notebook (or Word or PDF) report by clicking +the Save report button. Submit both the report and your +state file.

    +
    +
    +

    Options +

    +

    The editor used in Report > Rmd and Report > +R has several options that can be set in .Rprofile. +You can use usethis::edit_r_profile() to alter the settings +in .Rprofile

    +
    +options(radiant.ace_vim.keys = FALSE)
    +options(radiant.ace_theme = "cobalt")
    +options(radiant.ace_tabSize = 2)
    +options(radiant.ace_useSoftTabs = TRUE)
    +options(radiant.ace_showInvisibles = TRUE)
    +options(radiant.ace_autoComplete = "live")
    +options(radiant.powerpoint_style = "~/Dropbox/rmd-styles/style.potx")
    +options(radiant.word_style = "~/Dropbox/rmd-styles/style.docx")
    +

    Notes:

    +
      +
    • +vim.keys enables a set of special keyboard short-cuts. +If you have never used VIM you probably don’t want this
    • +
    • For an overview of available editor themes see: +shinyAce::getAceThemes() +
    • +
    • Tabs are converted to 2 spaces by default (i.e., ‘soft’ tabs). You +can change the number of spaces used from 2 to, for example, 4
    • +
    • +showInvisibles shows tabs and spaces in the editor
    • +
    • Autocomplete has options “live”, “enabled”, and “disabled”
    • +
    • Radiant has default styles for Word and Powerpoint files. These can +be replaced with styles files you created however. Click the links below +to download the style files used in Radiant to your computer. Edit the +files and use options as shown above to tell Radiant where +to find the style files you want to use. + +
    • +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to generate +reproducible reports see +Report

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/report_rmd_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/report_rmd_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/state.html b/radiant.data/docs/articles/pkgdown/state.html new file mode 100644 index 0000000..89872ba --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state.html @@ -0,0 +1,217 @@ + + + + + + + +Loading and Saving the State of the application • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Save, load, share, or view state

    +
    +

    It is convenient to work with state files if you want complete your +work at another time, perhaps on another computer, or to review previous +work you completed using Radiant. You can save and load the state of the +Radiant app just as you would a data file. The state file (extension +.rda) will contain (1) the data loaded in Radiant, (2) +settings for the analyses you were working on, (3) and any reports or +code from the Report menu. To save the current state of the app +to your hard-disk click the icon +in the navbar and then click Save radiant state file. To +load load a previous state click the + icon in the navbar and the click +Load radiant state file.

    +

    You can also share a state file with others that would like to +replicate your analyses. As an example, download and then load the state +file +radiant-example.state.rda +as described above. You will navigate automatically to the Data > +Visualize tab and will see a plot. See also the Data > +View tab for some additional settings loaded from the state file. +There is also a report in Report > Rmd created using the +Radiant interface. The html file +radiant-example.nb.html +contains the output created by clicking the Knit report +button.

    +

    Loading and saving state also works with Rstudio. If you start +Radiant from Rstudio and use + and then click +Stop, the r_data environment and the +r_info and r_state lists will be put into +Rstudio’s global workspace. If you start radiant again from the +Addins menu it will use r_data, +r_info, and r_state to restore state. Also, if +you load a state file directly into Rstudio it will be used when you +start Radiant.

    +

    Use Refresh in the + menu in the navbar to +return to a clean/new state.

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/state_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/state_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/state_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/transform.html b/radiant.data/docs/articles/pkgdown/transform.html new file mode 100644 index 0000000..68e7465 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform.html @@ -0,0 +1,778 @@ + + + + + + + +Transform variables (Data > Transform) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Transform variables

    +
    +
    +

    Transform command log +

    +

    All transformations applied in the Data > Transform tab +can be logged. If, for example, you apply a +Ln (natural log) transformation to numeric variables the +following code is generated and put in the +Transform command log window at the bottom of your screen +when you click the Store button.

    +
    +## transform variable
    +diamonds <- mutate_ext(
    +  diamonds, 
    +  .vars = vars(price, carat), 
    +  .funs = log, 
    +  .ext = "_ln"
    +)
    +

    This is an important feature if you want to re-run a report with new, +but similar, data. Even more important is that there is a record of the +steps taken to transform the data and to generate results, i.e., your +work is now reproducible.

    +

    To add commands contained in the command log window to a report in +Report +> Rmd click the + icon.

    +
    +
    +

    Filter data +

    +

    Even if a filter has been specified it will be ignored for (most) +functions available in Data > Transform. To create a new +dataset based on a filter navigate to the +Data +> View tab and click the Store button. +Alternatively, to create a new dataset based on a filter, select +Split data > Holdout sample from the +Transformation type dropdown.

    +
    +
    +

    Hide summaries +

    +

    For larger datasets, or when summaries are not needed, it can useful +to click Hide summariesbefore selecting the transformation +type and specifying how you want to alter the data. If you do want to +see summaries make sure that Hide summaries is not +checked.

    +
    +
    +

    Change variables +

    +
    +

    Bin +

    +

    The Bin command is a convenience function for the +xtile command discussed below when you want to create +multiple quintile/decile/… variables. To calculate quintiles enter +5 as the Nr bins. The reverse +option replaces 1 by 5, 2 by 4, …, 5 by 1. Choose an appropriate +extension for the new variable(s).

    +
    +
    +

    Change type +

    +

    When you select Type from the +Transformation type drop-down another drop-down menu is +shown that will allow you to change the type (or class) of one or more +variables. For example, you can change a variable of type integer to a +variable of type factor. Click the Store button to commit +the changes to the data set. A description of the transformation options +is provided below.

    +
      +
    1. As factor: convert a variable to type factor (i.e., a categorical +variable)
    2. +
    3. As number: convert a variable to type numeric
    4. +
    5. As integer: convert a variable to type integer
    6. +
    7. As character: convert a variable to type character (i.e., +strings)
    8. +
    9. As times series: convert a variable to type ts
    10. +
    11. As date (mdy): convert a variable to a date if the dates are +structured as month-day-year
    12. +
    13. As date (dmy): convert a variable to a date if the dates are +structured as day-month-year
    14. +
    15. As date (ymd): convert a variable to a date if the dates are +structured as year-month-day
    16. +
    17. As date/time (mdy_hms): convert a variable to a date if the dates +are structured as month-day-year-hour-minute-second
    18. +
    19. As date/time (mdy_hm): convert a variable to a date if the dates are +structured as month-day-year-hour-minute
    20. +
    21. As date/time (dmy_hms): convert a variable to a date if the dates +are structured as day-month-year-hour-minute-second
    22. +
    23. As date/time (dmy_hm): convert a variable to a date if the dates are +structured as day-month-year-hour-minute
    24. +
    25. As date/time (ymd_hms): convert a variable to a date if the dates +are structured as year-month-day-hour-minute-second
    26. +
    27. As date/time (ymd_hm): convert a variable to a date if the dates are +structured as year-month-day-hour-minute
    28. +
    +

    Note: When converting a variable to type +ts (i.e., time series) you should, at least, specify a +starting period and the frequency data. For example, for weekly data +that starts in the 4th week of the year, enter 4 as the +Start period and set Frequency to +52.

    +
    +
    +

    Normalize +

    +

    Choose Normalize from the +Transformation type drop-down to standardize one or more +variables. For example, in the diamonds data we may want to express +price of a diamond per-carat. Select carat as the +Normalizing variable and price in the +Select variable(s) box. You will see summary statistics for +the new variable (e.g., price_carat) in the main panel. +Commit changes to the data by clicking the Store +button.

    +
    +
    +

    Recode +

    +

    To use the recode feature select the variable you want to change and +choose Recode from the Transformation type +drop-down. Provide one or more recode commands, separated by a +;, and press return to see information about the changed +variable. Note that you can specify a name for the recoded variable in +the Recoded variable name input box (press return to submit +changes). Finally, click Store to add the recoded variable +to the data. Some examples are given below.

    +
      +
    1. Set values below 20 to Low and all others to +High +
    2. +
    +
    lo:20 = 'Low'; else = 'High'
    +
      +
    1. Set above 20 to High and all others to +Low +
    2. +
    +
    20:hi = 'High'; else = 'Low'
    +
      +
    1. Set values 1 through 12 to A, 13:24 to B, +and the remainder to C +
    2. +
    +
    1:12 = 'A'; 13:24 = 'B'; else = 'C'
    +
      +
    1. Collapse age categories for a +Basics +> Tables > Cross-tabs cross-tab analysis. In the example +below <25 and 25-34 are recoded to +<35, 35-44 and 35-44 are +recoded to 35-54, and 55-64 and +>64 are recoded to >54 +
    2. +
    +
    +'<25' = '<35'; '25-34' = '<35'; '35-44' = '35-54'; '45-54' = '35-54'; '55-64' = '>54'; '>64' = '>54'
    +
      +
    1. To exclude a particular value (e.g., an outlier in the data) for +subsequent analyses we can recode it to a missing value. For example, if +we want to remove the maximum value from a variable called +sales that is equal to 400 we would (1) select the variable +sales in the Select variable(s) box and enter +the command below in the Recode box. Press +return and Store to add the recoded variable +to the data
    2. +
    +
    +400 = NA
    +
      +
    1. To recode specific numeric values (e.g., carat) to a new value (1) +select the variable carat in the +Select variable(s) box and enter the command below in the +Recode box to set the value for carat to 2 in all rows +where carat is currently larger than or equal to 2. Press +return and Store to add the recoded variable +to the data
    2. +
    +
    +2:hi = 2
    +

    Note: Do not use = in a variable label +when using the recode function (e.g., 50:hi = '>= 50') +as this will cause an error.

    +
    +
    +

    Reorder or remove levels +

    +

    If a (single) variable of type factor is selected in +Select variable(s), choose +Reorder/Remove levels from the +Transformation type drop-down to reorder and/or remove +levels. Drag-and-drop levels to reorder them or click the \(\times\) to remove them. Note that, by +default, removing one or more levels will introduce missing values in +the data. If you prefer to recode the removed levels into a new level, +for example “other”, simply type “other” in the +Replacement level name input box and press +return. If the resulting factor levels appear as intended, +press Store to commit the changes. To temporarily exclude +levels from the data use the Filter data box (see the help +file linked in the +Data +> View tab).

    +
    +
    +

    Rename +

    +

    Choose Rename from the Transformation type +drop-down, select one or more variables, and enter new names for them in +the Rename box. Separate names by a ,. Press +return to see summaries for the renamed variables on screen and press +Store to alter the variable names in the data.

    +
    +
    +

    Replace +

    +

    Choose Replace from the Transformation type +drop-down if you want to replace existing variables in the data with new +ones created using, for example, Create, +Transform, Clipboard, etc.. Select one or more +variables to overwrite and the same number of replacement variables. +Press Store to alter the data.

    +
    +
    +

    Transform +

    +

    When you select Transform from the +Transformation type drop-down another drop-down menu is +shown you can use to apply common transformations to one or more +variables in the data. For example, to take the (natural) log of a +variable select the variable(s) you want to transform and choose +Ln (natural log) from the Apply function +drop-down. The transformed variable will have the extension specified in +the Variable name extension input (e.g,. _ln). +Make sure to press return after changing the extension. +Click the Store button to add the (changed) variable(s) to +the data set. A description of the transformation functions included in +Radiant is provided below.

    +
      +
    1. Ln: create a natural log-transformed version of the selected +variable (i.e., log(x) or ln(x))
    2. +
    3. Square: multiply a variable by itself (i.e., x^2 or square(x))
    4. +
    5. Square-root: take the square-root of a variable (i.e., x^.5)
    6. +
    7. Absolute: Absolute value of a variable (i.e., abs(x))
    8. +
    9. Center: create a new variable with a mean of zero (i.e., x - +mean(x))
    10. +
    11. Standardize: create a new variable with a mean of zero and standard +deviation of one (i.e., (x - mean(x))/sd(x))
    12. +
    13. Inverse: 1/x
    14. +
    +
    +
    +
    +

    Create new variable(s) +

    +
    +

    Clipboard +

    +

    Although not recommended, you can manipulate your data in a +spreadsheet (e.g., Excel or Google sheets) and copy-and-paste the data +back into Radiant. If you don’t have the original data in a spreadsheet +already use the clipboard feature in +Data +> Manage so you can paste it into the spreadsheet or click +the download icon on the top right of your screen in the +Data +> View tab. Apply your transformations in the spreadsheet +program and then copy the new variable(s), with a header label, to the +clipboard (i.e., CTRL-C on windows and CMD-C on mac). Select +Clipboard from the Transformation type +drop-down and paste the new data into the +Paste from spreadsheet box. It is key that new variable(s) +have the same number of observations as the data in Radiant. To add the +new variables to the data click Store.

    +
    +

    Note: Using the clipboard feature for data +transformation is discouraged because it is not reproducible.

    +
    +
    +
    +

    Create +

    +

    Choose Create from the Transformation type +drop-down. This is the most flexible command to create new or transform +existing variables. However, it also requires some basic knowledge of +R-syntax. A new variable can be any function of other variables in the +(active) dataset. Some examples are given below. In each example the +name to the left of the = sign is the name of the new +variable. To the right of the = sign you can include other +variable names and basic R-functions. After you type the command press +return to see summary statistics for the new variable. If +the result is as expected press Store to add it to the +dataset.

    +
    +

    Note: If one or more variables is selected from the +Select variables list they will be used to group +the data before creating the new variable (see example 1. below). If +this is not the intended result make sure that no variables are selected +when creating new variables

    +
    +
      +
    1. Create a new variable z that is equal to the mean of +price. To calculate the mean of price per group (e.g., per level of +clarity) select clarity from the +Select variables list before creating z +
    2. +
    +
    +z = mean(price)
    +
      +
    1. Create a new variable z that is the difference between +variables x and y
    2. +
    +
    +z = x - y
    +
      +
    1. Create a new variable z that is a transformation of +variable x with mean equal to zero (see also +Transform > Center):
    2. +
    +
    +z = x - mean(x)
    +
      +
    1. Create a new _logical) variable z that takes on the +value TRUE when x > y and FALSE otherwise
    2. +
    +
    +z = x > y
    +
      +
    1. Create a new logical z that takes on the value +TRUE when x is equal to y and FALSE +otherwise
    2. +
    +
    +z = x == y
    +
      +
    1. Create a variable z that is equal to x +lagged by 3 periods
    2. +
    +
    +z = lag(x,3)
    +
      +
    1. Create a categorical variable with two levels (i.e., +smaller and bigger)
    2. +
    +
    +z = ifelse(x < y, 'smaller', 'bigger')
    +
      +
    1. Create a categorical variable with three levels. An alternative +approach would be to use the Recode function described +below
    2. +
    +
    +z = ifelse(x < 60, '< 60', ifelse(x > 65, '> 65', '60-65'))
    +
      +
    1. Convert an outlier to a missing value. For example, if we want to +remove the maximum value from a variable called sales that +is equal to 400 we could use an ifelse statement and enter +the command below in the Create box. Press +return and Store to add the +sales_rc to the data. Note that if we had entered +sales on the left-hand side of the = sign the +original variable would have been overwritten
    2. +
    +
    +sales_rc = ifelse(sales > 400, NA, sales)
    +
      +
    1. If a respondent with ID 3 provided information on the wrong scale in +a survey (e.g., income in $1s rather than in $1000s) we could use an +ifelse statement and enter the command below in the +Create box. As before, press return and +Store to add sales_rc to the data
    2. +
    +
    +income_rc = ifelse(ID == 3, income/1000, income)
    +
      +
    1. If multiple respondents made the same scaling mistake (e.g., those +with ID 1, 3, and 15) we again use Create and enter:
    2. +
    +
    +income_rc = ifelse(ID %in% c(1, 3, 15), income/1000, income)
    +
      +
    1. If a date variable is in a format not available through the +Type menu you can use the parse_date_time +function. For a date formatted as 2-1-14 you would specify +the command below (note that this format will also be parsed correctly +by the mdy function in the Type menu)
    2. +
    +
    +date = parse_date_time(x, '%m%d%y')
    +
      +
    1. Determine the time difference between two dates/times in +seconds
    2. +
    +
    +tdiff = as_duration(time2 - time1)
    +
      +
    1. Extract the month from a date variable
    2. +
    +
    +m = month(date)
    +
      +
    1. Other attributes that can be extracted from a date or date-time +variable are minute, hour, day, +week, quarter, year, +wday (for weekday). For wday and +month it can be convenient to add label = TRUE +to the call. For example, to extract the weekday from a date variable +and use a label rather than a number
    2. +
    +
    +wd = wday(date, label = TRUE)
    +
      +
    1. Calculate the distance between two locations using lat-long +information
    2. +
    +
    +dist = as_distance(lat1, long1, lat2, long2)
    +
      +
    1. Calculate quintiles for a variable recency by using the +xtile command. To create deciles replace 5 by +10.
    2. +
    +
    +rec_iq = xtile(recency, 5)
    +
      +
    1. To reverse the ordering of the quintiles created in 17 above use +rev = TRUE +
    2. +
    +
    +rec_iq = xtile(recency, 5, rev = TRUE)
    +
      +
    1. To remove text from entries in a character or factor variable use +sub to remove only the first instance or gsub +to remove all instances. For example, suppose each row for a variable +bk_score has the letters “clv” before a number (e.g., +“clv150”). We could replace each occurrence of “clv” by “” as +follows:
    2. +
    +
    +bk_score = sub("clv", "", bk_score)
    +

    Note: For examples 7, 8, and 15 above you may need to change the new +variable to type factor before using it for further +analysis (see also Change type above)

    +
    +
    +
    +

    Clean data +

    +
    +

    Remove missing values +

    +

    Choose Remove missing from the +Transformation type drop-down to eliminate rows with one or +more missing values. Rows with missing values for +Select variables will be removed. Press Store +to change the data. If missing values were present you will see the +number of observations in the data summary change (i.e., the value of +n changes) as variables are selected.

    +
    +
    +

    Reorder or remove variables +

    +

    Choose Reorder/Remove variables from the +Transformation type drop-down. Drag-and-drop variables to +reorder them in the data. To remove a variable click the \(\times\) symbol next to the label. Press +Store to commit the changes.

    +
    +
    +

    Remove duplicates +

    +

    It is common to have one or more variables in a dataset that have +only unique values (i.e., no duplicates). Customer IDs, for example, +should be unique unless the dataset contains multiple orders for the +same customer. To remove duplicates select one or more variables to +determine uniqueness. Choose Remove duplicates +from the Transformation type drop-down and check how the +displayed summary statistics change. Press Store to change +the data. If there are duplicate rows you will see the number of +observations in the data summary change (i.e., the value of n +and n_distinct will change).

    +
    +
    +

    Show duplicates +

    +

    If there are duplicates in the data use Show duplicates +to get a better sense for the data points that have the same value in +multiple rows. If you want to explore duplicates using the +Data +> View tab make sure to Store them in a +different dataset (i.e., make sure not to overwrite the +data you are working on). If you choose to show duplicates based on all +columns in the data only one of the duplicate rows will be shown. These +rows are exactly the same so showing 2 or 3 isn’t +helpful. If, however, we are looking for duplicates based on a subset of +the available variables Radiant will generate a dataset with +all relevant rows.

    +
    +
    +
    +

    Expand data +

    +
    +

    Expand grid +

    +

    Create a dataset with all combinations of values for a selection of +variables. This is useful to generate datasets for prediction in, for +example, +Model +> Estimate > Linear regression (OLS) or +Model +> Estimate > Logistic regression (GLM). Suppose you want +to create a dataset with all possible combinations of values for +cut and color of a diamond. By selecting +Expand grid from the Transformation type +dropdown and cut and color in the +Select variable(s) box we can see in the screenshot below +that there are 35 possible combinations (i.e., cut has 5 +unique values and color has 7 unique values so 5 x 7 +combinations are possible). Choose a name for the new dataset (e.g., +diamonds_expand) and click the Store button to add it to +the Datasets dropdown.

    +

    +

    +
    +
    +

    Table-to-data +

    +

    Turn a frequency table into a dataset. The number of rows will equal +the sum of all frequencies.

    +
    +
    +
    +

    Split data +

    +
    +

    Holdout sample +

    +

    To create a holdout sample based on a filter, select +Holdout sample from the Transformation type +dropdown. By default the opposite of the active filter is used. +For example, if analysis is conducted on observations with +date < '2014-12-13' then the holdout sample will contain +rows with date >= '2014-12-13' if the +Reverse filter box is checked.

    +
    +
    +

    Training variable +

    +

    To create a variable that can be used to (randomly) filter a dataset +for model training and testing, select Training variable +from the Transformation type dropdown. Specify either the +number of observations to use for training (e.g., set Size +to 2000) or a proportion of observations to select (e.g., set +Size to .7). The new variable will have a value +1 for training and 0 test data.

    +

    It is also possible to select one or morel variables for +blocking in random assignment to the training and test +samples. This can help ensure that, for example, the proportion of +positive and negative and negative cases (e.g., “buy” vs “no buy”) for a +variable of interest is (almost) identical in the training and test +sample.

    +
    +
    +
    +

    Tidy data +

    +
    +

    Gather columns +

    +

    Combine multiple variables into one column. If you have the +diamonds dataset loaded, select cut and +color in the Select variable(s) box after +selecting Gather columns from the +Transformation type dropdown. This will create new +variables key and value. key has +two levels (i.e., cut and color) and +value captures all values in cut and +color.

    +
    +
    +

    Spread column +

    +

    Spread one column into multiple columns. The opposite of +gather. For a detailed discussion about tidy data +see the +tidy-data +vignette.

    +
    +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to transform +data see +Data +> Transform

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/transform_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/transform_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/transform_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/view.html b/radiant.data/docs/articles/pkgdown/view.html new file mode 100644 index 0000000..4149519 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view.html @@ -0,0 +1,443 @@ + + + + + + + +View data in an interactive table (Data > View) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Show data as an interactive table

    +
    +
    +

    Datasets +

    +

    Choose one of the datasets from the Datasets dropdown. +Files are loaded into Radiant through the Data > Manage +tab.

    +
    +
    +

    Filter data +

    +

    There are several ways to select a subset of the data to view. The +Filter data box on the left (click the check-box) can be +used with > and < symbols. You can also +combine subset commands, for example, x > 3 & y == 2 +would show only those rows for which the variable x has +values larger than 3 AND for which y is +equal to 2. Note that in R, and most other programming languages, += is used to assign a value and == to +determine if values are equal to each other. In contrast, +!= is used to determine if two values are unequal. +You can also use expressions that have an OR condition. +For example, to select rows where Salary is smaller than +$100,000 OR larger than $20,000 use +Salary > 20000 | Salary < 100000. | is +the symbol for OR and & is the symbol +for AND

    +

    It is also possible to filter using dates. For example, to select +rows with dates before June 1st, 2014 enter +date < "2014-6-1" into the filter box and press +return.

    +

    You can also use string matching to select rows. For example, type +grepl('ood', cut) to select rows with Good or +Very good cut. This search is case sensitive by default. +For case insensitive search use +grepl("GOOD", cut, ignore.case = TRUE). Type your statement +in the Filter box and press return to see the result on +screen or an error below the box if the expression is invalid.

    +

    It is important to note that these filters are persistent +and will be applied to any analysis conducted through in Radiant. To +deactivate a filter un-check the Filter data check-box. To +remove a filter simply delete it.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Operator + +Description + +Example +
    +< + +less than + +price < 5000 +
    +<= + +less than or equal to + +carat <= 2 +
    +> + +greater than + +price > 1000 +
    +>= + +greater than or equal to + +carat >= 2 +
    +== + +exactly equal to + +cut == 'Fair' +
    +!= + +not equal to + +cut != 'Fair' +
    +| + +x OR y + +price > 10000 | cut == 'Premium' +
    +& + +x AND y + +carat < 2 & cut == 'Fair' +
    +%in% + +x is one of y + +cut %in% c('Fair', 'Good') +
    +is.na + +is missing + +is.na(price) +
    +

    Filters can also be used with R-code to quickly view a sample from +the selected dataset. For example, runif(n()) > .9 could +be used to sample approximately 10% of the rows in the data and +1:n() < 101 would select only the first 100 rows in the +data.

    +
    +
    +

    Select variables to show +

    +

    By default all columns in the data are shown. Click on any variable +to focus on it alone. To select several variables use the SHIFT and +ARROW keys on your keyboard. On a mac the CMD key can also be used to +select multiple variables. The same effect is achieved on windows using +the CTRL key. To select all variable use CTRL-A (or CMD-A on mac).

    +
    +
    +

    Browse the data +

    +

    By default only 10 rows of data are shown at a time. You can change +this setting through the Show ... entries dropdown. Press +the Next and Previous buttons at the +bottom-right of the screen to page through the data.

    +
    +
    +

    Sort +

    +

    Click on a column header in the table to sort the data. Clicking +again will toggle between sorting in ascending and descending order. To +sort on multiple columns at once press shift and then click on the 2nd, +3rd, etc. column to sort by.

    +
    +
    + +

    For variables that have a limited number of different values (i.e., a +factor) you can select the levels to keep from the column filter below +the variable name. For example, to filter on rows with ideal cut click +in the box below the cut column header and select +Ideal from the dropdown menu shown. You can also type a +string into these column filters and then press return. Note that +matching is case-insensitive. In fact, typing eal would +produce the same result because the search will match any part of a +string. Similarly, you can type a string to select rows based on +character variables (e.g., street names).

    +

    For numeric variables the column filter boxes have some special +features that make them almost as powerful as the +Filter data box. For numeric and integer variables you can +use ... to indicate a range. For example, to select +price values between $500 and $2000 type +500 ... 2000 and press return. The range is inclusive of +the values typed. Furthermore, if we want to filter on +carat 0.32 ... will show only diamonds with +carat values larger than or equal to 0.32. Numeric variables also have a +slider that you can use to define the range of values to keep.

    +

    If you want to get really fancy you can use the search box +on the top right to search across all columns in the data using +regular expressions. For example, to find all rows that +have an entry in any column ending with the number 72 type +72$ (i.e., the $ sign is used to indicate the +end of an entry). For all rows with entries that start with 60 use +^60 (i.e., the ^ is used to indicate the first +character in an entry). Regular expressions are incredibly powerful for +search but this is a big topic area. To learn more about +regular expressions see this +tutorial.

    +
    +
    +

    Store filters +

    +

    It is important to note that column sorting, column filters, and +search are not persistent. To store these settings for +use in other parts of Radiant press the Store button. You +can store the data and settings under a different dataset name by +changing the value in the text input to the left of the +Store button. This feature can also be used to select a +subset of variables to keep. Just select the ones you want to keep and +press the Store button. For more control over the variables +you want to keep or remove and to specify their order in the dataset use +the Data > Transform tab.

    +

    To download the data in csv format click the + icon on the top right of +your screen.

    +

    Click the report () +icon on the bottom left of your screen or press ALT-enter +on your keyboard to add the filter and sort commands used by Radiant to +a (reproducible) report in +Report +> Rmd.

    +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to view, +search, and filter data see +Data +> View

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/view_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/view_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/view_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/visualize.html b/radiant.data/docs/articles/pkgdown/visualize.html new file mode 100644 index 0000000..8c22813 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize.html @@ -0,0 +1,450 @@ + + + + + + + +Visualize data (Data > Visualize) • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + +
    +

    Visualize data

    +
    +
    +

    Filter data +

    +

    Use the Filter data box to select (or omit) specific +sets of rows from the data. See the help file for +Data +> View for details.

    +
    +
    +

    Plot-type +

    +

    Select the plot type you want. For example, with the +diamonds data loaded select Distribution and +all (X) variables (use CTRL-a or CMD-a). This will create a histogram +for all numeric variables and a bar-plot for all categorical variables +in the data set. Density plots can only be used with numeric variables. +Scatter plots are used to visualize the relationship between two +variables. Select one or more variables to plot on the Y-axis and one or +more variables to plot on the X-axis. If one of the variables is +categorical (i.e., a {factor}) it should be specified as an X-variable. +Information about additional variables can be added through the +Color or Size dropdown. Line plots are similar +to scatter plots but they connect-the-dots and are particularly useful +for time-series data. Surface plots are similar to +Heat maps and require 3 input variables: X, Y, and Fill. +Bar plots are used to show the relationship between a categorical (or +integer) variable (X) and the (mean) value of a numeric variable (Y). +Box-plots are also used when we have a numeric Y-variable and a +categorical X-variable. They are more informative than bar charts but +also require a bit more effort to evaluate.

    +
    +

    Note that when a categorical variable (factor) is +selected as the Y-variable in a Bar chart it will be +converted to a numeric variable if required for the selected function. +If the factor levels are numeric these will be used in all calculations. +Since the mean, standard deviation, etc. are not relevant for non-binary +categorical variables, these will be converted to 0-1 (binary) variables +where the first level is coded as 1 and all other levels as 0. For +example, if we select color from the diamonds +data as the Y-variable, and mean as the function to apply, +then each bar will represent the proportion of observations with the +value D.

    +
    +
    +
    +

    Box plots +

    +

    The upper and lower “hinges” of the box correspond to the first and +third quartiles (the 25th and 75th percentiles) in the data. The middle +hinge is the median value of the data. The upper whisker extends from +the upper hinge (i.e., the top of the box) to the highest value in the +data that is within 1.5 x IQR of the upper hinge. IQR is the +inter-quartile range, or distance, between the 25th and 75th percentile. +The lower whisker extends from the lower hinge to the lowest value in +the data within 1.5 x IQR of the lower hinge. Data beyond the end of the +whiskers could be outliers and are plotted as points (as suggested by +Tukey).

    +

    In sum: 1. The lower whisker extends from Q1 to max(min(data), Q1 - +1.5 x IQR) 2. The upper whisker extends from Q3 to min(max(data), Q3 + +1.5 x IQR)

    +

    where Q1 is the 25th percentile and Q3 is the 75th percentile. You +may have to read the two bullets above a few times before it sinks in. +The plot below should help to explain the structure of the box plot.

    +

    +

    +

    Source

    +
    +
    +

    Sub-plots and heat-maps +

    +

    Facet row and Facet column can be used to +split the data into different groups and create separate plots for each +group.

    +

    If you select a scatter or line plot a Color drop-down +will be shown. Selecting a Color variable will create a +type of heat-map where the colors are linked to the values of the +Color variable. Selecting a categorical variable from the +Color dropdown for a line plot will split the data into +groups and will show a line of a different color for each group.

    +
    +
    +

    Line, loess, and jitter +

    +

    To add a linear or non-linear regression line to a scatter plot check +the Line and/or Loess boxes. If your data take +on a limited number of values, Jitter can be useful to get +a better feel for where most of the data points are located. +Jitter-ing simply adds a small random value to each data +point so they do not overlap completely in the plot(s).

    +
    +
    +

    Axis scale +

    +

    The relationship between variables depicted in a scatter plot may be +non-linear. There are numerous transformations we might apply to the +data so this relationship becomes (approximately) linear (see +Data +> Transform) and easier to estimate using, for example, +Model +> Estimate > Linear regression (OLS). Perhaps the most +common data transformation applied to business data is the (natural) +logarithm. To see if log transformation(s) may be appropriate for your +data check the Log X and/or Log Y boxes (e.g., +for a scatter or bar plot).

    +

    By default the scale of the Y-axis is the same across sub-plots when +using Facet row. To allow the Y-axis to be specific to each +sub-plot click the Scale-y check-box.

    +
    +
    +

    Flip axes +

    +

    To switch the variables on the X- and Y-axis check the +Flip box.

    +
    +
    +

    Plot height and width +

    +

    To make plots bigger or smaller adjust the values in the height and +width boxes on the bottom left of the screen.

    +
    +
    +

    Keep plots +

    +

    The best way to keep/store plots is to generate a +visualize command by clicking the report +() icon on the bottom +left of your screen or by pressing ALT-enter on your +keyboard. Alternatively, click the + icon on the top right of +your screen to save a png-file to disk.

    +
    +
    +

    Customizing plots in Report > Rmd +

    +

    To customize a plot first generate the visualize command +by clicking the report +() icon on the bottom +left of your screen or by pressing ALT-enter on your +keyboard. The example below illustrates how to customize a command in +the +Report +> Rmd tab. Notice that custom is set to +TRUE.

    +
    +visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) +
    +  labs(
    +    title = "A scatterplot", 
    +    y = "Price in $",
    +    x = "Carats"
    +  )
    +

    The default resolution for plots is 144 dots per inch (dpi). You can +change this setting up or down in Report > Rmd. For example, +the code-chunk header below ensures the plot will be 7” wide, 3.5” tall, +with a resolution of 600 dpi.

    +

    ```{r fig.width = 7, fig.height = 3.5, dpi = 600}

    +

    If you have the svglite package installed, the +code-chunk header below will produce graphs in high quality +svg format.

    +

    ```{r fig.width = 7, fig.height = 3.5, dev = "svglite"}

    +

    Some common customization commands:

    +
      +
    • Add a title: + labs(title = "my title") +
    • +
    • Add a sub-title: + labs(subtitle = "my sub-title") +
    • +
    • Add a caption below figure: ++ labs(caption = "Based on data from ...") +
    • +
    • Change label: + labs(x = "my X-axis label") or ++ labs(y = "my Y-axis label") +
    • +
    • Remove all legends: ++ theme(legend.position = "none") +
    • +
    • Change legend title: + labs(color = "New legend title") +or + labs(fill = "New legend title") +
    • +
    • Rotate tick labels: ++ theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
    • +
    • Set plot limits: + ylim(5000, 8000) or ++ xlim("VS1","VS2") +
    • +
    • Remove size legend: + scale_size(guide = "none") +
    • +
    • Change size range: + scale_size(range=c(1,6)) +
    • +
    • Draw a horizontal line: ++ geom_hline(yintercept = 0.1) +
    • +
    • Draw a vertical line: + geom_vline(xintercept = 8) +
    • +
    • Scale the y-axis as a percentage: ++ scale_y_continuous(labels = scales::percent) +
    • +
    • Scale the y-axis in millions: ++ scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6)) +
    • +
    • Display y-axis in $’s: ++ scale_y_continuous(labels = scales::dollar_format()) +
    • +
    • Use , as a thousand separator for the y-axis: ++ scale_y_continuous(labels = scales::comma) +
    • +
    +

    For more on how to customize plots for communication see +http://r4ds.had.co.nz/graphics-for-communication.html.

    +

    See also the ggplot2 documentation site +https://ggplot2.tidyverse.org.

    +

    Suppose we create a set of three bar charts in Data > +Visualize using the Diamond data. To add a title above +the group of plots and impose a one-column layout we could use +patchwork as follows:

    +
    +plot_list <- visualize(
    +  diamonds, 
    +  xvar = c("clarity", "cut", "color"), 
    +  yvar = "price", 
    +  type = "bar", 
    +  custom = TRUE
    +) 
    +wrap_plots(plot_list, ncol = 1) + plot_annotation(title = "Three bar plots")
    +

    See the patchwork +documentation site for additional information on how to customize +groups of plots.

    +
    +
    +

    Making plots interactive in Report > Rmd +

    +

    It is possible to transform (most) plots generated in Radiant into +interactive graphics using the plotly library. After +setting custom = TRUE you can use the ggplotly +function to convert a single plot. See example below:

    +
    +visualize(diamonds, xvar = c("price", "carat", "clarity", "cut"), custom = TRUE) %>%
    +  ggplotly() %>%
    +  render()
    +

    If more than one plot is created, you can use the +subplot function from the plotly package. +Provide a value for the nrows argument to setup the plot +layout grid. In the example below four plots are created. Because +nrow = 2 the plots will be displayed in a 2 X 2 grid.

    +
    +visualize(diamonds, xvar = c("carat", "clarity", "cut", "color"), custom = TRUE) %>%
    +  subplot(nrows = 2) %>%
    +  render()
    +

    For additional information on the plotly library see the +links below:

    + +
    +
    +

    R-functions +

    +

    For an overview of related R-functions used by Radiant to visualize +data see +Data +> Visualize

    +

    © Vincent Nijs (2023) +Creative Commons License

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/accessible-code-block-0.0.1/empty-anchor.js b/radiant.data/docs/articles/pkgdown/visualize_files/accessible-code-block-0.0.1/empty-anchor.js new file mode 100644 index 0000000..ca349fd --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/accessible-code-block-0.0.1/empty-anchor.js @@ -0,0 +1,15 @@ +// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> +// v0.0.1 +// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. + +document.addEventListener('DOMContentLoaded', function() { + const codeList = document.getElementsByClassName("sourceCode"); + for (var i = 0; i < codeList.length; i++) { + var linkList = codeList[i].getElementsByTagName('a'); + for (var j = 0; j < linkList.length; j++) { + if (linkList[j].innerHTML === "") { + linkList[j].setAttribute('aria-hidden', 'true'); + } + } + } +}); diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.css b/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.css new file mode 100644 index 0000000..07aee5f --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +a.anchor-section::before {content: '#';} +.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.js b/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.js new file mode 100644 index 0000000..570f99a --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/anchor-sections-1.0/anchor-sections.js @@ -0,0 +1,33 @@ +// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. +document.addEventListener('DOMContentLoaded', function() { + // Do nothing if AnchorJS is used + if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { + return; + } + + const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); + + // Do nothing if sections are already anchored + if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { + return null; + } + + // Use section id when pandoc runs with --section-divs + const section_id = function(x) { + return ((x.classList.contains('section') || (x.tagName === 'SECTION')) + ? x.id : ''); + }; + + // Add anchors + h.forEach(function(x) { + const id = x.id || section_id(x.parentElement); + if (id === '') { + return null; + } + let anchor = document.createElement('a'); + anchor.href = '#' + id; + anchor.classList = ['anchor-section']; + x.classList.add('hasAnchor'); + x.appendChild(anchor); + }); +}); diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.1/header-attrs.js b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.1/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.1/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.2/header-attrs.js b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.2/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.2/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.3/header-attrs.js b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/radiant.data/docs/articles/pkgdown/visualize_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/radiant.data/docs/authors.html b/radiant.data/docs/authors.html new file mode 100644 index 0000000..3ca8b92 --- /dev/null +++ b/radiant.data/docs/authors.html @@ -0,0 +1,163 @@ + +Authors and Citation • radiant.data + + +
    +
    + + + +
    +
    +
    + + + +
    • +

      Vincent Nijs. Author, maintainer. +

      +
    • +
    • +

      Niklas von Hertzen. Author. +
      html2canvas library

      +
    • +
    +
    +
    +

    Citation

    + Source: DESCRIPTION +
    +
    + + +

    Nijs V, von Hertzen N (2023). +radiant.data: Data Menu for Radiant: Business Analytics using R and Shiny. +https://github.com/radiant-rstats/radiant.data/, +https://radiant-rstats.github.io/radiant.data/, +https://radiant-rstats.github.io/docs/. +

    +
    @Manual{,
    +  title = {radiant.data: Data Menu for Radiant: Business Analytics using R and Shiny},
    +  author = {Vincent Nijs and Niklas {von Hertzen}},
    +  year = {2023},
    +  note = {https://github.com/radiant-rstats/radiant.data/,
    +https://radiant-rstats.github.io/radiant.data/,
    +https://radiant-rstats.github.io/docs/},
    +}
    + +
    + +
    + + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/bootstrap-toc.css b/radiant.data/docs/bootstrap-toc.css new file mode 100644 index 0000000..5a85941 --- /dev/null +++ b/radiant.data/docs/bootstrap-toc.css @@ -0,0 +1,60 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ + +/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */ + +/* All levels of nav */ +nav[data-toggle='toc'] .nav > li > a { + display: block; + padding: 4px 20px; + font-size: 13px; + font-weight: 500; + color: #767676; +} +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 19px; + color: #563d7c; + text-decoration: none; + background-color: transparent; + border-left: 1px solid #563d7c; +} +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 18px; + font-weight: bold; + color: #563d7c; + background-color: transparent; + border-left: 2px solid #563d7c; +} + +/* Nav: second level (shown on .active) */ +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} +nav[data-toggle='toc'] .nav .nav > li > a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; + font-weight: normal; +} +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 29px; +} +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 28px; + font-weight: 500; +} + +/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */ +nav[data-toggle='toc'] .nav > .active > ul { + display: block; +} diff --git a/radiant.data/docs/bootstrap-toc.js b/radiant.data/docs/bootstrap-toc.js new file mode 100644 index 0000000..1cdd573 --- /dev/null +++ b/radiant.data/docs/bootstrap-toc.js @@ -0,0 +1,159 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +(function() { + 'use strict'; + + window.Toc = { + helpers: { + // return all matching elements in the set, or their descendants + findOrFilter: function($el, selector) { + // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ + // http://stackoverflow.com/a/12731439/358804 + var $descendants = $el.find(selector); + return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); + }, + + generateUniqueIdBase: function(el) { + var text = $(el).text(); + var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); + return anchor || el.tagName.toLowerCase(); + }, + + generateUniqueId: function(el) { + var anchorBase = this.generateUniqueIdBase(el); + for (var i = 0; ; i++) { + var anchor = anchorBase; + if (i > 0) { + // add suffix + anchor += '-' + i; + } + // check if ID already exists + if (!document.getElementById(anchor)) { + return anchor; + } + } + }, + + generateAnchor: function(el) { + if (el.id) { + return el.id; + } else { + var anchor = this.generateUniqueId(el); + el.id = anchor; + return anchor; + } + }, + + createNavList: function() { + return $(''); + }, + + createChildNavList: function($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }, + + generateNavEl: function(anchor, text) { + var $a = $(''); + $a.attr('href', '#' + anchor); + $a.text(text); + var $li = $('
  • '); + $li.append($a); + return $li; + }, + + generateNavItem: function(headingEl) { + var anchor = this.generateAnchor(headingEl); + var $heading = $(headingEl); + var text = $heading.data('toc-text') || $heading.text(); + return this.generateNavEl(anchor, text); + }, + + // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). + getTopLevel: function($scope) { + for (var i = 1; i <= 6; i++) { + var $headings = this.findOrFilter($scope, 'h' + i); + if ($headings.length > 1) { + return i; + } + } + + return 1; + }, + + // returns the elements for the top level, and the next below it + getHeadings: function($scope, topLevel) { + var topSelector = 'h' + topLevel; + + var secondaryLevel = topLevel + 1; + var secondarySelector = 'h' + secondaryLevel; + + return this.findOrFilter($scope, topSelector + ',' + secondarySelector); + }, + + getNavLevel: function(el) { + return parseInt(el.tagName.charAt(1), 10); + }, + + populateNav: function($topContext, topLevel, $headings) { + var $context = $topContext; + var $prevNav; + + var helpers = this; + $headings.each(function(i, el) { + var $newNav = helpers.generateNavItem(el); + var navLevel = helpers.getNavLevel(el); + + // determine the proper $context + if (navLevel === topLevel) { + // use top level + $context = $topContext; + } else if ($prevNav && $context === $topContext) { + // create a new level of the tree and switch to it + $context = helpers.createChildNavList($prevNav); + } // else use the current $context + + $context.append($newNav); + + $prevNav = $newNav; + }); + }, + + parseOps: function(arg) { + var opts; + if (arg.jquery) { + opts = { + $nav: arg + }; + } else { + opts = arg; + } + opts.$scope = opts.$scope || $(document.body); + return opts; + } + }, + + // accepts a jQuery object, or an options object + init: function(opts) { + opts = this.helpers.parseOps(opts); + + // ensure that the data attribute is in place for styling + opts.$nav.attr('data-toggle', 'toc'); + + var $topContext = this.helpers.createChildNavList(opts.$nav); + var topLevel = this.helpers.getTopLevel(opts.$scope); + var $headings = this.helpers.getHeadings(opts.$scope, topLevel); + this.helpers.populateNav($topContext, topLevel, $headings); + } + }; + + $(function() { + $('nav[data-toggle="toc"]').each(function(i, el) { + var $nav = $(el); + Toc.init($nav); + }); + }); +})(); diff --git a/radiant.data/docs/docsearch.css b/radiant.data/docs/docsearch.css new file mode 100644 index 0000000..e5f1fe1 --- /dev/null +++ b/radiant.data/docs/docsearch.css @@ -0,0 +1,148 @@ +/* Docsearch -------------------------------------------------------------- */ +/* + Source: https://github.com/algolia/docsearch/ + License: MIT +*/ + +.algolia-autocomplete { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.algolia-autocomplete .ds-dropdown-menu { + width: 100%; + min-width: none; + max-width: none; + padding: .75rem 0; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .1); + box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175); +} + +@media (min-width:768px) { + .algolia-autocomplete .ds-dropdown-menu { + width: 175% + } +} + +.algolia-autocomplete .ds-dropdown-menu::before { + display: none +} + +.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] { + padding: 0; + background-color: rgb(255,255,255); + border: 0; + max-height: 80vh; +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { + margin-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion { + padding: 0; + overflow: visible +} + +.algolia-autocomplete .algolia-docsearch-suggestion--category-header { + padding: .125rem 1rem; + margin-top: 0; + font-size: 1.3em; + font-weight: 500; + color: #00008B; + border-bottom: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { + float: none; + padding-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { + float: none; + width: auto; + padding: 0; + text-align: left +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content { + float: none; + width: auto; + padding: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content::before { + display: none +} + +.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header { + padding-top: .75rem; + margin-top: .75rem; + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column { + display: block; + padding: .1rem 1rem; + margin-bottom: 0.1; + font-size: 1.0em; + font-weight: 400 + /* display: none */ +} + +.algolia-autocomplete .algolia-docsearch-suggestion--title { + display: block; + padding: .25rem 1rem; + margin-bottom: 0; + font-size: 0.9em; + font-weight: 400 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--text { + padding: 0 1rem .5rem; + margin-top: -.25rem; + font-size: 0.8em; + font-weight: 400; + line-height: 1.25 +} + +.algolia-autocomplete .algolia-docsearch-footer { + width: 110px; + height: 20px; + z-index: 3; + margin-top: 10.66667px; + float: right; + font-size: 0; + line-height: 0; +} + +.algolia-autocomplete .algolia-docsearch-footer--logo { + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: 50%; + background-size: 100%; + overflow: hidden; + text-indent: -9000px; + width: 100%; + height: 100%; + display: block; + transform: translate(-8px); +} + +.algolia-autocomplete .algolia-docsearch-suggestion--highlight { + color: #FF8C00; + background: rgba(232, 189, 54, 0.1) +} + + +.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight { + box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5) +} + +.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { + background-color: rgba(192, 192, 192, .15) +} diff --git a/radiant.data/docs/docsearch.js b/radiant.data/docs/docsearch.js new file mode 100644 index 0000000..b35504c --- /dev/null +++ b/radiant.data/docs/docsearch.js @@ -0,0 +1,85 @@ +$(function() { + + // register a handler to move the focus to the search bar + // upon pressing shift + "/" (i.e. "?") + $(document).on('keydown', function(e) { + if (e.shiftKey && e.keyCode == 191) { + e.preventDefault(); + $("#search-input").focus(); + } + }); + + $(document).ready(function() { + // do keyword highlighting + /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ + var mark = function() { + + var referrer = document.URL ; + var paramKey = "q" ; + + if (referrer.indexOf("?") !== -1) { + var qs = referrer.substr(referrer.indexOf('?') + 1); + var qs_noanchor = qs.split('#')[0]; + var qsa = qs_noanchor.split('&'); + var keyword = ""; + + for (var i = 0; i < qsa.length; i++) { + var currentParam = qsa[i].split('='); + + if (currentParam.length !== 2) { + continue; + } + + if (currentParam[0] == paramKey) { + keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); + } + } + + if (keyword !== "") { + $(".contents").unmark({ + done: function() { + $(".contents").mark(keyword); + } + }); + } + } + }; + + mark(); + }); +}); + +/* Search term highlighting ------------------------------*/ + +function matchedWords(hit) { + var words = []; + + var hierarchy = hit._highlightResult.hierarchy; + // loop to fetch from lvl0, lvl1, etc. + for (var idx in hierarchy) { + words = words.concat(hierarchy[idx].matchedWords); + } + + var content = hit._highlightResult.content; + if (content) { + words = words.concat(content.matchedWords); + } + + // return unique words + var words_uniq = [...new Set(words)]; + return words_uniq; +} + +function updateHitURL(hit) { + + var words = matchedWords(hit); + var url = ""; + + if (hit.anchor) { + url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; + } else { + url = hit.url + '?q=' + escape(words.join(" ")); + } + + return url; +} diff --git a/radiant.data/docs/docsearch.json b/radiant.data/docs/docsearch.json new file mode 100644 index 0000000..7159376 --- /dev/null +++ b/radiant.data/docs/docsearch.json @@ -0,0 +1,95 @@ +{ + "index_name": "radiant_data", + "start_urls": [ + { + "url": "https://radiant-rstats.github.io/radiant.data/index.html", + "selectors_key": "homepage", + "tags": [ + "homepage" + ] + }, + { + "url": "https://radiant-rstats.github.io/radiant.data/reference", + "selectors_key": "reference", + "tags": [ + "reference" + ] + }, + { + "url": "https://radiant-rstats.github.io/radiant.data/articles", + "selectors_key": "articles", + "tags": [ + "articles" + ] + } + ], + "stop_urls": [ + "/reference/$", + "/reference/index.html", + "/articles/$", + "/articles/index.html" + ], + "sitemap_urls": [ + "https://radiant-rstats.github.io/radiant.data/sitemap.xml" + ], + "selectors": { + "homepage": { + "lvl0": { + "selector": ".contents h1", + "default_value": "radiant.data Home page" + }, + "lvl1": { + "selector": ".contents h2" + }, + "lvl2": { + "selector": ".contents h3", + "default_value": "Context" + }, + "lvl3": ".ref-arguments td, .ref-description", + "text": ".contents p, .contents li, .contents .pre" + }, + "reference": { + "lvl0": { + "selector": ".contents h1" + }, + "lvl1": { + "selector": ".contents .name", + "default_value": "Argument" + }, + "lvl2": { + "selector": ".ref-arguments th", + "default_value": "Description" + }, + "lvl3": ".ref-arguments td, .ref-description", + "text": ".contents p, .contents li" + }, + "articles": { + "lvl0": { + "selector": ".contents h1" + }, + "lvl1": { + "selector": ".contents .name" + }, + "lvl2": { + "selector": ".contents h2, .contents h3", + "default_value": "Context" + }, + "text": ".contents p, .contents li" + } + }, + "selectors_exclude": [ + ".dont-index" + ], + "min_indexed_level": 2, + "custom_settings": { + "separatorsToIndex": "_", + "attributesToRetrieve": [ + "hierarchy", + "content", + "anchor", + "url", + "url_without_anchor" + ] + } +} + diff --git a/radiant.data/docs/index.html b/radiant.data/docs/index.html new file mode 100644 index 0000000..3c25a5d --- /dev/null +++ b/radiant.data/docs/index.html @@ -0,0 +1,365 @@ + + + + + + + +Data Menu for Radiant: Business Analytics using R and Shiny • radiant.data + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    +
    + + + +

    CRAN_Status_Badge

    +

    Radiant is an open-source platform-independent browser-based interface for business analytics in R. The application is based on the Shiny package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.data/issues. For other questions and comments please use .

    +
    +

    Key features +

    +
      +
    • Explore: Quickly and easily summarize, visualize, and analyze your data
    • +
    • Cross-platform: It runs in a browser on Windows, Mac, and Linux
    • +
    • Reproducible: Recreate results and share work with others as a state file or an Rmarkdown report
    • +
    • Programming: Integrate Radiant’s analysis functions with your own R-code
    • +
    • Context: Data and examples focus on business applications
    • +
    + +
    +

    Playlists +

    +

    There are two youtube playlists with video tutorials. The first provides a general introduction to key features in Radiant. The second covers topics relevant in a course on business analytics (i.e., Probability, Decision Analysis, Hypothesis Testing, Linear Regression, and Simulation).

    + +
    +
    +

    Explore +

    +

    Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., Estimate in Model > Estimate > Logistic regression (GLM)). This facilitates rapid exploration and understanding of the data.

    +
    +
    +

    Cross-platform +

    +

    Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server.

    +
    +
    +

    Reproducible +

    +

    To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using Rmarkdown. See also the section on Saving and loading state below

    +

    If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to Joe Cheng.

    +
    +
    +

    Programming +

    +

    Although Radiant’s web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant’s functions directly from R-code). For more information about programming with Radiant see the programming page on the documentation site.

    +
    +
    +

    Context +

    +

    Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve.

    +
    +
    +
    +

    How to install Radiant +

    +
      +
    • Required: R version 4.0.0 or later
    • +
    • Required: Rstudio +
    • +
    +

    In Rstudio you can start and update Radiant through the Addins menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below:

    +
    +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org"))
    +install.packages("radiant")
    +

    Once all packages are installed, select Start radiant from the Addins menu in Rstudio or use the command below to launch the app:

    +
    +radiant::radiant()
    +

    To launch Radiant in Rstudio’s viewer pane use the command below:

    +
    +radiant::radiant_viewer()
    +

    To launch Radiant in an Rstudio Window use the command below:

    +
    +radiant::radiant_window()
    +

    To easily update Radiant and the required packages, install the radiant.update package using:

    +
    +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org"))
    +install.packages("remotes")
    +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never")
    +

    Then select Update radiant from the Addins menu in Rstudio or use the command below:

    +
    +radiant.update::radiant.update()
    +

    See the installing radiant page additional for details.

    +

    Optional: You can also create a launcher on your Desktop to start Radiant by typing radiant::launcher() in the R(studio) console and pressing return. A file called radiant.bat (windows) or radiant.command (mac) will be created that you can double-click to start Radiant in your default browser. The launcher command will also create a file called update_radiant.bat (windows) or update_radiant.command (mac) that you can double-click to update Radiant to the latest release.

    +

    When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click Stop. The Radiant process will stop and the browser window will close (Chrome) or gray-out.

    +
    +
    +

    Documentation +

    +

    Documentation and tutorials are available at https://radiant-rstats.github.io/docs/ and in the Radiant web interface (the icons on each page and the icon in the navigation bar).

    +

    Individual Radiant packages also each have their own pkgdown sites:

    + +

    Want some help getting started? Watch the tutorials on the documentation site.

    +
    +
    +

    Reporting issues +

    +

    Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant.

    +
    +
    +

    Try Radiant online +

    +

    Not ready to install Radiant on your computer? Try it online at the link below:

    +

    https://vnijs.shinyapps.io/radiant

    +

    Do not upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons.

    +
    +
    +

    Running Radiant on shinyapps.io +

    +

    To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running radiant/inst/app/for.shinyapps.io.R. Finally, open radiant/inst/app/ui.R and deploy the application.

    +
    +
    +

    Running Radiant on shiny-server +

    +

    You can also host Radiant using shiny-server. First, install radiant on the server using the command below:

    +
    +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org"))
    +install.packages("radiant")
    +

    Then clone the radiant repo and point shiny-server to the inst/app/ directory. As a courtesy, please let me know if you intend to use Radiant on a server.

    +

    When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in Report > Rmd and Report > R will not be evaluated for security reasons. If you have sudo access to the server and have appropriate security in place you can change these settings by adding the following lines to .Rprofile for the shiny user on the server.

    +
    options(radiant.maxRequestSize = -1)  ## no file size limit
    +options(radiant.report = TRUE)
    +
    +
    +

    Running Radiant in the cloud (e.g., AWS) +

    +

    To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details

    +
    +
    +

    Saving and loading state +

    +

    To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on Save radiant state file (see also the Data > Manage tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file radiant-example.state.rda by clicking on the icon in the navbar and then on Load radiant state file. Go to Data > View and Data > Visualize to see some of the settings from the previous “state” of the app. There is also a report in Report > Rmd that was created using the Radiant interface. The html file radiant-example.nb.html contains the output.

    +

    A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use Refresh in the menu in the navigation bar to return to a clean/new state.

    +

    Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > Stop to stop the app, lists called r_data, r_info, and r_state will be put into Rstudio’s global workspace. If you start radiant again using radiant::radiant() it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state.

    +

    Technical note: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called r_state. If there is, this value is used. The r_state list is created when saving state using reactiveValuesToList(input). An example of a call to numericInput is given below where the state_init function from radiant.R is used to check if a value from r_state can be used.

    +
    +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0))
    +
    +
    +

    Source code +

    +

    The source code for the radiant application is available on GitHub at https://github.com/radiant-rstats. radiant.data, offers tools to load, save, view, visualize, summarize, combine, and transform data. radiant.design builds on radiant.data and adds tools for experimental design, sampling, and sample size calculation. radiant.basics covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. radiant.model covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, radiant.multivariate includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis.

    +

    These tools are used in the Business Analytics, Quantitative Analysis, Research for Marketing Decisions, Applied Market Research, Consumer Behavior, Experiments in Firms, Pricing, Pricing Analytics, and Customer Analytics classes at the Rady School of Management (UCSD).

    +
    +
    +

    Credits +

    +

    Radiant would not be possible without R and Shiny. I would like to thank Joe Cheng, Winston Chang, and Yihui Xie for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, shinyFiles, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page.

    +
    +
    +

    License +

    +

    Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file.

    +

    The documentation, images, and videos for the radiant.data package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for radiant.design, radiant.basics, radiant.model, and radiant.multivariate, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA.

    +

    If you are interested in using any of the radiant packages please email me at

    +

    © Vincent Nijs (2023) Creative Commons License

    +
    +
    +
    + + +
    + + +
    + +
    +

    +

    Site built with pkgdown 2.0.7.

    +
    + +
    +
    + + + + + diff --git a/radiant.data/docs/link.svg b/radiant.data/docs/link.svg new file mode 100644 index 0000000..88ad827 --- /dev/null +++ b/radiant.data/docs/link.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/radiant.data/docs/news/index.html b/radiant.data/docs/news/index.html new file mode 100644 index 0000000..82cfa04 --- /dev/null +++ b/radiant.data/docs/news/index.html @@ -0,0 +1,727 @@ + +Changelog • radiant.data + + +
    +
    + + + +
    +
    + + +
    + +
    • Address deprecation issues in markdown >= 1.5
    • +
    +
    + +
    • Added features in the UI to facilitate persistent filters for filtered, sorted, and sliced data
    • +
    • Improvements to screenshot feature: +
      • Navigation bar is omitted and the image is adjusted to the length of the UI.
      • +
      • html2canvas.js is now included so users can take screenshot when offline
      • +
    • +
    • Added a convenience function add_description to add a description attribute to a data.frame in markdown format
    • +
    • Line graphs treated more similarly to bar-graphs: +
      • Can have a binary factor variable on the y-axis
      • +
      • Y-variable only line are now also possible
      • +
    • +
    • Removed all references to aes_string which is being deprecated in ggplot soon
    • +
    • Improved cleanup after Radiant UI is closed
    • +
    +
    + +
    • Code cleanup in different areas
    • +
    +
    + +
    • gsub(“[-]”, ““, text) is no longer valid in R 4.2.0 and above. Non-asci symbols will now be escaped using stringi::stri_trans_general when needed
    • +
    +
    + +
    • Add scrolling for dropdown menus that might extend past the edge of the screen
    • +
    • Addressed warning messages about Font Awesome icons not existing
    • +
    • gsub(“[-]”, ““, text) is no longer valid in R 4.2.0 and above. Non-asci symbols will now be escaped using stringi when needed
    • +
    +
    + +
    • Added option to create screenshots of settings on a page. Approach is inspired by the snapper package by @yonicd
    • +
    • Added contact request for users on Radiant startup
    • +
    • Fix issue with R_ZIPCMD when 7zip is on the path but not being recognized by R
    • +
    +
    + +
    • Use all for is.null and is.na if object length can be greater than 1 as required in R 4.2.0
    • +
    +
    + +
    +
    + +
    • Fixes related to breaking changes in magrittr +
    • +
    • Fixes related to changes in readr argument names
    • +
    • Fix to launch radiant in a “windows”
    • +
    +
    + +
    • Add Google Drive to the default set of directories to explore if available
    • +
    • Add back functionality to convert a column to type ts in Data > Transform now that this is again supported by dplyr 1.0.1
    • +
    +
    + +
    • Fix for using the date function from the lubridate package in a filter
    • +
    • Removed functionality to convert a column to type ts as this is not supported by dplyr 1.0.0 and vctrs 0.3.1
    • +
    • Updated documentation using https://github.com/r-lib/roxygen2/pull/1109 +
    • +
    +
    + +
    • Updated styling for formatting for modals (e.g., help pages) that will also allow improved sizing of the (shinyFiles) file browser
    • +
    • Fix for \r line-endings in Report > Rmd on Windows. Issue was most likely to occur when copy-and-pasting text from PDF into Report > Rmd.
    • +
    +
    + +
    • Minor adjustments in anticipation of dplyr 1.0.0
    • +
    +
    + +
    • Function to calculate “mode”
    • +
    • Fix for “spread” in Data > Transform with column name includes “.”
    • +
    +
    + +
    • If radiant is not opened from an Rstudio project, use the working directory at launch as the base directory for the application
    • +
    +
    + +
    • Updated styling of Notebook and HTML reports (cosmo + zenburn)
    • +
    • Documentation updates to link to new video tutorials
    • +
    • Use patchwork for grouping multiple plots together
    • +
    • Apply refactor to any type in the Data > Transform UI
    • +
    • Fix for weighted.sd when missing values differ for x and weights
    • +
    • Avoid resetting the “Column header” to its default value in Data > Explore when other settings are changed.
    • +
    +
    + +
    • Fix for Data > Transform > Spread when no variables are selected
    • +
    • Set debounce to 0 for all shinyAce editors
    • +
    +
    + +
    • Use zenburn for code highlighting in Notebook and HTML report from Report > Rmd +
    • +
    • Clean up “sf_volumes” from the when radiant is stopped
    • +
    +
    + +
    • Update action buttons that initiate a calculation when one or more relevant inputs are changed. For example, when a model should be re-estimated because the set of explanatory variables was changed by the user, a spinning “refresh” icon will be shown
    • +
    +
    + +
    • Changed default quantile algorithm used in the xtile function from number 2 to 7. See the help for stats::quantile for details
    • +
    • Added me and meprop functions to calculate the margin of error for a mean and a proportion. Functions are accessible from Data > Pivot and Data > Explore +
    • +
    +
    + +
    • Improvements for wrapping generated code to Report > Rmd or Report > R +
    • +
    • +Data > Transform > Training now uses the randomizr package to allow blocking variables when creating a training variables.
    • +
    +
    + +
    • Guard against using Data > Transform > Reorder/remove levels with too many levels (i.e., > 100)
    • +
    • Guard against using Data > Transform > Reorder/remove variables with too many variables (i.e., > 100)
    • +
    • Fix for DT table callbacks when shiny 1.4 hits CRAN (see https://github.com/rstudio/DT/issues/146#issuecomment-534319155)
    • +
    • Tables from Data > Pivot and Data > Explore now have nr set to Inf by default (i.e., show all rows). The user can change this to the number of desired rows to show (e.g., select 3 rows in a sorted table)
    • +
    • Fix for example numbering in the help file for Data > Transform +
    • +
    • Numerous small code changes to support enhanced auto-completion, tooltips, and annotations in shinyAce 0.4.1
    • +
    +
    + +
    • Fix for Data > Transform > Change type +
    • +
    • Option to fix_names to lower case
    • +
    • Keyboard shortcut (Enter) to load remove csv and rds files
    • +
    • Use a shinyAce input to generate data descriptions
    • +
    • Allow custom initial dataset list
    • +
    • Fix for latex formulas in Report > Rmd on Windows
    • +
    • Updated requirements for markdown and Rmarkdown
    • +
    • Fix for radiant.init.data with shiny-server
    • +
    • Improvements to setup to allow access to server-side files by adding options to .Rprofile: +
      • Add options(radiant.report = TRUE) to allow report generation in Report > Rmd and Report > R +
      • +
      • Add options(radiant.shinyFiles = TRUE) to allow server-side access to files
      • +
      • List specific directories you want to use with radiant using, for example, options(radiant.sf_volumes = c(Git = "/home/jovyan/git")) +
      • +
    • +
    +
    + +
    • Support for series of class ts (e.g., Data > Transform > Change type > Time series)
    • +
    • Require shinyAce 0.4.0
    • +
    • Vertical jitter set to 0 by default
    • +
    +
    + +
    • Added option to save Report > Rmd as a powerpoint file using Rmarkdown +
    • +
    • Removed dependency on summarytools due to breaking changes
    • +
    • Fix for interaction (iterm) and non-linear term (qterm) creation if character strings rather than integers are passed to the function
    • +
    • Remove specific symbols from reports in Report > Rmd to avoid issues when generating HTML or PDF documents
    • +
    • Keyboard shortcuts, i.e., CTRL-O and CTRL-S (CMD-O and CMD-S on macOS) to open and save data files in the Data > Manage tab
    • +
    • Various fixes to address breaking changes in dplyr 0.8.0
    • +
    • Added radiant_ prefix to all attributes, except description, to avoid conflicts with other packages (e.g., vars in dplyr)
    • +
    +
    + +
    • Use stringi::stri_trans_general to replace special symbols in Rmarkdown that may cause problems
    • +
    • Add empty line before and after code chunks when saving reports to Rmarkdown
    • +
    • Use rio to load sav, dta, or sas7bdat files through the read files button in Report > Rmd and Report > R.
    • +
    • Create a qscatter plot similar to the function of the same name in Stata
    • +
    • New radiant icon
    • +
    • Fix for setting where both xlim and ylim are set in visualize function
    • +
    • Use an expandable shinyAce input for the R-code log in Data > Transform +
    • +
    +
    + +
    • Added an “autosave” options. Use options(radiant.autosave = c(10, 180)); radiant::radiant() to auto-save the application state to the ~/.radiant.session folder every 10 minutes for the next 180 minutes. This can be useful if radiant is being used during an exam, for example.
    • +
    • Emergency backups are now saved to ~/.radiant.session/r_some_id.state.rda. The files should be automatically loaded when needed but can also be loaded as a regular radiant state file
    • +
    • Replace option to load an .rda from from a URL in Data > Manage to load .rds files instead
    • +
    • Ensure variable and dataset names are valid for R (i.e., no spaces or symbols), “fixing” the input as needed
    • +
    • Fix to visualize now ggplot::labs no longer accepts a list as input
    • +
    • Add option to generate square and cubed terms for use in linear and logistic regression in radiant.model +
    • +
    • Fix for error when trying to save invalid predictions in radiant.model. This action now generates a pop-up in the browser interface
    • +
    • Add a specified description to a data.frame immediately on register +
    • +
    • Option to pass additional arguments to shiny::runApp when starting radiant such as the port to use. For example, radiant.data::radiant.data(“https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda”, port = 8080)
    • +
    • Option for automatic cleanup of deprecated code in both Report > Rmd and Report > R +
    • +
    • Avoid attempt to fix deprecated code in Report > Rmd if pred_data = "" +
    • +
    • Fix for download icon linked to downloading of a state file after upgrade to shiny 1.2
    • +
    • Update documentation for Data > Combine +
    • +
    • Fix for format_df when the data.frame contains missing values. This fix is relevant for several summary functions run in Report > Rmd or Report > R +
    • +
    • Fix for directory set when using Knit report in Report > Rmd and Report > R without an Rstudio project. Will now correctly default to the working directory used in R(studio)
    • +
    • Added option to change smooth setting for histograms with a density plot
    • +
    • Similar to pmin and pmax, pfun et al. calculate summary statistics elementwise across multiple vectors
    • +
    • Add Desktop as a default directory to show in the shinyFiles file browser
    • +
    • Load a state file on startup by providing a (relative) file path or a url. For example, radiant.data::radiant.data(“https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda”) or radiant.data::radiant.data(“assignment.state.rda”)
    • +
    • Update example report in Report > Rmd +
    • +
    • Add deregister function to remove data in radiant from memory and the datasets dropdown list
    • +
    • Fix for invalid column names if used in Data > Pivot +
    • +
    +
    + +
    • Use summarytools to generate summary information for datasets in Data > Manage +
    • +
    • Show modal with warning about non-writable working directory when saving reports in Report > Rmd or Report > R +
    • +
    • Apply radiant.data::fix_names to files loaded into radiant to ensure valid R-object names
    • +
    • Use the content of the Store filtered data as input to name the csv download in Data > View +
    • +
    • Add “txt” as a recognized file type for Read files in Report > Rmd and Report > R +
    • +
    • Allow multiple lines or loess curves based on a selected color variable for scatter plots in Data > Visualize +
    • +
    • Indicate that a plot in Data > Visualize should be updated when plot labels are changed
    • +
    • Fix for #81 when variables used in Data > Pivot contain dots
    • +
    • Fix for radiant.project_dir when no Rstudio project is used which could cause incorrect relative paths to be used
    • +
    • Fix code formatting for Report > Rmd when arguments include a list (e.g., ggplot labels)
    • +
    • On Linux use a modal to show code in Report > Rmd and Report > R when reporting is set to “manual”
    • +
    • Use is_double to ensure dates are not treated as numeric variables in Data > View +
    • +
    • Make sort and filter state of tables in Data > Explore and Data > Pivot available in Report > Rmd
    • +
    • Fix names for data sets loaded using the Read files button in Report > Rmd or Report > R
    • +
    • Cleanup environment after closing app
    • +
    • Fix column names with spaces, etc. when reading csv files
    • +
    • Additional styling and labeling options for Data > Visualize are now available in the browser interface
    • +
    • Fix for code generation related to DT filters
    • +
    +
    + +
    +

    Major changes

    +
    • Using shinyFiles to provide convenient access to data located on a server
    • +
    • Avoid XQuartz requirement
    • +
    +
    +

    Minor changes

    +
    • Load data(...) into the current environment rather than defaulting only to the global environment
    • +
    • +file.rename failed using docker on windows when saving a report. Using file.copy instead
    • +
    • Fix for sf_volumes used to set the root directories to load and save files
    • +
    • Set default locale to “en_US.UTF-8” when using shiny-server unless Sys.getlocale(category = "LC_ALL") what set to something other than “C”
    • +
    • Modal shown if and Rmd (R) file is not available when using “To Rstudio (Rmd)” in Report > Rmd or “To Rstudio (R)” in Report > R +
    • +
    • Track progress loading (state) files
    • +
    • Fix for radiant.sf_volumes used for the shinyFiles file browser
    • +
    • Improvements for sending code from Radiant to Rstudio
    • +
    • Better support for paths when using radiant on a server (i.e., revert to home directory using radiant.data::find_home())
    • +
    • Revert from svg to png for plots in _Report > Rmd_ and _Report > R_.svg` scatter plots with many point get to big for practical use on servers that have to transfer images to a local browser
    • +
    • Removed dependency on methods package
    • +
    +
    +
    + +
    • Fix smart comma’s in data descriptions
    • +
    • Search and replace desc(n) in reports and replace by desc(n_obs) +
    • +
    • Revert to storing the r_data environment as a list on stop to avoid reference problems (@josh1400)
    • +
    • Fix for plot type in Data > Pivot in older state files (@josh1400)
    • +
    • Used all declared imports (CRAN)
    • +
    +
    + +
    • Fix for radiant.data::explore when variable names contain an underscore
    • +
    • Fix for find_gdrive when drive is not being synced
    • +
    • Fixes in Report > Rmd and Report > R to accommodate for pandoc > 2
    • +
    +
    + +
    • Don’t update a reactive binding for an object if the binding already exists. See issue https://github.com/rstudio/shiny/issues/2065 +
    • +
    • Fix to accommodate changes in deparse in R 3.5
    • +
    • Fix for saving data in Data > Manage and generating the relevant R-code
    • +
    +
    + +
    +

    Minor changes

    +
    • Use dev = "svg" for plots in Report > Rmd and Report > R +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Add argument to dtab.data.frame to format specified columns as a percentage
    • +
    +
    +

    Bug fixes

    +
    • Round to the specified number of decimal places even if input if not of type integer (e.g., 2.0)
    • +
    +
    +
    + +
    +

    Major changes

    +
    • When using radiant with Rstudio Viewer or in an Rstudio Window, loading and saving data through Data > Manage generates R-code the user can add to Report > Rmd or Report > R. Clicking the Show R-code checkbox displays the R-code used to load or save the current dataset
    • +
    • Various changes to the code to accommodate the use of shiny::makeReactiveBinding. The advantage is that the code generated for Report > Rmd and Report > R will no longer have to use a list (r_data) to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as well
    • +
    • Removed loadr, saver, load_csv, loadcsv_url, loadrds_url, and make_funs functions as they are no longer needed
    • +
    • Deprecated mean_rm, median_rm, min_rm, max_rm,sd_rm,var_rm, and sum_rm functions as they are no longer needed
    • +
    +
    +

    Minor changes

    +
    • Added load_clip and save_clip to load and save data to the clipboard on Windows and macOS
    • +
    • Improved auto completion in Report > Rmd and Report > R +
    • +
    • Maintain, store, and clean the settings of the interactive table in Data > View +
    • +
    • Address closing Rstudio Window issue (https://github.com/rstudio/shiny/issues/2033)
    • +
    +
    +
    + +
    +

    Major changes

    +
    • +Report > Rmd and Report > R will now be evaluated the r_data environment. This means that the return value from ls() will be much cleaner
    • +
    +
    +

    Minor changes

    +
    • Add option to load files with extension .rdata or .tsv using loadr which add that data to the Datasets dropdown
    • +
    • +visualize will default to a scatter plot if xvar and yvar are specified but no plot type is provided in the function call
    • +
    • Improvements to read_files function to interactively generate R-code (or Rmarkdown code-chunks) to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses find_dropbox() and find_gdrive() when applicable
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Require shinyAce 0.3.0
    • +
    • Export read_files function to interactively generate R-code or Rmarkdown code-chunks to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses find_dropbox() and find_gdrive() when applicable
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Addins option to start app in Rstudio window
    • +
    • Upload and download data using the Rstudio file browser. Allows using relative paths to files (e.g., data or images inside an Rstudio project)
    • +
    +
    +
    + +
    +

    Bug fixes

    +
    • Fix for #43 where scatter plot was not shown for a dataset with less than 1,000 rows
    • +
    • Fix for Report > Rmd and Report > R when R-code or Rmarkdown is being pulled from the Rstudio editor
    • +
    +
    +

    Minor changes

    +
    • Updated equation example in Report > Rmd +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Use thousand separator for summary.pivotr and summary.explore +
    • +
    • Fix in code-generation for table2data +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Changed license for help files and images for radiant.data to CC-BY-SA +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Allow all textarea inputs and multi-select inputs to be resized manually by the user
    • +
    • Use 200 dpi for plots in Report > Rmd and Report > R +
    • +
    • +Data > Visualize now has an option to select a sample of data for scatter plots (e.g., 1K, 5K, 10K, or All)
    • +
    +
    +

    Bug fixes

    +
    • Fix for rounddf to ignore dates
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Apply fixMS to replace curly quotes, em dash, etc. when using Data > Transform > Create +
    • +
    • Option to set number of decimals to show in Data > View +
    • +
    • Improved number formatting in interactive tables in Data > View, Data > Pivot, and Data > Explore +
    • +
    • Option to include an interactive view of a dataset in Report > Rmd. By default, the number of rows is set to 100 as, most likely, the user will not want to embed a large dataset in save HTML report
    • +
    • +Data > Transform will leave variables selected, unless switching to Create or Spread +
    • +
    • Switch focus to editor in Report > Rmd and Report > R when no other input has focus
    • +
    +
    +

    Bug fixes

    +
    • Fix for decimals to show in interactive tables Report > Rmd and saved HTML reports
    • +
    • Better error messages for xtile and when binning data with too many groups
    • +
    • Fix for variable type warnings in Data > Pivot when filtering the table
    • +
    • Fix for  in equations in Report > Rmd +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Allow response variables with NA values in Model > Logistic regression and other classification models
    • +
    • Support logicals in code generation from Data > View +
    • +
    • Track window size using input$get_screen_width +
    • +
    • Focus on editor when switching to Report > Rmd or Report > R so generated code is shown immediately and the user can navigate and type in the editor without having to click first
    • +
    • Add information about the first level when plotting a bar chart with a categorical variable on the Y-axis (e.g., mean(buyer {yes}))
    • +
    +
    +

    Bug fixes

    +
    • Cleanup now also occurs when the stop button is used in Rstudio to close the app
    • +
    • Fix to include DiagrammeR based plots in Rmarkdown reports
    • +
    • Fix in read_files for SQLite data names
    • +
    • De-activate spell check auto correction in selectizeInput in Rstudio Viewer shiny #1916 +
    • +
    • Fix to allow selecting and copying text output from Report > Rmd and Report > R +
    • +
    • Remove “fancy” quotes from filters
    • +
    • Known issue: The Rstudio viewer may not always close the viewer window when trying to stop the application with the Stop link in the navbar. As a work-around, use Rstudio’s stop buttons instead.
    • +
    +
    +
    + +
    +

    Major changes

    +
    • If Rstudio project is used Report > Rmd and Report > R will use the project directory as base. This allows users to use relative paths and making it easier to share (reproducible) code
    • +
    • Specify options in .Rprofile for upload memory limit and running Report > Rmd on server
    • +
    • +find_project function based on rstudioapi +
    • +
    • +Report > Rmd Read button to generate code to load various types of data (e.g., rda, rds, xls, yaml, feather)
    • +
    • +Report > Rmd Read button to generate code to load various types of files in report (e.g., jpg, png, md, Rmd, R). If Radiant was started from an Rstudio project, the file paths used will be relative to the project root. Paths to files synced to local Dropbox or Google Drive folder will use the find_dropbox and find_gdrive functions to enhances reproducibility.
    • +
    • +Report > Rmd Load Report button can be used to load Rmarkdown file in the editor. It will also extract the source code from Notebook and HTML files with embedded Rmarkdown
    • +
    • +Report > Rmd will read Rmd directly from Rstudio when “To Rstudio (Rmd)” is selected. This will make it possible to use Rstudio Server Pro’s Share project option for realtime collaboration in Radiant
    • +
    • Long lines of code generated for Report > Rmd will be wrapped to enhance readability
    • +
    • +Report > R is now equivalent to Report > Rmd but in R-code format
    • +
    • +Report > Rmd option to view Editor, Preview, or Both
    • +
    • Show Rstudio project information in navbar if available
    • +
    +
    +

    Minor changes

    +
    • Overflow pre and code blocks in HTML reports generated in Report > Rmd +
    • +
    • Read rdata files through Data > Manage +
    • +
    • Enhanced keyboard shortcuts
    • +
    • Enhanced editing features in Report > Rmd and Report > R based on updates to shinyAce +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Added preview options to Data > Manage based on https://github.com/radiant-rstats/radiant/issues/30 +
    • +
    • Add selected dataset name as default table download name in Data > View, Data > Pivot, and Data > Explore +
    • +
    • Use “stack” as the default for histograms and frequency charts in Data > Visualize +
    • +
    • Cleanup Stop & Report option in navbar
    • +
    • Upgraded tidyr dependency to 0.7
    • +
    • Upgraded dplyr dependency to 0.7.1
    • +
    +
    +

    Bug fixes

    +
    • Fix for large numbers in Data > Explore that could cause an integer overflow
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Export ggplotly from plotly for interactive plots in Report > Rmd +
    • +
    • Export subplot from plotly for grids of interactive plots in Report > Rmd +
    • +
    • Set default res = 96 for renderPlot and dpi = 96 for knitr::opts_chunk +
    • +
    • Add fillcol, linecol, and pointcol to visualize to set plot colors when no fill or color variable has been selected
    • +
    • Reverse legend ordering in Data > Visualize when axes are flipped using coor_flip() +
    • +
    • Added functions to choose.files and choose.dir. Uses JavaScript on Mac, utils::choose.files and utils::choose.dir on Windows, and reverts to file.choose on Linux
    • +
    • Added find_gdrive to determine the path to a user’s local Google Drive folder if available
    • +
    • +fixMs for encoding in reports on Windows
    • +
    +
    +

    Bug fixes

    +
    • Chi-square results were not displayed correctly in Data > Pivot +
    • +
    • Fix for state_multiple +
    • +
    +
    +
    + +
    +

    Minor changes

    +
    • Specify the maximum number of rows to load for a csv and csv (url) file through Data > Manage +
    • +
    • Support for loading and saving feather files, including specifying the maximum number of rows to load through Data > Manage +
    • +
    • Added author and year arguments to help modals in inst/app/radiant.R (thanks @kmezhoud)
    • +
    • Added size argument for scatter plots to create bubble charts (thanks @andrewsali)
    • +
    • Example and CSS formatting for tables in Report > Rmd +
    • +
    • Added seed argument to make_train +
    • +
    • Added prop, sdprop, etc. for working with proportions
    • +
    • Set ylim in visualize for multiple plots
    • +
    • Show progress indicator when saving reports from Report > Rmd +
    • +
    • +copy_attr convenience function
    • +
    • +refactor function to keep only a subset of levels in a factor and recode the remaining (and first) level to, for example, other
    • +
    • +register function to add a (transformed) dataset to the dataset dropdown
    • +
    • Remember name of state files loaded and suggest that name when re-saving the state
    • +
    • Show dataset name in output if dataframe passed directly to analysis function
    • +
    • R-notebooks are now the default option for output saved from Report > Rmd and Report > R +
    • +
    • Improved documentation on how to customize plots in Report > Rmd +
    • +
    • Keyboard short-cut to put code into Report > Rmd (ALT-enter)
    • +
    +
    +

    Bug fixes

    +
    • When clicking the rename button, without changing the name, the dataset was set to NULL (thanks @kmezhoud, https://github.com/radiant-rstats/radiant/issues/5)
    • +
    • Replace ext with .ext in mutate_each function call
    • +
    • Variance estimation in Data > Explore would cause an error with unit cell-frequencies (thanks @kmezhoud, https://github.com/radiant-rstats/radiant/issues/6)
    • +
    • Fix for as_integer when factor levels are characters
    • +
    • Fix for integer conversion in explore
    • +
    • Remove \r and special characters from strings in r_data and r_state
    • +
    • Fix sorting in Report > Rmd for tables created using Data > Pivot and Data > Explore when column headers contain symbols or spaces (thanks @4kammer)
    • +
    • Set error = TRUE for rmarkdown for consistency with knitr as used in Report > Rmd +
    • +
    • Correctly handle decimal indicators when loading csv files in Data > Manage +
    • +
    • Don’t overwrite a dataset to combine if combine generates an error when user sets the the name of the combined data to that of an already selected dataset
    • +
    • When multiple variables were selected, data were not correctly summarized in Data > Transform
    • +
    • Add (function) label to bar plot when x-variable is an integer
    • +
    • Maintain order of variables in Data > Visualize when using “color”, “fill”, “comby”, or “combx”
    • +
    • Avoid warning when switching datasets in Data > Transform and variables being summarized do not exists in the new dataset
    • +
    • which.pmax produced a list but needed to be integer
    • +
    • To customized predictions in radiant.model indexr must be able to customize the prediction dataframe
    • +
    • describe now correctly resets the working directory on exit
    • +
    • removed all calls to summarise_each and mutate_each from dplyr
    • +
    +
    +

    Deprecated

    +
    • varp_rm has been deprecated in favor of varpop
    • +
    • sdp_rm has been deprecated in favor of sdpop
    • +
    • mutate_each has been deprecated in favor of mutate_at, mutate_all, and radiant.data::mutate_ext
    • +
    +
    +
    + + + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/pkgdown.css b/radiant.data/docs/pkgdown.css new file mode 100644 index 0000000..80ea5b8 --- /dev/null +++ b/radiant.data/docs/pkgdown.css @@ -0,0 +1,384 @@ +/* Sticky footer */ + +/** + * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ + * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css + * + * .Site -> body > .container + * .Site-content -> body > .container .row + * .footer -> footer + * + * Key idea seems to be to ensure that .container and __all its parents__ + * have height set to 100% + * + */ + +html, body { + height: 100%; +} + +body { + position: relative; +} + +body > .container { + display: flex; + height: 100%; + flex-direction: column; +} + +body > .container .row { + flex: 1 0 auto; +} + +footer { + margin-top: 45px; + padding: 35px 0 36px; + border-top: 1px solid #e5e5e5; + color: #666; + display: flex; + flex-shrink: 0; +} +footer p { + margin-bottom: 0; +} +footer div { + flex: 1; +} +footer .pkgdown { + text-align: right; +} +footer p { + margin-bottom: 0; +} + +img.icon { + float: right; +} + +/* Ensure in-page images don't run outside their container */ +.contents img { + max-width: 100%; + height: auto; +} + +/* Fix bug in bootstrap (only seen in firefox) */ +summary { + display: list-item; +} + +/* Typographic tweaking ---------------------------------*/ + +.contents .page-header { + margin-top: calc(-60px + 1em); +} + +dd { + margin-left: 3em; +} + +/* Section anchors ---------------------------------*/ + +a.anchor { + display: none; + margin-left: 5px; + width: 20px; + height: 20px; + + background-image: url(./link.svg); + background-repeat: no-repeat; + background-size: 20px 20px; + background-position: center center; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + display: inline-block; +} + +/* Fixes for fixed navbar --------------------------*/ + +.contents h1, .contents h2, .contents h3, .contents h4 { + padding-top: 60px; + margin-top: -40px; +} + +/* Navbar submenu --------------------------*/ + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu>.dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover>.dropdown-menu { + display: block; +} + +.dropdown-submenu>a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} + +.dropdown-submenu:hover>a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left>.dropdown-menu { + left: -100%; + margin-left: 10px; + border-radius: 6px 0 6px 6px; +} + +/* Sidebar --------------------------*/ + +#pkgdown-sidebar { + margin-top: 30px; + position: -webkit-sticky; + position: sticky; + top: 70px; +} + +#pkgdown-sidebar h2 { + font-size: 1.5em; + margin-top: 1em; +} + +#pkgdown-sidebar h2:first-child { + margin-top: 0; +} + +#pkgdown-sidebar .list-unstyled li { + margin-bottom: 0.5em; +} + +/* bootstrap-toc tweaks ------------------------------------------------------*/ + +/* All levels of nav */ + +nav[data-toggle='toc'] .nav > li > a { + padding: 4px 20px 4px 6px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; +} + +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 5px; + color: inherit; + border-left: 1px solid #878787; +} + +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 5px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; + border-left: 2px solid #878787; +} + +/* Nav: second level (shown on .active) */ + +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} + +nav[data-toggle='toc'] .nav .nav > li > a { + padding-left: 16px; + font-size: 1.35rem; +} + +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 15px; +} + +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 15px; + font-weight: 500; + font-size: 1.35rem; +} + +/* orcid ------------------------------------------------------------------- */ + +.orcid { + font-size: 16px; + color: #A6CE39; + /* margins are required by official ORCID trademark and display guidelines */ + margin-left:4px; + margin-right:4px; + vertical-align: middle; +} + +/* Reference index & topics ----------------------------------------------- */ + +.ref-index th {font-weight: normal;} + +.ref-index td {vertical-align: top; min-width: 100px} +.ref-index .icon {width: 40px;} +.ref-index .alias {width: 40%;} +.ref-index-icons .alias {width: calc(40% - 40px);} +.ref-index .title {width: 60%;} + +.ref-arguments th {text-align: right; padding-right: 10px;} +.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px} +.ref-arguments .name {width: 20%;} +.ref-arguments .desc {width: 80%;} + +/* Nice scrolling for wide elements --------------------------------------- */ + +table { + display: block; + overflow: auto; +} + +/* Syntax highlighting ---------------------------------------------------- */ + +pre, code, pre code { + background-color: #f8f8f8; + color: #333; +} +pre, pre code { + white-space: pre-wrap; + word-break: break-all; + overflow-wrap: break-word; +} + +pre { + border: 1px solid #eee; +} + +pre .img, pre .r-plt { + margin: 5px 0; +} + +pre .img img, pre .r-plt img { + background-color: #fff; +} + +code a, pre a { + color: #375f84; +} + +a.sourceLine:hover { + text-decoration: none; +} + +.fl {color: #1514b5;} +.fu {color: #000000;} /* function */ +.ch,.st {color: #036a07;} /* string */ +.kw {color: #264D66;} /* keyword */ +.co {color: #888888;} /* comment */ + +.error {font-weight: bolder;} +.warning {font-weight: bolder;} + +/* Clipboard --------------------------*/ + +.hasCopyButton { + position: relative; +} + +.btn-copy-ex { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.hasCopyButton:hover button.btn-copy-ex { + visibility: visible; +} + +/* headroom.js ------------------------ */ + +.headroom { + will-change: transform; + transition: transform 200ms linear; +} +.headroom--pinned { + transform: translateY(0%); +} +.headroom--unpinned { + transform: translateY(-100%); +} + +/* mark.js ----------------------------*/ + +mark { + background-color: rgba(255, 255, 51, 0.5); + border-bottom: 2px solid rgba(255, 153, 51, 0.3); + padding: 1px; +} + +/* vertical spacing after htmlwidgets */ +.html-widget { + margin-bottom: 10px; +} + +/* fontawesome ------------------------ */ + +.fab { + font-family: "Font Awesome 5 Brands" !important; +} + +/* don't display links in code chunks when printing */ +/* source: https://stackoverflow.com/a/10781533 */ +@media print { + code a:link:after, code a:visited:after { + content: ""; + } +} + +/* Section anchors --------------------------------- + Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71 +*/ + +div.csl-bib-body { } +div.csl-entry { + clear: both; +} +.hanging-indent div.csl-entry { + margin-left:2em; + text-indent:-2em; +} +div.csl-left-margin { + min-width:2em; + float:left; +} +div.csl-right-inline { + margin-left:2em; + padding-left:1em; +} +div.csl-indent { + margin-left: 2em; +} diff --git a/radiant.data/docs/pkgdown.js b/radiant.data/docs/pkgdown.js new file mode 100644 index 0000000..6f0eee4 --- /dev/null +++ b/radiant.data/docs/pkgdown.js @@ -0,0 +1,108 @@ +/* http://gregfranko.com/blog/jquery-best-practices/ */ +(function($) { + $(function() { + + $('.navbar-fixed-top').headroom(); + + $('body').css('padding-top', $('.navbar').height() + 10); + $(window).resize(function(){ + $('body').css('padding-top', $('.navbar').height() + 10); + }); + + $('[data-toggle="tooltip"]').tooltip(); + + var cur_path = paths(location.pathname); + var links = $("#navbar ul li a"); + var max_length = -1; + var pos = -1; + for (var i = 0; i < links.length; i++) { + if (links[i].getAttribute("href") === "#") + continue; + // Ignore external links + if (links[i].host !== location.host) + continue; + + var nav_path = paths(links[i].pathname); + + var length = prefix_length(nav_path, cur_path); + if (length > max_length) { + max_length = length; + pos = i; + } + } + + // Add class to parent
  • , and enclosing
  • if in dropdown + if (pos >= 0) { + var menu_anchor = $(links[pos]); + menu_anchor.parent().addClass("active"); + menu_anchor.closest("li.dropdown").addClass("active"); + } + }); + + function paths(pathname) { + var pieces = pathname.split("/"); + pieces.shift(); // always starts with / + + var end = pieces[pieces.length - 1]; + if (end === "index.html" || end === "") + pieces.pop(); + return(pieces); + } + + // Returns -1 if not found + function prefix_length(needle, haystack) { + if (needle.length > haystack.length) + return(-1); + + // Special case for length-0 haystack, since for loop won't run + if (haystack.length === 0) { + return(needle.length === 0 ? 0 : -1); + } + + for (var i = 0; i < haystack.length; i++) { + if (needle[i] != haystack[i]) + return(i); + } + + return(haystack.length); + } + + /* Clipboard --------------------------*/ + + function changeTooltipMessage(element, msg) { + var tooltipOriginalTitle=element.getAttribute('data-original-title'); + element.setAttribute('data-original-title', msg); + $(element).tooltip('show'); + element.setAttribute('data-original-title', tooltipOriginalTitle); + } + + if(ClipboardJS.isSupported()) { + $(document).ready(function() { + var copyButton = ""; + + $("div.sourceCode").addClass("hasCopyButton"); + + // Insert copy buttons: + $(copyButton).prependTo(".hasCopyButton"); + + // Initialize tooltips: + $('.btn-copy-ex').tooltip({container: 'body'}); + + // Initialize clipboard: + var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { + text: function(trigger) { + return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); + } + }); + + clipboardBtnCopies.on('success', function(e) { + changeTooltipMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }); + + clipboardBtnCopies.on('error', function() { + changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); + }); + }); + } +})(window.jQuery || window.$) diff --git a/radiant.data/docs/pkgdown.yml b/radiant.data/docs/pkgdown.yml new file mode 100644 index 0000000..82dcd1a --- /dev/null +++ b/radiant.data/docs/pkgdown.yml @@ -0,0 +1,19 @@ +pandoc: 3.1.2 +pkgdown: 2.0.7 +pkgdown_sha: ~ +articles: + combine: pkgdown/combine.html + explore: pkgdown/explore.html + manage: pkgdown/manage.html + pivotr: pkgdown/pivotr.html + report_r: pkgdown/report_r.html + report_rmd: pkgdown/report_rmd.html + state: pkgdown/state.html + transform: pkgdown/transform.html + view: pkgdown/view.html + visualize: pkgdown/visualize.html +last_built: 2023-09-06T05:57Z +urls: + reference: https://radiant-rstats.github.io/radiant.data/reference + article: https://radiant-rstats.github.io/radiant.data/articles + diff --git a/radiant.data/docs/reference/Rplot001.png b/radiant.data/docs/reference/Rplot001.png new file mode 100644 index 0000000000000000000000000000000000000000..17a358060aed2a86950757bbd25c6f92c08c458f GIT binary patch literal 1011 zcmeAS@N?(olHy`uVBq!ia0y~yV0-|=9Be?5+AI5}0x7m6Z+90U4Fo@(ch>_c&H|6f zVg?3oArNM~bhqvg0|WD9PZ!6KiaBo&GBN^{G%5UFpXcEKVvd5*5Eu=C0SJK)8A6*F U7`aXvEC5;V>FVdQ&MBb@00SN#Z2$lO literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/Rplot002.png b/radiant.data/docs/reference/Rplot002.png new file mode 100644 index 0000000000000000000000000000000000000000..00e8eeb4cf69d41c98c7d30a01ec410ca03cd2a3 GIT binary patch literal 62383 zcma%Cbx>7Zw5LTnq)U+Q?vU=3PLT%bZY8C=ySuwV1Ox=6ySuyVZNHf}^ZtBi2JXxq zIQQIh_Fn5(D?~{_5*Yy>0RjR7Sz1a=1p)$c?cWbP9C*ijsxtw+z(J6PIpUZmU&t%H& z%Hi#Ri~>RG7NN{!zO!#8m15lFk)w-3?M&Os{v!fS!LQ!`j?L!W>sw^E|BffN4ZP2& z|Bfi1ZnkdX|BmNxX5R$({~ZsIV-TMI{oxgKCgjc8zhmzWKlIW1zhfNL4Q}qgQ|6JJ zAyo(eJ0yiZU)>^K!Dcqkh6JMJcG>piWu46&g!nfpLYvp{0fQ}L@ zG;{dIUpN4bgb@LpeW<~%gaj(E34kdwdR(VLwBj8x0Ripf}2(l2nYz~78X7B={B!IxJVdCa6%J~9#@e#e*eF(x%PkW z+iQRrnV*2CQ)I2uQm@g+jn-;MDzQBMw(xnjebmxz;?`mSO zWR)B783cJsz;v1X%ZqEq&W@31YL?LIz|IJ-PUBwtePLf1lXl7LVyE72L6Vm_zN$KY z`(5s7a%W?(q`~>F(4$uSTyCd+wMke%s;}F|ZP@~6xn9}jt`MT7WqZYg@vp}Ul#ef0 zMG#|xR_8a1yh8WVXURcRmXKMXPEYeqFUWTk(X;REil0 z>GnLuYi3L?e3)y~I6c)l5CLDJ4+q)jQ75Cc^iSh*lEKaS)g<<57t`JRnBUZ_=i>EX z&@BPcXL5{c=Q0Ju9C9YbFN=Q21d)uN{{GEA9}vQST1Vxbo<7j)9HD1~!#avrF)|_icmYaRUo29mj^funVWIld_-C>-<2jIJUDh z{`ED!3awFk7L!)z(&xLgsFw#~;(@qH#U>gC=MXU`xk;0UtE+p1f$w}LzfG5Up}Pz= zFSCNvY(j}HJrRRpIXL`cF+wWK{$4a%^A=^ywCV0dlQK3m@Fv36B!52Av?a>?>IUcb zjTFY~rjAA5Yg~~VDM=68>~D6Iexwm7<#|?y0;8xxJtkW!mOW-t2tm}x2mdHw7+&rkdys&9z
  • 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 ~A;*yz+%X5uC$E560beUzU|d;c)9I}@t(4Te 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/Rplot005.png b/radiant.data/docs/reference/Rplot005.png new file mode 100644 index 0000000000000000000000000000000000000000..a5a1301b07f149a1117399cf4cfbdbc17905ec8c GIT binary patch literal 78193 zcmaHTcRZHu|2KssD`X`}S4hehBH1I6qL58iGK#W7gp3FknV|?Fqhytl6_O+^t4m3e zofUrXv-|nIp1+>w`|7Uy_SNM)&*L~gpZEHl5y$m38R)p_C@3fxw6)YuP*6|~5&zKA z;44?&J->}VXl#yZs^L%kZ%MT}5PxiT*D|?CL9vB}_=oasf52Y~3O)*LHDyEZ)L*ri zJ92cKVAS4DKTA)oPY_Koebz5f_ zZ>;5y2mba$vWyzpas3I_?mU~yK1LrGqI&;#dappj<_NW5u3>A=8yZ^iQfCLB*q6x_ zP}=WuBraL(07VCdBrZ9`gVKs7>EEqwq4@vZk9`mqakI}T#5Q*PyM5{)F023NN7bnp zQg`Cp5?M2k({9|j@i-f`eHquDJ$uCN>T>v+L~A$vdr%|V@@X0l4uX0ahZ&0dwxo21 zB`0$mo<7~^D5W=6>1nQc@+9kk&*+ZD)qwja_TKMtq79}{WIF2_-)7OwrnZ6G-3MX(&zKWkF6+WV-DqB%*&5FIN-f; zetup^Na%>Na{a>veE8qKz*UZ-7i+#>+#4B2{q>rcLU40rmR-!W_X-Oca06o8Hy-Ba zt2jCBwKIAC=4iE@?3HDyfW^k0S;fUnr6P^aPwZ=WqnaLHp0x0;wdhD!+|HyhRd-*} z#=LL(XF+jRWhIwug- zb=XU$2P``&OuuAJ_(U}^_+n?SUK)4bB4aq`@TX6v9ZBN5CuhZ9D-ny%AzpoHq5%(Z zV|XKFZjW}xs4QcakcyEJkD@P|pk8WScI@HE`1trO&pt(^46d&&{P^*sm79h)Mx_16 z__*q^V+{Opv;*E`2A7Yedx|eQC5J5x2JSqNc<$Y~JVQEM+K;g@W&XIJqH$*Rt)Zcz zLc+ogXWVK-TXqI26witupnt>=QU6R!&U=cFSX;Jj+ir|oe{_+#o^{=F_2+5YP?b@S z&_u>DPwvl8&xbS)w~nn=6*W#S;2CFSW>T7)oBN~{XJ>DW%!+9a`re%n0R)5~iY_l@snLoYpeY)UvO>TF7e+yYn5Sd1RJ_`T!dvEH@>L64vB_O_PN zC$v$ecl}+K;iSiAo?7x>TnJphOchdJ^SVuT{V}sth{x8MwUx=yw9`^|bsf*0Q@wn7 z;cRbdyk2g1Z*S=L@AlZo?mXdg7r);tEoBMj8}W>;s*=}=zcnl8WgcE{ML~fhTmJN^ zy?I|<9R;4XcY1iIefF-=r%z?DIkKy(w<~n*W~MzJ>&s8lR#D(>!G(U-9?jqy-Goyb z9Yt^6*Zt;=nEkFd-ZHHZf$03r%fyELhTDK0Z9S+JymC97pW8w_{QiL8Cru*#_5C zcD=L_$3t$g5<6mK} zmucbqM*|-owBj;KY+D$gnH_l6@9NH@sajE0v^!0Y9Lix)$8hjV5cdArFSgibcO@ON zUc3lYAt&lQuqyi~k^frTXqi~(^Pgp~E>TS?fnjzhdwY5|rjKR{(RrGO_d17mjfRM{ z5Bc!s=Vz6bu{Jd|+4?prbT!&Z)Vs)#vC|v8`pgp(7hcN-5{1poPAKw%UWPu2mt4jnf(PMY=?zOCZtcc`km+G%S~+-}XOQKfaRKC_DqGUq?tGB~E^Ufus= zVxsBS$FlA(UlhK77fjPr?U53(sF5Z6Xva@Yx9lY25oV`c9hQ=jLDh)mJsnSyI(Sg^ z&e@k_4{qU6A6{G+c{*rx$zc4A*N%8n_h>>J>C@-W;+KDaF>~8NRv?O|N1R8|iEz?E zpS-Mm;itIs{J=}@?#wrC+(3<`3AsA3$>fg5pI;`jJd8Z@p0uYeuSmN-U-}-+pW770 zVLLfci)Vo~Ei5c#rlOQdVYpPigQsOzoECbT)x@VKTm!}V`8UsUP2yS~GEh>`)6?I} z%@rg|2J_W@yO3F3ouZ@1s2NWpHe!ChFj-pN;IUQxhGjPcw(gG~+vukp*#6stQB4wK z4ar)h;7^}E?X~E3h{DEyX;VT!`4|Ni&o#W;@&5TkSwj50vAa3x`Prk;&Kg}S$Q^ej z9i5#USoIZ@8+&Q2cQ{p-%z=8 zmW_kM!F)3BWNxWzq}c%u^UuaglSlZD9OTBHqo$@7+P5#eI4Y|(KU1j@tNrYLw-iHK zTAHJ)YmU+V-rnA%LzjQ6pV{%sgNI$jI4D6-|GVL~L#b-~S8wk-t=IGF@b**%pLlM| zjIMAT*z$@BRc0zR{;lXtDAno)eA+DZG#jau?`1A|E5uX`25iS?FHXk>M#n0xaqje= zq9i``WUih;9BakrV>c`ncr|5tXu4))FMg-rU&KH9)@uiG5eMBYnkUUg*h8{}OtQHZ zy0TFvh~+i%GUPqYrjDP8b0QSEp}IfjZ2O(F*D9oswO3xg>#=4{ljNa|GE?FJJ|1O!2LDF?KzibEboI036;#TE#eoy>)uLC z)Svx%Km?DtRD?V?*5l~rmfQQ1r=|O`#8%R-COxb`atgAWsbwv@cnwypT=(Pw_y8uu#~;epRE z6b@baT|KGr=y!uniSe7aZ-ZlE7}0PXrF1kGJ$N*?<)|5SO!;g2X3~UEZerq9GcedH zU3WC`KojbI_uwE?LYo?cMPQ(k)G<{l?$DmG`vddI(&ya2zTEt?HeTn){CHoZO^F?w zF{P@y4d4Q8c%zm;f>v%1@jHp-v1y@LO6N^dMA#c@iS5!wmw&j+Vr8aN2LI9kL@E?ra5gTpXZZb$%;;S^;L*2} zF+9_W`}y<@H#5)eH`ZAUmb)2ZRi(lD;`&Q$pj3MJwG}TqmDumcnq_~^V zRDv=ePsQ&!`q<^81cfT^+|UqT!?0LTrVzFqP)g}{-P&3Jsy_E~cJ-~vIo$(8#v)-^S^RA5>WH78p9b|sEKp=*Br_nF--0XpjWRP8 z`syR|YMI>!MQJxMxFrO(*oZIsA2t?Y=hks`bq&kUH|ebmb7S0amEuGm8-tv~z9Ahf z&F6^^EtbRbZ>fk5~eTWlmg-WhgVho{8o~h zPxpBxb=u<)+ev8mmILhJKxp{X#c5IDn8s=HRtk-8KOhJSVkUvxy{3{`!yqPRCyTum zq8`P5tnt-rCdTlM*vr&ncAU`~ySJst?ks=uWcXX6WzM!rP>1hEA@zJ~Q{hTOs|$lI zclMvjIYuXWS2qh7i#>`Or86>%@3v0&1_2gEUe~0EXViOJ`NK{#Q#tEu%X-`C?BP20%Sam1tke!YF#;%d)W$8wWsBtHte)Un1MeWe@W zI|IB;U+w}9@%8hw7ULxLzPqe$E+@mmI;s-}kMf5HS|f zh}DmF0Ol8B`e0vH4-yrpW#|3OZa@C$Fr_x{%cI{TW+((IcTb4!ieoa^O_104d+Yh1 zy|#b0OCI(kdWIbzc~BrkD6;%!SlmvWbmGXC>WIXsv8kiZ)y%y;y7>F@i$mWO^U=WH zr#*juc=_*Cz?We;EAzfModd}kb$bsdKm zEyi7zK8Ebx@6~tKye~^V>M@GCFqI1ZJ__)a4-=Qgn^ACwyNOm-F1IeK(jbbUtj zBCQPNv7ZM{i{A93|6W&Q?r z-=OgAvNkuvm1-pOP;R^xKrY@$f%svMA6l@v6Pu17((! zpzU0v#h9cJrdneYZ#nO+0KjEjd0~&Ck-EM<6LxJF@Uc*&%Ed;tu}EEB{{0sH{rxDv z#-(=J%|4M)Q6=`B+&qUa(W5Osc<`WHC*`kG#pk?hd&VpUx4kPB$$tF!X1@P7ze(&V zkCE1`xW(>ZNo)b?E$mhwOV0v4wEM6&C2{{dX&+on-Sbh$rSFLjvo(>gmxf%VT2Z^*+qr` z<);cwL+vCs7xx|gwtLH#E!I-pC7_bdt>~!u9(j5B<3>ieJ$O-*aHcaKJ&KNWZ7l`Y zSL^+R%4Ge-H1DclN=RID+~`uOnz8@koljl+Bk$Z{2QE(O)L0KhZ3GeEtiC*{p{`E7 zwl=w*{_SShZsOeS{arJw_jkGP#cO#ldl8yVn>@w~D=eM{Qzz$GTUiA~u2q{Ar8+Py z%+DXI>Q!f^0^Ha8S!N4_ZF=Smw$yob?!!|7-n`y+^Ah3>3SB_GI6Enw=whMR{&RD4 zR(L)pQ7v~wEn^zPnHsIc-uTpXc6JJhigr1&&aA9HEG%ro0^)4ofX4>R?fy0RBG7Pt zuJz`UyP;8NuXAUT|E(K1C^d^;qp(43|1_T|JcUz36{4&#|L)|o^|h4}_u&SQ*!KUH z=R`-U9P9Rjt}oLS{VuSO(T$VjE(#P?{mh?zT-C)M@M34+a!-c)_YSV)C{pEHFmgg9 zc$k-W_xU)RXa{=O=o zruXPf1tS!lke(0n29tTX{Zm`6sMPKUG{NkVMTJ;yX*-cC8rVB zc`?qLx&mA2X*9nX9}{3*URklO_-tTqo;ID_>)eELycu<)sOSJt=-i(_Svfg01g3m- zdtceW_>Juc2`+xU$p&43n$+niE}?Myjn+nuGp_+ouU>C;Z#u)GB2pO(vS6E$wQRrARDFNzWB z1ECxEOn{b5Tq3|Kaj(-;jZ6-!{27uCukRlejVIlZuo-;?a5K*xAw_ah=5CvEm#Sn^ z3y2?yKdPgnamCf!+h?Tt8u?kYcxYtS5GdNt%bm~~?8`FI`@oDqHL8jnXs-h9eByuN zLDpbnV;dUqo7^#*wDM;{RfIj|mJq{Ux|MOu^+-q@(vw}17s3gc+722x-L?L=3u*>f zp}G)TaIdpEp*tuRB=QHm$k03f>f7?fr9(JEB>*sHeiKhjEQ^bZ!dl2}@;#SCvbu%7 zcV#Gj<2@yOJGk4igSmpUK+9!uKEYj7?3Sf8_YLx&+v8O+MMXsh)~4Y5=&i3`>w!q3 zoc?{WzOa7$J4;l06mMRmcqmd zddR6(1m6C4zBq7)`2-TK-|+A>q{9QsxOOP2^7BFutl^c z$Xh`#s#eDJ%k|Py39Wc4C|8N?)DW-sC31*bL=z<%ZO*nxl$ka<&peF@+EA57^ScHG z$UYLvMnD_#n?j0>(GpSO>0YA4j(<>h5@OUoK>af01oZ5LP93}}GHtik!AkPZI*eo)+P zphmmUmLElSV{XspvX2URbmvY`>wSu7mb7bR@B}qFk!Pq;Z^<9WdA0_idFsz+H|R%0 zxI<1!-3||)N2m6EalL%%%K6-$h|7al4vtGV+mvW8*fWLen%n5^B$S)P&7(6-BHAo} z1J<8S-c|IIN%x=8b{VMQ0y+RZ1cL{CcYg9U-S2n(!i)7QhNn*HIWtraU8?rzId%}- zUf-BU=F1_0P-8pU5R$fM)>~s{+k$*yV7~VOKW1iT47xT42UQICZi&p&mEVTaffJy> z+x4)o!+!Rb;e76iy#ihGoo4TLImVC=RL7mk60*3|r?B;-Veo;=vN79x1Jq}(Cv4@x z<8+thVO{%uS69I0Q+WhqaFVBf)Kuhk@{)_HMw6pIWce%O}Z{O}t zA28$l^ksM4S+28Z&nA9bxIxl3JbqS~^PH-u!FB@hX^{@hNxa?{%x6YiY&=Q1N9vMg zm~!;Ml%LHL)6DVZ`wefPkVDBfnJme1`tkE;aM$R63{%a?X^gr+3gRrt(k4?=Q_#3w zv>S{nU*!a-f4bvoo@-fCRh0eg8RzWx&c?OX75p#>`eZP;!otuTCr=iZhyy~A!64!g z)MI^$R|Av)f&|l8C=N^4?G6-BOYwciGwRLU`#3IzO*?+*LM4v;X}gVwjQS4W+4bTf zNQ6h`%Lf`y@8%>Px}TBIpQzs^v;N+ux*a4F+j9$J{QEsORI0Mg|7)nz~%)(^c-u77m#aE+QRCn}p$2>GH z^ctNW?!P?PS-H(=xGDGc?PC-Kz(&U)bT!uR z&miUjs$rEby#K;GE^EtROB9StzrSdI&YZc*mJlbk!FJh7-I%`l?8}DGE#iS|{?{6Z zQwQ{YohBoDkIq3sRFN#t_wVy0I_h#mVdu;oP3*-ywAwU2q5MvNHRbk zaeWn^os2xN!LNXua3^1`?uTRzmCH4(Zva{}@FAGQBeTl*7-|uy^ytuH5Q0#=QV(D8 zZQ!aMcIQkv=yrJY92*s7nM2p>r+hYb#_8s8~@datvoHm zP`))yOt>~&t$Q|kqlJvM^B#%Qbd+|nwA>l6zA`wv$KFOJCGW?}B|3*0g;=5pm)Um) z=jY=n2KS6z%g+b@nNt>y+b1jxUPlKUncYo`VsB)$HMYeATkO~83MO1wmQcg^JfR+< z@JudbLsf*=0Qm@{_(yj(YN|=!wi_CRxBw-IMkeL_+tsS%9D}%+5~2P3oBCd?d8zTo z8K~~X+7eATa6RDHrzczd{`{&3GU|rRQ5-N|kWE+3*%LBVyuMt#?wiRWZX$IorJVV1 zQ=~}y|8eX>>#gqn)QR4uwN?A6A6&jukBlkJ`Sd|0BPk zU<<%h&7(6n)eNrj(Vn!oZ2oz8Xf8^&u}J8Z55u`D?C_z=A6^r`)@dJ-<0KcGUd_W7 zGAvjn2s{NoOZYN;%t0SrH1G`AMJ*JB^}h@b#%8Sl9rgJZ8?M^CBVf{RFy-Co>{%-- ziWiGbqVB&whn)&8<{=E9R zbNhN_WH0^V1khx#YTeC169SI{z46DdUoZ6oW)h;^eSLi7-pQp|{%;n5P(uxkjLw>$ zhOh})DCy!EmN>Hi%0$I<-A1MnFDA~)#>mH3me}To^fK7 zwZzecw{cT17h>LlyAIHn&+XL3i==P`OOOd`}# zgc!mZcl@((Mg51j5X?5O#r*W?gL#i%0J8l4&0E$V;o&OAgc!kynvc&?lDc_S5qWW% z%=(&JAbTFSja~E<`qhJTe{n@9Hrnbkv}zJ>M`wY#8zvWeDk~cmRc)@-T8Oelyu5$= zrj}(%zpLiy)2H?1J`Kb3FYb$if)7oZI+)LnN43u@Ro;sZ3@oH?oVsfkb``kVl`B_1 zJil^ijjXh`5q{_(_9uUw*1+xYYZ0G%ITONt5Z2f&NN5mHbscty;cNp@2^wBvQIC7x z@_&hsz~ZGy7s zovNxT_iwjPe}(L-Da4jl)x6|H0W8q~~ep;(h+ zBn{c9Yinx>-~7y(?QlP#2-3Y6jD7V=hiLpL)c4e#Ual9I!V*(-9=w4Mn|V5aTposg&@SCt z`{A*5qtI@JfiISCP0MVWA|LJQ&r6n7tuaR{-}0_iI_}FOK5N1{qW1*0gK>!sHS7vJ7SK!gxgQ2|^Ygplz~0q;OOBtV2~mdjiLQfP?7T>Dunpo? zty<`|@~xoKpW>xtWwm-sv5PO9B{rC+d6)cd*dE+E zylb3Gye#p5mi*o2)7~Xql21cNfkvW?(2&tv{*2ukmhmKcnr@^+MrVoO50S=1DN!$1Tvqma z<;Bsjz_1PjlTt+Ih&~Fc-`(GT1HvV-z{oEEBGlCI6r3t-0OS|gb0F>pLQDRDF{*&L zFw4+{oq8XAbP0oc@Zbd6HhO&a%pELk6o=^RYIO$@(15(*JsL@z%=}Me2v_*bey60s zmLfbkIL;^u3}fC(s>gbcA3uIGEGR7=30 zoxo!q(UU$zj*HAvKRP>%=BA1Vi+%{y^`mYHej3kBZ&?I>FyGD z)sXu7$GTxTxP>uq7C%n9e_kd9;FdW;4e}#WDSVOq!S#I7b?E+vQXyYBW^(yx2?hRU zffSNh4<8;mdUVSTA)KR_GgCSF!bRA3(W6qwvZ>wSQWM*4qGFISwncT4)u1<-j!iw& z;%UEYhRnzAs2xN;;b;&vdWD5A7m@2SahOlm6-d$*z~*sC_n{%!lwjeU6gx?f8&$N# zSfdczo=4W50=Bd=xE-(GuacV2HUeMYpK)vI3iu;QkrDITkZsQ-`A1a@RJI+5E*)W} zLh^%iWnprsbVT&1kLeTLB6# zfmK`P0=&#M5$%EVBe7hftv}OxjH7E7%q6tVPF}D(Zg^DA<0}=Ks@~ZnS2J%!!gqwR ze=T$iheVezrwi|tI!($Zh2-`typOv^8v!yl7WC?D@oe=UjI+!~&II9?H<_wQk`8*W zzy4)4u(XU-`a8^&Bz=w@=MRoU=jM%fjViI*35Cfi$x9fz-r{V=x^7qJtiQ$W7o=2R za|V-(JmK&l3M%)rZ|SW>B8pjEyzwD2JfH8jp8KZ)A0#S~M9JIv%{9oB};F~)z4^#-YxfS z;3lvLl27Q?j_11V6b{9!{#jX_dmjHM$1L)m)?)GxGpJK=BR-uul`3;vyODo_`Ar3;1G=&S+$2-Wo9_u9j! zH$HOW4p<$xL?-A>d5e}79r$h*&^9Vha;fRHu^_G?9%MHu%?4bW<5*e69d%-P9C27 z3+jDdrc3nxpG?*BpB;4h5QMA|`Sqd6`?l=bB-_O*sbe9qD!^1c)>ju|$34;uDA%x= zqH}U`Qo|Gp`1I(Y!|PP-v`K&W=g1IU-hx1xz{u2a<2zOO82=mSbLiqFI65J{L(~ke zA9~m&kC+p-Kx&`+-^J;giU`_&*r5W;Rbilg z98F{g@C)`WTsvN$k*!}Km&z?L=+htub$N22M&<ivrU<9bzB4*ES4!C7`OQ&gEmc`aj zHyqLKkpi~Ne){wh_bIPwBH8S*mAtSr4ZDW#u5Qf7pUMrENI=wG-3Y}Iy2Bm{U2S<3 z7N{}6ci`kwQc`c~H&UgK8XP|!gi{5kEX8o^2<<3eSYD9rg1m*j{@vqw6Z7qB5{G9V`0Zuq4c<%{(o z;pqO!3tvqC`2)Ui+V|e|EVFB4shMuxjxbrrGmHIuU0`8022*d*h)~zv0|JUVgwx_32Hi=^*WWEO}pfd3dh1*&#z34mOH_BOfzoZ!ndAzWkm@e!xRWh|_;(yO7I6 z4@bn#rYl_$mE&srx8NM7<7}ZiCds-v9{cXJ-OBCSpqHDFAMyfp{kh z;l$?(qScg7UF*2E=jXA@{a&Xnj50wj9i5!&;r!C}H5SEv^d$a!0c&f6G^hQRo-mVfc*>bHsupCe^NbL=v{1o)7A{tMbZm0|2ekJ7H z}b0=fv`7HYX346CnD6;4IHOgr<^`~L|)9hEuMsZrW?WG z3w$a+rN|o_TQHHTMH=#yANG_d^1=WKsk2LEC63+vf5FWOx8krmfO(yu_AFoI|i&=E?TL}9u;bOK$0o@ZnsO%;_XJd>WMMN!o6 z!(LkHvLXOOc#E42*jgAQ6XGrtLIIM6a@I-$ch!&5_v1k3S*g0YiDEN#nhPXo6M0g2 zs}{wH0b|H#5kdL$=g*J&rxB4*ILtqL3x+RML+RDrb{V7=5aHIHJKz)BVEfDZ%#6ro z_=(_rAud6k(Y5Ktp#E&teZCvl62ni+Cp<0_X=hfC6PBe^rTGLxj}D{YT04L07MvRA z?llBK$|&~zDySC$2qz)ajI1T< zmg$mfi7}4%R=UuscPI6a39H2K%M!AI$dmnDH8vd04T{m-)1O98ghFR%mVzoY4d3!j z-jPZyB~dbmBKH+>&PHvg*ul+2@8f}+F1Hd&5#g6p;^Lh2lrMo(h#!Rnb*x{J8IFAU zyc5AK)%YQP-EY=rrZO}%L|#1p`*jAI#_}h-w#v8-L=#BU$O!!tz*5*zne%|B@>~)K zZm0dm77x%=C?o$lS?Yk2wy}y~Exdm8V9Y=y_}FX6MmO0g1I-gwv$d89Gu0Pw@{L9E z&h?~Og%LoR2S*d(iIR7xR822{(h#Z|EtNoE+`1A1YEO4js>%&Vd^&nvitMRUekZ(L#W|VgSdYX^ z4F)iTPPj?@iy!f^M`a=_3n1Ni#axmf%{& z12?@dwv2@hgr=hVkbhfL6M~QKh>j9*_l-fR3R>Fnga{1eVTQ_8IZ#!D9YV<0IG$ru zk;8qeBn5z1M6B)2E_O=yl*UAD{Z|x*kS$NX)xqC2i*+DGGD#(!mw#cx0Y*MNy|-P$ zz9UIlkR?w1BB}f*N>+*SJtuCxbcF~My3~=4f<&eWlCg_L-}cy+79K`1BVuTTkUtXc zUf<9=MO#00bu-EI$oJ)VYeqoAtPNZvWszC;Fd+c|M0n?rgbe^^XJ#%SQeh_%QR}xr z#50K9kG-St$_n;N@s){l-mCL{1UP|JXfWCBwF5Q*03u=YAkhpy3%-8gIg{G7OBKDC zn5X61@5wdd2R3N#ymAds&i4g!BE(aK>glW#FnC}OAztMq0RR{G9UA+?k7W3V53)Iw z049(EFo$4Lt98PYIw)U;;h;Q1a$g*w8Qy;{n~L3L18nDWC2VxbX`8hyq%shkn8-*v zOlK$?u*rv9_8z$Hc)h(;_Xfd1Wn)yuI3Z^f--tvf^23e8b(dePm?Ngm0;l7r-e(sX zq?NMZ4I%y*3OTlA1!B9Hm{<^0Yo@g2gY9UT3BY zbxdI%o86%&pO$0P3DAxMYbfW^9L-g3Re){-QxeXuhmz>whDiKxYnUboc!9s6iE05T(#)?dS{UJTs@|d@ zD*$pTEfsP|9*a}M(Ke!RHE~wovI`NzEz{%{0xH@dXSBFTjz#PYwYzN11-XFx0Tr!D zTFnkyzEetao{R=F&NazJ^n*J;eS$~rSH`Fh>gma?*Gu@$3qyv-LwvTjJT6$PK_R8D zGZ()z@UI8qL!g9RMaJy7<_R`x(6T2_p8S(L3e!Kp0_YwX&{H%qV1sY_;|;~zOKNL+ zpW=`LCswA5q}kus2RET^R>Az>ShXIBWymKzX9M_dmJpP4)Yy*Jiy()ohp%uSy(6NG z+rivb2(S+3_dx#S*IZ$eKuLVI`sZ^A+8lkzxw4Nl2P}HL6wd|R^%zDXxjxAT8{Nmp zr}<%}KggKeH%*QMX4hdDWLH!qK3$21*?-*V_UkKN@@a(KCdJ*^zU4R2O_6yup$w_< zEBl>`Lj2LXkw#(ejVhGYM&js#izHu81>q;sY4A|K`4_bvk>P;$>S^JPRk>0};b_f0 zwz{Ke>#;C&Um6(tXfwd|7%joLvvgJk`o7KX9 zx+&F90rLi#4<8EIZqSoy9mnhr9w<-Gq5$}OD#9BO004|pUKih2JP*zIJ0i$>Dz};J zQG-P$#`7=~rz>zWEPOjH)f7_PLn!Huh#5{jDZa8lwjdq$0Bt`H?!>fBmsd^Z!n0j_ znoM2_CHUnD(IEacgjfVFXZ{E9PS%}@yuj~xiG&ft_G@FJsypJ|m%yo~X!LYNV zV;$yj+<^e!^bu~GYB=LJL&FC`bU@D~7rwpX`8~jVzrr7*H+b~f+xMH?fw~d=(NY~T=>ldXJ?1#&2w$;E~g2~%?RK|SMV`kFx<)* z?nKLZL_;{}T4dWCuZ>Gvt-!EjR*yLV^4qs>AEgUyo#M;b9Y<}|DvO;f6d4~kdrTk! zGdWqiM$J&p>Ii%M(&ryO#j!wN1`pFay#*p~YFP>C=lQO~D$Sq21;)q9Flozmd`PV8C_J_;L4oMdCtvwFltnTgmD@NY!JnHMJ zz0Flydo$51Gh&-;q?GnX@`Eu$p+v!lbB}arzbj_uf`GsXc>gGiCqJKvQf`-~vJ%mH zF^$BVO8CZ9eH0&j`~H|$VM3AE%-A~kUCLi~?R<&xk5&HYIjIO6cI7@V08Y%RAXiFk z^=yNGa>K%;CQ`iHv-}HQAf`V>TtB(;>sK3pxJ(-8LkR!l7i0wdIxn6A^8I|i(Cr&f z{$ULE5KFO}jqXNecRXn`w3m3&@PkB)2H5g5RqPr9B2=A#(TLgWD@;=n)2oo;Gw(%9Xxt%Y{%cXX+32U>Y>Iq_7V+bwp2a*NtQ`aI!`}+GCunCYgA+)6R zS*7(5oNp;I4|Is&!O5|Op zxeR+$cSfQ}JD1WS3G)baKBuibPG0=UZ}CWx3WU?2z#Xtln+5XV*JnrM9sp2HOfu2YpesZi* zOtxmM4GN*>oqchkw@918uAWUi{rvFLi6SVf#Gqttts*(ZdtQA8@?xv(?&}XaM`cM9MXvc9wlf8_ztYwNaNOU&h5% zdUw}GhU>!Y^)Miia^^MxnbsnyTx@NO)m|=Yt3~b#JsGo*K7G_TpD+MLl$Kt2cMf{R(Kw=cPfOb3G@PN!)dx8mgal4ua2(GEjTzLfZYa&Ley@5@9zL zS{F4!>M6n-WV93)@e#GCZ>w)ryQo~3F&IyHW4?~ypMF(3?J;t~wqqD4@&ian>&jz?dF z2OCzQO0|NFmqv*`RC|N~2r;#~n$n*;a?dsd#5q4ldz`6~QD&Zr&*%s@ufBBb)8Yoz?S;selUO36UwJpbe9SLG zvwIVs9?Dk~;v>MGXT48wM1CxDK%#cq8^fU2fvKInBdjSUREw*Mdb;8^AA#!t<$%lR z33klG;$lsJB%m{fym&I#4Gkpq@j--JG|nBdNwNQ3UmuwmwTb4E{GnkxLSsk5mdMYK z@nwqOCnglYv9lHQA!}g5@{@*Ie!BzQ7X181cqzl~1cilPx$*q8u!sm15cw=bqvfT% zYi#G!&ZQr|tE<=MGS<#OU?O6OD)iu>KPzu+`1fUqQY7tXKl2NSsgmx7wAs#?Z|y|- z7z>87Q|~Bsq9lN2jr8Bt-jo6prZuFckb%FPE2N_#yYw=G6$t@W-(R>{@K?gtT2Ab0 zsWmX#2JHHvvKRb%XrwIxC|@8Uf?bQj;Xbd_$9p)!7{I};2p`j44iEQhL~;v5A+M(J z6!VYY)*=yk7POw|i%1rqXe#taWx^a}k3`o&PI|pI4{R75VuGUXX{k0Nm?dXO$R?(* zod*Yzk83r(J~te`GYgU}(()guH`m_2eH#N3^qUxYf`lS5i=N3l+Uip=A}2vUb>}Sl znY9`^L0ZfR%2r?BLF)i{OpjulLGAPRsa;Jt-_%*Y~tbV3%~dLB>cP-{C|B8VH3&`Z-KZED|QFv)}L4W*Y*V*Ed_LRSk)Kg{ElpP-)5%mrnZ3mWHV$LZF2!%d#bROF2WxYTFY>hmgR%iC0n zCd>?s=2K@{6Zf5T4T4s9bUj_?!DAv?_um@{vby^E`fNvEr*SQ1nq}CEO2fhCJNtY$Dio&|aiB?V|Q^cYl} zvM^m#JJis$4OD!#KNOw5?M0LkV`6F3>w)>xE35CWrz-lf1Dm3*`p%A6*i|#0Skkp$ zegE#=5kT;syJk^HABu>)#Nb|Dec{80_juP~+Ls{ikJ{_@<=9co%5P*+puo^>L2p@{ zuE6lTug7fXK{8h9aPEpEFJm}4l_s1Sk(||j>yg*DxQ0NtiPubs*3Pk9dHqihCj|D$ z#|LF(z!7bbQCpl`Uz@B+w-tN6$)fo3E#>V@n3^RD(rkV+rmv7^Q#CTm4}3H(KkwgW zyO^jLr#~Va^K@HhhEj&FDOwXxOXkz3?D_fjsYIp%#VeBjrtJpRCPf675lRdKm7EM% zsMg-L^BC3Li(B{_&rye6C?ft(@L-Ge))i$LW=wvwMBFPVh~gE+2|!An{}C}m%1lL= zCvG*p&^VFri zxw@p}Dy1p~`KC9g3T;R@mC6Q^wUs@iw*Bk2$=HsLHfsSczBY=BwAKvToC+cW%_2{2 z)thCSTc47SKK)bpV4&~k&!VEio$`a4^8!!oK5`cPmOK3POksX;{sZ4Zzscu*Wwl8d z5@rY4gS!uS^@>rDCGGwuVGd!+!@Faljv`q@SXDUXN^8@xl0~)n50HO^P;OZl^^E-| zB0C)yP~k>!P;`eN7KD|Up_rcbK(+%u2v8w{`mdAqFN!}K%SoAnWZ>JZg1i$m@RU+9 zdjbdd$f)DffZQ#wvR=RHJ}VfPab2h!7Pi8l54MZlu>sfM{)$HaRpD4k*2u1JZKd_1 zsl)@EhJ@%XBRah0>e%wt*VOJj2hUxMzwa-m!dj&erFJ|ONIv%3Nmc4fKD9rS zB%d8g&-Cy$05{~y$xlDKW-FZ`Mz|m+Z?5jw>*OVptQZ{cO`ExT%Qo?Vd9sH^twn5i zx54!++T0$wf&~aLP%Cj;KRl~a)9oRBf1b$UeO{;L7k#UJ%lRR#7az#e$9u(N$j48d z*pNO7x5N$gh70`&1>4c_di-Z%XqKo#2zVe%4XH0yVTKl^=E8d=*0Ya3s)37ux`<;Q zZ=wz(sff0@zF7S;E0g=z#|Dq7tU!xu^fom#7ANfjd`3KpIHOn}SZ+8a+&6N5^ikZa zs^Z2HQ3!B`^Tv+)TQsO|%I=muAD(uU*q(WY&L7FMQf9{z|B>9Dt7lEn#ZBbW>#bVP?2;{} zlx2w+!mB@m+P|qFGyKk3x~TS#>EAyUFVyj$+olfuk*20QKn3geVBy=7B$m5(27kIB zOhu%YB{II5V9$z+iMbagriKthY_R=2V-h<)F)}i~y>Zq5U6}EvSF3@WyM=ie;cq%neLsRX zQN@cXC`1#)dSYS%BAD@Wf1hS~pm{<%QNdLG%y(ty_y0v`BjM&ga#OPGsnn&hcJ)fOPa}`qD z49MfjE3Et~^Lc@Hk`S*|!3h1Ke!T=zygf;Yy~GU}Q$tGnBrAhzvjdJ#Or47!`!CI8 z1v?{TIb z+O=nKLtVz&oFKQMTnv(Ttx18@hxeV_crV&==F^WKj$sTLJkC$JA>(rpqy{B1mgUY! zV7cjj0jPV_HB$Cm~9%F}@RBtL{_?NuBL?pRE z;*Nl;LNfqjfSN&wMo1m(d#zbUrM~%Sed`!*mbCyPGXmkkrMgisws zA8O9%LIHY=F_}jewac>>ul6wPq1cynk#O7x;7IOmnt+QyD3LH??B*1(fU2q+pU*uI zP2;%gFQ;bklF&^t$8bGM>xy$rOAEn_k^bVpt#j2niD#N&Nj1IWdHnQt32wI7mMCZ9 z1xsL+zrIwmPS(u6j+QV9v$j`Hmf(#gM+l}LkxzRqbTz-%S;Y7;MdtDAI(RIM_LdbK+PYcIioc9RGezI{=7h&{6Z;wNlHIpRPNwJ68Mez1?`O!ZuQA3O zmhhsBOQ$r9h>03i=4&;pc*W4YzVW?**X)Y&3?m12@}E)}(ElFP>nuINbWV!<)t>{R zqPg;)mVO&Sb`W9{7N&^Gl67htRyh(+!pk76VGKdArZ}A9x983+RDZw-G(gWr#E`Lr zPd&1H5pZf`-!>uBH+0`QTN}^H*Q*xv+PJ%m*~+Y{4B=H0%{XE8E+=`#f+9-yaxw9T zQO!ihc074y>0ol{)!G9dj0VLV`hAb-x6Ms05)68Gj0J96RSd=HL3rNcCXXQP1{m#Q zIoD*3^Lm|ij_;;aXRMSz1)Y7N7#$O@Hga}i-J&8_subQX0 zix}H^;5gT{;TFXsE4_O1bcYagtLB*lR0xhqI!zrTv7irQjOzZ~&vrC(B-*$OB3vz% zaCPE#e_2~+&44`RQ1+h;;zUKM)hc($fnUue~@>=4p+|Z9&zFKPS34BxE+@Yu!A=r z8LC~2cC1B9;`kq$t~(ySI4;dE;M2V3}`wyC(;Wi)Hx+zAoaKpuXceLKUO42F(MJr2w?fUF`Rf zRHtuZ7-s`c4+n$7>0LN1cW!bIt2n>C<@09|c6ubqY~ta`AA44!CjH1TQ!Z#?$upz& zaETc#dH3y%X%e52vK3z{I_LS3GcB^6Dp>U0OTy>h*)64ZqwzdVOq6W5Zd2&6c*d8<05R z64^*hqwwFHQXiy; zkACi{`tw!GAP<^(2@ZTsMcljX(7sZ(7PFM zjXj?i$Jb19vU2Gm*aI&4zgxt_#H8fp!cH%Qf!Pb2&R%lC?+F@b-NMUYsZ9TQ;93Qg(I#xhf3P+ zGprtRgxs5ZaV!q{dLypSKvmF%B5d;ax|#ojgXw2q*{2}G09>Mg8Bm0 z3xn-#^K~d4nZ2nSrS?BN|M|&Qi1MJua*EzzDZ%0TqJr|UwR@{JYxF7bN8oVw3!1nY z0%lJ;>dgg^ScXxo>f)y*SMEb%?8LuMJTz!YnQ>ad1SUz5o04@POFk&g=0e2Z0BPp- zYo}k`u^+y9h|3nb%T;Ml<2ze7$)lyiCRFczPUE@c2SR#0a^# zzkbOhGVRuTeA&6Vx#$_)LKC0ybeD=#&m|H0f&ulvq?IP;YV|@Bdyr_qkkxq@h|Z6? zqhGzQnUuIqWS<9gVf1qQd3j#0ZB|-t@SL2qQtw)9a-kB!AqLra2;|Xd)ic};qi)c6t4h)C4o=>;-5pK{FdAqvlz+YsA?D%HuOMlbCUU|0h}@(>-_j(-h>ob_M9e?* z0J<{P*+zSAQ}jqN?pBV_5-{UD(%jQTK$4}-iTW$)!4=#SEJXs>d$f<&zO3V`O@h3b zkT^sJg7{4MLRPII`GPkfn}$EPE; zNehqdFHNe0t5Q#-TmsBSbJS8Wx?3@OJxV6x$}V@0JrJ2%z&J|K0z`ydNi41+URlNs z8(gSQ_zE-n6$NWcze8*tbjrA*5b49nPQ)=C4`~6sqg;_m6+{ZgR0xEW`qvO=0Xd|J zjc=$25qtKouFLM-h7G9k$wfq6#TKTc5h#oe>E&3chmx5N4;@+E$kVEzIA z0E09h4#Ydg>b|11HH+t(8;RT*`chAi-l{nZC{+`Ndi3tz_?(c9YUU4+2q9p9oMww+ zTh7$Y=@79dVo7ndbA8>FZh*SsRkjCVRMF|wPQIPH(+x2CefCm>$^)(7^}M{i8!Q5o zn;XIEqZQx`jh(CWou4J%wqNi5t=M{bdz(CEX_3Mt0kj?f>H6>xbHz_54^tQHF?bz$ zg*CC|1E|E@^ z?XJ2}TKe#F*9qK8`~%`}Wkdrz3}Gp_@-)e&e4hkIK7&!xq*;<02qi%Htqwspp&=T zY|Eb$qv#8$fN6NnR#`|8_dKkaFd$qG`1dm)96DBc-lAa&gnycso_I*5*5rk9oqO@4?eD=M06^WnOeSwHEuVh*FC|38-KiW(ln-d4 zn-TgaT(1*me|&erCZPN*h>FVbQnAJ>j;oGy8QKd}qRUpdi$*Q+BZ2!ONRpLIF*}E* zezpGZ<`Z!z(ZcpPd#+d5SGLCwgXy34fIm>4QnkAS@1RhtW>u(83zYKFT}m32ht=sq z4m>l6$h@j2<(wvf2M%&V5^jm?D1ejWy*EC6^@9T(hdwca_q9!nlJrs>F?hoX>V$!Y zpZTinFXn%?0{co#N)RJO?2fu{hT(m8z>%?O^XA?sAD&HmSv>F(C1?n&E&(FPJ=FV> zm|}E7aMV^-R_d0rK5o5XQ6Uk9z*(B|y6;`d1?AA5A=M56rRbPVDmhb~hz?ij&uj~) z_VNdlpw-8KPD({3_TAqfcR^UBf2VYj%iINI2-qgEM&l~>O}cPooJSUdY*TDpTs{PP zn6Ds|#q~(4a$3Bg48a3@PmzhX5(p-MFpVUR87~&hlcbC=d&H*UM%pN@W8|NC!6G`q z%2DrUlZwnDn^WLyp}-2qg|fK)tggD2XqSOqfC~X+iDv_%+uI`X7p-p`hR+}IdwWk% zJUcE6>PO;l5rx_CSNJPT`!<%EiQz_kdF30wr>PZKAP&w9Ywj<~%VuER@7X(6w`*QYHio&ze;3>3#E%Y`#2$hOAc!SgqNALR zzi5z}USL_!=}2->pd-e7y(z5oI8*$5{7r4|#>0gskfn3+-JV#u{>SF_mpx9 z3YFiV^MmtUMo1*25^o39c2ec#SL2N ztquuu1t{0qMr&c2y8YwIKZ3r((XUqsdAu4@x{b0GL%}@*AOUguC5J6W2WDV?Ix5`9 zeKiy(4ZtwO-FNUAe^7@9|0VD&A!?F>U=9BmAR=XoPs%5AMFRZC@sah#z`WgOlvaP8XgNvN}s zk%}4l2~Y!Hsam8koi;+I5Rp3=NON*+dXoP7N%-gP)t?Y22$eaPcrTw=Cq%a-DI z2ef3a6z!&06f}K?W=}3PIjdS%_4^z*iyyu3ejv#k*X2x1-Z}+I0BXUrvZI+BE3^(u zSjjrbL1`xA?4%I8rhi`Hu`CsfpRPAJ8eHpC2}_N7ui~yiA>F(cABvh!JGKY0BLqE! zpN?3e3F!kz1hJ0;Xc9NS)dZb-QR@cd+1Awx|0}B!LAe;a4jdV3K>5apA)G^>})KV93eoJkMcTDhj!wM9?qAQfNr<6@li$o2fdffOO3^e@}T{9Az}! zRb1)bTjO(99-R9+d*I)~0kpFOBLSE{2TLlP+vppHhKGr<8gu<2z1E41m-o3hT&K39 zVNh|w?+n<Ui{bXPdzh?0Eggjnu?nf|U4m^9NlM>sp zOt&fQ`biVPc)YrT_Gp~QuYD)76{OP`oMVwhOq2zXG;lR)!m&c6qd5AU>uIh< zZxuD3Rlr0+R2_o?Vuh=r`!FNrqt}BtJoZUEzv$0;p?|^>xLPqEKG=(WR+B!2X*+fl z@6GkWNl?^6QX6SyMNe@)l|b`A40{Odz$L3ZF<9i;sH+_ut(S1A2)=AEQ@tN|b2HUn z(vaNtT>HWtyiiq%ovz*}eQ37`CISuvl^HK5LfoQbVqkz`LUrI82CPAu*(>KHr@g6z zz=|Z=unyb=`WpaB3Ot+uDxN+y!R!5JBH-_KxCi=Lj%FPpxk>;aX1i_wvcMyTxd?xO zShK*1W2)BQS${cqWy%GQOZKp*IHg5Ua1;d*?Z2!&CF<)U4ayYr4B_w3zxCa2ky=O@ zdbO|Hkn7WmwK}uN*F((Ie!o71d)?WSu>T2*m$$0?UU6s3)YSXcA;i0l0Ty}yBv<*W z>lfnU%bL;%U+q-MjXNX!NkFK;)yVq#e)>1l-ejJ`wgUVKGM1n-fl(LT*}?^7rrF1* zJCDn16q+0s^2yB3(7ORoQq z;9d*cNC2XQswYGo^h0%eZW7%D5JIO;ItRtQdtIjgVA3St9k3)BuE5Wc{1-&={j^tO zq-{Vf`Y|YVC<5{RA5>@ZkXU+0jm8{DIPdyFg<+%)?mPF%@wS;*$}SlLwdnO%&Pt2+ zclEm<_y>MFVhI@(NbRL4P3bIl}tQrPqX0AMu`K6x5mdNd7B-n~;Tq;`^{t6l*d z(Y`HCDR1F&@&5>eLAgg}=&bnXT>azD^SP10on<5Jgku-wQ#fpC2!V zY)*r-%O=gsGmW-xIuDsUiYDO2ZU*1&)0fHj-<;Vz>E!?^5n3nNi`%5bmY|+CJXA^d z)qMT;_zphZ#I!_w2eiOmiko*F>*i|KdJ)ny&!PbvJp}*Pl>to{rjL+W1(v3qb&mpL z@k&h=rnw>emo7LEj2o1H?1HvVjgq-($p;Zr$Kbe*jyMT@9KcR4N(<1^;3{D+0p${mGZaEBq$w3I@Z_vRvJtfMgA5JS z|7lnO=}i2ozD-JWA1lJ>jpH)Dow2-aj!hK<(N)YE*NxjM$G9r2qeG(CCH#zUI(7FI zGV__*E}zqnRsUUrw&q8=ZqW;5h?|PJY@)>{!`w?m#qdrvh_?Im(V($7fP^U~pU0HC zIdh3qsyyHSddscLUTD$%q5oFj>@k`)v~DYY9p~a=V~ESe=!w zVk$wvSPa22eZ!|PRE=BFbC~R^jqg24+8t8RWQ&l=R!>=rn=;( zf>-Oezu*fHcVNIWXufzULi72X`T5D(WIJ@>Bz=PPsOTriZN0RRzlFU1Y)5VU7YZ)zfs?gEOkyc|&1ddn?l66tQl~+%RJipC^pIHg zeUVdl<_{*v;OAeJCu|guIV4C=xPxJlL%QMm*zc?nqJMuKD zAWn4WK2|4joDfKdL%_N2QHgGo?;P%SRKitfSQa8m*LVJcO#uzw6GY~xoP2cSFLBw~ z{#&%|f4Mv9tMA_>WPUrewbYcA#iq7ahn%|3Z=g0Fq*{gTM^#b=Ph_4FA`9v zch{-2XU`&V!#4KV0TkU9DX*l2UWT-^vFaJ2+4PG2Xjl+V(smI7l;M}pzAlod7{D6S z3rE3d3x<=j+;F$sjdi6wIW7yvk;o~1e(lZf^E5yDQGPwaPGo;|!Duyy_u*qzx1@N- zj(f>yDnteYimo!ba}i=-5DyXfKOEm^e8a776E6YE0}4}=N*{0lwTXR@Ig`PnO;DEw zEPsg@OLrAHM~U4Kn>47v%j|=TJlf3LOpG0}JK%Pc774G%w%d+x4~R)VWSJVuPY35X z*O+l$d~1~i#30Ceg=AnlF0l!HCV;XJb3QjpS<>U2EIDv)j=1Eu5>XKz-H!;>4Am<{ z+3FPO{0Xoa&=%1Q!RV@RBHayyv9D@A&O5qbHJJt1j*<7FYSua5gQB@BC88k8x-tBP z_x34Zgn&H}76r5!T5f`%8NK!JI(qbtLdrD+TesFQw~CrP5FV9>brruzate-rOSdqS;z3M_ z@Doswk1-dr;?f^@hg_n*jB+8UM@&%18 zXa-19Q2zb-*M_LWua+SlMQ<72p}{f`4nbU?{iZsA%|yHeO;Sx+IJL2dAEd)VoMZE4 z9)=E&Vuz2*;){eqkj-yP*hVI z74#$U%U#kLfsjJd;*JotsGUH3;>82cH2-e+6qypwM7_j_=e6Ek0mry0QZ_pT2)8)u}jTx2+y|Es^Mca7$W^KSX=| zzMBCANEPD*g1bzcctqESAA72@zTF+;s1E{>khuRgc!p=omUfhGncupA9T0CMJKL%5 z6&}%~+CNVqP+ZBd@NlvU#6XneH-V_b$4YlL>*w1ML$-5+|Y_N&9!nff8W0Sgx@E$qjqL%XHwGF6?X33Ew1MM9J&Oj}qv6@BSDAZ`2BOH_hp|KfWW;8b+_O)at_tcVPyIv+WZ(RTqrXF2Q&9NY@24i;C%m!Pb1_L9>ST#yGf&1Z%pPZNPSP88 z#q$V&N2{Kh%{&ib>ApSGpW^;h3yhtFKtWR`;A5ax$0X&7d~<2#ckmc!w-`JG z!O!9UvLd1m;N*1FR2Y_!CV;td;UA!jS9j00L({Id+lNP!=Wd7+m?SVo9Pf=y%E(r3S{0xf+2f}Uf zm5laKNLQ&U&`s)J`h%t=Jq4&Q4#YM@J8a*P)E&|Yg0TL@l(d9p6wW-D*nXXdtadu8 zt5pOw3J@YFVK_8!oJ}8HbIs|rubW^Sts`|YBAPCYbv>7nmAwproXve=JC&~>ODDfI zJk4m;$Ed9y)y3-MBQ?fMNWwPVvTVhmO#SW7)DZhkVCaG-d{J};mod5_(vzg99zMLM z@CFuvnL6Kus|(c5d7$vbFoV+zaxYM%z~lhYDi+_y!R-c@{3y=8POk2*wfNfL$({Z% z_8lU}Fcb*nWI+>_&}`4oN&(^6Jup8m1<#eah)}2RJxp#Y#W~nphh&K(Mih5mO(TGNMnta*SD92*YQ~&LgyFrXa?{rnQTD1F_(?AYkJDv_HzL(&`iHzuc*VC`bHacU(xE%buiu?@H`OFlH9K9Qu9? zCo-BcY3b1I}2*ed~NZ2ihBk(6(R~mERf=P209@!*k|kP+nE_y{=ae z@I!MJ`byR9A1~uce$`ld^Crj-U;<`C8fBXef{{#rE#HVXWb3iM`-oRaMTKsg-hMmA7RZi+rH@A#U-rvKU_0FW6nGL51rl*|RtCR0;rC6uMdL(vfeuDFl1e|ZXBhh!^l*ORS{jPgVe(X+^)@XYCi>jGp zpx9A|4>$fk1m>vkvrB{-P2XCyR%FW-@z;}B1-z=Kw=lOUw@8r@+a0+~eU@BZkfceR zJauX^856up`GhH{Bq5%Mcm#sPc^F$@xXXteoXp|HgQ$AG?=m5RLwL9q245zh5iuQT zrr;b)Dw_l+gFgV=28lFzZ8P6D3cQz5XG;8#I9Ccr4@gjkZr5UVXYC;~GdqaIkRQXw zaF8m^FGPLn7ent)#73PoJ6k<+)IR#U=(gplam}u64(jZ489LeY_it~i-CG{$4aBv$*JoCaUz5OE(P*51`9{#byqek z`H-E31P`C4XGu(`xg2%zK)GNgEtH!N4Cp{=S>Qo#ECro^(7H!qa+$q=7IC|AZ5MuV$I#->;{m}h zV7Pd`YW^JQnP6t5C2pRHm6s$zk8J&;wnK-7CX^9EjB`outO~3dj-M`fI0EHgA5MTD z)CM5@8N;ArdLjH)Sb0lkW3qyz*s1Fqatsi2#<}v>6HI;Xp*v;4^J~!W-}|I?wPW+< z%@B#fj0jG+4X+v;`qHC}mnW9$iY5q709+099RN}^uL!gt{EtLp0@XE^=*vx7ude_G z!_6a!8>~Jc#Ic4~|JuND ztj;xBlWMKNNRcv<{4*1S71K*x4V=Xbr#yB=Yv8yiD{M?nP2ZNMB`3d!UZ+D}$qE@* z00%%E!F~+s>YG{6R8~2{ICzH9T{eS-pF13|co+;K5(>4EI*m5dQzaat=3~$j!FRbM z@(^|^tUfCcgPArQZhlRmb!!vQ04v&cj*feQfmb()Yl+f(UxxS!C(M!>k2Fv0DNst?U5PZjI zR;jsQ~?MMhUAmtv;qSV{fBQHG?)<2CK z`nrhWN%lP_*5=W)yOWrK-6zVCT~_`WdPLwD=!E{KtAeZ|IyxEv2+;R0ueE-EXmW{O zz&NsI?RvG+;g7`Z<+%yP`>97QD$MD-Z)l;OLsGy%j|$I!`&Bbel{Ke9@hqy!N#nWB z_A`Y+m$fJTl8)fGVn@hd+`-jcp2MM6sH*^bBlM1f2)}A-JXbCSsPD8*>V$hf4A%`v zF`iA}^cc);Pj|GWQ)7XoGzek@=XQ0X1i|9i4zmCAMDM&3$rn5Zz|H$%cBCt_lkl~B z@AcKp%Akh=7U}P=+*=0>%}I4T3q4{Q0nNbM4IeZMh%rEPB#jc$h&b{uHG90$thd2Z zAEWNRL_zdcWV;$m#3$x{oaA_PFxJkU5BPardr=&EY$KA;KvFl}oGDJPMVUtgy)mL{ zHXx=HX9t(^sVaAOd0zA_$$_;n4d7|}^Qv)$XHyu78VbfW#S8xAsmj){+g7y<#M|_D zp;#42@}S;Y1#i4U1lPs4uKL_RrlDy=V=P5!(wTnS<+Qpw--!o`)|?yZs@)|qsTm#- z|78*mkqs&rUjVjd%ZQ`<3;1^l>>z?+3UAm-N%wt!qPbzL*W+!#KYwC-0&sV!Q8m92 z>#${B)Og(S#ObdtyaVfBKqX!JGr9#9U4Hm1aEh?QQzNnsz$igC7Jk|(nq2Lg;xh3%$?kB;8qCtC>&KK z_IM0qAckxgYMIF@zv08Sg)A{R8Ie#+stD-TH&gMo@l_AH$GUvf^b#+FRKXs@1eShR zxg&2W0GU8JSAng&Ncx3}7<@C?%4OKyx;`)K2hDn#YV7N4k}|N_b32`H=ezz#oQf%l zGk+!+uAI&a?nfP&C8==E)rOs3&YNh7_a2K5L5m-%Xxxty2{GW@?X&)+@B1^s+T&0K zeGd#7LZUEVO8d=8zNXT9_M(l$v{U!+SRUE)0s35J=@Tn~O95SSF`fh;?Z{HR#>AWh ziCzvHwYRgdb^c1kv+}w0|9S+7$LuU+gNy#=`X5{pC+|a+f+uD!rvb%LGN0X0AT}!$UN= zA7CBDLfO6}WuJU=PVQ!1R>F%;B(n<(PmY!-#mA@jn2A@^h_2|17P zT0=6J^|ZqJ?9~O+F_YxbXa2prpBo!~fJZ1cLxkDy&s;kywApco2cFp;bBqoRP}$v} z*=o6Ga$U7V6yASqHHGpu*7;(S)>*4E@7>bUR0!a5UvKB&oZ)0it}fK&;FU;}U~RhD z$BC(*%b2weVxu}B9}{my(XC0YJCUY^y&BAPPYwzRw5e5nD(Px>q>efsom;N(Zl31j z^IMKhxj}S2J?4H}ISLde(o^!q!L@xv>!RQ&RQ@~)pJG<&!1*5qI}aZ^6iRxDxsR>) z7M~p<0n1n(hTn`CD!=!U0rFLQJP)5Ba$&B38DlGf|S^&J> zkhEcLoQ3w^n1!Qr;aKIS#YG_veyzSZrOSX8Fm~7=Cl;PaxUkQ)J&%vUr6g76%-#Ij zT6PK%p6t(ZE^D*UfI*9alj7ywwQ7dDtI*MqusTLsEOxxM>bIPO`VYY4i8h@XhH(z` z{_oetVL(FVwBjNurWo-TF8IG~=!T>Ovn0x5bCpEH@8R;kU$05FSMxh`^azJQZw$?{ zIv^RSQx8RSt#$ai@AXA6rm(@sfdYLgE*$Ns03ZT?y_PM@XvsJyq5EhMON5q@u%7fO zhgFdsMi)N-Hpz94cVFR|$EO8Ma-10{MMI|)E}EzLnIo(eIj8EtI+2TGzOdUM4AaKT z4L_GxyiC=<)n*Cms7d=j65A;%dcDWP*H;Pl8K8h(gX-gvxQ6%w_;e)TWEA1%*ELR> zNC}azoT!0ZQwaFB_o`h{Aj3i*98|h2c>~A831B<1a$fjv=?%-8zhI z`-to(84-R;;FnO1e2feDvkl5^+5EW*SImS1p0reyFB?VsnoW<2Qn9eb)|%r-R$zBr?KrLuARJ77!x6}4T9!0eICLfvX&G~R&vA5 zU|k~rX_&QWyrfM0vj~U`e&!DY9^`D*RNtTYqh%$f=TzB!=a(aCehqh-0hN*UmnXj% zO|8)_f_9q(k)Yr2RC$GcjN z2!O?miT8XB8~sbXo4DQpDT@E?_}AF#&`jcK#Ggh$)Qf2nX{rD|Yl@FB9Z`QwLqptf=Rq<`3>Op1=h@l95-G)hJ<6}F1lB|Y6_>C6rT-8#bi06ORsKY5 z_yz2<|-NTtydeE|BVcsJ^xn=Y|w zG|U3Leg`N04TV5n%=HdTow1!t#{q`a=B&f^4&vlI(XW9VFKAQTp8h0zTplc$YY^uQt6*QH0wYQ2ua`e(!n`yZ$> zel*O|?XT&2qA!PeLHd{TS(__LLQ>Z~nF3Sa)Z5Gy zOl(I_%Hy~Dblau``39fEml@wsgr*(cM!%<(I_Ln}DcuOQ;au3pE~)LZpXmXM`Q zT%Py+`CFv8hQp@b8@450dBsYP`v>TD+sy7hTFNM17ZM!AX3)ph|5x){u{Bq8;1yTq zEl2GH=vX^@H9*@etN;hN)EHo1rr%t+ws0*96d__UrsB!M3Xl^;Iu~viv_m;6B`d4d zorpH-=1m54b&#}gA=c0Z1qA5f&RHez&PKu@tj8xrEz#7UvR&qeW$hqZxrzWLgDYpC zz9NVSq;`V6?-5E-e`oSXpsust?}Eo}InmP{oqA1LcB8(0_!kgR0`<@~{)sj8kC038 z!(qN8t`O@#kAC)SMk)(gnrDvy4KA6ck(6MKp9bF+1S1`c&MIA$%nY3Hg;H2*^p~fh z#D4X;)q6pUZJ`QKafd?4Pa+*~@j&-NcqGv+075fjpTJt(*AY;K!zy(J3K?F@$0b

    c8gwvHq{=`X+z23d~j!Jl~+M8<|V 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

    +
    + + + +
    +
    + + +
    +

    Convenience function to add a class

    +
    + +
    +
    add_class(x, cl)
    +
    + +
    +

    Arguments

    +
    x
    +

    Object

    + + +
    cl
    +

    Vector of class labels to add

    + +
    + +
    +

    Examples

    +
    foo <- "some text" %>% add_class("text")
    +foo <- "some text" %>% add_class(c("text", "another class"))
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/add_description.html b/radiant.data/docs/reference/add_description.html new file mode 100644 index 0000000..4a2fdc1 --- /dev/null +++ b/radiant.data/docs/reference/add_description.html @@ -0,0 +1,168 @@ + +Convenience function to add a markdown description to a data.frame — add_description • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convenience function to add a markdown description to a data.frame

    +
    + +
    +
    add_description(df, md = "", path = "")
    +
    + +
    +

    Arguments

    +
    df
    +

    A data.frame or tibble

    + + +
    md
    +

    Data description in markdown format

    + + +
    path
    +

    Path to a text file with the data description in markdown format

    + +
    +
    +

    See also

    +

    See also register

    +
    + +
    +

    Examples

    +
    if (interactive()) {
    +  mt <- mtcars |> add_description(md = "# MTCARS\n\nThis data.frame contains information on ...")
    +  describe(mt)
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/arrange_data.html b/radiant.data/docs/reference/arrange_data.html new file mode 100644 index 0000000..32a7012 --- /dev/null +++ b/radiant.data/docs/reference/arrange_data.html @@ -0,0 +1,161 @@ + +Arrange data with user-specified expression — arrange_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Arrange data with user-specified expression

    +
    + +
    +
    arrange_data(dataset, expr = NULL)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data frame to arrange

    + + +
    expr
    +

    Expression to use arrange rows from the specified dataset

    + +
    +
    +

    Value

    + + +

    Arranged data frame

    +
    +
    +

    Details

    +

    Arrange data, likely in combination with slicing

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_character.html b/radiant.data/docs/reference/as_character.html new file mode 100644 index 0000000..7565a80 --- /dev/null +++ b/radiant.data/docs/reference/as_character.html @@ -0,0 +1,147 @@ + +Wrapper for as.character — as_character • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Wrapper for as.character

    +
    + +
    +
    as_character(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input vector

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_distance.html b/radiant.data/docs/reference/as_distance.html new file mode 100644 index 0000000..3fda304 --- /dev/null +++ b/radiant.data/docs/reference/as_distance.html @@ -0,0 +1,194 @@ + +Distance in kilometers or miles between two locations based on lat-long +Function based on http://www.movable-type.co.uk/scripts/latlong.html. Uses the haversine formula — as_distance • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Distance in kilometers or miles between two locations based on lat-long +Function based on http://www.movable-type.co.uk/scripts/latlong.html. Uses the haversine formula

    +
    + +
    +
    as_distance(
    +  lat1,
    +  long1,
    +  lat2,
    +  long2,
    +  unit = "km",
    +  R = c(km = 6371, miles = 3959)[[unit]]
    +)
    +
    + +
    +

    Arguments

    +
    lat1
    +

    Latitude of location 1

    + + +
    long1
    +

    Longitude of location 1

    + + +
    lat2
    +

    Latitude of location 2

    + + +
    long2
    +

    Longitude of location 2

    + + +
    unit
    +

    Measure kilometers ("km", default) or miles ("miles")

    + + +
    R
    +

    Radius of the earth

    + +
    +
    +

    Value

    + + +

    Distance between two points

    +
    + +
    +

    Examples

    +
    as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "km")
    +#> [1] 3898.601
    +as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "miles")
    +#> [1] 2422.628
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_dmy.html b/radiant.data/docs/reference/as_dmy.html new file mode 100644 index 0000000..7ec1e54 --- /dev/null +++ b/radiant.data/docs/reference/as_dmy.html @@ -0,0 +1,160 @@ + +Convert input in day-month-year format to date — as_dmy • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in day-month-year format to date

    +
    + +
    +
    as_dmy(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date variable of class Date

    +
    + +
    +

    Examples

    +
    as_dmy("1-2-2014")
    +#> [1] "2014-02-01"
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_dmy_hm.html b/radiant.data/docs/reference/as_dmy_hm.html new file mode 100644 index 0000000..ad46ffc --- /dev/null +++ b/radiant.data/docs/reference/as_dmy_hm.html @@ -0,0 +1,159 @@ + +Convert input in day-month-year-hour-minute format to date-time — as_dmy_hm • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in day-month-year-hour-minute format to date-time

    +
    + +
    +
    as_dmy_hm(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_mdy_hm("1-1-2014 12:15")
    +#> [1] "2014-01-01 12:15:00 UTC"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_dmy_hms.html b/radiant.data/docs/reference/as_dmy_hms.html new file mode 100644 index 0000000..cba428f --- /dev/null +++ b/radiant.data/docs/reference/as_dmy_hms.html @@ -0,0 +1,159 @@ + +Convert input in day-month-year-hour-minute-second format to date-time — as_dmy_hms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in day-month-year-hour-minute-second format to date-time

    +
    + +
    +
    as_dmy_hms(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_mdy_hms("1-1-2014 12:15:01")
    +#> [1] "2014-01-01 12:15:01 UTC"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_duration.html b/radiant.data/docs/reference/as_duration.html new file mode 100644 index 0000000..deaa0bf --- /dev/null +++ b/radiant.data/docs/reference/as_duration.html @@ -0,0 +1,147 @@ + +Wrapper for lubridate's as.duration function. Result converted to numeric — as_duration • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Wrapper for lubridate's as.duration function. Result converted to numeric

    +
    + +
    +
    as_duration(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Time difference

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_factor.html b/radiant.data/docs/reference/as_factor.html new file mode 100644 index 0000000..5f36308 --- /dev/null +++ b/radiant.data/docs/reference/as_factor.html @@ -0,0 +1,151 @@ + +Wrapper for factor with ordered = FALSE — as_factor • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Wrapper for factor with ordered = FALSE

    +
    + +
    +
    as_factor(x, ordered = FALSE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input vector

    + + +
    ordered
    +

    Order factor levels (TRUE, FALSE)

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_hm.html b/radiant.data/docs/reference/as_hm.html new file mode 100644 index 0000000..7837c5c --- /dev/null +++ b/radiant.data/docs/reference/as_hm.html @@ -0,0 +1,162 @@ + +Convert input in hour-minute format to time — as_hm • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in hour-minute format to time

    +
    + +
    +
    as_hm(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Time variable of class Period

    +
    + +
    +

    Examples

    +
    as_hm("12:45")
    +#> [1] "12H 45M 0S"
    +if (FALSE) {
    +as_hm("12:45") %>% minute()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_hms.html b/radiant.data/docs/reference/as_hms.html new file mode 100644 index 0000000..6217942 --- /dev/null +++ b/radiant.data/docs/reference/as_hms.html @@ -0,0 +1,163 @@ + +Convert input in hour-minute-second format to time — as_hms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in hour-minute-second format to time

    +
    + +
    +
    as_hms(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Time variable of class Period

    +
    + +
    +

    Examples

    +
    as_hms("12:45:00")
    +#> [1] "12H 45M 0S"
    +if (FALSE) {
    +as_hms("12:45:00") %>% hour()
    +as_hms("12:45:00") %>% second()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_integer.html b/radiant.data/docs/reference/as_integer.html new file mode 100644 index 0000000..dbb458e --- /dev/null +++ b/radiant.data/docs/reference/as_integer.html @@ -0,0 +1,173 @@ + +Convert variable to integer avoiding potential issues with factors — as_integer • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert variable to integer avoiding potential issues with factors

    +
    + +
    +
    as_integer(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Integer

    +
    + +
    +

    Examples

    +
    as_integer(rnorm(10))
    +#>  [1] 0 0 0 0 1 0 0 1 0 1
    +as_integer(letters)
    +#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    +#> [26] 26
    +as_integer(as.factor(5:10))
    +#> [1]  5  6  7  8  9 10
    +as.integer(as.factor(5:10))
    +#> [1] 1 2 3 4 5 6
    +as_integer(c("a", "b"))
    +#> [1] 1 2
    +as_integer(c("0", "1"))
    +#> [1] 0 1
    +as_integer(as.factor(c("0", "1")))
    +#> [1] 0 1
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_mdy.html b/radiant.data/docs/reference/as_mdy.html new file mode 100644 index 0000000..1f8ada1 --- /dev/null +++ b/radiant.data/docs/reference/as_mdy.html @@ -0,0 +1,168 @@ + +Convert input in month-day-year format to date — as_mdy • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in month-day-year format to date

    +
    + +
    +
    as_mdy(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date variable of class Date

    +
    +
    +

    Details

    +

    Use as.character if x is a factor

    +
    + +
    +

    Examples

    +
    as_mdy("2-1-2014")
    +#> [1] "2014-02-01"
    +if (FALSE) {
    +as_mdy("2-1-2014") %>% month(label = TRUE)
    +as_mdy("2-1-2014") %>% week()
    +as_mdy("2-1-2014") %>% wday(label = TRUE)
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_mdy_hm.html b/radiant.data/docs/reference/as_mdy_hm.html new file mode 100644 index 0000000..045065d --- /dev/null +++ b/radiant.data/docs/reference/as_mdy_hm.html @@ -0,0 +1,159 @@ + +Convert input in month-day-year-hour-minute format to date-time — as_mdy_hm • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in month-day-year-hour-minute format to date-time

    +
    + +
    +
    as_mdy_hm(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_mdy_hm("1-1-2014 12:15")
    +#> [1] "2014-01-01 12:15:00 UTC"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_mdy_hms.html b/radiant.data/docs/reference/as_mdy_hms.html new file mode 100644 index 0000000..c19b759 --- /dev/null +++ b/radiant.data/docs/reference/as_mdy_hms.html @@ -0,0 +1,159 @@ + +Convert input in month-day-year-hour-minute-second format to date-time — as_mdy_hms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in month-day-year-hour-minute-second format to date-time

    +
    + +
    +
    as_mdy_hms(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_mdy_hms("1-1-2014 12:15:01")
    +#> [1] "2014-01-01 12:15:01 UTC"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_numeric.html b/radiant.data/docs/reference/as_numeric.html new file mode 100644 index 0000000..60af005 --- /dev/null +++ b/radiant.data/docs/reference/as_numeric.html @@ -0,0 +1,174 @@ + +Convert variable to numeric avoiding potential issues with factors — as_numeric • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert variable to numeric avoiding potential issues with factors

    +
    + +
    +
    as_numeric(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Numeric

    +
    + +
    +

    Examples

    +
    as_numeric(rnorm(10))
    +#>  [1] -1.66539524  0.84589239 -0.14666561  1.15801832  0.47822510  0.15957457
    +#>  [7] -0.42560129 -1.27584256  0.02811642 -0.40987108
    +as_numeric(letters)
    +#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    +#> [26] 26
    +as_numeric(as.factor(5:10))
    +#> [1]  5  6  7  8  9 10
    +as.numeric(as.factor(5:10))
    +#> [1] 1 2 3 4 5 6
    +as_numeric(c("a", "b"))
    +#> [1] 1 2
    +as_numeric(c("3", "4"))
    +#> [1] 3 4
    +as_numeric(as.factor(c("3", "4")))
    +#> [1] 3 4
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_tibble.html b/radiant.data/docs/reference/as_tibble.html new file mode 100644 index 0000000..97aefec --- /dev/null +++ b/radiant.data/docs/reference/as_tibble.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting as_tibble from tibble — as_tibble • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting as_tibble from tibble

    +
    + + + +

    Details

    + +

    See as_tibble in the tibble package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/as_ymd.html b/radiant.data/docs/reference/as_ymd.html new file mode 100644 index 0000000..dc469d8 --- /dev/null +++ b/radiant.data/docs/reference/as_ymd.html @@ -0,0 +1,160 @@ + +Convert input in year-month-day format to date — as_ymd • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in year-month-day format to date

    +
    + +
    +
    as_ymd(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date variable of class Date

    +
    + +
    +

    Examples

    +
    as_ymd("2013-1-1")
    +#> [1] "2013-01-01"
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_ymd_hm.html b/radiant.data/docs/reference/as_ymd_hm.html new file mode 100644 index 0000000..e2c4fcb --- /dev/null +++ b/radiant.data/docs/reference/as_ymd_hm.html @@ -0,0 +1,159 @@ + +Convert input in year-month-day-hour-minute format to date-time — as_ymd_hm • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in year-month-day-hour-minute format to date-time

    +
    + +
    +
    as_ymd_hm(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_ymd_hm("2014-1-1 12:15")
    +#> [1] "2014-01-01 12:15:00 UTC"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/as_ymd_hms.html b/radiant.data/docs/reference/as_ymd_hms.html new file mode 100644 index 0000000..ff323cb --- /dev/null +++ b/radiant.data/docs/reference/as_ymd_hms.html @@ -0,0 +1,164 @@ + +Convert input in year-month-day-hour-minute-second format to date-time — as_ymd_hms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert input in year-month-day-hour-minute-second format to date-time

    +
    + +
    +
    as_ymd_hms(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    Date-time variable of class Date

    +
    + +
    +

    Examples

    +
    as_ymd_hms("2014-1-1 12:15:01")
    +#> [1] "2014-01-01 12:15:01 UTC"
    +if (FALSE) {
    +as_ymd_hms("2014-1-1 12:15:01") %>% as.Date()
    +as_ymd_hms("2014-1-1 12:15:01") %>% month()
    +as_ymd_hms("2014-1-1 12:15:01") %>% hour()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/avengers.html b/radiant.data/docs/reference/avengers.html new file mode 100644 index 0000000..eb259d2 --- /dev/null +++ b/radiant.data/docs/reference/avengers.html @@ -0,0 +1,149 @@ + +Avengers — avengers • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Avengers

    +
    + +
    +
    data(avengers)
    +
    + +
    +

    Format

    +

    A data frame with 7 rows and 4 variables

    +
    +
    +

    Details

    +

    List of avengers. The dataset is used to illustrate data merging / joining. Description provided in attr(avengers,"description")

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/center.html b/radiant.data/docs/reference/center.html new file mode 100644 index 0000000..2149363 --- /dev/null +++ b/radiant.data/docs/reference/center.html @@ -0,0 +1,157 @@ + +Center — center • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Center

    +
    + +
    +
    center(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    If x is a numeric variable return x - mean(x)

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/choose_dir.html b/radiant.data/docs/reference/choose_dir.html new file mode 100644 index 0000000..a8b4a5f --- /dev/null +++ b/radiant.data/docs/reference/choose_dir.html @@ -0,0 +1,165 @@ + +Choose a directory interactively — choose_dir • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Choose a directory interactively

    +
    + +
    +
    choose_dir(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Arguments passed to utils::choose.dir on Windows

    + +
    +
    +

    Value

    + + +

    Path to the directory selected by the user

    +
    +
    +

    Details

    +

    Open a file dialog to select a directory. Uses JavaScript on Mac, utils::choose.dir on Windows, and dirname(file.choose()) on Linux

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +choose_dir()
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/choose_files.html b/radiant.data/docs/reference/choose_files.html new file mode 100644 index 0000000..9bf1532 --- /dev/null +++ b/radiant.data/docs/reference/choose_files.html @@ -0,0 +1,165 @@ + +Choose files interactively — choose_files • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Choose files interactively

    +
    + +
    +
    choose_files(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Strings used to indicate which file types should be available for selection (e.g., "csv" or "pdf")

    + +
    +
    +

    Value

    + + +

    Vector of paths to files selected by the user

    +
    +
    +

    Details

    +

    Open a file dialog. Uses JavaScript on Mac, utils::choose.files on Windows, and file.choose() on Linux

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +choose_files("pdf", "csv")
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/ci_label.html b/radiant.data/docs/reference/ci_label.html new file mode 100644 index 0000000..2ce7c03 --- /dev/null +++ b/radiant.data/docs/reference/ci_label.html @@ -0,0 +1,171 @@ + +Labels for confidence intervals — ci_label • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Labels for confidence intervals

    +
    + +
    +
    ci_label(alt = "two.sided", cl = 0.95, dec = 3)
    +
    + +
    +

    Arguments

    +
    alt
    +

    Type of hypothesis ("two.sided","less","greater")

    + + +
    cl
    +

    Confidence level

    + + +
    dec
    +

    Number of decimals to show

    + +
    +
    +

    Value

    + + +

    A character vector with labels for a confidence interval

    +
    + +
    +

    Examples

    +
    ci_label("less", .95)
    +#> [1] "0%"  "95%"
    +ci_label("two.sided", .95)
    +#> [1] "2.5%"  "97.5%"
    +ci_label("greater", .9)
    +#> [1] "10%"  "100%"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/ci_perc.html b/radiant.data/docs/reference/ci_perc.html new file mode 100644 index 0000000..6a0aa8f --- /dev/null +++ b/radiant.data/docs/reference/ci_perc.html @@ -0,0 +1,174 @@ + +Values at confidence levels — ci_perc • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Values at confidence levels

    +
    + +
    +
    ci_perc(dat, alt = "two.sided", cl = 0.95)
    +
    + +
    +

    Arguments

    +
    dat
    +

    Data

    + + +
    alt
    +

    Type of hypothesis ("two.sided","less","greater")

    + + +
    cl
    +

    Confidence level

    + +
    +
    +

    Value

    + + +

    A vector with values at a confidence level

    +
    + +
    +

    Examples

    +
    ci_perc(0:100, "less", .95)
    +#> 5% 
    +#>  5 
    +ci_perc(0:100, "greater", .95)
    +#> 95% 
    +#>  95 
    +ci_perc(0:100, "two.sided", .80)
    +#> 10% 90% 
    +#>  10  90 
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/combine_data.html b/radiant.data/docs/reference/combine_data.html new file mode 100644 index 0000000..22f19c1 --- /dev/null +++ b/radiant.data/docs/reference/combine_data.html @@ -0,0 +1,287 @@ + +Combine datasets using dplyr's bind and join functions — combine_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Combine datasets using dplyr's bind and join functions

    +
    + +
    +
    combine_data(
    +  x,
    +  y,
    +  by = "",
    +  add = "",
    +  type = "inner_join",
    +  data_filter = "",
    +  arr = "",
    +  rows = NULL,
    +  envir = parent.frame(),
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    x
    +

    Dataset

    + + +
    y
    +

    Dataset to combine with x

    + + +
    by
    +

    Variables used to combine `x` and `y`

    + + +
    add
    +

    Variables to add from `y`

    + + +
    type
    +

    The main bind and join types from the dplyr package are provided. inner_join returns all rows from x with matching values in y, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. left_join returns all rows from x, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. right_join is equivalent to a left join for datasets y and x. full_join combines two datasets, keeping rows and columns that appear in either. semi_join returns all rows from x with matching values in y, keeping just columns from x. A semi join differs from an inner join because an inner join will return one row of x for each matching row of y, whereas a semi join will never duplicate rows of x. anti_join returns all rows from x without matching values in y, keeping only columns from x. bind_rows and bind_cols are also included, as are intersect, union, and setdiff. See https://radiant-rstats.github.io/docs/data/combine.html for further details

    + + +
    data_filter
    +

    Expression used to filter the dataset. This should be a string (e.g., "price > 10000")

    + + +
    arr
    +

    Expression to arrange (sort) the data on (e.g., "color, desc(price)")

    + + +
    rows
    +

    Rows to select from the specified dataset

    + + +
    envir
    +

    Environment to extract data from

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Value

    + + +

    Combined dataset

    +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/combine.html for an example in Radiant

    +
    + +
    +

    Examples

    +
    avengers %>% combine_data(superheroes, type = "bind_cols")
    +#> New names:
    +#>  `name` -> `name...1`
    +#>  `alignment` -> `alignment...2`
    +#>  `gender` -> `gender...3`
    +#>  `publisher` -> `publisher...4`
    +#>  `name` -> `name...5`
    +#>  `alignment` -> `alignment...6`
    +#>  `gender` -> `gender...7`
    +#>  `publisher` -> `publisher...8`
    +#> # A tibble: 7 × 8
    +#>   name...1        alignment...2 gender...3 publisher...4 name...5 alignment...6
    +#>   <chr>           <chr>         <chr>      <chr>         <chr>    <chr>        
    +#> 1 Thor            good          male       Marvel        Magneto  bad          
    +#> 2 Iron Man        good          male       Marvel        Storm    good         
    +#> 3 Hulk            good          male       Marvel        Mystique bad          
    +#> 4 Hawkeye         good          male       Marvel        Batman   good         
    +#> 5 Black Widow     good          female     Marvel        Joker    bad          
    +#> 6 Captain America good          male       Marvel        Catwoman bad          
    +#> 7 Magneto         bad           male       Marvel        Hellboy  good         
    +#> # ℹ 2 more variables: gender...7 <chr>, publisher...8 <chr>
    +combine_data(avengers, superheroes, type = "bind_cols")
    +#> New names:
    +#>  `name` -> `name...1`
    +#>  `alignment` -> `alignment...2`
    +#>  `gender` -> `gender...3`
    +#>  `publisher` -> `publisher...4`
    +#>  `name` -> `name...5`
    +#>  `alignment` -> `alignment...6`
    +#>  `gender` -> `gender...7`
    +#>  `publisher` -> `publisher...8`
    +#> # A tibble: 7 × 8
    +#>   name...1        alignment...2 gender...3 publisher...4 name...5 alignment...6
    +#>   <chr>           <chr>         <chr>      <chr>         <chr>    <chr>        
    +#> 1 Thor            good          male       Marvel        Magneto  bad          
    +#> 2 Iron Man        good          male       Marvel        Storm    good         
    +#> 3 Hulk            good          male       Marvel        Mystique bad          
    +#> 4 Hawkeye         good          male       Marvel        Batman   good         
    +#> 5 Black Widow     good          female     Marvel        Joker    bad          
    +#> 6 Captain America good          male       Marvel        Catwoman bad          
    +#> 7 Magneto         bad           male       Marvel        Hellboy  good         
    +#> # ℹ 2 more variables: gender...7 <chr>, publisher...8 <chr>
    +avengers %>% combine_data(superheroes, type = "bind_rows")
    +#> # A tibble: 14 × 4
    +#>    name            alignment gender publisher        
    +#>    <chr>           <chr>     <chr>  <chr>            
    +#>  1 Thor            good      male   Marvel           
    +#>  2 Iron Man        good      male   Marvel           
    +#>  3 Hulk            good      male   Marvel           
    +#>  4 Hawkeye         good      male   Marvel           
    +#>  5 Black Widow     good      female Marvel           
    +#>  6 Captain America good      male   Marvel           
    +#>  7 Magneto         bad       male   Marvel           
    +#>  8 Magneto         bad       male   Marvel           
    +#>  9 Storm           good      female Marvel           
    +#> 10 Mystique        bad       female Marvel           
    +#> 11 Batman          good      male   DC               
    +#> 12 Joker           bad       male   DC               
    +#> 13 Catwoman        bad       female DC               
    +#> 14 Hellboy         good      male   Dark Horse Comics
    +avengers %>% combine_data(superheroes, add = "publisher", type = "bind_rows")
    +#> # A tibble: 14 × 4
    +#>    name            alignment gender publisher        
    +#>    <chr>           <chr>     <chr>  <chr>            
    +#>  1 Thor            good      male   Marvel           
    +#>  2 Iron Man        good      male   Marvel           
    +#>  3 Hulk            good      male   Marvel           
    +#>  4 Hawkeye         good      male   Marvel           
    +#>  5 Black Widow     good      female Marvel           
    +#>  6 Captain America good      male   Marvel           
    +#>  7 Magneto         bad       male   Marvel           
    +#>  8 Magneto         bad       male   Marvel           
    +#>  9 Storm           good      female Marvel           
    +#> 10 Mystique        bad       female Marvel           
    +#> 11 Batman          good      male   DC               
    +#> 12 Joker           bad       male   DC               
    +#> 13 Catwoman        bad       female DC               
    +#> 14 Hellboy         good      male   Dark Horse Comics
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/copy_all.html b/radiant.data/docs/reference/copy_all.html new file mode 100644 index 0000000..71c3a06 --- /dev/null +++ b/radiant.data/docs/reference/copy_all.html @@ -0,0 +1,156 @@ + +Source all package functions — copy_all • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Source all package functions

    +
    + +
    +
    copy_all(.from)
    +
    + +
    +

    Arguments

    +
    .from
    +

    The package to pull the function from

    + +
    +
    +

    Details

    +

    Equivalent of source with local=TRUE for all package functions. Adapted from functions by smbache, author of the import package. See https://github.com/rticulate/import/issues/4/ for a discussion. This function will be deprecated when (if) it is included in https://github.com/rticulate/import/

    +
    + +
    +

    Examples

    +
    copy_all(radiant.data)
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/copy_attr.html b/radiant.data/docs/reference/copy_attr.html new file mode 100644 index 0000000..78dfd9c --- /dev/null +++ b/radiant.data/docs/reference/copy_attr.html @@ -0,0 +1,155 @@ + +Copy attributes from one object to another — copy_attr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Copy attributes from one object to another

    +
    + +
    +
    copy_attr(to, from, attr)
    +
    + +
    +

    Arguments

    +
    to
    +

    Object to copy attributes to

    + + +
    from
    +

    Object to copy attributes from

    + + +
    attr
    +

    Vector of attributes. If missing all attributes will be copied

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/copy_from.html b/radiant.data/docs/reference/copy_from.html new file mode 100644 index 0000000..195eb35 --- /dev/null +++ b/radiant.data/docs/reference/copy_from.html @@ -0,0 +1,160 @@ + +Source for package functions — copy_from • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Source for package functions

    +
    + +
    +
    copy_from(.from, ...)
    +
    + +
    +

    Arguments

    +
    .from
    +

    The package to pull the function from

    + + +
    ...
    +

    Functions to pull

    + +
    +
    +

    Details

    +

    Equivalent of source with local=TRUE for package functions. Written by smbache, author of the import package. See https://github.com/rticulate/import/issues/4/ for a discussion. This function will be deprecated when (if) it is included in https://github.com/rticulate/import/

    +
    + +
    +

    Examples

    +
    copy_from(radiant.data, get_data)
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/cv.html b/radiant.data/docs/reference/cv.html new file mode 100644 index 0000000..eaf7dd0 --- /dev/null +++ b/radiant.data/docs/reference/cv.html @@ -0,0 +1,164 @@ + +Coefficient of variation — cv • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Coefficient of variation

    +
    + +
    +
    cv(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Coefficient of variation

    +
    + +
    +

    Examples

    +
    cv(runif(100))
    +#> [1] 0.5724333
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/deregister.html b/radiant.data/docs/reference/deregister.html new file mode 100644 index 0000000..ae9557f --- /dev/null +++ b/radiant.data/docs/reference/deregister.html @@ -0,0 +1,164 @@ + +Deregister a data.frame or list in Radiant — deregister • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Deregister a data.frame or list in Radiant

    +
    + +
    +
    deregister(
    +  dataset,
    +  shiny = shiny::getDefaultReactiveDomain(),
    +  envir = r_data,
    +  info = r_info
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    String containing the name of the data.frame to deregister

    + + +
    shiny
    +

    Check if function is called from a shiny application

    + + +
    envir
    +

    Environment to remove data from

    + + +
    info
    +

    Reactive list with information about available data in radiant

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/describe.html b/radiant.data/docs/reference/describe.html new file mode 100644 index 0000000..1f23322 --- /dev/null +++ b/radiant.data/docs/reference/describe.html @@ -0,0 +1,155 @@ + +Show dataset description — describe • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Show dataset description

    +
    + +
    +
    describe(dataset, envir = parent.frame())
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset with "description" attribute

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Details

    +

    Show dataset description, if available, in html form in Rstudio viewer or the default browser. The description should be in markdown format, attached to a data.frame as an attribute with the name "description"

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/diamonds.html b/radiant.data/docs/reference/diamonds.html new file mode 100644 index 0000000..88d3f8f --- /dev/null +++ b/radiant.data/docs/reference/diamonds.html @@ -0,0 +1,149 @@ + +Diamond prices — diamonds • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Diamond prices

    +
    + +
    +
    data(diamonds)
    +
    + +
    +

    Format

    +

    A data frame with 3000 rows and 10 variables

    +
    +
    +

    Details

    +

    A sample of 3,000 from the diamonds dataset bundled with ggplot2. Description provided in attr(diamonds,"description")

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/does_vary.html b/radiant.data/docs/reference/does_vary.html new file mode 100644 index 0000000..a22b584 --- /dev/null +++ b/radiant.data/docs/reference/does_vary.html @@ -0,0 +1,164 @@ + +Does a vector have non-zero variability? — does_vary • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Does a vector have non-zero variability?

    +
    + +
    +
    does_vary(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Logical. TRUE is there is variability

    +
    + +
    +

    Examples

    +
    summarise_all(diamonds, does_vary) %>% as.logical()
    +#>  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/dtab.data.frame.html b/radiant.data/docs/reference/dtab.data.frame.html new file mode 100644 index 0000000..323579a --- /dev/null +++ b/radiant.data/docs/reference/dtab.data.frame.html @@ -0,0 +1,242 @@ + +Create an interactive table to view, search, sort, and filter data — dtab.data.frame • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create an interactive table to view, search, sort, and filter data

    +
    + +
    +
    # S3 method for data.frame
    +dtab(
    +  object,
    +  vars = "",
    +  filt = "",
    +  arr = "",
    +  rows = NULL,
    +  nr = NULL,
    +  na.rm = FALSE,
    +  dec = 3,
    +  perc = "",
    +  filter = "top",
    +  pageLength = 10,
    +  dom = "",
    +  style = "bootstrap4",
    +  rownames = FALSE,
    +  caption = NULL,
    +  envir = parent.frame(),
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    object
    +

    Data.frame to display

    + + +
    vars
    +

    Variables to show (default is all)

    + + +
    filt
    +

    Filter to apply to the specified dataset. For example "price > 10000" if dataset is "diamonds" (default is "")

    + + +
    arr
    +

    Expression to arrange (sort) the data on (e.g., "color, desc(price)")

    + + +
    rows
    +

    Select rows in the specified dataset. For example "1:10" for the first 10 rows or "n()-10:n()" for the last 10 rows (default is NULL)

    + + +
    nr
    +

    Number of rows of data to include in the table. This function will be mainly used in reports so it is best to keep this number small

    + + +
    na.rm
    +

    Remove rows with missing values (default is FALSE)

    + + +
    dec
    +

    Number of decimal places to show. Default is no rounding (NULL)

    + + +
    perc
    +

    Vector of column names to be displayed as a percentage

    + + +
    filter
    +

    Show column filters in DT table. Options are "none", "top", "bottom"

    + + +
    pageLength
    +

    Number of rows to show in table

    + + +
    dom
    +

    Table control elements to show on the page. See https://datatables.net/reference/option/dom

    + + +
    style
    +

    Table formatting style ("bootstrap" or "default")

    + + +
    rownames
    +

    Show data.frame rownames. Default is FALSE

    + + +
    caption
    +

    Table caption

    + + +
    envir
    +

    Environment to extract data from

    + + +
    ...
    +

    Additional arguments

    + +
    +
    +

    Details

    +

    View, search, sort, and filter a data.frame. For styling options see https://rstudio.github.io/DT/functions.html

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +dtab(mtcars)
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/dtab.explore.html b/radiant.data/docs/reference/dtab.explore.html new file mode 100644 index 0000000..d7282e8 --- /dev/null +++ b/radiant.data/docs/reference/dtab.explore.html @@ -0,0 +1,199 @@ + +Make an interactive table of summary statistics — dtab.explore • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Make an interactive table of summary statistics

    +
    + +
    +
    # S3 method for explore
    +dtab(
    +  object,
    +  dec = 3,
    +  searchCols = NULL,
    +  order = NULL,
    +  pageLength = NULL,
    +  caption = NULL,
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    object
    +

    Return value from explore

    + + +
    dec
    +

    Number of decimals to show

    + + +
    searchCols
    +

    Column search and filter

    + + +
    order
    +

    Column sorting

    + + +
    pageLength
    +

    Page length

    + + +
    caption
    +

    Table caption

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/explore.html for an example in Radiant

    +
    +
    +

    See also

    +

    pivotr to create a pivot table

    +

    summary.pivotr to show summaries

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +tab <- explore(diamonds, "price:x") %>% dtab()
    +tab <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") %>%
    +  dtab()
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/dtab.html b/radiant.data/docs/reference/dtab.html new file mode 100644 index 0000000..f09598f --- /dev/null +++ b/radiant.data/docs/reference/dtab.html @@ -0,0 +1,157 @@ + +Method to create datatables — dtab • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Method to create datatables

    +
    + +
    +
    dtab(object, ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    Object of relevant class to render

    + + +
    ...
    +

    Additional arguments

    + +
    +
    +

    See also

    +

    See dtab.data.frame to create an interactive table from a data.frame

    +

    See dtab.explore to create an interactive table from an explore object

    +

    See dtab.pivotr to create an interactive table from a pivotr object

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/dtab.pivotr.html b/radiant.data/docs/reference/dtab.pivotr.html new file mode 100644 index 0000000..b864cd9 --- /dev/null +++ b/radiant.data/docs/reference/dtab.pivotr.html @@ -0,0 +1,210 @@ + +Make an interactive pivot table — dtab.pivotr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Make an interactive pivot table

    +
    + +
    +
    # S3 method for pivotr
    +dtab(
    +  object,
    +  format = "none",
    +  perc = FALSE,
    +  dec = 3,
    +  searchCols = NULL,
    +  order = NULL,
    +  pageLength = NULL,
    +  caption = NULL,
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    object
    +

    Return value from pivotr

    + + +
    format
    +

    Show Color bar ("color_bar"), Heat map ("heat"), or None ("none")

    + + +
    perc
    +

    Display numbers as percentages (TRUE or FALSE)

    + + +
    dec
    +

    Number of decimals to show

    + + +
    searchCols
    +

    Column search and filter

    + + +
    order
    +

    Column sorting

    + + +
    pageLength
    +

    Page length

    + + +
    caption
    +

    Table caption

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/pivotr.html for an example in Radiant

    +
    +
    +

    See also

    +

    pivotr to create the pivot table

    +

    summary.pivotr to print the table

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +pivotr(diamonds, cvars = "cut") %>% dtab()
    +pivotr(diamonds, cvars = c("cut", "clarity")) %>% dtab(format = "color_bar")
    +pivotr(diamonds, cvars = c("cut", "clarity"), normalize = "total") %>%
    +  dtab(format = "color_bar", perc = TRUE)
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/empty_level.html b/radiant.data/docs/reference/empty_level.html new file mode 100644 index 0000000..0e243fc --- /dev/null +++ b/radiant.data/docs/reference/empty_level.html @@ -0,0 +1,153 @@ + +Convert categorical variables to factors and deal with empty/missing values — empty_level • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert categorical variables to factors and deal with empty/missing values

    +
    + +
    +
    empty_level(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Categorical variable used in table

    + +
    +
    +

    Value

    + + +

    Variable with updated levels

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/explore.html b/radiant.data/docs/reference/explore.html new file mode 100644 index 0000000..9c5855f --- /dev/null +++ b/radiant.data/docs/reference/explore.html @@ -0,0 +1,270 @@ + +Explore and summarize data — explore • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Explore and summarize data

    +
    + +
    +
    explore(
    +  dataset,
    +  vars = "",
    +  byvar = "",
    +  fun = c("mean", "sd"),
    +  top = "fun",
    +  tabfilt = "",
    +  tabsort = "",
    +  tabslice = "",
    +  nr = Inf,
    +  data_filter = "",
    +  arr = "",
    +  rows = NULL,
    +  envir = parent.frame()
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset to explore

    + + +
    vars
    +

    (Numeric) variables to summarize

    + + +
    byvar
    +

    Variable(s) to group data by

    + + +
    fun
    +

    Functions to use for summarizing

    + + +
    top
    +

    Use functions ("fun"), variables ("vars"), or group-by variables as column headers

    + + +
    tabfilt
    +

    Expression used to filter the table (e.g., "Total > 10000")

    + + +
    tabsort
    +

    Expression used to sort the table (e.g., "desc(Total)")

    + + +
    tabslice
    +

    Expression used to filter table (e.g., "1:5")

    + + +
    nr
    +

    Number of rows to display

    + + +
    data_filter
    +

    Expression used to filter the dataset before creating the table (e.g., "price > 10000")

    + + +
    arr
    +

    Expression to arrange (sort) the data on (e.g., "color, desc(price)")

    + + +
    rows
    +

    Rows to select from the specified dataset

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Value

    + + +

    A list of all variables defined in the function as an object of class explore

    +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/explore.html for an example in Radiant

    +
    +
    +

    See also

    +

    See summary.explore to show summaries

    +
    + +
    +

    Examples

    +
    explore(diamonds, c("price", "carat")) %>% str()
    +#> List of 13
    +#>  $ tab        :'data.frame':	2 obs. of  3 variables:
    +#>   ..$ variable: Factor w/ 2 levels "price","carat": 1 2
    +#>   ..$ mean    : num [1:2] 3907.186 0.794
    +#>   ..$ sd      : num [1:2] 3956.915 0.474
    +#>   ..- attr(*, "radiant_nrow")= int 2
    +#>  $ df_name    : chr "diamonds"
    +#>  $ vars       : chr [1:2] "price" "carat"
    +#>  $ byvar      : NULL
    +#>  $ fun        : chr [1:2] "mean" "sd"
    +#>  $ top        : chr "fun"
    +#>  $ tabfilt    : chr ""
    +#>  $ tabsort    : chr ""
    +#>  $ tabslice   : chr ""
    +#>  $ nr         : num Inf
    +#>  $ data_filter: chr ""
    +#>  $ arr        : chr ""
    +#>  $ rows       : NULL
    +#>  - attr(*, "class")= chr [1:2] "explore" "list"
    +explore(diamonds, "price:x")$tab
    +#>   variable         mean           sd
    +#> 1    price 3.907186e+03 3956.9154001
    +#> 2    carat 7.942833e-01    0.4738263
    +#> 3  clarity 1.333333e-02    0.1147168
    +#> 4      cut 3.366667e-02    0.1803998
    +#> 5    color 1.273333e-01    0.3334016
    +#> 6    depth 6.175267e+01    1.4460279
    +#> 7    table 5.746533e+01    2.2411022
    +#> 8        x 5.721823e+00    1.1240545
    +explore(diamonds, c("price", "carat"), byvar = "cut", fun = c("n_missing", "skew"))$tab
    +#>          cut variable n_missing      skew
    +#> 1       Fair    price         0 1.5741334
    +#> 2       Fair    carat         0 0.9285670
    +#> 3       Good    price         0 1.4885765
    +#> 4       Good    carat         0 1.0207909
    +#> 5  Very Good    price         0 1.6007752
    +#> 6  Very Good    carat         0 0.9370738
    +#> 7    Premium    price         0 1.4131786
    +#> 8    Premium    carat         0 0.9299567
    +#> 9      Ideal    price         0 1.7986601
    +#> 10     Ideal    carat         0 1.3654745
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/filter_data.html b/radiant.data/docs/reference/filter_data.html new file mode 100644 index 0000000..1f2788e --- /dev/null +++ b/radiant.data/docs/reference/filter_data.html @@ -0,0 +1,192 @@ + +Filter data with user-specified expression — filter_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Filter data with user-specified expression

    +
    + +
    +
    filter_data(dataset, filt = "", drop = TRUE)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data frame to filter

    + + +
    filt
    +

    Filter expression to apply to the specified dataset

    + + +
    drop
    +

    Drop unused factor levels after filtering (default is TRUE)

    + +
    +
    +

    Value

    + + +

    Filtered data frame

    +
    +
    +

    Details

    +

    Filters can be used to view a sample from a selected dataset. For example, runif(nrow(.)) > .9 could be used to sample approximately 10

    +
    + +
    +

    Examples

    +
    select(diamonds, 1:3) %>% filter_data(filt = "price > max(.$price) - 100")
    +#> # A tibble: 2 × 3
    +#>   price carat clarity
    +#>   <int> <dbl> <fct>  
    +#> 1 18791  2.15 SI2    
    +#> 2 18745  2.36 SI2    
    +select(diamonds, 1:3) %>% filter_data(filt = "runif(nrow(.)) > .995")
    +#> # A tibble: 13 × 3
    +#>    price carat clarity
    +#>    <int> <dbl> <fct>  
    +#>  1  1895  0.51 VVS2   
    +#>  2  2100  0.5  VS2    
    +#>  3  6062  1.06 SI1    
    +#>  4  1087  0.42 VS2    
    +#>  5  7091  1.12 VVS2   
    +#>  6  1240  0.4  VVS2   
    +#>  7  4155  1    SI2    
    +#>  8  4641  1    VS1    
    +#>  9   794  0.36 SI1    
    +#> 10  5939  1.01 SI1    
    +#> 11  4405  1.15 SI2    
    +#> 12  1300  0.38 IF     
    +#> 13  5483  1.13 SI1    
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/find_dropbox.html b/radiant.data/docs/reference/find_dropbox.html new file mode 100644 index 0000000..2120615 --- /dev/null +++ b/radiant.data/docs/reference/find_dropbox.html @@ -0,0 +1,157 @@ + +Find Dropbox folder — find_dropbox • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Find Dropbox folder

    +
    + +
    +
    find_dropbox(account = 1)
    +
    + +
    +

    Arguments

    +
    account
    +

    Integer. If multiple accounts exist, specify which one to use. By default, the first account listed is used

    + +
    +
    +

    Value

    + + +

    Path to Dropbox account

    +
    +
    +

    Details

    +

    Find the path for Dropbox if available

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/find_gdrive.html b/radiant.data/docs/reference/find_gdrive.html new file mode 100644 index 0000000..bcc9503 --- /dev/null +++ b/radiant.data/docs/reference/find_gdrive.html @@ -0,0 +1,151 @@ + +Find Google Drive folder — find_gdrive • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Find Google Drive folder

    +
    + +
    +
    find_gdrive()
    +
    + +
    +

    Value

    + + +

    Path to Google Drive folder

    +
    +
    +

    Details

    +

    Find the path for Google Drive if available

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/find_home.html b/radiant.data/docs/reference/find_home.html new file mode 100644 index 0000000..7d2e9e1 --- /dev/null +++ b/radiant.data/docs/reference/find_home.html @@ -0,0 +1,145 @@ + +Find user directory — find_home • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Find user directory

    +
    + +
    +
    find_home()
    +
    + +
    +

    Details

    +

    Returns /Users/x and not /Users/x/Documents

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/find_project.html b/radiant.data/docs/reference/find_project.html new file mode 100644 index 0000000..2e8dec8 --- /dev/null +++ b/radiant.data/docs/reference/find_project.html @@ -0,0 +1,157 @@ + +Find the Rstudio project folder — find_project • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Find the Rstudio project folder

    +
    + +
    +
    find_project(mess = TRUE)
    +
    + +
    +

    Arguments

    +
    mess
    +

    Show or hide messages (default mess = TRUE)

    + +
    +
    +

    Value

    + + +

    Path to Rstudio project folder if available or else and empty string. The returned path is normalized

    +
    +
    +

    Details

    +

    Find the path for the Rstudio project folder if available. The returned path is normalized (see normalizePath)

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/fix_names.html b/radiant.data/docs/reference/fix_names.html new file mode 100644 index 0000000..6ab52dc --- /dev/null +++ b/radiant.data/docs/reference/fix_names.html @@ -0,0 +1,161 @@ + +Ensure column names are valid — fix_names • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Ensure column names are valid

    +
    + +
    +
    fix_names(x, lower = FALSE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Data.frame or vector of (column) names

    + + +
    lower
    +

    Set letters to lower case (TRUE or FALSE)

    + +
    +
    +

    Details

    +

    Remove symbols, trailing and leading spaces, and convert to valid R column names. Opinionated version of make.names

    +
    + +
    +

    Examples

    +
    fix_names(c(" var-name ", "$amount spent", "100"))
    +#> [1] "var_name"     "amount_spent" "X100"        
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/fix_smart.html b/radiant.data/docs/reference/fix_smart.html new file mode 100644 index 0000000..6c1c3f4 --- /dev/null +++ b/radiant.data/docs/reference/fix_smart.html @@ -0,0 +1,151 @@ + +Replace smart quotes etc. — fix_smart • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Replace smart quotes etc.

    +
    + +
    +
    fix_smart(text, all = FALSE)
    +
    + +
    +

    Arguments

    +
    text
    +

    Text to be parsed

    + + +
    all
    +

    Should all non-ascii characters be removed? Default is FALSE

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/flip.html b/radiant.data/docs/reference/flip.html new file mode 100644 index 0000000..2a40130 --- /dev/null +++ b/radiant.data/docs/reference/flip.html @@ -0,0 +1,185 @@ + +Flip the DT table to put Function, Variable, or Group by on top — flip • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Flip the DT table to put Function, Variable, or Group by on top

    +
    + +
    +
    flip(expl, top = "fun")
    +
    + +
    +

    Arguments

    +
    expl
    +

    Return value from explore

    + + +
    top
    +

    The variable (type) to display at the top of the table ("fun" for Function, "var" for Variable, and "byvar" for Group by. "fun" is the default

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/explore.html for an example in Radiant

    +
    +
    +

    See also

    +

    explore to calculate summaries

    +

    summary.explore to show summaries

    +

    dtab.explore to create the DT table

    +
    + +
    +

    Examples

    +
    explore(diamonds, "price:x", top = "var") %>% summary()
    +#> Explore
    +#> Data        : diamonds 
    +#> Functions   : mean, sd 
    +#> Top         : Variables 
    +#> 
    +#>  .function     price carat clarity   cut color  depth  table     x
    +#>       mean 3,907.186 0.794   0.013 0.034 0.127 61.753 57.465 5.722
    +#>         sd 3,956.915 0.474   0.115 0.180 0.333  1.446  2.241 1.124
    +explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") %>% summary()
    +#> Explore
    +#> Data        : diamonds 
    +#> Grouped by  : cut 
    +#> Functions   : n_obs, skew 
    +#> Top         : Group by 
    +#> 
    +#>  variable function.    Fair    Good Very_Good Premium     Ideal
    +#>     price     n_obs 101.000 275.000   677.000 771.000 1,176.000
    +#>     price      skew   1.574   1.489     1.601   1.413     1.799
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/format_df.html b/radiant.data/docs/reference/format_df.html new file mode 100644 index 0000000..eb9956d --- /dev/null +++ b/radiant.data/docs/reference/format_df.html @@ -0,0 +1,193 @@ + +Format a data.frame with a specified number of decimal places — format_df • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Format a data.frame with a specified number of decimal places

    +
    + +
    +
    format_df(tbl, dec = NULL, perc = FALSE, mark = "", na.rm = FALSE, ...)
    +
    + +
    +

    Arguments

    +
    tbl
    +

    Data.frame

    + + +
    dec
    +

    Number of decimals to show

    + + +
    perc
    +

    Display numbers as percentages (TRUE or FALSE)

    + + +
    mark
    +

    Thousand separator

    + + +
    na.rm
    +

    Remove missing values

    + + +
    ...
    +

    Additional arguments for format_nr

    + +
    +
    +

    Value

    + + +

    Data.frame for printing

    +
    + +
    +

    Examples

    +
    data.frame(x = c("a", "b"), y = c(1L, 2L), z = c(-0.0005, 3)) %>%
    +  format_df(dec = 4)
    +#>   x y       z
    +#> 1 a 1 -0.0005
    +#> 2 b 2  3.0000
    +data.frame(x = c(1L, 2L), y = c(0.06, 0.8)) %>%
    +  format_df(dec = 2, perc = TRUE)
    +#>   x      y
    +#> 1 1  6.00%
    +#> 2 2 80.00%
    +data.frame(x = c(1L, 2L, NA), y = c(NA, 1.008, 2.8)) %>%
    +  format_df(dec = 2)
    +#>    x    y
    +#> 1  1   NA
    +#> 2  2 1.01
    +#> 3 NA 2.80
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/format_nr.html b/radiant.data/docs/reference/format_nr.html new file mode 100644 index 0000000..8a4b67f --- /dev/null +++ b/radiant.data/docs/reference/format_nr.html @@ -0,0 +1,201 @@ + +Format a number with a specified number of decimal places, thousand sep, and a symbol — format_nr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Format a number with a specified number of decimal places, thousand sep, and a symbol

    +
    + +
    +
    format_nr(x, sym = "", dec = 2, perc = FALSE, mark = ",", na.rm = TRUE, ...)
    +
    + +
    +

    Arguments

    +
    x
    +

    Number or vector

    + + +
    sym
    +

    Symbol to use

    + + +
    dec
    +

    Number of decimals to show

    + + +
    perc
    +

    Display number as a percentage

    + + +
    mark
    +

    Thousand separator

    + + +
    na.rm
    +

    Remove missing values

    + + +
    ...
    +

    Additional arguments passed to formatC

    + +
    +
    +

    Value

    + + +

    Character (vector) in the desired format

    +
    + +
    +

    Examples

    +
    format_nr(2000, "$")
    +#> [1] "$2,000.00"
    +format_nr(2000, dec = 4)
    +#> [1] "2,000.0000"
    +format_nr(.05, perc = TRUE)
    +#> [1] "5.00%"
    +format_nr(c(.1, .99), perc = TRUE)
    +#> [1] "10.00%" "99.00%"
    +format_nr(data.frame(a = c(.1, .99)), perc = TRUE)
    +#> [1] "10.00%" "99.00%"
    +format_nr(data.frame(a = 1:10), sym = "$", dec = 0)
    +#>  [1] "$1"  "$2"  "$3"  "$4"  "$5"  "$6"  "$7"  "$8"  "$9"  "$10"
    +format_nr(c(1, 1.9, 1.008, 1.00))
    +#> [1] "1.00" "1.90" "1.01" "1.00"
    +format_nr(c(1, 1.9, 1.008, 1.00), drop0trailing = TRUE)
    +#> [1] "1"    "1.9"  "1.01" "1"   
    +format_nr(NA)
    +#> [1] ""
    +format_nr(NULL)
    +#> [1] ""
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/get_class.html b/radiant.data/docs/reference/get_class.html new file mode 100644 index 0000000..53b3860 --- /dev/null +++ b/radiant.data/docs/reference/get_class.html @@ -0,0 +1,166 @@ + +Get variable class — get_class • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Get variable class

    +
    + +
    +
    get_class(dat)
    +
    + +
    +

    Arguments

    +
    dat
    +

    Dataset to evaluate

    + +
    +
    +

    Value

    + + +

    Vector with class information for each variable

    +
    +
    +

    Details

    +

    Get variable class information for each column in a data.frame

    +
    + +
    +

    Examples

    +
    get_class(mtcars)
    +#>       mpg       cyl      disp        hp      drat        wt      qsec        vs 
    +#> "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric" 
    +#>        am      gear      carb 
    +#> "numeric" "numeric" "numeric" 
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/get_data.html b/radiant.data/docs/reference/get_data.html new file mode 100644 index 0000000..e9b3d1f --- /dev/null +++ b/radiant.data/docs/reference/get_data.html @@ -0,0 +1,230 @@ + +Select variables and filter data — get_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Select variables and filter data

    +
    + +
    +
    get_data(
    +  dataset,
    +  vars = "",
    +  filt = "",
    +  arr = "",
    +  rows = NULL,
    +  data_view_rows = NULL,
    +  na.rm = TRUE,
    +  rev = FALSE,
    +  envir = c()
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset or name of the data.frame

    + + +
    vars
    +

    Variables to extract from the data.frame

    + + +
    filt
    +

    Filter to apply to the specified dataset

    + + +
    arr
    +

    Expression to use to arrange (sort) the specified dataset

    + + +
    rows
    +

    Select rows in the specified dataset

    + + +
    data_view_rows
    +

    Vector of rows to select. Only used by Data > View in Radiant. Users should use "rows" instead

    + + +
    na.rm
    +

    Remove rows with missing values (default is TRUE)

    + + +
    rev
    +

    Reverse filter and row selection (i.e., get the remainder)

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Value

    + + +

    Data.frame with specified columns and rows

    +
    +
    +

    Details

    +

    Function is used in radiant to select variables and filter data based on user input in string form

    +
    + +
    +

    Examples

    +
    get_data(mtcars, vars = "cyl:vs", filt = "mpg > 25")
    +#>                cyl  disp  hp drat    wt  qsec vs
    +#> Fiat 128         4  78.7  66 4.08 2.200 19.47  1
    +#> Honda Civic      4  75.7  52 4.93 1.615 18.52  1
    +#> Toyota Corolla   4  71.1  65 4.22 1.835 19.90  1
    +#> Fiat X1-9        4  79.0  66 4.08 1.935 18.90  1
    +#> Porsche 914-2    4 120.3  91 4.43 2.140 16.70  0
    +#> Lotus Europa     4  95.1 113 3.77 1.513 16.90  1
    +get_data(mtcars, vars = c("mpg", "cyl"), rows = 1:10)
    +#>                    mpg cyl
    +#> Mazda RX4         21.0   6
    +#> Mazda RX4 Wag     21.0   6
    +#> Datsun 710        22.8   4
    +#> Hornet 4 Drive    21.4   6
    +#> Hornet Sportabout 18.7   8
    +#> Valiant           18.1   6
    +#> Duster 360        14.3   8
    +#> Merc 240D         24.4   4
    +#> Merc 230          22.8   4
    +#> Merc 280          19.2   6
    +get_data(mtcars, vars = c("mpg", "cyl"), arr = "desc(mpg)", rows = "1:5")
    +#>                 mpg cyl
    +#> Toyota Corolla 33.9   4
    +#> Fiat 128       32.4   4
    +#> Honda Civic    30.4   4
    +#> Lotus Europa   30.4   4
    +#> Fiat X1-9      27.3   4
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/get_summary.html b/radiant.data/docs/reference/get_summary.html new file mode 100644 index 0000000..412dfad --- /dev/null +++ b/radiant.data/docs/reference/get_summary.html @@ -0,0 +1,159 @@ + +Create data.frame summary — get_summary • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create data.frame summary

    +
    + +
    +
    get_summary(dataset, dc = get_class(dataset), dec = 3)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data.frame

    + + +
    dc
    +

    Class for each variable

    + + +
    dec
    +

    Number of decimals to show

    + +
    +
    +

    Details

    +

    Used in Radiant's Data > Transform tab

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/ggplotly.html b/radiant.data/docs/reference/ggplotly.html new file mode 100644 index 0000000..b000c98 --- /dev/null +++ b/radiant.data/docs/reference/ggplotly.html @@ -0,0 +1,151 @@ + +Work around to avoid (harmless) messages from ggplotly — ggplotly • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Work around to avoid (harmless) messages from ggplotly

    +
    + +
    +
    ggplotly(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Arguments to pass to the ggplotly function in the plotly package

    + +
    +
    +

    See also

    +

    See the ggplotly function in the plotly package for details (?plotly::ggplotly)

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/glance.html b/radiant.data/docs/reference/glance.html new file mode 100644 index 0000000..3c0cd08 --- /dev/null +++ b/radiant.data/docs/reference/glance.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting glance from broom — glance • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting glance from broom

    +
    + + + +

    Details

    + +

    See glance in the broom package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/glue.html b/radiant.data/docs/reference/glue.html new file mode 100644 index 0000000..8b532e0 --- /dev/null +++ b/radiant.data/docs/reference/glue.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting glue from glue — glue • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting glue from glue

    +
    + + + +

    Details

    + +

    See glue in the glue package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/glue_collapse.html b/radiant.data/docs/reference/glue_collapse.html new file mode 100644 index 0000000..f743380 --- /dev/null +++ b/radiant.data/docs/reference/glue_collapse.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting glue_collapse from glue — glue_collapse • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting glue_collapse from glue

    +
    + + + +

    Details

    + +

    See glue::glue_collapse() in the glue package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/glue_data.html b/radiant.data/docs/reference/glue_data.html new file mode 100644 index 0000000..559e726 --- /dev/null +++ b/radiant.data/docs/reference/glue_data.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting glue_data from glue — glue_data • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting glue_data from glue

    +
    + + + +

    Details

    + +

    See glue::glue_data() in the glue package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/index.html b/radiant.data/docs/reference/index.html new file mode 100644 index 0000000..eabeb48 --- /dev/null +++ b/radiant.data/docs/reference/index.html @@ -0,0 +1,720 @@ + +Function reference • radiant.data + + +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Data > Manage

    +

    Functions used with Data > Manage

    +
    +

    choose_dir()

    +

    Choose a directory interactively

    +

    choose_files()

    +

    Choose files interactively

    +

    describe()

    +

    Show dataset description

    +

    find_dropbox()

    +

    Find Dropbox folder

    +

    find_gdrive()

    +

    Find Google Drive folder

    +

    find_home()

    +

    Find user directory

    +

    find_project()

    +

    Find the Rstudio project folder

    +

    fix_names()

    +

    Ensure column names are valid

    +

    get_data()

    +

    Select variables and filter data

    +

    load_clip()

    +

    Load data through clipboard on Windows or macOS

    +

    parse_path()

    +

    Parse file path into useful components

    +

    read_files()

    +

    Generate code to read a file

    +

    save_clip()

    +

    Save data to clipboard on Windows or macOS

    +

    write_parquet()

    +

    Workaround to store description file together with a parquet data file

    +

    to_fct()

    +

    Convert characters to factors

    +

    Data > View

    +

    Functions used with Data > View

    +
    +

    dtab()

    +

    Method to create datatables

    +

    dtab(<data.frame>)

    +

    Create an interactive table to view, search, sort, and filter data

    +

    filter_data()

    +

    Filter data with user-specified expression

    +

    make_arrange_cmd()

    +

    Generate arrange commands from user input

    +

    arrange_data()

    +

    Arrange data with user-specified expression

    +

    slice_data()

    +

    Slice data with user-specified expression

    +

    search_data()

    +

    Search for a pattern in all columns of a data.frame

    +

    view_data()

    +

    View data in a shiny-app

    +

    Data > Visualize

    +

    Function used with Data > Visualize

    +
    +

    visualize()

    +

    Visualize data using ggplot2 https://ggplot2.tidyverse.org/

    +

    qscatter()

    +

    Create a qscatter plot similar to Stata

    +

    ggplotly()

    +

    Work around to avoid (harmless) messages from ggplotly

    +

    subplot()

    +

    Work around to avoid (harmless) messages from subplot

    +

    Data > Pivot

    +

    Functions used with Data > Pivot

    +
    +

    pivotr()

    +

    Create a pivot table

    +

    summary(<pivotr>)

    +

    Summary method for pivotr

    +

    dtab(<pivotr>)

    +

    Make an interactive pivot table

    +

    plot(<pivotr>)

    +

    Plot method for the pivotr function

    +

    Data > Explore

    +

    Functions used with Data > Pivot

    +
    +

    explore()

    +

    Explore and summarize data

    +

    summary(<explore>)

    +

    Summary method for the explore function

    +

    dtab(<explore>)

    +

    Make an interactive table of summary statistics

    +

    flip()

    +

    Flip the DT table to put Function, Variable, or Group by on top

    +

    Data > Transform

    +

    Functions used with Data > Transform

    +
    +

    as_character()

    +

    Wrapper for as.character

    +

    as_distance()

    +

    Distance in kilometers or miles between two locations based on lat-long +Function based on http://www.movable-type.co.uk/scripts/latlong.html. Uses the haversine formula

    +

    as_dmy()

    +

    Convert input in day-month-year format to date

    +

    as_dmy_hm()

    +

    Convert input in day-month-year-hour-minute format to date-time

    +

    as_dmy_hms()

    +

    Convert input in day-month-year-hour-minute-second format to date-time

    +

    as_duration()

    +

    Wrapper for lubridate's as.duration function. Result converted to numeric

    +

    as_factor()

    +

    Wrapper for factor with ordered = FALSE

    +

    as_hm()

    +

    Convert input in hour-minute format to time

    +

    as_hms()

    +

    Convert input in hour-minute-second format to time

    +

    as_integer()

    +

    Convert variable to integer avoiding potential issues with factors

    +

    as_mdy()

    +

    Convert input in month-day-year format to date

    +

    as_mdy_hm()

    +

    Convert input in month-day-year-hour-minute format to date-time

    +

    as_mdy_hms()

    +

    Convert input in month-day-year-hour-minute-second format to date-time

    +

    as_numeric()

    +

    Convert variable to numeric avoiding potential issues with factors

    +

    as_ymd()

    +

    Convert input in year-month-day format to date

    +

    as_ymd_hm()

    +

    Convert input in year-month-day-hour-minute format to date-time

    +

    as_ymd_hms()

    +

    Convert input in year-month-day-hour-minute-second format to date-time

    +

    center()

    +

    Center

    +

    cv()

    +

    Coefficient of variation

    +

    inverse()

    +

    Calculate inverse of a variable

    +

    is.empty()

    +

    Is a variable empty

    +

    is_not()

    +

    Convenience function for is.null or is.na

    +

    is_double()

    +

    Is input a double (and not a date type)?

    +

    is_string()

    +

    Is input a string?

    +

    level_list()

    +

    Generate list of levels and unique values

    +

    ln()

    +

    Natural log

    +

    make_train()

    +

    Generate a variable used to selected a training sample

    +

    month()

    +

    Add ordered argument to lubridate::month

    +

    mutate_ext()

    +

    Add transformed variables to a data frame with the option to include a custom variable name extension

    +

    n_missing()

    +

    Number of missing values

    +

    n_obs()

    +

    Number of observations

    +

    normalize()

    +

    Normalize a variable x by a variable y

    +

    make_vec()

    +

    Convert a string of numbers into a vector

    +

    me()

    +

    Margin of error

    +

    meprop()

    +

    Margin of error for proportion

    +

    modal()

    +

    Calculate the mode (modal value) and return a label

    +

    p01() p025() p05() p10() p25() p75() p90() p95() p975() p99()

    +

    Calculate percentiles

    +

    prop()

    +

    Calculate proportion

    +

    refactor()

    +

    Remove/reorder levels

    +

    sdpop()

    +

    Standard deviation for the population

    +

    sdprop()

    +

    Standard deviation for proportion

    +

    se()

    +

    Standard error

    +

    seprop()

    +

    Standard error for proportion

    +

    show_duplicated()

    +

    Show all rows with duplicated values (not just the first or last)

    +

    square()

    +

    Calculate square of a variable

    +

    standardize()

    +

    Standardize

    +

    store()

    +

    Method to store variables in a dataset in Radiant

    +

    table2data()

    +

    Create data.frame from a table

    +

    varpop()

    +

    Variance for the population

    +

    varprop()

    +

    Variance for proportion

    +

    wday()

    +

    Add ordered argument to lubridate::wday

    +

    weighted.sd()

    +

    Weighted standard deviation

    +

    which.pmax()

    +

    Index of the maximum per row

    +

    which.pmin()

    +

    Index of the minimum per row

    +

    pfun() psum() pmean() pmedian() psd() pvar() pcv() pp01() pp025() pp05() pp10() pp25() pp75() pp95() pp975() pp99()

    +

    Summarize a set of numeric vectors per row

    +

    xtile()

    +

    Split a numeric variable into a number of bins and return a vector of bin numbers

    +

    Data > Combine

    +

    Functions used with Data > Combine

    +
    +

    combine_data()

    +

    Combine datasets using dplyr's bind and join functions

    +

    Report

    +

    Functions used with Report > Rmd and Report > R

    +
    +

    fix_smart()

    +

    Replace smart quotes etc.

    +

    format_df()

    +

    Format a data.frame with a specified number of decimal places

    +

    format_nr()

    +

    Format a number with a specified number of decimal places, thousand sep, and a symbol

    +

    round_df()

    +

    Round doubles in a data.frame to a specified number of decimal places

    +

    register()

    +

    Register a data.frame or list in Radiant

    +

    deregister()

    +

    Deregister a data.frame or list in Radiant

    +

    render()

    +

    Base method used to render htmlwidgets

    +

    render(<datatables>)

    +

    Method to render DT tables

    +

    render(<plotly>)

    +

    Method to render plotly plots

    +

    Convenience functions

    +

    Convenience functions

    +
    +

    add_class()

    +

    Convenience function to add a class

    +

    add_description()

    +

    Convenience function to add a markdown description to a data.frame

    +

    get_class()

    +

    Get variable class

    +

    ci_label()

    +

    Labels for confidence intervals

    +

    ci_perc()

    +

    Values at confidence levels

    +

    copy_all()

    +

    Source all package functions

    +

    copy_attr()

    +

    Copy attributes from one object to another

    +

    copy_from()

    +

    Source for package functions

    +

    does_vary()

    +

    Does a vector have non-zero variability?

    +

    empty_level()

    +

    Convert categorical variables to factors and deal with empty/missing values

    +

    get_summary()

    +

    Create data.frame summary

    +

    indexr()

    +

    Find index corrected for missing values and filters

    +

    install_webshot()

    +

    Install webshot and phantomjs

    +

    iterms()

    +

    Create a vector of interaction terms for linear and logistic regression

    +

    qterms()

    +

    Create a vector of quadratic and cubed terms for use in linear and logistic regression

    +

    set_attr()

    +

    Alias used to add an attribute

    +

    sig_stars()

    +

    Add stars based on p.values

    +

    sshh()

    +

    Hide warnings and messages and return invisible

    +

    sshhr()

    +

    Hide warnings and messages and return result

    +

    Starting radiant.data

    +

    Functions used to start radiant shiny apps

    +
    +

    launch()

    +

    Launch radiant apps

    +

    radiant.data()

    +

    radiant.data

    +

    radiant.data_url()

    +

    Start radiant.data app but do not open a browser

    +

    radiant.data_viewer()

    +

    Launch the radiant.data app in the Rstudio viewer

    +

    radiant.data_window()

    +

    Launch the radiant.data app in an Rstudio window

    +

    Re-exported

    +

    Functions exported from other packages

    +
    +

    reexports theme_version bs_theme wrap_plots plot_annotation writePNG glue glue_data glue_collapse knit_print rownames_to_column tibble as_tibble tidy glance kurtosi skew date

    +

    Objects exported from other packages

    +

    Data sets

    +

    Data sets bundled with radiant.data

    +
    +

    avengers

    +

    Avengers

    +

    diamonds

    +

    Diamond prices

    +

    publishers

    +

    Comic publishers

    +

    superheroes

    +

    Super heroes

    +

    titanic

    +

    Survival data for the Titanic

    +

    Deprecated

    +

    Deprecated

    +
    +

    mean_rm()

    +

    Deprecated function(s) in the radiant.data package

    +

    store(<pivotr>)

    +

    Deprecated: Store method for the pivotr function

    +

    store(<explore>)

    +

    Deprecated: Store method for the explore function

    + + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/indexr.html b/radiant.data/docs/reference/indexr.html new file mode 100644 index 0000000..969b8cd --- /dev/null +++ b/radiant.data/docs/reference/indexr.html @@ -0,0 +1,167 @@ + +Find index corrected for missing values and filters — indexr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Find index corrected for missing values and filters

    +
    + +
    +
    indexr(dataset, vars = "", filt = "", arr = "", rows = NULL, cmd = "")
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset

    + + +
    vars
    +

    Variables to select

    + + +
    filt
    +

    Data filter

    + + +
    arr
    +

    Expression to arrange (sort) the data on (e.g., "color, desc(price)")

    + + +
    rows
    +

    Selected rows

    + + +
    cmd
    +

    A command used to customize the data

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/install_webshot.html b/radiant.data/docs/reference/install_webshot.html new file mode 100644 index 0000000..a9bca37 --- /dev/null +++ b/radiant.data/docs/reference/install_webshot.html @@ -0,0 +1,141 @@ + +Install webshot and phantomjs — install_webshot • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Install webshot and phantomjs

    +
    + +
    +
    install_webshot()
    +
    + + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/inverse.html b/radiant.data/docs/reference/inverse.html new file mode 100644 index 0000000..7ea07f4 --- /dev/null +++ b/radiant.data/docs/reference/inverse.html @@ -0,0 +1,153 @@ + +Calculate inverse of a variable — inverse • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Calculate inverse of a variable

    +
    + +
    +
    inverse(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    1/x

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/is.empty.html b/radiant.data/docs/reference/is.empty.html new file mode 100644 index 0000000..f0efd11 --- /dev/null +++ b/radiant.data/docs/reference/is.empty.html @@ -0,0 +1,187 @@ + +Is a variable empty — is.empty • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Is a variable empty

    +
    + +
    +
    is.empty(x, empty = "\\s*")
    +
    + +
    +

    Arguments

    +
    x
    +

    Character value to evaluate

    + + +
    empty
    +

    Indicate what 'empty' means. Default is empty string (i.e., "")

    + +
    +
    +

    Value

    + + +

    TRUE if empty, else FALSE

    +
    +
    +

    Details

    +

    Is a variable empty

    +
    + +
    +

    Examples

    +
    is.empty("")
    +#> [1] TRUE
    +is.empty(NULL)
    +#> [1] TRUE
    +is.empty(NA)
    +#> [1] TRUE
    +is.empty(c())
    +#> [1] TRUE
    +is.empty("none", empty = "none")
    +#> [1] TRUE
    +is.empty("")
    +#> [1] TRUE
    +is.empty("   ")
    +#> [1] TRUE
    +is.empty(" something  ")
    +#> [1] FALSE
    +is.empty(c("", "something"))
    +#> [1] FALSE
    +is.empty(c(NA, 1:100))
    +#> [1] FALSE
    +is.empty(mtcars)
    +#> [1] FALSE
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/is_double.html b/radiant.data/docs/reference/is_double.html new file mode 100644 index 0000000..8f583c9 --- /dev/null +++ b/radiant.data/docs/reference/is_double.html @@ -0,0 +1,153 @@ + +Is input a double (and not a date type)? — is_double • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Is input a double (and not a date type)?

    +
    + +
    +
    is_double(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input

    + +
    +
    +

    Value

    + + +

    TRUE if double and not a type of date, else FALSE

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/is_empty.html b/radiant.data/docs/reference/is_empty.html new file mode 100644 index 0000000..d08974d --- /dev/null +++ b/radiant.data/docs/reference/is_empty.html @@ -0,0 +1,182 @@ + +Is a character variable defined — is_empty • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Is a character variable defined

    +
    + +
    +
    is_empty(x, empty = "\\s*")
    +
    + +
    +

    Arguments

    +
    x
    +

    Character value to evaluate

    +
    empty
    +

    Indicate what 'empty' means. Default is empty string (i.e., "")

    +
    +
    +

    Value

    +

    TRUE if empty, else FALSE

    +
    +
    +

    Details

    +

    Is a variable NULL or an empty string

    +
    + +
    +

    Examples

    +
    is_empty("")
    +#> [1] TRUE
    +is_empty(NULL)
    +#> [1] TRUE
    +is_empty(NA)
    +#> [1] TRUE
    +is_empty(c())
    +#> [1] TRUE
    +is_empty("none", empty = "none")
    +#> [1] TRUE
    +is_empty("")
    +#> [1] TRUE
    +is_empty("   ")
    +#> [1] TRUE
    +is_empty(" something  ")
    +#> [1] FALSE
    +is_empty(c("", "something"))
    +#> [1] FALSE
    +is_empty(c(NA, 1:100))
    +#> [1] FALSE
    +is_empty(mtcars)
    +#> [1] FALSE
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.3.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/is_not.html b/radiant.data/docs/reference/is_not.html new file mode 100644 index 0000000..a34501f --- /dev/null +++ b/radiant.data/docs/reference/is_not.html @@ -0,0 +1,161 @@ + +Convenience function for is.null or is.na — is_not • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convenience function for is.null or is.na

    +
    + +
    +
    is_not(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input

    + +
    + +
    +

    Examples

    +
    is_not(NA)
    +#> [1] TRUE
    +is_not(NULL)
    +#> [1] TRUE
    +is_not(c())
    +#> [1] TRUE
    +is_not(list())
    +#> [1] TRUE
    +is_not(data.frame())
    +#> [1] TRUE
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/is_string.html b/radiant.data/docs/reference/is_string.html new file mode 100644 index 0000000..25e60e7 --- /dev/null +++ b/radiant.data/docs/reference/is_string.html @@ -0,0 +1,167 @@ + +Is input a string? — is_string • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Is input a string?

    +
    + +
    +
    is_string(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input

    + +
    +
    +

    Value

    + + +

    TRUE if string, else FALSE

    +
    + +
    +

    Examples

    +
    is_string("   ")
    +#> [1] FALSE
    +is_string("data")
    +#> [1] TRUE
    +is_string(c("data", ""))
    +#> [1] FALSE
    +is_string(NULL)
    +#> [1] FALSE
    +is_string(NA)
    +#> [1] FALSE
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/iterms.html b/radiant.data/docs/reference/iterms.html new file mode 100644 index 0000000..a822c94 --- /dev/null +++ b/radiant.data/docs/reference/iterms.html @@ -0,0 +1,171 @@ + +Create a vector of interaction terms for linear and logistic regression — iterms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create a vector of interaction terms for linear and logistic regression

    +
    + +
    +
    iterms(vars, nway = 2, sep = ":")
    +
    + +
    +

    Arguments

    +
    vars
    +

    Labels to use

    + + +
    nway
    +

    2-way (2) or 3-way (3) interaction labels to create

    + + +
    sep
    +

    Separator to use between variable names (e.g., :)

    + +
    +
    +

    Value

    + + +

    Character vector of interaction term labels

    +
    + +
    +

    Examples

    +
    paste0("var", 1:3) %>% iterms(2)
    +#> [1] "var1:var2" "var1:var3" "var2:var3"
    +paste0("var", 1:3) %>% iterms(3)
    +#> [1] "var1:var2"      "var1:var3"      "var2:var3"      "var1:var2:var3"
    +paste0("var", 1:3) %>% iterms(2, sep = ".")
    +#> [1] "var1.var2" "var1.var3" "var2.var3"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/knit_print.html b/radiant.data/docs/reference/knit_print.html new file mode 100644 index 0000000..fc71b10 --- /dev/null +++ b/radiant.data/docs/reference/knit_print.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting knit_print from knitr — knit_print • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting knit_print from knitr

    +
    + + + +

    Details

    + +

    See knit_print in the knitr package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/kurtosi.re.html b/radiant.data/docs/reference/kurtosi.re.html new file mode 100644 index 0000000..c43f4f0 --- /dev/null +++ b/radiant.data/docs/reference/kurtosi.re.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting kurtosi from psych — kurtosi • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting kurtosi from psych

    +
    + + + +

    Details

    + +

    See kurtosi in the psych package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/launch.html b/radiant.data/docs/reference/launch.html new file mode 100644 index 0000000..1b88a89 --- /dev/null +++ b/radiant.data/docs/reference/launch.html @@ -0,0 +1,174 @@ + +Launch radiant apps — launch • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Launch radiant apps

    +
    + +
    +
    launch(package = "radiant.data", run = "viewer", state, ...)
    +
    + +
    +

    Arguments

    +
    package
    +

    Radiant package to start. One of "radiant.data", "radiant.design", "radiant.basics", "radiant.model", "radiant.multivariate", or "radiant"

    + + +
    run
    +

    Run a radiant app in an external browser ("browser"), an Rstudio window ("window"), or in the Rstudio viewer ("viewer")

    + + +
    state
    +

    Path to statefile to load

    + + +
    ...
    +

    additional arguments to pass to shiny::runApp (e.g, port = 8080)

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/ for radiant documentation and tutorials

    +
    + +
    +

    Examples

    +
    if (FALSE) {
    +launch()
    +launch(run = "viewer")
    +launch(run = "window")
    +launch(run = "browser")
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/level_list.html b/radiant.data/docs/reference/level_list.html new file mode 100644 index 0000000..bdf0153 --- /dev/null +++ b/radiant.data/docs/reference/level_list.html @@ -0,0 +1,171 @@ + +Generate list of levels and unique values — level_list • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Generate list of levels and unique values

    +
    + +
    +
    level_list(dataset, ...)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    A data.frame

    + + +
    ...
    +

    Unquoted variable names to evaluate

    + +
    + +
    +

    Examples

    +
    data.frame(a = c(rep("a", 5), rep("b", 5)), b = c(rep(1, 5), 6:10)) %>% level_list()
    +#> $a
    +#> [1] "a" "b"
    +#> 
    +#> $b
    +#> [1]  1  6  7  8  9 10
    +#> 
    +level_list(mtcars, mpg, cyl)
    +#> $mpg
    +#>  [1] 21.0 22.8 21.4 18.7 18.1 14.3 24.4 19.2 17.8 16.4 17.3 15.2 10.4 14.7 32.4
    +#> [16] 30.4 33.9 21.5 15.5 13.3 27.3 26.0 15.8 19.7 15.0
    +#> 
    +#> $cyl
    +#> [1] 6 4 8
    +#> 
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/ln.html b/radiant.data/docs/reference/ln.html new file mode 100644 index 0000000..6fa224a --- /dev/null +++ b/radiant.data/docs/reference/ln.html @@ -0,0 +1,165 @@ + +Natural log — ln • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Natural log

    +
    + +
    +
    ln(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    Remove missing values (default is TRUE)

    + +
    +
    +

    Value

    + + +

    Natural log of vector

    +
    + +
    +

    Examples

    +
    ln(runif(10, 1, 2))
    +#>  [1] 0.4846652 0.6214164 0.5995395 0.4299635 0.3771382 0.2102091 0.5922178
    +#>  [8] 0.2149426 0.5359432 0.2461529
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/load_clip.html b/radiant.data/docs/reference/load_clip.html new file mode 100644 index 0000000..9f95a98 --- /dev/null +++ b/radiant.data/docs/reference/load_clip.html @@ -0,0 +1,163 @@ + +Load data through clipboard on Windows or macOS — load_clip • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Load data through clipboard on Windows or macOS

    +
    + +
    +
    load_clip(delim = "\t", text, suppress = TRUE)
    +
    + +
    +

    Arguments

    +
    delim
    +

    Delimiter to use (tab is the default)

    + + +
    text
    +

    Text input to convert to table

    + + +
    suppress
    +

    Suppress warnings

    + +
    +
    +

    Details

    +

    Extract data from the clipboard into a data.frame on Windows or macOS

    +
    +
    +

    See also

    +

    See the save_clip

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/make_arrange_cmd.html b/radiant.data/docs/reference/make_arrange_cmd.html new file mode 100644 index 0000000..c2aa327 --- /dev/null +++ b/radiant.data/docs/reference/make_arrange_cmd.html @@ -0,0 +1,161 @@ + +Generate arrange commands from user input — make_arrange_cmd • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Generate arrange commands from user input

    +
    + +
    +
    make_arrange_cmd(expr, dataset = "")
    +
    + +
    +

    Arguments

    +
    expr
    +

    Expression to use arrange rows from the specified dataset

    + + +
    dataset
    +

    String with dataset name

    + +
    +
    +

    Value

    + + +

    Arrange command

    +
    +
    +

    Details

    +

    Form arrange command from user input

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/make_train.html b/radiant.data/docs/reference/make_train.html new file mode 100644 index 0000000..4b682ed --- /dev/null +++ b/radiant.data/docs/reference/make_train.html @@ -0,0 +1,192 @@ + +Generate a variable used to selected a training sample — make_train • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Generate a variable used to selected a training sample

    +
    + +
    +
    make_train(n = 0.7, nr = NULL, blocks = NULL, seed = 1234)
    +
    + +
    +

    Arguments

    +
    n
    +

    Number (or fraction) of observations to label as training

    + + +
    nr
    +

    Number of rows in the dataset

    + + +
    blocks
    +

    A vector to use for blocking or a data.frame from which to construct a blocking vector

    + + +
    seed
    +

    Random seed

    + +
    +
    +

    Value

    + + +

    0/1 variables for filtering

    +
    + +
    +

    Examples

    +
    make_train(.5, 10)
    +#>  [1] 1 1 0 0 0 1 0 1 1 0
    +make_train(.5, 10) %>% table()
    +#> .
    +#> 0 1 
    +#> 5 5 
    +make_train(100, 1000) %>% table()
    +#> .
    +#>   0   1 
    +#> 900 100 
    +make_train(.15, blocks = mtcars$vs) %>% table() / nrow(mtcars)
    +#> .
    +#>       0       1 
    +#> 0.84375 0.15625 
    +make_train(.10, blocks = iris$Species) %>% table() / nrow(iris)
    +#> .
    +#>   0   1 
    +#> 0.9 0.1 
    +make_train(.5, blocks = iris[, c("Petal.Width", "Species")]) %>% table()
    +#> .
    +#>  0  1 
    +#> 75 75 
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/make_vec.html b/radiant.data/docs/reference/make_vec.html new file mode 100644 index 0000000..9239d95 --- /dev/null +++ b/radiant.data/docs/reference/make_vec.html @@ -0,0 +1,157 @@ + +Convert a string of numbers into a vector — make_vec • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert a string of numbers into a vector

    +
    + +
    +
    make_vec(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    A string of numbers that may include fractions

    + +
    + +
    +

    Examples

    +
    make_vec("1 2 4")
    +#> [1] 1 2 4
    +make_vec("1/2 2/3 4/5")
    +#> [1] 1/2 2/3 4/5
    +make_vec(0.1)
    +#> [1] 0.1
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/me.html b/radiant.data/docs/reference/me.html new file mode 100644 index 0000000..9492525 --- /dev/null +++ b/radiant.data/docs/reference/me.html @@ -0,0 +1,168 @@ + +Margin of error — me • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Margin of error

    +
    + +
    +
    me(x, conf_lev = 0.95, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    conf_lev
    +

    Confidence level. The default is 0.95

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Margin of error

    +
    + +
    +

    Examples

    +
    me(rnorm(100))
    +#> [1] 0.2048265
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/meprop.html b/radiant.data/docs/reference/meprop.html new file mode 100644 index 0000000..aab1483 --- /dev/null +++ b/radiant.data/docs/reference/meprop.html @@ -0,0 +1,168 @@ + +Margin of error for proportion — meprop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Margin of error for proportion

    +
    + +
    +
    meprop(x, conf_lev = 0.95, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    conf_lev
    +

    Confidence level. The default is 0.95

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Margin of error

    +
    + +
    +

    Examples

    +
    meprop(c(rep(1L, 10), rep(0L, 10)))
    +#> [1] 0.2191306
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/modal.html b/radiant.data/docs/reference/modal.html new file mode 100644 index 0000000..3705658 --- /dev/null +++ b/radiant.data/docs/reference/modal.html @@ -0,0 +1,169 @@ + +Calculate the mode (modal value) and return a label — modal • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Calculate the mode (modal value) and return a label

    +
    + +
    +
    modal(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    A vector

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Details

    +

    From https://www.tutorialspoint.com/r/r_mean_median_mode.htm

    +
    + +
    +

    Examples

    +
    modal(c("a", "b", "b"))
    +#> [1] "b"
    +modal(c(1:10, 5))
    +#> [1] 5
    +modal(as.factor(c(letters, "b")))
    +#> [1] b
    +#> Levels: a b c d e f g h i j k l m n o p q r s t u v w x y z
    +modal(runif(100) > 0.5)
    +#> [1] TRUE
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/month.html b/radiant.data/docs/reference/month.html new file mode 100644 index 0000000..a39ad6a --- /dev/null +++ b/radiant.data/docs/reference/month.html @@ -0,0 +1,163 @@ + +Add ordered argument to lubridate::month — month • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Add ordered argument to lubridate::month

    +
    + +
    +
    month(x, label = FALSE, abbr = TRUE, ordered = FALSE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input date vector

    + + +
    label
    +

    Month as label (TRUE, FALSE)

    + + +
    abbr
    +

    Abbreviate label (TRUE, FALSE)

    + + +
    ordered
    +

    Order factor (TRUE, FALSE)

    + +
    +
    +

    See also

    +

    See the month function in the lubridate package for additional details

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/mutate_ext.html b/radiant.data/docs/reference/mutate_ext.html new file mode 100644 index 0000000..e76ab15 --- /dev/null +++ b/radiant.data/docs/reference/mutate_ext.html @@ -0,0 +1,473 @@ + +Add transformed variables to a data frame with the option to include a custom variable name extension — mutate_ext • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Add transformed variables to a data frame with the option to include a custom variable name extension

    +
    + +
    +
    mutate_ext(.tbl, .funs, ..., .ext = "", .vars = c())
    +
    + +
    +

    Arguments

    +
    .tbl
    +

    Data frame to add transformed variables to

    + + +
    .funs
    +

    Function(s) to apply (e.g., log)

    + + +
    ...
    +

    Variables to transform

    + + +
    .ext
    +

    Extension to add for each variable

    + + +
    .vars
    +

    A list of columns generated by dplyr::vars(), or a character vector of column names, or a numeric vector of column positions.

    + +
    +
    +

    Details

    +

    Wrapper for dplyr::mutate_at that allows custom variable name extensions

    +
    + +
    +

    Examples

    +
    mutate_ext(mtcars, .funs = log, mpg, cyl, .ext = "_ln")
    +#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
    +#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
    +#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
    +#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
    +#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
    +#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
    +#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
    +#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
    +#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
    +#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
    +#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
    +#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
    +#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
    +#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
    +#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
    +#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
    +#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
    +#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
    +#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
    +#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
    +#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
    +#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
    +#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
    +#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
    +#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
    +#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
    +#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
    +#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
    +#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
    +#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
    +#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
    +#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
    +#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
    +#>                       mpg_ln   cyl_ln
    +#> Mazda RX4           3.044522 1.791759
    +#> Mazda RX4 Wag       3.044522 1.791759
    +#> Datsun 710          3.126761 1.386294
    +#> Hornet 4 Drive      3.063391 1.791759
    +#> Hornet Sportabout   2.928524 2.079442
    +#> Valiant             2.895912 1.791759
    +#> Duster 360          2.660260 2.079442
    +#> Merc 240D           3.194583 1.386294
    +#> Merc 230            3.126761 1.386294
    +#> Merc 280            2.954910 1.791759
    +#> Merc 280C           2.879198 1.791759
    +#> Merc 450SE          2.797281 2.079442
    +#> Merc 450SL          2.850707 2.079442
    +#> Merc 450SLC         2.721295 2.079442
    +#> Cadillac Fleetwood  2.341806 2.079442
    +#> Lincoln Continental 2.341806 2.079442
    +#> Chrysler Imperial   2.687847 2.079442
    +#> Fiat 128            3.478158 1.386294
    +#> Honda Civic         3.414443 1.386294
    +#> Toyota Corolla      3.523415 1.386294
    +#> Toyota Corona       3.068053 1.386294
    +#> Dodge Challenger    2.740840 2.079442
    +#> AMC Javelin         2.721295 2.079442
    +#> Camaro Z28          2.587764 2.079442
    +#> Pontiac Firebird    2.954910 2.079442
    +#> Fiat X1-9           3.306887 1.386294
    +#> Porsche 914-2       3.258097 1.386294
    +#> Lotus Europa        3.414443 1.386294
    +#> Ford Pantera L      2.760010 2.079442
    +#> Ferrari Dino        2.980619 1.791759
    +#> Maserati Bora       2.708050 2.079442
    +#> Volvo 142E          3.063391 1.386294
    +mutate_ext(mtcars, .funs = log, .ext = "_ln")
    +#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
    +#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
    +#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
    +#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
    +#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
    +#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
    +#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
    +#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
    +#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
    +#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
    +#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
    +#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
    +#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
    +#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
    +#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
    +#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
    +#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
    +#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
    +#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
    +#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
    +#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
    +#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
    +#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
    +#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
    +#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
    +#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
    +#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
    +#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
    +#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
    +#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
    +#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
    +#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
    +#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
    +#>                       mpg_ln   cyl_ln  disp_ln    hp_ln  drat_ln     wt_ln
    +#> Mazda RX4           3.044522 1.791759 5.075174 4.700480 1.360977 0.9631743
    +#> Mazda RX4 Wag       3.044522 1.791759 5.075174 4.700480 1.360977 1.0560527
    +#> Datsun 710          3.126761 1.386294 4.682131 4.532599 1.348073 0.8415672
    +#> Hornet 4 Drive      3.063391 1.791759 5.552960 4.700480 1.124930 1.1678274
    +#> Hornet Sportabout   2.928524 2.079442 5.886104 5.164786 1.147402 1.2354715
    +#> Valiant             2.895912 1.791759 5.416100 4.653960 1.015231 1.2412686
    +#> Duster 360          2.660260 2.079442 5.886104 5.501258 1.166271 1.2725656
    +#> Merc 240D           3.194583 1.386294 4.988390 4.127134 1.305626 1.1600209
    +#> Merc 230            3.126761 1.386294 4.947340 4.553877 1.366092 1.1474025
    +#> Merc 280            2.954910 1.791759 5.121580 4.812184 1.366092 1.2354715
    +#> Merc 280C           2.879198 1.791759 5.121580 4.812184 1.366092 1.2354715
    +#> Merc 450SE          2.797281 2.079442 5.619676 5.192957 1.121678 1.4036430
    +#> Merc 450SL          2.850707 2.079442 5.619676 5.192957 1.121678 1.3164082
    +#> Merc 450SLC         2.721295 2.079442 5.619676 5.192957 1.121678 1.3297240
    +#> Cadillac Fleetwood  2.341806 2.079442 6.156979 5.323010 1.075002 1.6582281
    +#> Lincoln Continental 2.341806 2.079442 6.131226 5.370638 1.098612 1.6908336
    +#> Chrysler Imperial   2.687847 2.079442 6.086775 5.438079 1.172482 1.6761615
    +#> Fiat 128            3.478158 1.386294 4.365643 4.189655 1.406097 0.7884574
    +#> Honda Civic         3.414443 1.386294 4.326778 3.951244 1.595339 0.4793350
    +#> Toyota Corolla      3.523415 1.386294 4.264087 4.174387 1.439835 0.6070445
    +#> Toyota Corona       3.068053 1.386294 4.788325 4.574711 1.308333 0.9021918
    +#> Dodge Challenger    2.740840 2.079442 5.762051 5.010635 1.015231 1.2584610
    +#> AMC Javelin         2.721295 2.079442 5.717028 5.010635 1.147402 1.2340169
    +#> Camaro Z28          2.587764 2.079442 5.857933 5.501258 1.316408 1.3454724
    +#> Pontiac Firebird    2.954910 2.079442 5.991465 5.164786 1.124930 1.3467736
    +#> Fiat X1-9           3.306887 1.386294 4.369448 4.189655 1.406097 0.6601073
    +#> Porsche 914-2       3.258097 1.386294 4.789989 4.510860 1.488400 0.7608058
    +#> Lotus Europa        3.414443 1.386294 4.554929 4.727388 1.327075 0.4140944
    +#> Ford Pantera L      2.760010 2.079442 5.860786 5.575949 1.439835 1.1537316
    +#> Ferrari Dino        2.980619 1.791759 4.976734 5.164786 1.286474 1.0188473
    +#> Maserati Bora       2.708050 2.079442 5.707110 5.814131 1.264127 1.2725656
    +#> Volvo 142E          3.063391 1.386294 4.795791 4.691348 1.413423 1.0224509
    +#>                      qsec_ln vs_ln am_ln  gear_ln   carb_ln
    +#> Mazda RX4           2.800933  -Inf     0 1.386294 1.3862944
    +#> Mazda RX4 Wag       2.834389  -Inf     0 1.386294 1.3862944
    +#> Datsun 710          2.923699     0     0 1.386294 0.0000000
    +#> Hornet 4 Drive      2.967333     0  -Inf 1.098612 0.0000000
    +#> Hornet Sportabout   2.834389  -Inf  -Inf 1.098612 0.6931472
    +#> Valiant             3.006672     0  -Inf 1.098612 0.0000000
    +#> Duster 360          2.762538  -Inf  -Inf 1.098612 1.3862944
    +#> Merc 240D           2.995732     0  -Inf 1.386294 0.6931472
    +#> Merc 230            3.131137     0  -Inf 1.386294 0.6931472
    +#> Merc 280            2.906901     0  -Inf 1.386294 1.3862944
    +#> Merc 280C           2.939162     0  -Inf 1.386294 1.3862944
    +#> Merc 450SE          2.856470  -Inf  -Inf 1.098612 1.0986123
    +#> Merc 450SL          2.867899  -Inf  -Inf 1.098612 1.0986123
    +#> Merc 450SLC         2.890372  -Inf  -Inf 1.098612 1.0986123
    +#> Cadillac Fleetwood  2.889260  -Inf  -Inf 1.098612 1.3862944
    +#> Lincoln Continental 2.880321  -Inf  -Inf 1.098612 1.3862944
    +#> Chrysler Imperial   2.857619  -Inf  -Inf 1.098612 1.3862944
    +#> Fiat 128            2.968875     0     0 1.386294 0.0000000
    +#> Honda Civic         2.918851     0     0 1.386294 0.6931472
    +#> Toyota Corolla      2.990720     0     0 1.386294 0.0000000
    +#> Toyota Corona       2.996232     0  -Inf 1.098612 0.0000000
    +#> Dodge Challenger    2.825537  -Inf  -Inf 1.098612 0.6931472
    +#> AMC Javelin         2.850707  -Inf  -Inf 1.098612 0.6931472
    +#> Camaro Z28          2.735017  -Inf  -Inf 1.098612 1.3862944
    +#> Pontiac Firebird    2.836150  -Inf  -Inf 1.098612 0.6931472
    +#> Fiat X1-9           2.939162     0     0 1.386294 0.0000000
    +#> Porsche 914-2       2.815409  -Inf     0 1.609438 0.6931472
    +#> Lotus Europa        2.827314     0     0 1.609438 0.6931472
    +#> Ford Pantera L      2.674149  -Inf     0 1.609438 1.3862944
    +#> Ferrari Dino        2.740840  -Inf     0 1.609438 1.7917595
    +#> Maserati Bora       2.681022  -Inf     0 1.609438 2.0794415
    +#> Volvo 142E          2.923162     0     0 1.386294 0.6931472
    +mutate_ext(mtcars, .funs = log)
    +#>                          mpg      cyl     disp       hp     drat        wt
    +#> Mazda RX4           3.044522 1.791759 5.075174 4.700480 1.360977 0.9631743
    +#> Mazda RX4 Wag       3.044522 1.791759 5.075174 4.700480 1.360977 1.0560527
    +#> Datsun 710          3.126761 1.386294 4.682131 4.532599 1.348073 0.8415672
    +#> Hornet 4 Drive      3.063391 1.791759 5.552960 4.700480 1.124930 1.1678274
    +#> Hornet Sportabout   2.928524 2.079442 5.886104 5.164786 1.147402 1.2354715
    +#> Valiant             2.895912 1.791759 5.416100 4.653960 1.015231 1.2412686
    +#> Duster 360          2.660260 2.079442 5.886104 5.501258 1.166271 1.2725656
    +#> Merc 240D           3.194583 1.386294 4.988390 4.127134 1.305626 1.1600209
    +#> Merc 230            3.126761 1.386294 4.947340 4.553877 1.366092 1.1474025
    +#> Merc 280            2.954910 1.791759 5.121580 4.812184 1.366092 1.2354715
    +#> Merc 280C           2.879198 1.791759 5.121580 4.812184 1.366092 1.2354715
    +#> Merc 450SE          2.797281 2.079442 5.619676 5.192957 1.121678 1.4036430
    +#> Merc 450SL          2.850707 2.079442 5.619676 5.192957 1.121678 1.3164082
    +#> Merc 450SLC         2.721295 2.079442 5.619676 5.192957 1.121678 1.3297240
    +#> Cadillac Fleetwood  2.341806 2.079442 6.156979 5.323010 1.075002 1.6582281
    +#> Lincoln Continental 2.341806 2.079442 6.131226 5.370638 1.098612 1.6908336
    +#> Chrysler Imperial   2.687847 2.079442 6.086775 5.438079 1.172482 1.6761615
    +#> Fiat 128            3.478158 1.386294 4.365643 4.189655 1.406097 0.7884574
    +#> Honda Civic         3.414443 1.386294 4.326778 3.951244 1.595339 0.4793350
    +#> Toyota Corolla      3.523415 1.386294 4.264087 4.174387 1.439835 0.6070445
    +#> Toyota Corona       3.068053 1.386294 4.788325 4.574711 1.308333 0.9021918
    +#> Dodge Challenger    2.740840 2.079442 5.762051 5.010635 1.015231 1.2584610
    +#> AMC Javelin         2.721295 2.079442 5.717028 5.010635 1.147402 1.2340169
    +#> Camaro Z28          2.587764 2.079442 5.857933 5.501258 1.316408 1.3454724
    +#> Pontiac Firebird    2.954910 2.079442 5.991465 5.164786 1.124930 1.3467736
    +#> Fiat X1-9           3.306887 1.386294 4.369448 4.189655 1.406097 0.6601073
    +#> Porsche 914-2       3.258097 1.386294 4.789989 4.510860 1.488400 0.7608058
    +#> Lotus Europa        3.414443 1.386294 4.554929 4.727388 1.327075 0.4140944
    +#> Ford Pantera L      2.760010 2.079442 5.860786 5.575949 1.439835 1.1537316
    +#> Ferrari Dino        2.980619 1.791759 4.976734 5.164786 1.286474 1.0188473
    +#> Maserati Bora       2.708050 2.079442 5.707110 5.814131 1.264127 1.2725656
    +#> Volvo 142E          3.063391 1.386294 4.795791 4.691348 1.413423 1.0224509
    +#>                         qsec   vs   am     gear      carb
    +#> Mazda RX4           2.800933 -Inf    0 1.386294 1.3862944
    +#> Mazda RX4 Wag       2.834389 -Inf    0 1.386294 1.3862944
    +#> Datsun 710          2.923699    0    0 1.386294 0.0000000
    +#> Hornet 4 Drive      2.967333    0 -Inf 1.098612 0.0000000
    +#> Hornet Sportabout   2.834389 -Inf -Inf 1.098612 0.6931472
    +#> Valiant             3.006672    0 -Inf 1.098612 0.0000000
    +#> Duster 360          2.762538 -Inf -Inf 1.098612 1.3862944
    +#> Merc 240D           2.995732    0 -Inf 1.386294 0.6931472
    +#> Merc 230            3.131137    0 -Inf 1.386294 0.6931472
    +#> Merc 280            2.906901    0 -Inf 1.386294 1.3862944
    +#> Merc 280C           2.939162    0 -Inf 1.386294 1.3862944
    +#> Merc 450SE          2.856470 -Inf -Inf 1.098612 1.0986123
    +#> Merc 450SL          2.867899 -Inf -Inf 1.098612 1.0986123
    +#> Merc 450SLC         2.890372 -Inf -Inf 1.098612 1.0986123
    +#> Cadillac Fleetwood  2.889260 -Inf -Inf 1.098612 1.3862944
    +#> Lincoln Continental 2.880321 -Inf -Inf 1.098612 1.3862944
    +#> Chrysler Imperial   2.857619 -Inf -Inf 1.098612 1.3862944
    +#> Fiat 128            2.968875    0    0 1.386294 0.0000000
    +#> Honda Civic         2.918851    0    0 1.386294 0.6931472
    +#> Toyota Corolla      2.990720    0    0 1.386294 0.0000000
    +#> Toyota Corona       2.996232    0 -Inf 1.098612 0.0000000
    +#> Dodge Challenger    2.825537 -Inf -Inf 1.098612 0.6931472
    +#> AMC Javelin         2.850707 -Inf -Inf 1.098612 0.6931472
    +#> Camaro Z28          2.735017 -Inf -Inf 1.098612 1.3862944
    +#> Pontiac Firebird    2.836150 -Inf -Inf 1.098612 0.6931472
    +#> Fiat X1-9           2.939162    0    0 1.386294 0.0000000
    +#> Porsche 914-2       2.815409 -Inf    0 1.609438 0.6931472
    +#> Lotus Europa        2.827314    0    0 1.609438 0.6931472
    +#> Ford Pantera L      2.674149 -Inf    0 1.609438 1.3862944
    +#> Ferrari Dino        2.740840 -Inf    0 1.609438 1.7917595
    +#> Maserati Bora       2.681022 -Inf    0 1.609438 2.0794415
    +#> Volvo 142E          2.923162    0    0 1.386294 0.6931472
    +mutate_ext(mtcars, .funs = log, .ext = "_ln", .vars = vars(mpg, cyl))
    +#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
    +#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
    +#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
    +#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
    +#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
    +#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
    +#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
    +#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
    +#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
    +#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
    +#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
    +#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
    +#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
    +#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
    +#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
    +#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
    +#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
    +#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
    +#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
    +#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
    +#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
    +#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
    +#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
    +#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
    +#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
    +#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
    +#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
    +#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
    +#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
    +#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
    +#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
    +#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
    +#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
    +#>                       mpg_ln   cyl_ln
    +#> Mazda RX4           3.044522 1.791759
    +#> Mazda RX4 Wag       3.044522 1.791759
    +#> Datsun 710          3.126761 1.386294
    +#> Hornet 4 Drive      3.063391 1.791759
    +#> Hornet Sportabout   2.928524 2.079442
    +#> Valiant             2.895912 1.791759
    +#> Duster 360          2.660260 2.079442
    +#> Merc 240D           3.194583 1.386294
    +#> Merc 230            3.126761 1.386294
    +#> Merc 280            2.954910 1.791759
    +#> Merc 280C           2.879198 1.791759
    +#> Merc 450SE          2.797281 2.079442
    +#> Merc 450SL          2.850707 2.079442
    +#> Merc 450SLC         2.721295 2.079442
    +#> Cadillac Fleetwood  2.341806 2.079442
    +#> Lincoln Continental 2.341806 2.079442
    +#> Chrysler Imperial   2.687847 2.079442
    +#> Fiat 128            3.478158 1.386294
    +#> Honda Civic         3.414443 1.386294
    +#> Toyota Corolla      3.523415 1.386294
    +#> Toyota Corona       3.068053 1.386294
    +#> Dodge Challenger    2.740840 2.079442
    +#> AMC Javelin         2.721295 2.079442
    +#> Camaro Z28          2.587764 2.079442
    +#> Pontiac Firebird    2.954910 2.079442
    +#> Fiat X1-9           3.306887 1.386294
    +#> Porsche 914-2       3.258097 1.386294
    +#> Lotus Europa        3.414443 1.386294
    +#> Ford Pantera L      2.760010 2.079442
    +#> Ferrari Dino        2.980619 1.791759
    +#> Maserati Bora       2.708050 2.079442
    +#> Volvo 142E          3.063391 1.386294
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/n_missing.html b/radiant.data/docs/reference/n_missing.html new file mode 100644 index 0000000..a41456b --- /dev/null +++ b/radiant.data/docs/reference/n_missing.html @@ -0,0 +1,164 @@ + +Number of missing values — n_missing • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Number of missing values

    +
    + +
    +
    n_missing(x, ...)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    ...
    +

    Additional arguments

    + +
    +
    +

    Value

    + + +

    number of missing values

    +
    + +
    +

    Examples

    +
    n_missing(c("a", "b", NA))
    +#> [1] 1
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/n_obs.html b/radiant.data/docs/reference/n_obs.html new file mode 100644 index 0000000..5f3ab97 --- /dev/null +++ b/radiant.data/docs/reference/n_obs.html @@ -0,0 +1,164 @@ + +Number of observations — n_obs • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Number of observations

    +
    + +
    +
    n_obs(x, ...)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    ...
    +

    Additional arguments

    + +
    +
    +

    Value

    + + +

    number of observations

    +
    + +
    +

    Examples

    +
    n_obs(c("a", "b", NA))
    +#> [1] 3
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/normalize.html b/radiant.data/docs/reference/normalize.html new file mode 100644 index 0000000..1e9ec12 --- /dev/null +++ b/radiant.data/docs/reference/normalize.html @@ -0,0 +1,157 @@ + +Normalize a variable x by a variable y — normalize • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Normalize a variable x by a variable y

    +
    + +
    +
    normalize(x, y)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    y
    +

    Normalizing variable

    + +
    +
    +

    Value

    + + +

    x/y

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/parse_path.html b/radiant.data/docs/reference/parse_path.html new file mode 100644 index 0000000..4b2b344 --- /dev/null +++ b/radiant.data/docs/reference/parse_path.html @@ -0,0 +1,183 @@ + +Parse file path into useful components — parse_path • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Parse file path into useful components

    +
    + +
    +
    parse_path(path, chr = "", pdir = getwd(), mess = TRUE)
    +
    + +
    +

    Arguments

    +
    path
    +

    Path to be parsed

    + + +
    chr
    +

    Character to wrap around path for display

    + + +
    pdir
    +

    Project directory if available

    + + +
    mess
    +

    Print messages if Dropbox or Google Drive not found

    + +
    +
    +

    Details

    +

    Parse file path into useful components (i.e., file name, file extension, relative path, etc.)

    +
    + +
    +

    Examples

    +
    list.files(".", full.names = TRUE)[1] %>% parse_path()
    +#> $path
    +#> [1] "/Users/vnijs/gh/radiant.data/docs/reference/Rplot001.png"
    +#> 
    +#> $rpath
    +#> Rplot001.png
    +#> 
    +#> $filename
    +#> [1] "Rplot001.png"
    +#> 
    +#> $fext
    +#> [1] "png"
    +#> 
    +#> $objname
    +#> [1] "Rplot001"
    +#> 
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/percentiles.html b/radiant.data/docs/reference/percentiles.html new file mode 100644 index 0000000..bc2a55a --- /dev/null +++ b/radiant.data/docs/reference/percentiles.html @@ -0,0 +1,177 @@ + +Calculate percentiles — p01 • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Calculate percentiles

    +
    + +
    +
    p01(x, na.rm = TRUE)
    +
    +p025(x, na.rm = TRUE)
    +
    +p05(x, na.rm = TRUE)
    +
    +p10(x, na.rm = TRUE)
    +
    +p25(x, na.rm = TRUE)
    +
    +p75(x, na.rm = TRUE)
    +
    +p90(x, na.rm = TRUE)
    +
    +p95(x, na.rm = TRUE)
    +
    +p975(x, na.rm = TRUE)
    +
    +p99(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Numeric vector

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    + +
    +

    Examples

    +
    p01(0:100)
    +#> 1% 
    +#>  1 
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/pfun.html b/radiant.data/docs/reference/pfun.html new file mode 100644 index 0000000..42995a6 --- /dev/null +++ b/radiant.data/docs/reference/pfun.html @@ -0,0 +1,207 @@ + +Summarize a set of numeric vectors per row — pfun • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Summarize a set of numeric vectors per row

    +
    + +
    +
    pfun(..., fun, na.rm = TRUE)
    +
    +psum(..., na.rm = TRUE)
    +
    +pmean(..., na.rm = TRUE)
    +
    +pmedian(..., na.rm = TRUE)
    +
    +psd(..., na.rm = TRUE)
    +
    +pvar(..., na.rm = TRUE)
    +
    +pcv(..., na.rm = TRUE)
    +
    +pp01(..., na.rm = TRUE)
    +
    +pp025(..., na.rm = TRUE)
    +
    +pp05(..., na.rm = TRUE)
    +
    +pp10(..., na.rm = TRUE)
    +
    +pp25(..., na.rm = TRUE)
    +
    +pp75(..., na.rm = TRUE)
    +
    +pp95(..., na.rm = TRUE)
    +
    +pp975(..., na.rm = TRUE)
    +
    +pp99(..., na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Numeric vectors of the same length

    + + +
    fun
    +

    Function to apply

    + + +
    na.rm
    +

    a logical indicating whether missing values should be removed.

    + +
    +
    +

    Value

    + + +

    A vector of 'parallel' summaries of the argument vectors.

    +
    +
    +

    Details

    +

    Calculate summary statistics of the input vectors per row (or 'parallel')

    +
    +
    +

    See also

    +

    See also pmin and pmax

    +
    + +
    +

    Examples

    +
    pfun(1:10, fun = mean)
    +#>  [1]  1  2  3  4  5  6  7  8  9 10
    +psum(1:10, 10:1)
    +#>  [1] 11 11 11 11 11 11 11 11 11 11
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/pivotr.html b/radiant.data/docs/reference/pivotr.html new file mode 100644 index 0000000..a357abc --- /dev/null +++ b/radiant.data/docs/reference/pivotr.html @@ -0,0 +1,338 @@ + +Create a pivot table — pivotr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create a pivot table

    +
    + +
    +
    pivotr(
    +  dataset,
    +  cvars = "",
    +  nvar = "None",
    +  fun = "mean",
    +  normalize = "None",
    +  tabfilt = "",
    +  tabsort = "",
    +  tabslice = "",
    +  nr = Inf,
    +  data_filter = "",
    +  arr = "",
    +  rows = NULL,
    +  envir = parent.frame()
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset to tabulate

    + + +
    cvars
    +

    Categorical variables

    + + +
    nvar
    +

    Numerical variable

    + + +
    fun
    +

    Function to apply to numerical variable

    + + +
    normalize
    +

    Normalize the table by row total, column totals, or overall total

    + + +
    tabfilt
    +

    Expression used to filter the table (e.g., "Total > 10000")

    + + +
    tabsort
    +

    Expression used to sort the table (e.g., "desc(Total)")

    + + +
    tabslice
    +

    Expression used to filter table (e.g., "1:5")

    + + +
    nr
    +

    Number of rows to display

    + + +
    data_filter
    +

    Expression used to filter the dataset before creating the table (e.g., "price > 10000")

    + + +
    arr
    +

    Expression to arrange (sort) the data on (e.g., "color, desc(price)")

    + + +
    rows
    +

    Rows to select from the specified dataset

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Details

    +

    Create a pivot-table. See https://radiant-rstats.github.io/docs/data/pivotr.html for an example in Radiant

    +
    + +
    +

    Examples

    +
    pivotr(diamonds, cvars = "cut") %>% str()
    +#> List of 18
    +#>  $ cni        : logi [1:2] FALSE FALSE
    +#>  $ cn         : chr [1:2] "cut" "n_obs"
    +#>  $ tab_freq   : tibble [6 × 2] (S3: tbl_df/tbl/data.frame)
    +#>   ..$ cut  : Factor w/ 6 levels "Fair","Good",..: 1 2 3 4 5 6
    +#>   ..$ n_obs: int [1:6] 101 275 677 771 1176 3000
    +#>  $ tab        :'data.frame':	6 obs. of  2 variables:
    +#>   ..$ cut  : Factor w/ 6 levels "Fair","Good",..: 1 2 3 4 5 6
    +#>   ..$ n_obs: int [1:6] 101 275 677 771 1176 3000
    +#>   ..- attr(*, "radiant_nrow")= num 5
    +#>  $ df_name    : chr "diamonds"
    +#>  $ fill       : int 0
    +#>  $ vars       : chr "cut"
    +#>  $ cvars      : chr "cut"
    +#>  $ nvar       : chr "n_obs"
    +#>  $ fun        : chr "mean"
    +#>  $ normalize  : chr "None"
    +#>  $ tabfilt    : chr ""
    +#>  $ tabsort    : chr ""
    +#>  $ tabslice   : chr ""
    +#>  $ nr         : num Inf
    +#>  $ data_filter: chr ""
    +#>  $ arr        : chr ""
    +#>  $ rows       : NULL
    +#>  - attr(*, "class")= chr [1:2] "pivotr" "list"
    +pivotr(diamonds, cvars = "cut")$tab
    +#>         cut n_obs
    +#> 1      Fair   101
    +#> 2      Good   275
    +#> 3 Very Good   677
    +#> 4   Premium   771
    +#> 5     Ideal  1176
    +#> 6     Total  3000
    +pivotr(diamonds, cvars = c("cut", "clarity", "color"))$tab
    +#>    clarity color Fair Good Very_Good Premium Ideal Total
    +#> 1       I1     D    0    1         0       3     0     4
    +#> 2       I1     E    1    1         2       1     0     5
    +#> 3       I1     F    2    1         2       2     4    11
    +#> 4       I1     G    1    1         1       2     0     5
    +#> 5       I1     H    3    0         1       3     1     8
    +#> 6       I1     I    4    0         0       1     0     5
    +#> 7       I1     J    1    0         0       1     0     2
    +#> 8      SI2     D    8   14        18      13    15    68
    +#> 9      SI2     E    5   16        30      25    30   106
    +#> 10     SI2     F    1   11        24      23    34    93
    +#> 11     SI2     G    5    7        29      35    21    97
    +#> 12     SI2     H    4    7        14      31    30    86
    +#> 13     SI2     I    2    2         7      21    14    46
    +#> 14     SI2     J    3    5        10       9     6    33
    +#> 15     SI1     D    4    9        21      38    39   111
    +#> 16     SI1     E    5   22        37      47    36   147
    +#> 17     SI1     F    4   14        40      25    42   125
    +#> 18     SI1     G    5   10        23      26    31    95
    +#> 19     SI1     H    9   13        21      31    43   117
    +#> 20     SI1     I    1   14        18      20    23    76
    +#> 21     SI1     J    1   11        11       9    18    50
    +#> 22     VS2     D    2    3        17      12    55    89
    +#> 23     VS2     E    2   15        26      41    55   139
    +#> 24     VS2     F    4   12        23      36    53   128
    +#> 25     VS2     G    2    8        17      42    50   119
    +#> 26     VS2     H    2   10        20      25    31    88
    +#> 27     VS2     I    2    2        16      17    19    56
    +#> 28     VS2     J    0    2        12      12    16    42
    +#> 29     VS1     D    0    3        10      13    24    50
    +#> 30     VS1     E    0    5         9      13    25    52
    +#> 31     VS1     F    4    8        25      17    29    83
    +#> 32     VS1     G    2    7        22      30    51   112
    +#> 33     VS1     H    3    3        19      23    22    70
    +#> 34     VS1     I    2    5        11      14    18    50
    +#> 35     VS1     J    2    2         3      10     8    25
    +#> 36    VVS2     D    0    4         8       9    20    41
    +#> 37    VVS2     E    1    1        25       7    22    56
    +#> 38    VVS2     F    0    0        14       6    29    49
    +#> 39    VVS2     G    1    3        21      10    43    78
    +#> 40    VVS2     H    0    3        12       5    13    33
    +#> 41    VVS2     I    0    1         1       4    14    20
    +#> 42    VVS2     J    0    0         2       2     3     7
    +#> 43    VVS1     D    1    1         2       4     9    17
    +#> 44    VVS1     E    0    2         7       7    21    37
    +#> 45    VVS1     F    1    7         4       4    29    45
    +#> 46    VVS1     G    0    3        16       9    42    70
    +#> 47    VVS1     H    0    1         6      11    14    32
    +#> 48    VVS1     I    0    1         4       3    12    20
    +#> 49    VVS1     J    0    0         1       1     1     3
    +#> 50      IF     D    0    0         1       0     1     2
    +#> 51      IF     E    0    0         4       3     5    12
    +#> 52      IF     F    1    2         4       6    18    31
    +#> 53      IF     G    0    1         2       2    16    21
    +#> 54      IF     H    0    0         2       3    15    20
    +#> 55      IF     I    0    1         2       3     5    11
    +#> 56      IF     J    0    0         0       1     1     2
    +#> 57   Total Total  101  275       677     771  1176  3000
    +pivotr(diamonds, cvars = "cut:clarity", nvar = "price")$tab
    +#>   clarity     Fair     Good Very_Good  Premium    Ideal    Total
    +#> 1      I1 2730.167 4333.500  3864.167 4932.231 6078.200 4194.775
    +#> 2     SI2 5893.964 5280.919  5045.621 5568.019 4435.673 5100.189
    +#> 3     SI1 4273.069 3757.022  4277.544 4113.811 3758.125 3998.577
    +#> 4     VS2 3292.000 3925.481  3950.947 4522.914 3306.290 3822.967
    +#> 5     VS1 5110.769 3740.697  3889.475 4461.333 3189.362 3789.181
    +#> 6    VVS2 2030.500 4378.167  2525.193 3580.581 3665.181 3337.820
    +#> 7    VVS1 6761.500 3889.333  1945.875 1426.692 2960.594 2608.460
    +#> 8      IF 3205.000  817.250  4675.867 2361.333 1961.344 2411.697
    +#> 9   Total 4505.238 4130.433  3959.916 4369.409 3470.224 3907.186
    +pivotr(diamonds, cvars = "cut", nvar = "price")$tab
    +#>         cut    price
    +#> 1      Fair 4505.238
    +#> 2      Good 4130.433
    +#> 3 Very Good 3959.916
    +#> 4   Premium 4369.409
    +#> 5     Ideal 3470.224
    +#> 6     Total 3907.186
    +pivotr(diamonds, cvars = "cut", normalize = "total")$tab
    +#>         cut      n_obs
    +#> 1      Fair 0.03366667
    +#> 2      Good 0.09166667
    +#> 3 Very Good 0.22566667
    +#> 4   Premium 0.25700000
    +#> 5     Ideal 0.39200000
    +#> 6     Total 1.00000000
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/plot.pivotr-1.png b/radiant.data/docs/reference/plot.pivotr-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b103934b534cd17cfb224b1df7a1faa777bf08cd GIT binary patch literal 24263 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/plot.pivotr-2.png b/radiant.data/docs/reference/plot.pivotr-2.png new file mode 100644 index 0000000000000000000000000000000000000000..048881073e4ade0e9bf12ede03f34baadcfc2d66 GIT binary patch literal 33198 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 OSCWtDsOKI&bNOEuwESxT literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/plot.pivotr-3.png b/radiant.data/docs/reference/plot.pivotr-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ece85eede48a360b02d80b95969f360bb52ab743 GIT binary patch literal 70582 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/plot.pivotr.html b/radiant.data/docs/reference/plot.pivotr.html new file mode 100644 index 0000000..44d7274 --- /dev/null +++ b/radiant.data/docs/reference/plot.pivotr.html @@ -0,0 +1,200 @@ + +Plot method for the pivotr function — plot.pivotr • radiant.data + + + + + + + diff --git a/radiant.data/docs/reference/print.gtable.html b/radiant.data/docs/reference/print.gtable.html new file mode 100644 index 0000000..925632b --- /dev/null +++ b/radiant.data/docs/reference/print.gtable.html @@ -0,0 +1,234 @@ + + + + + + + + +Print/draw method for grobs produced by gridExtra — print.gtable • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Print/draw method for grobs produced by gridExtra

    +
    + +
    # S3 method for gtable
    +print(x, ...)
    + +

    Arguments

    + + + + + + + + + + +
    x

    a gtable object

    ...

    further arguments passed to or from other methods

    + +

    Value

    + +

    A plot

    +

    Details

    + +

    Print method for grobs created using grid.arrange

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/prop.html b/radiant.data/docs/reference/prop.html new file mode 100644 index 0000000..f8e6155 --- /dev/null +++ b/radiant.data/docs/reference/prop.html @@ -0,0 +1,170 @@ + +Calculate proportion — prop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Calculate proportion

    +
    + +
    +
    prop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Proportion of first level for a factor and of the maximum value for numeric

    +
    + +
    +

    Examples

    +
    prop(c(rep(1L, 10), rep(0L, 10)))
    +#> [1] 0.5
    +prop(c(rep(4, 10), rep(2, 10)))
    +#> [1] 0.5
    +prop(rep(0, 10))
    +#> [1] 0
    +prop(factor(c(rep("a", 20), rep("b", 10))))
    +#> [1] 0.6666667
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/publishers.html b/radiant.data/docs/reference/publishers.html new file mode 100644 index 0000000..73657df --- /dev/null +++ b/radiant.data/docs/reference/publishers.html @@ -0,0 +1,149 @@ + +Comic publishers — publishers • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Comic publishers

    +
    + +
    +
    data(publishers)
    +
    + +
    +

    Format

    +

    A data frame with 3 rows and 2 variables

    +
    +
    +

    Details

    +

    List of comic publishers from https://stat545.com/join-cheatsheet.html. The dataset is used to illustrate data merging / joining. Description provided in attr(publishers,"description")

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/qscatter-1.png b/radiant.data/docs/reference/qscatter-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e29315fbb8198b5442f1ee44419ad7789f456b GIT binary patch literal 28137 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 t*g#Kx-srC}#JxFpn3J34bItez^OJm?`iZF> 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 Hr-UW|nf;Qz literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/qscatter-2.png b/radiant.data/docs/reference/qscatter-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f974894c4112bd1654889467922fbd4e15af94 GIT binary patch literal 33338 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 Q(g;Di@uLmdHd{acC&>Lu3IG5A literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/qscatter.html b/radiant.data/docs/reference/qscatter.html new file mode 100644 index 0000000..3ad615a --- /dev/null +++ b/radiant.data/docs/reference/qscatter.html @@ -0,0 +1,176 @@ + +Create a qscatter plot similar to Stata — qscatter • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create a qscatter plot similar to Stata

    +
    + +
    +
    qscatter(dataset, xvar, yvar, lev = "", fun = "mean", bins = 20)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data to plot (data.frame or tibble)

    + + +
    xvar
    +

    Character indicating the variable to display along the X-axis of the plot

    + + +
    yvar
    +

    Character indicating the variable to display along the Y-axis of the plot

    + + +
    lev
    +

    Level in yvar to use if yvar is of type character of factor. If lev is empty then the first level is used

    + + +
    fun
    +

    Summary measure to apply to both the x and y variable

    + + +
    bins
    +

    Number of bins to use

    + +
    + +
    +

    Examples

    +
    qscatter(diamonds, "price", "carat")
    +
    +qscatter(titanic, "age", "survived")
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/qterms.html b/radiant.data/docs/reference/qterms.html new file mode 100644 index 0000000..ffb19f2 --- /dev/null +++ b/radiant.data/docs/reference/qterms.html @@ -0,0 +1,165 @@ + +Create a vector of quadratic and cubed terms for use in linear and logistic regression — qterms • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create a vector of quadratic and cubed terms for use in linear and logistic regression

    +
    + +
    +
    qterms(vars, nway = 2)
    +
    + +
    +

    Arguments

    +
    vars
    +

    Variables labels to use

    + + +
    nway
    +

    quadratic (2) or cubic (3) term labels to create

    + +
    +
    +

    Value

    + + +

    Character vector of (regression) term labels

    +
    + +
    +

    Examples

    +
    qterms(c("a", "b"), 3)
    +#> [1] "I(a^2)" "I(b^2)" "I(a^3)" "I(b^3)"
    +qterms(c("a", "b"), 2)
    +#> [1] "I(a^2)" "I(b^2)"
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/radiant.data-deprecated.html b/radiant.data/docs/reference/radiant.data-deprecated.html new file mode 100644 index 0000000..edae6e0 --- /dev/null +++ b/radiant.data/docs/reference/radiant.data-deprecated.html @@ -0,0 +1,173 @@ + +Deprecated function(s) in the radiant.data package — radiant.data-deprecated • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    These functions are provided for compatibility with previous versions of +radiant but will be removed

    +
    + +
    +
    mean_rm(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Parameters to be passed to the updated functions

    + +
    +
    +

    Details

    + + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/radiant.data.html b/radiant.data/docs/reference/radiant.data.html new file mode 100644 index 0000000..5796ea3 --- /dev/null +++ b/radiant.data/docs/reference/radiant.data.html @@ -0,0 +1,160 @@ + +radiant.data — radiant.data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Launch the radiant.data app in the default web browser

    +
    + +
    +
    radiant.data(state, ...)
    +
    + +
    +

    Arguments

    +
    state
    +

    Path to statefile to load

    + + +
    ...
    +

    additional arguments to pass to shiny::runApp (e.g, port = 8080)

    + +
    + +
    +

    Examples

    +
    if (FALSE) {
    +radiant.data()
    +radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda")
    +radiant.data("viewer")
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/radiant.data_url.html b/radiant.data/docs/reference/radiant.data_url.html new file mode 100644 index 0000000..be0c3f2 --- /dev/null +++ b/radiant.data/docs/reference/radiant.data_url.html @@ -0,0 +1,158 @@ + +Start radiant.data app but do not open a browser — radiant.data_url • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Start radiant.data app but do not open a browser

    +
    + +
    +
    radiant.data_url(state, ...)
    +
    + +
    +

    Arguments

    +
    state
    +

    Path to statefile to load

    + + +
    ...
    +

    additional arguments to pass to shiny::runApp (e.g, port = 8080)

    + +
    + +
    +

    Examples

    +
    if (FALSE) {
    +radiant.data_url()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/radiant.data_viewer.html b/radiant.data/docs/reference/radiant.data_viewer.html new file mode 100644 index 0000000..fd97128 --- /dev/null +++ b/radiant.data/docs/reference/radiant.data_viewer.html @@ -0,0 +1,158 @@ + +Launch the radiant.data app in the Rstudio viewer — radiant.data_viewer • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Launch the radiant.data app in the Rstudio viewer

    +
    + +
    +
    radiant.data_viewer(state, ...)
    +
    + +
    +

    Arguments

    +
    state
    +

    Path to statefile to load

    + + +
    ...
    +

    additional arguments to pass to shiny::runApp (e.g, port = 8080)

    + +
    + +
    +

    Examples

    +
    if (FALSE) {
    +radiant.data_viewer()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/radiant.data_window.html b/radiant.data/docs/reference/radiant.data_window.html new file mode 100644 index 0000000..a022815 --- /dev/null +++ b/radiant.data/docs/reference/radiant.data_window.html @@ -0,0 +1,158 @@ + +Launch the radiant.data app in an Rstudio window — radiant.data_window • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Launch the radiant.data app in an Rstudio window

    +
    + +
    +
    radiant.data_window(state, ...)
    +
    + +
    +

    Arguments

    +
    state
    +

    Path to statefile to load

    + + +
    ...
    +

    additional arguments to pass to shiny::runApp (e.g, port = 8080)

    + +
    + +
    +

    Examples

    +
    if (FALSE) {
    +radiant.data_window()
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/read_files.html b/radiant.data/docs/reference/read_files.html new file mode 100644 index 0000000..ac08f55 --- /dev/null +++ b/radiant.data/docs/reference/read_files.html @@ -0,0 +1,185 @@ + +Generate code to read a file — read_files • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Generate code to read a file

    +
    + +
    +
    read_files(
    +  path,
    +  pdir = "",
    +  type = "rmd",
    +  to = "",
    +  clipboard = TRUE,
    +  radiant = FALSE
    +)
    +
    + +
    +

    Arguments

    +
    path
    +

    Path to file. If empty, a file browser will be opened

    + + +
    pdir
    +

    Project dir

    + + +
    type
    +

    Generate code for _Report > Rmd_ ("rmd") or _Report > R_ ("r")

    + + +
    to
    +

    Name to use for object. If empty, will use file name to derive an object name

    + + +
    clipboard
    +

    Return code to clipboard (not available on Linux)

    + + +
    radiant
    +

    Should returned code be formatted for use with other code generated by Radiant?

    + +
    +
    +

    Details

    +

    Return code to read a file at the specified path. Will open a file browser if no path is provided

    +
    + +
    +

    Examples

    +
    if (interactive()) {
    +  read_files(clipboard = FALSE)
    +}
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/reexports.html b/radiant.data/docs/reference/reexports.html new file mode 100644 index 0000000..a54ba15 --- /dev/null +++ b/radiant.data/docs/reference/reexports.html @@ -0,0 +1,214 @@ + +Objects exported from other packages — reexports • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    These objects are imported from other packages. Follow the links +below to see their documentation.

    +
    broom
    +

    glance, tidy

    + + +
    bslib
    +

    bs_theme, theme_version

    + + +
    glue
    +

    glue, glue_collapse, glue_data

    + + +
    knitr
    +

    knit_print

    + + +
    lubridate
    +

    date

    + + +
    patchwork
    +

    plot_annotation, wrap_plots

    + + +
    png
    +

    writePNG

    + + +
    psych
    +

    kurtosi, skew

    + + +
    tibble
    +

    as_tibble, rownames_to_column, tibble

    + + +
    + + + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/refactor.html b/radiant.data/docs/reference/refactor.html new file mode 100644 index 0000000..ac0fb6a --- /dev/null +++ b/radiant.data/docs/reference/refactor.html @@ -0,0 +1,170 @@ + +Remove/reorder levels — refactor • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Remove/reorder levels

    +
    + +
    +
    refactor(x, levs = levels(x), repl = NA)
    +
    + +
    +

    Arguments

    +
    x
    +

    Character or Factor

    + + +
    levs
    +

    Set of levels to use

    + + +
    repl
    +

    String (or NA) used to replace missing levels

    + +
    +
    +

    Details

    +

    Keep only a specific set of levels in a factor. By removing levels the base for comparison in, e.g., regression analysis, becomes the first level. To relabel the base use, for example, repl = 'other'

    +
    + +
    +

    Examples

    +
    refactor(diamonds$cut, c("Premium", "Ideal")) %>% head()
    +#> [1] Ideal   <NA>    <NA>    Ideal   Premium Ideal  
    +#> Levels: Premium Ideal
    +refactor(diamonds$cut, c("Premium", "Ideal"), "Other") %>% head()
    +#> [1] Ideal   Other   Other   Ideal   Premium Ideal  
    +#> Levels: Other Premium Ideal
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/register.html b/radiant.data/docs/reference/register.html new file mode 100644 index 0000000..94b44f9 --- /dev/null +++ b/radiant.data/docs/reference/register.html @@ -0,0 +1,174 @@ + +Register a data.frame or list in Radiant — register • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Register a data.frame or list in Radiant

    +
    + +
    +
    register(
    +  new,
    +  org = "",
    +  descr = "",
    +  shiny = shiny::getDefaultReactiveDomain(),
    +  envir = r_data
    +)
    +
    + +
    +

    Arguments

    +
    new
    +

    String containing the name of the data.frame to register

    + + +
    org
    +

    Name of the original data.frame if a (working) copy is being made

    + + +
    descr
    +

    Data description in markdown format

    + + +
    shiny
    +

    Check if function is called from a shiny application

    + + +
    envir
    +

    Environment to assign data to

    + +
    +
    +

    See also

    +

    See also add_description to add a description in markdown format + to a data.frame

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/render.datatables.html b/radiant.data/docs/reference/render.datatables.html new file mode 100644 index 0000000..42b315b --- /dev/null +++ b/radiant.data/docs/reference/render.datatables.html @@ -0,0 +1,156 @@ + +Method to render DT tables — render.datatables • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Method to render DT tables

    +
    + +
    +
    # S3 method for datatables
    +render(object, shiny = shiny::getDefaultReactiveDomain(), ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    DT table

    + + +
    shiny
    +

    Check if function is called from a shiny application

    + + +
    ...
    +

    Additional arguments

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/render.html b/radiant.data/docs/reference/render.html new file mode 100644 index 0000000..8b01a3f --- /dev/null +++ b/radiant.data/docs/reference/render.html @@ -0,0 +1,151 @@ + +Base method used to render htmlwidgets — render • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Base method used to render htmlwidgets

    +
    + +
    +
    render(object, ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    Object of relevant class to render

    + + +
    ...
    +

    Additional arguments

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/render.plotly.html b/radiant.data/docs/reference/render.plotly.html new file mode 100644 index 0000000..7c9c6df --- /dev/null +++ b/radiant.data/docs/reference/render.plotly.html @@ -0,0 +1,156 @@ + +Method to render plotly plots — render.plotly • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Method to render plotly plots

    +
    + +
    +
    # S3 method for plotly
    +render(object, shiny = shiny::getDefaultReactiveDomain(), ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    plotly object

    + + +
    shiny
    +

    Check if function is called from a shiny application

    + + +
    ...
    +

    Additional arguments

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/round_df.html b/radiant.data/docs/reference/round_df.html new file mode 100644 index 0000000..a442b68 --- /dev/null +++ b/radiant.data/docs/reference/round_df.html @@ -0,0 +1,166 @@ + +Round doubles in a data.frame to a specified number of decimal places — round_df • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Round doubles in a data.frame to a specified number of decimal places

    +
    + +
    +
    round_df(tbl, dec = 3)
    +
    + +
    +

    Arguments

    +
    tbl
    +

    Data frame

    + + +
    dec
    +

    Number of decimals to show

    + +
    +
    +

    Value

    + + +

    Data frame with rounded doubles

    +
    + +
    +

    Examples

    +
    data.frame(x = as.factor(c("a", "b")), y = c(1L, 2L), z = c(-0.0005, 3.1)) %>%
    +  round_df(dec = 2)
    +#>   x y   z
    +#> 1 a 1 0.0
    +#> 2 b 2 3.1
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/rownames_to_column.html b/radiant.data/docs/reference/rownames_to_column.html new file mode 100644 index 0000000..993305f --- /dev/null +++ b/radiant.data/docs/reference/rownames_to_column.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting rownames_to_column from tibble — rownames_to_column • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting rownames_to_column from tibble

    +
    + + + +

    Details

    + +

    See rownames in the tibble package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/save_clip.html b/radiant.data/docs/reference/save_clip.html new file mode 100644 index 0000000..970acc0 --- /dev/null +++ b/radiant.data/docs/reference/save_clip.html @@ -0,0 +1,155 @@ + +Save data to clipboard on Windows or macOS — save_clip • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Save data to clipboard on Windows or macOS

    +
    + +
    +
    save_clip(dataset)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset to save to clipboard

    + +
    +
    +

    Details

    +

    Save a data.frame or tibble to the clipboard on Windows or macOS

    +
    +
    +

    See also

    +

    See the load_clip

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/sdpop.html b/radiant.data/docs/reference/sdpop.html new file mode 100644 index 0000000..55b9306 --- /dev/null +++ b/radiant.data/docs/reference/sdpop.html @@ -0,0 +1,164 @@ + +Standard deviation for the population — sdpop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Standard deviation for the population

    +
    + +
    +
    sdpop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Standard deviation for the population

    +
    + +
    +

    Examples

    +
    sdpop(rnorm(100))
    +#> [1] 0.9326249
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/sdprop.html b/radiant.data/docs/reference/sdprop.html new file mode 100644 index 0000000..79e79fa --- /dev/null +++ b/radiant.data/docs/reference/sdprop.html @@ -0,0 +1,164 @@ + +Standard deviation for proportion — sdprop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Standard deviation for proportion

    +
    + +
    +
    sdprop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Standard deviation for proportion

    +
    + +
    +

    Examples

    +
    sdprop(c(rep(1L, 10), rep(0L, 10)))
    +#> [1] 0.5
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/se.html b/radiant.data/docs/reference/se.html new file mode 100644 index 0000000..665fa2f --- /dev/null +++ b/radiant.data/docs/reference/se.html @@ -0,0 +1,164 @@ + +Standard error — se • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Standard error

    +
    + +
    +
    se(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Standard error

    +
    + +
    +

    Examples

    +
    se(rnorm(100))
    +#> [1] 0.1073877
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/search_data.html b/radiant.data/docs/reference/search_data.html new file mode 100644 index 0000000..becc7ab --- /dev/null +++ b/radiant.data/docs/reference/search_data.html @@ -0,0 +1,172 @@ + +Search for a pattern in all columns of a data.frame — search_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Search for a pattern in all columns of a data.frame

    +
    + +
    +
    search_data(dataset, pattern, ignore.case = TRUE, fixed = FALSE)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data.frame to search

    + + +
    pattern
    +

    String to match

    + + +
    ignore.case
    +

    Should search be case sensitive or not (default is FALSE)

    + + +
    fixed
    +

    Allow regular expressions or not (default is FALSE)

    + +
    +
    +

    See also

    +

    See grepl for a detailed description of the function arguments

    +
    + +
    +

    Examples

    +
    publishers %>% filter(search_data(., "^m"))
    +#> # A tibble: 1 × 2
    +#>   publisher yr_founded
    +#>   <chr>          <int>
    +#> 1 Marvel          1939
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/seprop.html b/radiant.data/docs/reference/seprop.html new file mode 100644 index 0000000..f99b9a7 --- /dev/null +++ b/radiant.data/docs/reference/seprop.html @@ -0,0 +1,164 @@ + +Standard error for proportion — seprop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Standard error for proportion

    +
    + +
    +
    seprop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Standard error for proportion

    +
    + +
    +

    Examples

    +
    seprop(c(rep(1L, 10), rep(0L, 10)))
    +#> [1] 0.1118034
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/set_attr.html b/radiant.data/docs/reference/set_attr.html new file mode 100644 index 0000000..0f17d81 --- /dev/null +++ b/radiant.data/docs/reference/set_attr.html @@ -0,0 +1,160 @@ + +Alias used to add an attribute — set_attr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Alias used to add an attribute

    +
    + +
    +
    set_attr(x, which, value)
    +
    + +
    +

    Arguments

    +
    x
    +

    Object

    + + +
    which
    +

    Attribute name

    + + +
    value
    +

    Value to set

    + +
    + +
    +

    Examples

    +
    foo <- data.frame(price = 1:5) %>% set_attr("description", "price set in experiment ...")
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/show_duplicated.html b/radiant.data/docs/reference/show_duplicated.html new file mode 100644 index 0000000..4f76379 --- /dev/null +++ b/radiant.data/docs/reference/show_duplicated.html @@ -0,0 +1,186 @@ + +Show all rows with duplicated values (not just the first or last) — show_duplicated • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Show all rows with duplicated values (not just the first or last)

    +
    + +
    +
    show_duplicated(.tbl, ...)
    +
    + +
    +

    Arguments

    +
    .tbl
    +

    Data frame to add transformed variables to

    + + +
    ...
    +

    Variables used to evaluate row uniqueness

    + +
    +
    +

    Details

    +

    If an entire row is duplicated use "duplicated" to show only one of the duplicated rows. When using a subset of variables to establish uniqueness it may be of interest to show all rows that have (some) duplicate elements

    +
    + +
    +

    Examples

    +
    bind_rows(mtcars, mtcars[c(1, 5, 7), ]) %>%
    +  show_duplicated(mpg, cyl)
    +#> # A tibble: 15 × 12
    +#>      mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb nr_dup
    +#>    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <int>
    +#>  1  10.4     8 472     205  2.93  5.25  18.0     0     0     3     4      1
    +#>  2  10.4     8 460     215  3     5.42  17.8     0     0     3     4      2
    +#>  3  14.3     8 360     245  3.21  3.57  15.8     0     0     3     4      1
    +#>  4  14.3     8 360     245  3.21  3.57  15.8     0     0     3     4      2
    +#>  5  15.2     8 276.    180  3.07  3.78  18       0     0     3     3      1
    +#>  6  15.2     8 304     150  3.15  3.44  17.3     0     0     3     2      2
    +#>  7  18.7     8 360     175  3.15  3.44  17.0     0     0     3     2      1
    +#>  8  18.7     8 360     175  3.15  3.44  17.0     0     0     3     2      2
    +#>  9  21       6 160     110  3.9   2.62  16.5     0     1     4     4      1
    +#> 10  21       6 160     110  3.9   2.88  17.0     0     1     4     4      2
    +#> 11  21       6 160     110  3.9   2.62  16.5     0     1     4     4      3
    +#> 12  22.8     4 108      93  3.85  2.32  18.6     1     1     4     1      1
    +#> 13  22.8     4 141.     95  3.92  3.15  22.9     1     0     4     2      2
    +#> 14  30.4     4  75.7    52  4.93  1.62  18.5     1     1     4     2      1
    +#> 15  30.4     4  95.1   113  3.77  1.51  16.9     1     1     5     2      2
    +bind_rows(mtcars, mtcars[c(1, 5, 7), ]) %>%
    +  show_duplicated()
    +#>                    mpg cyl disp  hp drat   wt  qsec vs am gear carb
    +#> Mazda RX4         21.0   6  160 110 3.90 2.62 16.46  0  1    4    4
    +#> Hornet Sportabout 18.7   8  360 175 3.15 3.44 17.02  0  0    3    2
    +#> Duster 360        14.3   8  360 245 3.21 3.57 15.84  0  0    3    4
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/sig_stars.html b/radiant.data/docs/reference/sig_stars.html new file mode 100644 index 0000000..2e64b9a --- /dev/null +++ b/radiant.data/docs/reference/sig_stars.html @@ -0,0 +1,159 @@ + +Add stars based on p.values — sig_stars • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Add stars based on p.values

    +
    + +
    +
    sig_stars(pval)
    +
    + +
    +

    Arguments

    +
    pval
    +

    Vector of p-values

    + +
    +
    +

    Value

    + + +

    A vector of stars

    +
    + +
    +

    Examples

    +
    sig_stars(c(.0009, .049, .009, .4, .09))
    +#> [1] "***" "*"   "**"  ""    "."  
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/skew.re.html b/radiant.data/docs/reference/skew.re.html new file mode 100644 index 0000000..31a2dda --- /dev/null +++ b/radiant.data/docs/reference/skew.re.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting skew from psych — skew • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting skew from psych

    +
    + + + +

    Details

    + +

    See skew in the psych package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/slice_data.html b/radiant.data/docs/reference/slice_data.html new file mode 100644 index 0000000..a079830 --- /dev/null +++ b/radiant.data/docs/reference/slice_data.html @@ -0,0 +1,165 @@ + +Slice data with user-specified expression — slice_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Slice data with user-specified expression

    +
    + +
    +
    slice_data(dataset, expr = NULL, drop = TRUE)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data frame to slice

    + + +
    expr
    +

    Expression to use select rows from the specified dataset

    + + +
    drop
    +

    Drop unused factor levels after filtering (default is TRUE)

    + +
    +
    +

    Value

    + + +

    Sliced data frame

    +
    +
    +

    Details

    +

    Select only a slice of the data to work with

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/square.html b/radiant.data/docs/reference/square.html new file mode 100644 index 0000000..ed1a62c --- /dev/null +++ b/radiant.data/docs/reference/square.html @@ -0,0 +1,153 @@ + +Calculate square of a variable — square • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Calculate square of a variable

    +
    + +
    +
    square(x)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + +
    +
    +

    Value

    + + +

    x^2

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/sshh.html b/radiant.data/docs/reference/sshh.html new file mode 100644 index 0000000..4304623 --- /dev/null +++ b/radiant.data/docs/reference/sshh.html @@ -0,0 +1,156 @@ + +Hide warnings and messages and return invisible — sshh • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Hide warnings and messages and return invisible

    +
    + +
    +
    sshh(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Inputs to keep quite

    + +
    +
    +

    Details

    +

    Hide warnings and messages and return invisible

    +
    + +
    +

    Examples

    +
    sshh(library(dplyr))
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/sshhr.html b/radiant.data/docs/reference/sshhr.html new file mode 100644 index 0000000..873b045 --- /dev/null +++ b/radiant.data/docs/reference/sshhr.html @@ -0,0 +1,156 @@ + +Hide warnings and messages and return result — sshhr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Hide warnings and messages and return result

    +
    + +
    +
    sshhr(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Inputs to keep quite

    + +
    +
    +

    Details

    +

    Hide warnings and messages and return result

    +
    + +
    +

    Examples

    +
    sshhr(library(dplyr))
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/standardize.html b/radiant.data/docs/reference/standardize.html new file mode 100644 index 0000000..1cb9fc5 --- /dev/null +++ b/radiant.data/docs/reference/standardize.html @@ -0,0 +1,157 @@ + +Standardize — standardize • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Standardize

    +
    + +
    +
    standardize(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    If x is a numeric variable return (x - mean(x)) / sd(x)

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/store.explore.html b/radiant.data/docs/reference/store.explore.html new file mode 100644 index 0000000..c5b626c --- /dev/null +++ b/radiant.data/docs/reference/store.explore.html @@ -0,0 +1,168 @@ + +Deprecated: Store method for the explore function — store.explore • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Deprecated: Store method for the explore function

    +
    + +
    +
    # S3 method for explore
    +store(dataset, object, name, ...)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset

    + + +
    object
    +

    Return value from explore

    + + +
    name
    +

    Name to assign to the dataset

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    Return the summarized data. See https://radiant-rstats.github.io/docs/data/explore.html for an example in Radiant

    +
    +
    +

    See also

    +

    explore to generate summaries

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/store.html b/radiant.data/docs/reference/store.html new file mode 100644 index 0000000..cbd5b6e --- /dev/null +++ b/radiant.data/docs/reference/store.html @@ -0,0 +1,155 @@ + +Method to store variables in a dataset in Radiant — store • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Method to store variables in a dataset in Radiant

    +
    + +
    +
    store(dataset, object = "deprecated", ...)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset

    + + +
    object
    +

    Object of relevant class that has information to be stored

    + + +
    ...
    +

    Additional arguments

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/store.pivotr.html b/radiant.data/docs/reference/store.pivotr.html new file mode 100644 index 0000000..e97c5a9 --- /dev/null +++ b/radiant.data/docs/reference/store.pivotr.html @@ -0,0 +1,168 @@ + +Deprecated: Store method for the pivotr function — store.pivotr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Deprecated: Store method for the pivotr function

    +
    + +
    +
    # S3 method for pivotr
    +store(dataset, object, name, ...)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Dataset

    + + +
    object
    +

    Return value from pivotr

    + + +
    name
    +

    Name to assign to the dataset

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    Return the summarized data. See https://radiant-rstats.github.io/docs/data/pivotr.html for an example in Radiant

    +
    +
    +

    See also

    +

    pivotr to generate summaries

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/subplot.html b/radiant.data/docs/reference/subplot.html new file mode 100644 index 0000000..7019d25 --- /dev/null +++ b/radiant.data/docs/reference/subplot.html @@ -0,0 +1,155 @@ + +Work around to avoid (harmless) messages from subplot — subplot • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Work around to avoid (harmless) messages from subplot

    +
    + +
    +
    subplot(..., margin = 0.04)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Arguments to pass to the subplot function in the plotly packages

    + + +
    margin
    +

    Default margin to use between plots

    + +
    +
    +

    See also

    +

    See the subplot in the plotly package for details (?plotly::subplot)

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/summary.explore.html b/radiant.data/docs/reference/summary.explore.html new file mode 100644 index 0000000..1ca2ca8 --- /dev/null +++ b/radiant.data/docs/reference/summary.explore.html @@ -0,0 +1,256 @@ + +Summary method for the explore function — summary.explore • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Summary method for the explore function

    +
    + +
    +
    # S3 method for explore
    +summary(object, dec = 3, ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    Return value from explore

    + + +
    dec
    +

    Number of decimals to show

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/explore.html for an example in Radiant

    +
    +
    +

    See also

    +

    explore to generate summaries

    +
    + +
    +

    Examples

    +
    result <- explore(diamonds, "price:x")
    +summary(result)
    +#> Explore
    +#> Data        : diamonds 
    +#> Functions   : mean, sd 
    +#> Top         : Function 
    +#> 
    +#>  variable      mean        sd
    +#>     price 3,907.186 3,956.915
    +#>     carat     0.794     0.474
    +#>   clarity     0.013     0.115
    +#>       cut     0.034     0.180
    +#>     color     0.127     0.333
    +#>     depth    61.753     1.446
    +#>     table    57.465     2.241
    +#>         x     5.722     1.124
    +result <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"))
    +summary(result)
    +#> Explore
    +#> Data        : diamonds 
    +#> Grouped by  : cut 
    +#> Functions   : n_obs, skew 
    +#> Top         : Function 
    +#> 
    +#>        cut variable n_obs  skew
    +#>       Fair    price   101 1.574
    +#>       Good    price   275 1.489
    +#>  Very Good    price   677 1.601
    +#>    Premium    price   771 1.413
    +#>      Ideal    price 1,176 1.799
    +explore(diamonds, "price:x", byvar = "color") %>% summary()
    +#> Explore
    +#> Data        : diamonds 
    +#> Grouped by  : color 
    +#> Functions   : mean, sd 
    +#> Top         : Function 
    +#> 
    +#>  color variable      mean        sd
    +#>      D    price 3,217.003 3,278.276
    +#>      D    carat     0.665     0.365
    +#>      D  clarity     0.010     0.102
    +#>      D      cut     0.039     0.194
    +#>      D    depth    61.705     1.452
    +#>      D    table    57.438     2.269
    +#>      D        x     5.437     0.943
    +#>      E    price 3,284.596 3,610.872
    +#>      E    carat     0.679     0.391
    +#>      E  clarity     0.009     0.095
    +#>      E      cut     0.025     0.157
    +#>      E    depth    61.768     1.391
    +#>      E    table    57.548     2.262
    +#>      E        x     5.455     0.999
    +#>      F    price 3,654.492 3,779.511
    +#>      F    carat     0.728     0.405
    +#>      F  clarity     0.019     0.138
    +#>      F      cut     0.030     0.171
    +#>      F    depth    61.686     1.396
    +#>      F    table    57.428     2.275
    +#>      F        x     5.590     1.016
    +#>      G    price 3,970.573 4,002.082
    +#>      G    carat     0.774     0.451
    +#>      G  clarity     0.008     0.091
    +#>      G      cut     0.027     0.162
    +#>      G    depth    61.669     1.404
    +#>      G    table    57.341     2.133
    +#>      G        x     5.686     1.094
    +#>      H    price 4,250.302 4,063.648
    +#>      H    carat     0.880     0.503
    +#>      H  clarity     0.018     0.132
    +#>      H      cut     0.046     0.210
    +#>      H    depth    61.841     1.463
    +#>      H    table    57.464     2.208
    +#>      H        x     5.914     1.186
    +#>      I    price 4,869.190 4,570.572
    +#>      I    carat     1.001     0.573
    +#>      I  clarity     0.018     0.132
    +#>      I      cut     0.039     0.193
    +#>      I    depth    61.938     1.620
    +#>      I    table    57.446     2.160
    +#>      I        x     6.163     1.251
    +#>      J    price 5,642.012 4,574.576
    +#>      J    carat     1.193     0.602
    +#>      J  clarity     0.012     0.110
    +#>      J      cut     0.043     0.203
    +#>      J    depth    61.779     1.549
    +#>      J    table    57.863     2.563
    +#>      J        x     6.578     1.237
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/summary.pivotr.html b/radiant.data/docs/reference/summary.pivotr.html new file mode 100644 index 0000000..035719b --- /dev/null +++ b/radiant.data/docs/reference/summary.pivotr.html @@ -0,0 +1,239 @@ + +Summary method for pivotr — summary.pivotr • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Summary method for pivotr

    +
    + +
    +
    # S3 method for pivotr
    +summary(object, perc = FALSE, dec = 3, chi2 = FALSE, shiny = FALSE, ...)
    +
    + +
    +

    Arguments

    +
    object
    +

    Return value from pivotr

    + + +
    perc
    +

    Display numbers as percentages (TRUE or FALSE)

    + + +
    dec
    +

    Number of decimals to show

    + + +
    chi2
    +

    If TRUE calculate the chi-square statistic for the (pivot) table

    + + +
    shiny
    +

    Did the function call originate inside a shiny app

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/pivotr.html for an example in Radiant

    +
    +
    +

    See also

    +

    pivotr to create the pivot-table using dplyr

    +
    + +
    +

    Examples

    +
    pivotr(diamonds, cvars = "cut") %>% summary(chi2 = TRUE)
    +#> Pivot table
    +#> Data        : diamonds 
    +#> Categorical : cut 
    +#> 
    +#>        cut n_obs
    +#>       Fair   101
    +#>       Good   275
    +#>  Very Good   677
    +#>    Premium   771
    +#>      Ideal 1,176
    +#>      Total 3,000
    +#> 
    +#> Chi-squared: 1202.62 df(4), p.value < .001
    +#> 0.0% of cells have expected values below 5
    +pivotr(diamonds, cvars = "cut", tabsort = "desc(n_obs)") %>% summary()
    +#> Pivot table
    +#> Data        : diamonds 
    +#> Table sorted: desc(n_obs) 
    +#> Categorical : cut 
    +#> 
    +#>        cut n_obs
    +#>      Ideal 1,176
    +#>    Premium   771
    +#>  Very Good   677
    +#>       Good   275
    +#>       Fair   101
    +#>      Total 3,000
    +#> 
    +pivotr(diamonds, cvars = "cut", tabfilt = "n_obs > 700") %>% summary()
    +#> Pivot table
    +#> Data        : diamonds 
    +#> Table filter: n_obs > 700 
    +#> Categorical : cut 
    +#> 
    +#>      cut n_obs
    +#>  Premium   771
    +#>    Ideal 1,176
    +#>    Total 3,000
    +#> 
    +pivotr(diamonds, cvars = "cut:clarity", nvar = "price") %>% summary()
    +#> Pivot table
    +#> Data        : diamonds 
    +#> Categorical : cut clarity 
    +#> Numeric     : price 
    +#> Function    : mean 
    +#> 
    +#>  clarity      Fair      Good Very_Good   Premium     Ideal     Total
    +#>       I1 2,730.167 4,333.500 3,864.167 4,932.231 6,078.200 4,194.775
    +#>      SI2 5,893.964 5,280.919 5,045.621 5,568.019 4,435.673 5,100.189
    +#>      SI1 4,273.069 3,757.022 4,277.544 4,113.811 3,758.125 3,998.577
    +#>      VS2 3,292.000 3,925.481 3,950.947 4,522.914 3,306.290 3,822.967
    +#>      VS1 5,110.769 3,740.697 3,889.475 4,461.333 3,189.362 3,789.181
    +#>     VVS2 2,030.500 4,378.167 2,525.193 3,580.581 3,665.181 3,337.820
    +#>     VVS1 6,761.500 3,889.333 1,945.875 1,426.692 2,960.594 2,608.460
    +#>       IF 3,205.000   817.250 4,675.867 2,361.333 1,961.344 2,411.697
    +#>    Total 4,505.238 4,130.433 3,959.916 4,369.409 3,470.224 3,907.186
    +#> 
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/superheroes.html b/radiant.data/docs/reference/superheroes.html new file mode 100644 index 0000000..9c52258 --- /dev/null +++ b/radiant.data/docs/reference/superheroes.html @@ -0,0 +1,149 @@ + +Super heroes — superheroes • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Super heroes

    +
    + +
    +
    data(superheroes)
    +
    + +
    +

    Format

    +

    A data frame with 7 rows and 4 variables

    +
    +
    +

    Details

    +

    List of super heroes from https://stat545.com/join-cheatsheet.html. The dataset is used to illustrate data merging / joining. Description provided in attr(superheroes,"description")

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/table2data.html b/radiant.data/docs/reference/table2data.html new file mode 100644 index 0000000..dc40cf5 --- /dev/null +++ b/radiant.data/docs/reference/table2data.html @@ -0,0 +1,170 @@ + +Create data.frame from a table — table2data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Create data.frame from a table

    +
    + +
    +
    table2data(dataset, freq = tail(colnames(dataset), 1))
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data.frame

    + + +
    freq
    +

    Column name with frequency information

    + +
    + +
    +

    Examples

    +
    data.frame(price = c("$200", "$300"), sale = c(10, 2)) %>% table2data()
    +#>     price
    +#> 1    $200
    +#> 1.1  $200
    +#> 1.2  $200
    +#> 1.3  $200
    +#> 1.4  $200
    +#> 1.5  $200
    +#> 1.6  $200
    +#> 1.7  $200
    +#> 1.8  $200
    +#> 1.9  $200
    +#> 2    $300
    +#> 2.1  $300
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/tibble.html b/radiant.data/docs/reference/tibble.html new file mode 100644 index 0000000..a0a7638 --- /dev/null +++ b/radiant.data/docs/reference/tibble.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting tibble from tibble — tibble • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting tibble from tibble

    +
    + + + +

    Details

    + +

    See tibble in the tibble package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/tidy.html b/radiant.data/docs/reference/tidy.html new file mode 100644 index 0000000..c9e45ec --- /dev/null +++ b/radiant.data/docs/reference/tidy.html @@ -0,0 +1,215 @@ + + + + + + + + +Exporting tidy from broom — tidy • radiant.data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + +
    +

    Exporting tidy from broom

    +
    + + + +

    Details

    + +

    See tidy in the broom package for more details

    + +
    + +
    + +
    + + +
    +

    Site built with pkgdown 1.3.0.

    +
    +
    +
    + + + + + + + + + diff --git a/radiant.data/docs/reference/titanic.html b/radiant.data/docs/reference/titanic.html new file mode 100644 index 0000000..9b463f5 --- /dev/null +++ b/radiant.data/docs/reference/titanic.html @@ -0,0 +1,149 @@ + +Survival data for the Titanic — titanic • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Survival data for the Titanic

    +
    + +
    +
    data(titanic)
    +
    + +
    +

    Format

    +

    A data frame with 1043 rows and 10 variables

    +
    +
    +

    Details

    +

    Survival data for the Titanic. Description provided in attr(titanic,"description")

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/to_fct.html b/radiant.data/docs/reference/to_fct.html new file mode 100644 index 0000000..8bca1da --- /dev/null +++ b/radiant.data/docs/reference/to_fct.html @@ -0,0 +1,173 @@ + +Convert characters to factors — to_fct • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Convert characters to factors

    +
    + +
    +
    to_fct(dataset, safx = 30, nuniq = 100, n = 100)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data frame

    + + +
    safx
    +

    Ratio of number of rows to number of unique values

    + + +
    nuniq
    +

    Cutoff for number of unique values

    + + +
    n
    +

    Cutoff for small dataset

    + +
    +
    +

    Details

    +

    Convert columns of type character to factors based on a set of rules. By default columns will be converted for small datasets (<= 100 rows) with more rows than unique values. For larger datasets, columns are converted only when the number of unique values is <= 100 and there are 30 or more rows in the data for every unique value

    +
    + +
    +

    Examples

    +
    tibble(a = c("a", "b"), b = c("a", "a"), c = 1:2) %>% to_fct()
    +#> # A tibble: 2 × 3
    +#>   a     b         c
    +#>   <chr> <fct> <int>
    +#> 1 a     a         1
    +#> 2 b     a         2
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/varpop.html b/radiant.data/docs/reference/varpop.html new file mode 100644 index 0000000..ed59e88 --- /dev/null +++ b/radiant.data/docs/reference/varpop.html @@ -0,0 +1,164 @@ + +Variance for the population — varpop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Variance for the population

    +
    + +
    +
    varpop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Variance for the population

    +
    + +
    +

    Examples

    +
    varpop(rnorm(100))
    +#> [1] 1.184664
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/varprop.html b/radiant.data/docs/reference/varprop.html new file mode 100644 index 0000000..86f47dc --- /dev/null +++ b/radiant.data/docs/reference/varprop.html @@ -0,0 +1,164 @@ + +Variance for proportion — varprop • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Variance for proportion

    +
    + +
    +
    varprop(x, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input variable

    + + +
    na.rm
    +

    If TRUE missing values are removed before calculation

    + +
    +
    +

    Value

    + + +

    Variance for proportion

    +
    + +
    +

    Examples

    +
    varprop(c(rep(1L, 10), rep(0L, 10)))
    +#> [1] 0.25
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/view_data.html b/radiant.data/docs/reference/view_data.html new file mode 100644 index 0000000..ac41b4b --- /dev/null +++ b/radiant.data/docs/reference/view_data.html @@ -0,0 +1,200 @@ + +View data in a shiny-app — view_data • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    View data in a shiny-app

    +
    + +
    +
    view_data(
    +  dataset,
    +  vars = "",
    +  filt = "",
    +  arr = "",
    +  rows = NULL,
    +  na.rm = FALSE,
    +  dec = 3,
    +  envir = parent.frame()
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data.frame or name of the dataframe to view

    + + +
    vars
    +

    Variables to show (default is all)

    + + +
    filt
    +

    Filter to apply to the specified dataset

    + + +
    arr
    +

    Expression to arrange (sort) data

    + + +
    rows
    +

    Select rows in the specified dataset

    + + +
    na.rm
    +

    Remove rows with missing values (default is FALSE)

    + + +
    dec
    +

    Number of decimals to show

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Details

    +

    View, search, sort, etc. your data

    +
    +
    +

    See also

    + +
    + +
    +

    Examples

    +
    if (FALSE) {
    +view_data(mtcars)
    +}
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/visualize-1.png b/radiant.data/docs/reference/visualize-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2de24b5a01a74d2f6b8e1eecfcfb0173fe03416a GIT binary patch literal 57775 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%0D@YnfOec=Bqjj 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­Fi+kD4vu-0~ZU@>12hE?NRvsdG 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 G8~*{8gC-RK literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize-2.png b/radiant.data/docs/reference/visualize-2.png new file mode 100644 index 0000000000000000000000000000000000000000..87b3bff4ee0a69dfddcf7dc2c55d4aaf642f2bbc GIT binary patch literal 176855 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℞D1tg=);G;8}K1r4Z_{r%Msdn`52PEP~lWgT{Z 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 z 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize-3.png b/radiant.data/docs/reference/visualize-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2d849bee2cd6533eeaf03d0a46d68fb1f7bfda3c GIT binary patch literal 37323 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≤IbXws8SEkA@ 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 Qh|wcUUpSj_`l8SO0M?7w761SM literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize-4.png b/radiant.data/docs/reference/visualize-4.png new file mode 100644 index 0000000000000000000000000000000000000000..60bdd5db36d340a7941fbc8c5b3d2ac492c98e26 GIT binary patch literal 67277 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
    +
    + + + +
    +
    + + +
    +

    Visualize data using ggplot2 https://ggplot2.tidyverse.org/

    +
    + +
    +
    visualize(
    +  dataset,
    +  xvar,
    +  yvar = "",
    +  comby = FALSE,
    +  combx = FALSE,
    +  type = ifelse(is.empty(yvar), "dist", "scatter"),
    +  nrobs = -1,
    +  facet_row = ".",
    +  facet_col = ".",
    +  color = "none",
    +  fill = "none",
    +  size = "none",
    +  fillcol = "blue",
    +  linecol = "black",
    +  pointcol = "black",
    +  bins = 10,
    +  smooth = 1,
    +  fun = "mean",
    +  check = "",
    +  axes = "",
    +  alpha = 0.5,
    +  theme = "theme_gray",
    +  base_size = 11,
    +  base_family = "",
    +  labs = list(),
    +  xlim = NULL,
    +  ylim = NULL,
    +  data_filter = "",
    +  arr = "",
    +  rows = NULL,
    +  shiny = FALSE,
    +  custom = FALSE,
    +  envir = parent.frame()
    +)
    +
    + +
    +

    Arguments

    +
    dataset
    +

    Data to plot (data.frame or tibble)

    + + +
    xvar
    +

    One or more variables to display along the X-axis of the plot

    + + +
    yvar
    +

    Variable to display along the Y-axis of the plot (default = "none")

    + + +
    comby
    +

    Combine yvars in plot (TRUE or FALSE, FALSE is the default)

    + + +
    combx
    +

    Combine xvars in plot (TRUE or FALSE, FALSE is the default)

    + + +
    type
    +

    Type of plot to create. One of Distribution ('dist'), Density ('density'), Scatter ('scatter'), Surface ('surface'), Line ('line'), Bar ('bar'), or Box-plot ('box')

    + + +
    nrobs
    +

    Number of data points to show in scatter plots (-1 for all)

    + + +
    facet_row
    +

    Create vertically arranged subplots for each level of the selected factor variable

    + + +
    facet_col
    +

    Create horizontally arranged subplots for each level of the selected factor variable

    + + +
    color
    +

    Adds color to a scatter plot to generate a 'heat map'. For a line plot one line is created for each group and each is assigned a different color

    + + +
    fill
    +

    Display bar, distribution, and density plots by group, each with a different color. Also applied to surface plots to generate a 'heat map'

    + + +
    size
    +

    Numeric variable used to scale the size of scatter-plot points

    + + +
    fillcol
    +

    Color used for bars, boxes, etc. when no color or fill variable is specified

    + + +
    linecol
    +

    Color for lines when no color variable is specified

    + + +
    pointcol
    +

    Color for points when no color variable is specified

    + + +
    bins
    +

    Number of bins used for a histogram (1 - 50)

    + + +
    smooth
    +

    Adjust the flexibility of the loess line for scatter plots

    + + +
    fun
    +

    Set the summary measure for line and bar plots when the X-variable is a factor (default is "mean"). Also used to plot an error bar in a scatter plot when the X-variable is a factor. Options are "mean" and/or "median"

    + + +
    check
    +

    Add a regression line ("line"), a loess line ("loess"), or jitter ("jitter") to a scatter plot

    + + +
    axes
    +

    Flip the axes in a plot ("flip") or apply a log transformation (base e) to the y-axis ("log_y") or the x-axis ("log_x")

    + + +
    alpha
    +

    Opacity for plot elements (0 to 1)

    + + +
    theme
    +

    ggplot theme to use (e.g., "theme_gray" or "theme_classic")

    + + +
    base_size
    +

    Base font size to use (default = 11)

    + + +
    base_family
    +

    Base font family to use (e.g., "Times" or "Helvetica")

    + + +
    labs
    +

    Labels to use for plots

    + + +
    xlim
    +

    Set limit for x-axis (e.g., c(0, 1))

    + + +
    ylim
    +

    Set limit for y-axis (e.g., c(0, 1))

    + + +
    data_filter
    +

    Expression used to filter the dataset. This should be a string (e.g., "price > 10000")

    + + +
    arr
    +

    Expression used to sort the data. Likely used in combination for `rows`

    + + +
    rows
    +

    Rows to select from the specified dataset

    + + +
    shiny
    +

    Logical (TRUE, FALSE) to indicate if the function call originate inside a shiny app

    + + +
    custom
    +

    Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and https://ggplot2.tidyverse.org for options.

    + + +
    envir
    +

    Environment to extract data from

    + +
    +
    +

    Value

    + + +

    Generated plots

    +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/visualize.html for an example in Radiant

    +
    + +
    +

    Examples

    +
    visualize(diamonds, "price:cut", type = "dist", fillcol = "red")
    +
    +visualize(diamonds, "carat:cut",
    +  yvar = "price", type = "scatter",
    +  pointcol = "blue", fun = c("mean", "median"), linecol = c("red", "green")
    +)
    +
    +visualize(diamonds,
    +  yvar = "price", xvar = c("cut", "clarity"),
    +  type = "bar", fun = "median"
    +)
    +
    +visualize(diamonds,
    +  yvar = "price", xvar = c("cut", "clarity"),
    +  type = "line", fun = "max"
    +)
    +
    +visualize(diamonds,
    +  yvar = "price", xvar = "carat", type = "scatter",
    +  size = "table", custom = TRUE
    +) + scale_size(range = c(1, 10), guide = "none")
    +
    +visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) +
    +  labs(title = "A scatterplot", x = "price in $")
    +
    +visualize(diamonds, xvar = "price:carat", custom = TRUE) %>%
    +  wrap_plots(ncol = 2) + plot_annotation(title = "Histograms")
    +
    +visualize(diamonds,
    +  xvar = "cut", yvar = "price", type = "bar",
    +  facet_row = "cut", fill = "cut"
    +)
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/wday.html b/radiant.data/docs/reference/wday.html new file mode 100644 index 0000000..4deda95 --- /dev/null +++ b/radiant.data/docs/reference/wday.html @@ -0,0 +1,163 @@ + +Add ordered argument to lubridate::wday — wday • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Add ordered argument to lubridate::wday

    +
    + +
    +
    wday(x, label = FALSE, abbr = TRUE, ordered = FALSE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Input date vector

    + + +
    label
    +

    Weekday as label (TRUE, FALSE)

    + + +
    abbr
    +

    Abbreviate label (TRUE, FALSE)

    + + +
    ordered
    +

    Order factor (TRUE, FALSE)

    + +
    +
    +

    See also

    +

    See the lubridate::wday() function in the lubridate package for additional details

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/weighted.sd.html b/radiant.data/docs/reference/weighted.sd.html new file mode 100644 index 0000000..9e1c0b4 --- /dev/null +++ b/radiant.data/docs/reference/weighted.sd.html @@ -0,0 +1,159 @@ + +Weighted standard deviation — weighted.sd • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Weighted standard deviation

    +
    + +
    +
    weighted.sd(x, wt, na.rm = TRUE)
    +
    + +
    +

    Arguments

    +
    x
    +

    Numeric vector

    + + +
    wt
    +

    Numeric vector of weights

    + + +
    na.rm
    +

    Remove missing values (default is TRUE)

    + +
    +
    +

    Details

    +

    Calculate weighted standard deviation

    +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/which.pmax.html b/radiant.data/docs/reference/which.pmax.html new file mode 100644 index 0000000..ec96c56 --- /dev/null +++ b/radiant.data/docs/reference/which.pmax.html @@ -0,0 +1,171 @@ + +Index of the maximum per row — which.pmax • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Index of the maximum per row

    +
    + +
    +
    which.pmax(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Numeric or character vectors of the same length

    + +
    +
    +

    Value

    + + +

    Vector of rankings

    +
    +
    +

    Details

    +

    Determine the index of the maximum of the input vectors per row. Extension of which.max

    +
    +
    +

    See also

    +

    See also which.max and which.pmin

    +
    + +
    +

    Examples

    +
    which.pmax(1:10, 10:1)
    +#>  [1] 2 2 2 2 2 1 1 1 1 1
    +which.pmax(2, 10:1)
    +#>  [1] 2 2 2 2 2 2 2 2 1 1
    +which.pmax(mtcars)
    +#>  [1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 3 4 4 3
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/which.pmin.html b/radiant.data/docs/reference/which.pmin.html new file mode 100644 index 0000000..40c8cfa --- /dev/null +++ b/radiant.data/docs/reference/which.pmin.html @@ -0,0 +1,171 @@ + +Index of the minimum per row — which.pmin • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Index of the minimum per row

    +
    + +
    +
    which.pmin(...)
    +
    + +
    +

    Arguments

    +
    ...
    +

    Numeric or character vectors of the same length

    + +
    +
    +

    Value

    + + +

    Vector of rankings

    +
    +
    +

    Details

    +

    Determine the index of the minimum of the input vectors per row. Extension of which.min

    +
    +
    +

    See also

    +

    See also which.min and which.pmax

    +
    + +
    +

    Examples

    +
    which.pmin(1:10, 10:1)
    +#>  [1] 1 1 1 1 1 2 2 2 2 2
    +which.pmin(2, 10:1)
    +#>  [1] 1 1 1 1 1 1 1 1 1 2
    +which.pmin(mtcars)
    +#>  [1] 8 8 8 9 8 9 8 9 9 9 9 8 8 8 8 8 8 8 8 8 9 8 8 8 8 8 8 8 8 8 8 8
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/write_parquet.html b/radiant.data/docs/reference/write_parquet.html new file mode 100644 index 0000000..e513b3f --- /dev/null +++ b/radiant.data/docs/reference/write_parquet.html @@ -0,0 +1,155 @@ + +Workaround to store description file together with a parquet data file — write_parquet • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Workaround to store description file together with a parquet data file

    +
    + +
    +
    write_parquet(x, file, description = attr(x, "description"))
    +
    + +
    +

    Arguments

    +
    x
    +

    A data frame to write to disk

    + + +
    file
    +

    Path to store parquet file

    + + +
    description
    +

    Data description

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/reference/xtile.html b/radiant.data/docs/reference/xtile.html new file mode 100644 index 0000000..9f22617 --- /dev/null +++ b/radiant.data/docs/reference/xtile.html @@ -0,0 +1,174 @@ + +Split a numeric variable into a number of bins and return a vector of bin numbers — xtile • radiant.data + + +
    +
    + + + +
    +
    + + +
    +

    Split a numeric variable into a number of bins and return a vector of bin numbers

    +
    + +
    +
    xtile(x, n = 5, rev = FALSE, type = 7)
    +
    + +
    +

    Arguments

    +
    x
    +

    Numeric variable

    + + +
    n
    +

    number of bins to create

    + + +
    rev
    +

    Reverse the order of the bin numbers

    + + +
    type
    +

    An integer between 1 and 9 to select one of the quantile algorithms described in the help for the stats::quantile function

    + +
    +
    +

    See also

    +

    See quantile for a description of the different algorithm types

    +
    + +
    +

    Examples

    +
    xtile(1:10, 5)
    +#>  [1] 1 1 2 2 3 3 4 4 5 5
    +xtile(1:10, 5, rev = TRUE)
    +#>  [1] 5 5 4 4 3 3 2 2 1 1
    +xtile(c(rep(1, 6), 7:10), 5)
    +#>  [1] 1 1 1 1 1 1 4 4 5 5
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + diff --git a/radiant.data/docs/sitemap.xml b/radiant.data/docs/sitemap.xml new file mode 100644 index 0000000..a178343 --- /dev/null +++ b/radiant.data/docs/sitemap.xml @@ -0,0 +1,495 @@ + + + + https://radiant-rstats.github.io/radiant.data/404.html + + + https://radiant-rstats.github.io/radiant.data/LICENSE-text.html + + + https://radiant-rstats.github.io/radiant.data/articles/index.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/combine.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/explore.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/manage.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/pivotr.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/report_r.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/report_rmd.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/state.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/transform.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/view.html + + + https://radiant-rstats.github.io/radiant.data/articles/pkgdown/visualize.html + + + https://radiant-rstats.github.io/radiant.data/authors.html + + + https://radiant-rstats.github.io/radiant.data/index.html + + + https://radiant-rstats.github.io/radiant.data/news/index.html + + + https://radiant-rstats.github.io/radiant.data/reference/add_class.html + + + https://radiant-rstats.github.io/radiant.data/reference/add_description.html + + + https://radiant-rstats.github.io/radiant.data/reference/arrange_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_character.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_distance.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_dmy.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_dmy_hm.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_dmy_hms.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_duration.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_factor.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_hm.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_hms.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_integer.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_mdy.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_mdy_hm.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_mdy_hms.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_numeric.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_tibble.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_ymd.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_ymd_hm.html + + + https://radiant-rstats.github.io/radiant.data/reference/as_ymd_hms.html + + + https://radiant-rstats.github.io/radiant.data/reference/avengers.html + + + https://radiant-rstats.github.io/radiant.data/reference/center.html + + + https://radiant-rstats.github.io/radiant.data/reference/choose_dir.html + + + https://radiant-rstats.github.io/radiant.data/reference/choose_files.html + + + https://radiant-rstats.github.io/radiant.data/reference/ci_label.html + + + https://radiant-rstats.github.io/radiant.data/reference/ci_perc.html + + + https://radiant-rstats.github.io/radiant.data/reference/combine_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/copy_all.html + + + https://radiant-rstats.github.io/radiant.data/reference/copy_attr.html + + + https://radiant-rstats.github.io/radiant.data/reference/copy_from.html + + + https://radiant-rstats.github.io/radiant.data/reference/cv.html + + + https://radiant-rstats.github.io/radiant.data/reference/deregister.html + + + https://radiant-rstats.github.io/radiant.data/reference/describe.html + + + https://radiant-rstats.github.io/radiant.data/reference/diamonds.html + + + https://radiant-rstats.github.io/radiant.data/reference/does_vary.html + + + https://radiant-rstats.github.io/radiant.data/reference/dtab.data.frame.html + + + https://radiant-rstats.github.io/radiant.data/reference/dtab.explore.html + + + https://radiant-rstats.github.io/radiant.data/reference/dtab.html + + + https://radiant-rstats.github.io/radiant.data/reference/dtab.pivotr.html + + + https://radiant-rstats.github.io/radiant.data/reference/empty_level.html + + + https://radiant-rstats.github.io/radiant.data/reference/explore.html + + + https://radiant-rstats.github.io/radiant.data/reference/filter_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/find_dropbox.html + + + https://radiant-rstats.github.io/radiant.data/reference/find_gdrive.html + + + https://radiant-rstats.github.io/radiant.data/reference/find_home.html + + + https://radiant-rstats.github.io/radiant.data/reference/find_project.html + + + https://radiant-rstats.github.io/radiant.data/reference/fix_names.html + + + https://radiant-rstats.github.io/radiant.data/reference/fix_smart.html + + + https://radiant-rstats.github.io/radiant.data/reference/flip.html + + + https://radiant-rstats.github.io/radiant.data/reference/format_df.html + + + https://radiant-rstats.github.io/radiant.data/reference/format_nr.html + + + https://radiant-rstats.github.io/radiant.data/reference/get_class.html + + + https://radiant-rstats.github.io/radiant.data/reference/get_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/get_summary.html + + + https://radiant-rstats.github.io/radiant.data/reference/ggplotly.html + + + https://radiant-rstats.github.io/radiant.data/reference/glance.html + + + https://radiant-rstats.github.io/radiant.data/reference/glue.html + + + https://radiant-rstats.github.io/radiant.data/reference/glue_collapse.html + + + https://radiant-rstats.github.io/radiant.data/reference/glue_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/index.html + + + https://radiant-rstats.github.io/radiant.data/reference/indexr.html + + + https://radiant-rstats.github.io/radiant.data/reference/install_webshot.html + + + https://radiant-rstats.github.io/radiant.data/reference/inverse.html + + + https://radiant-rstats.github.io/radiant.data/reference/is.empty.html + + + https://radiant-rstats.github.io/radiant.data/reference/is_double.html + + + https://radiant-rstats.github.io/radiant.data/reference/is_empty.html + + + https://radiant-rstats.github.io/radiant.data/reference/is_not.html + + + https://radiant-rstats.github.io/radiant.data/reference/is_string.html + + + https://radiant-rstats.github.io/radiant.data/reference/iterms.html + + + https://radiant-rstats.github.io/radiant.data/reference/knit_print.html + + + https://radiant-rstats.github.io/radiant.data/reference/kurtosi.re.html + + + https://radiant-rstats.github.io/radiant.data/reference/launch.html + + + https://radiant-rstats.github.io/radiant.data/reference/level_list.html + + + https://radiant-rstats.github.io/radiant.data/reference/ln.html + + + https://radiant-rstats.github.io/radiant.data/reference/load_clip.html + + + https://radiant-rstats.github.io/radiant.data/reference/make_arrange_cmd.html + + + https://radiant-rstats.github.io/radiant.data/reference/make_train.html + + + https://radiant-rstats.github.io/radiant.data/reference/make_vec.html + + + https://radiant-rstats.github.io/radiant.data/reference/me.html + + + https://radiant-rstats.github.io/radiant.data/reference/meprop.html + + + https://radiant-rstats.github.io/radiant.data/reference/modal.html + + + https://radiant-rstats.github.io/radiant.data/reference/month.html + + + https://radiant-rstats.github.io/radiant.data/reference/mutate_ext.html + + + https://radiant-rstats.github.io/radiant.data/reference/n_missing.html + + + https://radiant-rstats.github.io/radiant.data/reference/n_obs.html + + + https://radiant-rstats.github.io/radiant.data/reference/normalize.html + + + https://radiant-rstats.github.io/radiant.data/reference/parse_path.html + + + https://radiant-rstats.github.io/radiant.data/reference/percentiles.html + + + https://radiant-rstats.github.io/radiant.data/reference/pfun.html + + + https://radiant-rstats.github.io/radiant.data/reference/pivotr.html + + + https://radiant-rstats.github.io/radiant.data/reference/plot.pivotr.html + + + https://radiant-rstats.github.io/radiant.data/reference/print.gtable.html + + + https://radiant-rstats.github.io/radiant.data/reference/prop.html + + + https://radiant-rstats.github.io/radiant.data/reference/publishers.html + + + https://radiant-rstats.github.io/radiant.data/reference/qscatter.html + + + https://radiant-rstats.github.io/radiant.data/reference/qterms.html + + + https://radiant-rstats.github.io/radiant.data/reference/radiant.data-deprecated.html + + + https://radiant-rstats.github.io/radiant.data/reference/radiant.data.html + + + https://radiant-rstats.github.io/radiant.data/reference/radiant.data_url.html + + + https://radiant-rstats.github.io/radiant.data/reference/radiant.data_viewer.html + + + https://radiant-rstats.github.io/radiant.data/reference/radiant.data_window.html + + + https://radiant-rstats.github.io/radiant.data/reference/read_files.html + + + https://radiant-rstats.github.io/radiant.data/reference/reexports.html + + + https://radiant-rstats.github.io/radiant.data/reference/refactor.html + + + https://radiant-rstats.github.io/radiant.data/reference/register.html + + + https://radiant-rstats.github.io/radiant.data/reference/render.datatables.html + + + https://radiant-rstats.github.io/radiant.data/reference/render.html + + + https://radiant-rstats.github.io/radiant.data/reference/render.plotly.html + + + https://radiant-rstats.github.io/radiant.data/reference/round_df.html + + + https://radiant-rstats.github.io/radiant.data/reference/rownames_to_column.html + + + https://radiant-rstats.github.io/radiant.data/reference/save_clip.html + + + https://radiant-rstats.github.io/radiant.data/reference/sdpop.html + + + https://radiant-rstats.github.io/radiant.data/reference/sdprop.html + + + https://radiant-rstats.github.io/radiant.data/reference/se.html + + + https://radiant-rstats.github.io/radiant.data/reference/search_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/seprop.html + + + https://radiant-rstats.github.io/radiant.data/reference/set_attr.html + + + https://radiant-rstats.github.io/radiant.data/reference/show_duplicated.html + + + https://radiant-rstats.github.io/radiant.data/reference/sig_stars.html + + + https://radiant-rstats.github.io/radiant.data/reference/skew.re.html + + + https://radiant-rstats.github.io/radiant.data/reference/slice_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/square.html + + + https://radiant-rstats.github.io/radiant.data/reference/sshh.html + + + https://radiant-rstats.github.io/radiant.data/reference/sshhr.html + + + https://radiant-rstats.github.io/radiant.data/reference/standardize.html + + + https://radiant-rstats.github.io/radiant.data/reference/store.explore.html + + + https://radiant-rstats.github.io/radiant.data/reference/store.html + + + https://radiant-rstats.github.io/radiant.data/reference/store.pivotr.html + + + https://radiant-rstats.github.io/radiant.data/reference/subplot.html + + + https://radiant-rstats.github.io/radiant.data/reference/summary.explore.html + + + https://radiant-rstats.github.io/radiant.data/reference/summary.pivotr.html + + + https://radiant-rstats.github.io/radiant.data/reference/superheroes.html + + + https://radiant-rstats.github.io/radiant.data/reference/table2data.html + + + https://radiant-rstats.github.io/radiant.data/reference/tibble.html + + + https://radiant-rstats.github.io/radiant.data/reference/tidy.html + + + https://radiant-rstats.github.io/radiant.data/reference/titanic.html + + + https://radiant-rstats.github.io/radiant.data/reference/to_fct.html + + + https://radiant-rstats.github.io/radiant.data/reference/varpop.html + + + https://radiant-rstats.github.io/radiant.data/reference/varprop.html + + + https://radiant-rstats.github.io/radiant.data/reference/view_data.html + + + https://radiant-rstats.github.io/radiant.data/reference/visualize.html + + + https://radiant-rstats.github.io/radiant.data/reference/wday.html + + + https://radiant-rstats.github.io/radiant.data/reference/weighted.sd.html + + + https://radiant-rstats.github.io/radiant.data/reference/which.pmax.html + + + https://radiant-rstats.github.io/radiant.data/reference/which.pmin.html + + + https://radiant-rstats.github.io/radiant.data/reference/write_parquet.html + + + https://radiant-rstats.github.io/radiant.data/reference/xtile.html + + diff --git a/radiant.data/inst/app/global.R b/radiant.data/inst/app/global.R new file mode 100644 index 0000000..20c01a1 --- /dev/null +++ b/radiant.data/inst/app/global.R @@ -0,0 +1,658 @@ +library(shiny.i18n) +# file with translations +i18n <- Translator$new(translation_csvs_path = "../translations") +# change this to zh +i18n$set_translation_language("zh") + +## based on https://github.com/rstudio/shiny/issues/1237 +suppressWarnings( + try( + rm("registerShinyDebugHook", envir = as.environment("tools:rstudio")), + silent = TRUE + ) +) + +# options(shiny.trace = TRUE) +# options(radiant.autosave = c(1, 5)) + +## set volumes if sf_volumes was preset (e.g., on a server) or +## we are running in Rstudio or if we are running locally +if (isTRUE(getOption("radiant.sf_volumes", "") != "") || + isTRUE(getOption("radiant.shinyFiles", FALSE)) || + isTRUE(Sys.getenv("RSTUDIO") != "") || + isTRUE(Sys.getenv("SHINY_PORT") == "")) { + if (isTRUE(getOption("radiant.sf_volumes", "") != "")) { + sf_volumes <- getOption("radiant.sf_volumes") + if (length(names(sf_volumes)) == 0) { + warning("\nOption radiant.sf_volumes should be a named vector set in .Rprofile\n\n") + options(radiant.sf_volumes = "") + } else if (any(sapply(sf_volumes, function(x) !dir.exists(x)))) { + warning("\nOne or more directories listed in option radiant.sf_volumes do not exists. Please fix the option in .Rprofile and restart radiant.\n\n") + options(radiant.sf_volumes = "") + } + rm(sf_volumes) + } + + if (isTRUE(getOption("radiant.sf_volumes", "") == "")) { + sf_volumes <- c(Home = radiant.data::find_home()) + if (dir.exists(paste0(sf_volumes["Home"], "/Desktop"))) { + sf_volumes <- c(sf_volumes, Desktop = paste0(sf_volumes["Home"], "/Desktop")) + } + if (dir.exists(paste0(sf_volumes["Home"], "/Downloads"))) { + sf_volumes <- c(sf_volumes, Downloads = paste0(sf_volumes["Home"], "/Downloads")) + } + Dropbox <- try(radiant.data::find_dropbox(), silent = TRUE) + if (!inherits(Dropbox, "try-error")) { + sf_volumes <- c(sf_volumes, Dropbox = Dropbox) + } + GoogleDrive <- try(radiant.data::find_gdrive(), silent = TRUE) + if (!inherits(GoogleDrive, "try-error")) { + sf_volumes <- c(sf_volumes, `Google Drive` = GoogleDrive) + } + sf_volumes <- c(sf_volumes, shinyFiles::getVolumes()()) + options(radiant.sf_volumes = sf_volumes) + } + options(radiant.shinyFiles = TRUE) +} else { + options(radiant.shinyFiles = FALSE) +} + +## determining how radiant was launched +## should this be set in global? +if (is.null(getOption("radiant.launch"))) { + ## also use Rstudio's file dialog if opening in Window + if (exists(".rs.readUiPref")) { + if (is.null(.rs.readUiPref("shiny_viewer_type"))) { + .rs.writeUiPref("shiny_viewer_type", 2) + options(radiant.launch = "viewer") + } else if (.rs.readUiPref("shiny_viewer_type") == 2) { + options(radiant.launch = "viewer") + } else if (.rs.readUiPref("shiny_viewer_type") == 3) { + options(radiant.launch = "window") + } else { + # options(radiant.launch = "external") + options(radiant.launch = "browser") + } + } else { + options(radiant.launch = "browser") + } +} + +## function to load/import required packages and functions +import_fs <- function(ns, libs = c(), incl = c(), excl = c()) { + tmp <- sapply(libs, library, character.only = TRUE) + rm(tmp) + if (length(incl) > 0 || length(excl) > 0) { + import_list <- getNamespaceImports(ns) + if (length(incl) == 0) { + import_list[names(import_list) %in% c("base", "methods", "stats", "utils", libs, excl)] <- NULL + } else { + import_list <- import_list[names(import_list) %in% incl] + } + import_names <- names(import_list) + + for (i in seq_len(length(import_list))) { + fun <- import_list[[i]] + lib <- import_names[[i]] + ## replace with character.only option when new version of import is posted to CRAN + ## https://github.com/smbache/import/issues/11 + eval( + parse( + text = paste0("import::from(", lib, ", '", paste0(fun, collapse = "', '"), "')") + ) + ) + } + } + invisible() +} + +## list of function to suggest during autocomplete in Report > Rmd and Report > R +## moved to init.R +init_data <- function(env = r_data) { + ## Based on discussion with Joe Cheng: Datasets can change over time + ## so the data needs to be reactive value so the other reactive + ## functions and outputs that depend on these datasets will know when + ## they are changed + + ## Using an environment to assign data + ## http://adv-r.had.co.nz/Environments.html#explicit-envs + + ## using a reactiveValues list to keep track of relevant app info + ## that needs to be reactive + r_info <- reactiveValues() + + strip_ext <- function(x) sub(paste0("\\.", tools::file_ext(x), "$"), "", x) + datasetlist <- c() + df_names <- getOption("radiant.init.data") + if (length(df_names) == 0) df_names <- c("diamonds", "titanic") + for (dn in df_names) { + if (file.exists(dn)) { + df <- load(dn) %>% get() + if (!inherits(df, "data.frame")) next # only keep data.frames + dn_path <- dn + dn <- basename(dn) %>% strip_ext() + r_info[[paste0(dn, "_lcmd")]] <- glue::glue('{dn} <- load("{dn_path}") %>% get()\nregister("{dn}")') + } else { + df <- data(list = dn, package = "radiant.data", envir = environment()) %>% get() + r_info[[paste0(dn, "_lcmd")]] <- glue::glue('{dn} <- data({dn}, package = "radiant.data", envir = environment()) %>% get()\nregister("{dn}")') + } + env[[dn]] <- df + if (!bindingIsActive(as.symbol(dn), env = env)) { + makeReactiveBinding(dn, env = env) + } + r_info[[paste0(dn, "_descr")]] <- attr(df, "description") + datasetlist <- c(datasetlist, dn) + } + r_info[["datasetlist"]] <- datasetlist + r_info[["url"]] <- NULL + r_info +} + +## running local, on a server, or from JupyterLab +if (getOption("radiant.jupyter", default = FALSE)) { + options(radiant.local = FALSE) + options(radiant.report = getOption("radiant.report", default = TRUE)) + ## no limit to file size when launched through jupyter + options(shiny.maxRequestSize = getOption("radiant.maxRequestSize", default = -1)) +} else if (Sys.getenv("SHINY_PORT") == "") { + options(radiant.local = TRUE) + options(radiant.report = getOption("radiant.report", default = TRUE)) + ## no limit to file size locally + options(shiny.maxRequestSize = getOption("radiant.maxRequestSize", default = -1)) +} else { + options(radiant.local = FALSE) + options(radiant.report = getOption("radiant.report", default = FALSE)) + ## limit upload file size on server (10MB) + options(shiny.maxRequestSize = getOption("radiant.maxRequestSize", default = 10 * 1024^2)) + if (Sys.getlocale(category = "LC_ALL") == "C") { + ret <- Sys.setlocale("LC_CTYPE", "en_US.UTF-8") + rm(ret) + } +} + +## encoding +options(radiant.encoding = "UTF-8") + +## hack for rmarkdown from Report > Rmd and Report > R +options(radiant.rmarkdown = FALSE) + +## path to use for local or server use +options( + radiant.path.data = + ifelse(grepl("radiant.data", getwd()) && file.exists("../../inst"), "..", system.file(package = "radiant.data")) +) + +## import required functions and packages +## if radiant.data is not in search main function from dplyr etc. won't be available +if (!"package:radiant.data" %in% search() && + # isTRUE(Sys.getenv("SHINY_PORT") == "") && + isTRUE(getOption("radiant.development")) && + getOption("radiant.path.data") == "..") { + import_fs("radiant.data", libs = c("magrittr", "ggplot2", "lubridate", "tidyr", "dplyr", "broom", "tibble", "glue")) + options(radiant.from.package = FALSE) +} else { + options(radiant.from.package = TRUE) + library(radiant.data) +} + +## basic options when run on server +if (getOption("width") != 250) { + options( + width = max(getOption("width"), 250), + scipen = max(getOption("scipen"), 100), + max.print = max(getOption("max.print"), 5000), + stringsAsFactors = FALSE + ) +} + +options(dctrl = if (getRversion() > "3.4.4") c("keepNA", "niceNames") else "keepNA") + +options( + radiant.functions = list( + "样本量(n_obs)" = "n_obs", "缺失值数(n_missing)" = "n_missing", "唯一值数(n_distinct)" = "n_distinct", + "均值(mean)" = "mean", "中位数(median)" = "median", "众数(modal)" = "modal", "最小值(min)" = "min", "最大值(max)" = "max", + "总和(sum)" = "sum", "方差(var)" = "var", "标准差(sd)" = "sd", "标准误(se)" = "se", "误差边际(me)" = "me", "变异系数(cv)" = "cv", + "比例(prop)" = "prop", "比例方差(varprop)" = "varprop", "比例标准差(sdprop)" = "sdprop", "比例标准误(seprop)" = "seprop", + "比例误差边际(meprop)" = "meprop", "总体方差(varpop)" = "varpop", "总体标准差(sdpop)" = "sdpop", "1%分位数(p01)" = "p01", + "2.5%分位数(p025)" = "p025", "5%分位数(p05)" = "p05", "10%分位数(p10)" = "p10", "25%分位数(p25)" = "p25", "75%分位数(p75)" = "p75", + "90%分位数(p90)" = "p90", "95%分位数(p95)" = "p95", "97.5%分位数(p975)" = "p975", "99%分位数(p99)" = "p99", "偏度(skew)" = "skew", + "峰度(kurtosi)" = "kurtosi", "四分位距(IQR)" = "IQR" + ) +) + +## see https://github.com/tidyverse/ggplot2/issues/2655 +## requires XQuartz! +# if(!identical(getOption("bitmapType"), "cairo") && isTRUE(capabilities()[["cairo"]])) { +# options(bitmapType = "cairo") +# } + +## for report and code in menu R +knitr::opts_knit$set(progress = TRUE) +knitr::opts_chunk$set( + echo = FALSE, + comment = NA, + # fig.cap = "", + cache = FALSE, + message = FALSE, + warning = FALSE, + error = TRUE, + # fig.path = normalizePath(tempdir(), winslash = "/"), + dpi = 144, + screenshot.force = FALSE + # dev = "svg" ## too slow with big scatter plots on server-side +) + +## environment to hold session information +r_sessions <- new.env(parent = emptyenv()) + +## create directory to hold session files +"~/.radiant.sessions" %>% + (function(x) if (!file.exists(x)) dir.create(x)) + +## adding the figures path to avoid making a copy of all figures in www/figures +addResourcePath("www", file.path(getOption("radiant.path.data"), "app/www/")) +addResourcePath("figures", file.path(getOption("radiant.path.data"), "app/tools/help/figures/")) +addResourcePath("imgs", file.path(getOption("radiant.path.data"), "app/www/imgs/")) +addResourcePath("js", file.path(getOption("radiant.path.data"), "app/www/js/")) + +## cdn.mathjax.org has been retired +## use local MathJax if available +## doesn't current work on Linux +local_mathjax <- Sys.getenv("RMARKDOWN_MATHJAX_PATH") +## from https://github.com/rstudio/rmarkdown/blob/master/R/shiny.R +if (Sys.info()["sysname"] != "Linux" && nzchar(local_mathjax)) { + addResourcePath("latest", local_mathjax) + options(radiant.mathjax.path = "latest") + ## override shiny::withMathJax to use local MathJax + withMathJax <- function(...) { + path <- "latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" + tagList( + tags$head(singleton(tags$script(src = path, type = "text/javascript"))), + ..., tags$script(HTML("if (window.MathJax) MathJax.Hub.Queue([\"Typeset\", MathJax.Hub]);")) + ) + } +} else { + options(radiant.mathjax.path = "https://mathjax.rstudio.com/latest") +} +rm(local_mathjax) + +get_zip_info <- function() { + flags <- "-r9X" + zip_util <- Sys.getenv("R_ZIPCMD", "zip") + if (Sys.info()["sysname"] == "Windows") { + wz <- suppressWarnings(system("where zip", intern = TRUE)) + if (!isTRUE(grepl("zip", wz))) { + wz <- suppressWarnings(system("where 7z", intern = TRUE)) + if (isTRUE(grepl("7z", wz))) { + zip_util <- "7z" + flags <- "a" + if (Sys.getenv("R_ZIPCMD") == "") { + Sys.setenv(R_ZIPCMD = wz) + } + } else { + zip_util <- "" + flags <- "" + } + } else { + if (Sys.getenv("R_ZIPCMD") == "") { + Sys.setenv(R_ZIPCMD = wz) + } + } + } + options(radiant.zip = c(flags, zip_util)) +} +get_zip_info() +rm(get_zip_info) + +## function to generate help, must be in global because used in ui.R +help_menu <- function(hlp) { + tagList( + navbarMenu( + "", + icon = icon("question-circle", verify_fa = FALSE), +# tabPanel(i18n$t("Help"), uiOutput(hlp), icon = icon("question", verify_fa = FALSE)), + tabPanel(actionLink("help_keyboard", i18n$t("Keyboard shortcuts"), icon = icon("keyboard", verify_fa = FALSE))) + #tabPanel("Videos", uiOutput("help_videos"), icon = icon("film")), +# tabPanel(tags$a( +# "", +# href = "https://radiant-rstats.github.io/docs/tutorials.html", target = "_blank", +# list(icon("film", verify_fa = FALSE), i18n$t("Videos")) +# )), +# tabPanel(i18n$t("About"), uiOutput("help_about"), icon = icon("info", verify_fa = FALSE)), +# tabPanel(tags$a( +# "", +# href = "https://radiant-rstats.github.io/docs/", target = "_blank", +# list(icon("globe", verify_fa = FALSE), i18n$t("Radiant docs")) +# )), +# tabPanel(tags$a( +# "", +# href = "https://github.com/radiant-rstats/radiant/issues", target = "_blank", +# list(icon("github", verify_fa = FALSE), i18n$t("Report issue")) +# )) + ), + # bslib::nav_item(checkboxInput("dark_mode", label = "Dark Mode", width="100px")), + tags$head( + tags$script(src = "js/session.js"), + tags$script(src = "js/returnTextAreaBinding.js"), + tags$script(src = "js/returnTextInputBinding.js"), + tags$script(src = "js/video_reset.js"), + tags$script(src = "js/run_return.js"), + # tags$script('TogetherJSConfig_hubBase = "https://togetherjs-hub.glitch.me/"; TogetherJSConfig_cloneClicks = true;'), + # tags$script(src = "https://togetherjs.com/togetherjs-min.js"), + # tags$script(src = "js/message-handler.js"), + # tags$script(src = "js/draggable_modal.js"), + tags$link(rel = "stylesheet", type = "text/css", href = "www/style.css"), + tags$link(rel = "shortcut icon", href = "imgs/icon.png") + ) + ) +} + + + +## copy-right text +options(radiant.help.cc = "© Vincent Nijs (2023) Creative Commons License
    ") +options(radiant.help.cc.sa = "© Vincent Nijs (2023) Creative Commons License
    ") + +##################################### +## url processing to share results +##################################### + +## relevant links +# http://stackoverflow.com/questions/25306519/shiny-saving-url-state-subpages-and-tabs/25385474#25385474 +# https://groups.google.com/forum/#!topic/shiny-discuss/Xgxq08N8HBE +# https://gist.github.com/jcheng5/5427d6f264408abf3049 + +## try http://127.0.0.1:3174/?url=multivariate/conjoint/plot/&SSUID=local +options( + radiant.url.list = + list("Data" = list("tabs_data" = list( + "Manage" = "data/", + "View" = "data/view/", + "Visualize" = "data/visualize/", + "Pivot" = "data/pivot/", + "Explore" = "data/explore/", + "Transform" = "data/transform/", + "Combine" = "data/combine/", + "Rmd" = "report/rmd/", + "R" = "report/r/" + ))) +) + +make_url_patterns <- function(url_list = getOption("radiant.url.list"), + url_patterns = list()) { + for (i in names(url_list)) { + res <- url_list[[i]] + if (!is.list(res)) { + url_patterns[[res]] <- list("nav_radiant" = i) + } else { + tabs <- names(res) + for (j in names(res[[tabs]])) { + url <- res[[tabs]][[j]] + url_patterns[[url]] <- setNames(list(i, j), c("nav_radiant", tabs)) + } + } + } + url_patterns +} + +## generate url patterns +options(radiant.url.patterns = make_url_patterns()) + +## installed packages versions +tmp <- grep("radiant\\.", installed.packages()[, "Package"], value = TRUE) +if ("radiant" %in% installed.packages()) { + tmp <- c("radiant" = "radiant", tmp) +} + +if (length(tmp) > 0) { + radiant.versions <- sapply(names(tmp), function(x) paste(x, paste(packageVersion(x), sep = "."))) %>% unique() + if ("shiny" %in% installed.packages()) { + radiant.versions <- c(radiant.versions, paste("shiny ", packageVersion("shiny"))) + } +} else { + radiant.versions <- "Unknown" +} + +options(radiant.versions = paste(radiant.versions, collapse = ", ")) +rm(tmp, radiant.versions) + +if (is.null(getOption("radiant.theme", default = NULL))) { + options(radiant.theme = bslib::bs_theme(version = 4)) +} + +## bslib theme and version +has_bslib_theme <- function() { + if (rlang::is_installed("bslib")) bslib::is_bs_theme(getOption("radiant.theme")) else FALSE +} + +bslib_current_version <- function() { + if (rlang::is_installed("bslib")) bslib::theme_version(getOption("radiant.theme", default = bslib::bs_theme(version = 4))) +} + +navbar_proj <- function(navbar) { + pdir <- radiant.data::find_project(mess = FALSE) + if (radiant.data::is.empty(pdir)) { + if (getOption("radiant.shinyFiles", FALSE) && !radiant.data::is.empty(getOption("radiant.sf_volumes", ""))) { + proj <- paste0(i18n$t("Base dir: "), names(getOption("radiant.sf_volumes"))[1]) + } else { + proj <- "Project: (None)" + } + options(radiant.project_dir = NULL) + } else { + proj <- paste0("Project: ", basename(pdir)) %>% + { + if (nchar(.) > 35) paste0(strtrim(., 31), " ...") else . + } + options(radiant.project_dir = pdir) + options(radiant.launch_dir = pdir) + } + + proj_brand <- tags$span(class = "nav navbar-brand navbar-right", proj) + navbar_ <- htmltools::tagQuery(navbar)$find(".navbar-collapse")$append(proj_brand)$allTags() + htmltools::attachDependencies(navbar_, htmltools::findDependencies(navbar)) +} + +if (getOption("radiant.shinyFiles", FALSE)) { + if (!radiant.data::is.empty(getOption("radiant.sf_volumes", "")) && radiant.data::is.empty(getOption("radiant.project_dir"))) { + launch_dir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + if (!launch_dir %in% getOption("radiant.sf_volumes", "")) { + sf_volumes <- c(setNames(launch_dir, basename(launch_dir)), getOption("radiant.sf_volumes", "")) + options(radiant.sf_volumes = sf_volumes) + rm(sf_volumes) + } else if (!launch_dir == getOption("radiant.sf_volumes", "")[1]) { + dir_ind <- which(getOption("radiant.sf_volumes") == launch_dir)[1] + options(radiant.sf_volumes = c(getOption("radiant.sf_volumes")[dir_ind], getOption("radiant.sf_volumes")[-dir_ind])) + rm(dir_ind) + } + rm(launch_dir) + } + if (radiant.data::is.empty(getOption("radiant.launch_dir"))) { + if (radiant.data::is.empty(getOption("radiant.project_dir"))) { + options(radiant.launch_dir = radiant.data::find_home()) + options(radiant.project_dir = getOption("radiant.launch_dir")) + } else { + options(radiant.launch_dir = getOption("radiant.project_dir")) + } + } + + if (radiant.data::is.empty(getOption("radiant.project_dir"))) { + options(radiant.project_dir = getOption("radiant.launch_dir")) + } else { + options(radiant.launch_dir = getOption("radiant.project_dir")) + } + + dbdir <- try(radiant.data::find_dropbox(), silent = TRUE) + dbdir <- if (inherits(dbdir, "try-error")) "" else paste0(dbdir, "/") + options(radiant.dropbox_dir = dbdir) + rm(dbdir) + + gddir <- try(radiant.data::find_gdrive(), silent = TRUE) + gddir <- if (inherits(gddir, "try-error")) "" else paste0(gddir, "/") + options(radiant.gdrive_dir = gddir) + rm(gddir) +} else { + options(radiant.launch_dir = radiant.data::find_home()) + options(radiant.project_dir = getOption("radiant.launch_dir")) +} + +## formatting data.frames printed in Report > Rmd and Report > R +knit_print.data.frame <- function(x, ...) { + paste(c("", "", knitr::kable(x)), collapse = "\n") %>% + knitr::asis_output() +} + +## not clear why this doesn't work +# knit_print.data.frame = function(x, ...) { +# res <- rmarkdown:::print.paged_df(x) +# knitr::asis_output(res) +# knitr::asis_output( +# rmarkdown:::paged_table_html(x), +# meta = list(dependencies = rmarkdown:::html_dependency_pagedtable()) +# ) +# } + +## not clear why this doesn't work +## https://github.com/yihui/knitr/issues/1399 +# knit_print.datatables <- function(x, ...) { +# res <- shiny::knit_print.shiny.render.function( +# DT::renderDataTable(x) +# ) +# knitr::asis_output(res) +# } + +# registerS3method("knitknit_print", "datatables", knit_print.datatables) +# knit_print.datatables <- function(x, ...) { +# # res <- shiny::knit_print.shiny.render.function( +# # shiny::knit_print.shiny.render.function( +# DT::renderDataTable(x) +# # ) +# # knitr::asis_output(res) +# } + +# knit_print.datatables <- function(x, ...) { +# # shiny::knit_print.shiny.render.function( +# res <- shiny::knit_print.shiny.render.function( +# DT::renderDataTable(x) +# ) +# knitr::asis_output(res) +# } + +load_html2canvas <- function() { + # adapted from https://github.com/yonicd/snapper/blob/master/R/load.R + # SRC URL "https://html2canvas.hertzen.com/dist/html2canvas.min.js" + asset_src <- "assets/html2canvas/" + asset_script <- "html2canvas.min.js" + dir.exists(asset_src) + shiny::tagList( + htmltools::htmlDependency( + name = "html2canvas-js", + version = "1.4.1", + src = asset_src, + script = asset_script, + package = "radiant.data" + ) + ) +} + +options( + radiant.nav_ui = + list( + windowTitle = i18n$t("Radiant for R"), + id = "nav_radiant", + theme = getOption("radiant.theme"), + inverse = TRUE, + collapsible = TRUE, + position = "fixed-top", + tabPanel(i18n$t("Data"), withMathJax(), uiOutput("ui_data"), load_html2canvas()) + ) +) + +options( + radiant.shared_ui = + tagList( + navbarMenu( + i18n$t("Report"), + tabPanel("Rmd", + uiOutput("rmd_view"), + uiOutput("report_rmd"), + icon = icon("edit", verify_fa = FALSE) + ), + tabPanel("R", + uiOutput("r_view"), + uiOutput("report_r"), + icon = icon("code", verify_fa = FALSE) + ) + ), + navbarMenu("", + icon = icon("save", verify_fa = FALSE), + ## inspiration for uploading state https://stackoverflow.com/a/11406690/1974918 + ## see also function in www/js/run_return.js + "Server", + tabPanel(actionLink("state_save_link", i18n$t("Save radiant state file"), icon = icon("download", verify_fa = FALSE))), + tabPanel(actionLink("state_load_link", i18n$t("Load radiant state file"), icon = icon("upload", verify_fa = FALSE))), + tabPanel(actionLink("state_share", i18n$t("Share radiant state"), icon = icon("share", verify_fa = FALSE))), + tabPanel(i18n$t("View radiant state"), uiOutput("state_view"), icon = icon("user", verify_fa = FALSE)), + "----", "Local", + tabPanel(downloadLink("state_download", tagList(icon("download", verify_fa = FALSE), i18n$t("Download radiant state file")))), + tabPanel(actionLink("state_upload_link", i18n$t("Upload radiant state file"), icon = icon("upload", verify_fa = FALSE))) + ), + + ## stop app *and* close browser window + navbarMenu("", + icon = icon("power-off", verify_fa = FALSE), + tabPanel( + actionLink( + "stop_radiant", i18n$t("Stop"), + icon = icon("stop", verify_fa = FALSE), + onclick = "setTimeout(function(){window.close();}, 100);" + ) + ), + tabPanel(tags$a( + id = "refresh_radiant", href = "#", class = "action-button", + list(icon("sync", verify_fa = FALSE), i18n$t("Refresh")), onclick = "window.location.reload();" + )), + ## had to remove class = "action-button" to make this work + tabPanel(tags$a( + id = "new_session", href = "./", target = "_blank", + list(icon("plus", verify_fa = FALSE), i18n$t("New session")) + )) + ) + ) +) + +## cleanup the global environment if stop button is pressed in Rstudio +## based on barbara's reply to +## https://community.rstudio.com/t/rstudio-viewer-window-not-closed-on-shiny-stopapp/4158/7?u=vnijs +onStop(function() { + ## don't run if the stop button was pressed in Radiant + if (!exists("r_data")) { + unlink("~/r_figures/", recursive = TRUE) + clean_up_list <- c( + "r_sessions", "help_menu", "make_url_patterns", "import_fs", + "init_data", "navbar_proj", "knit_print.data.frame", "withMathJax", + "Dropbox", "sf_volumes", "GoogleDrive", "bslib_current_version", + "has_bslib_theme", "load_html2canvas" + ) + suppressWarnings( + suppressMessages({ + res <- try(sapply(clean_up_list, function(x) if (exists(x, envir = .GlobalEnv)) rm(list = x, envir = .GlobalEnv)), silent = TRUE) + rm(res) + }) + ) + options(radiant.launch_dir = NULL) + options(radiant.project_dir = NULL) + message("Stopped Radiant\n") + stopApp() + } +}) + +## Show NA and Inf in DT tables +## https://github.com/rstudio/DT/pull/513 +## See also https://github.com/rstudio/DT/issues/533 +## Waiting for DT.OPTION for TOJSON_ARGS +# options(htmlwidgets.TOJSON_ARGS = list(na = "string")) +# options("DT.TOJSON_ARGS" = list(na = "string")) +## Sorting on client-side would be as a string, not a numeric +## https://github.com/rstudio/DT/pull/536#issuecomment-385223433 + +if (getRversion() < "4.4.0") `%||%` <- function(x, y) if (is.null(x)) y else x diff --git a/radiant.data/inst/app/init.R b/radiant.data/inst/app/init.R new file mode 100644 index 0000000..207e4a4 --- /dev/null +++ b/radiant.data/inst/app/init.R @@ -0,0 +1,364 @@ +################################################################################ +## functions to set initial values and take information from r_state +## when available +################################################################################ + +## useful options for debugging +# options(shiny.trace = TRUE) +# options(shiny.error = recover) +# options(warn = 2) + +if (isTRUE(getOption("radiant.shinyFiles", FALSE))) { + if (isTRUE(Sys.getenv("RSTUDIO") == "") && isTRUE(Sys.getenv("SHINY_PORT") != "")) { + ## Users not on Rstudio will only get access to pre-specified volumes + sf_volumes <- getOption("radiant.sf_volumes", "") + } else { + if (getOption("radiant.project_dir", "") == "") { + sf_volumes <- getOption("radiant.launch_dir") %>% + { + set_names(., basename(.)) + } + } else { + sf_volumes <- getOption("radiant.project_dir") %>% + { + set_names(., basename(.)) + } + } + home <- radiant.data::find_home() + if (home != sf_volumes) { + sf_volumes <- c(sf_volumes, home) %>% set_names(c(names(sf_volumes), "Home")) + } else { + sf_volumes <- c(Home = home) + } + if (sum(nzchar(getOption("radiant.sf_volumes", ""))) > 0) { + sf_volumes <- getOption("radiant.sf_volumes") %>% + { + c(sf_volumes, .[!. %in% sf_volumes]) + } + } + missing_names <- is.na(names(sf_volumes)) + if (sum(missing_names) > 0) { + sf_volumes[missing_names] <- basename(sf_volumes[missing_names]) + } + } +} + +remove_session_files <- function(st = Sys.time()) { + fl <- list.files( + normalizePath("~/.radiant.sessions/"), + pattern = "*.state.rda", + full.names = TRUE + ) + + for (f in fl) { + if (difftime(st, file.mtime(f), units = "days") > 7) { + unlink(f, force = TRUE) + } + } +} + +remove_session_files() + +## from Joe Cheng's https://github.com/jcheng5/shiny-resume/blob/master/session.R +isolate({ + prevSSUID <- parseQueryString(session$clientData$url_search)[["SSUID"]] +}) + +most_recent_session_file <- function() { + fl <- list.files( + normalizePath("~/.radiant.sessions/"), + pattern = "*.state.rda", + full.names = TRUE + ) + + if (length(fl) > 0) { + data.frame(fn = fl, dt = file.mtime(fl), stringsAsFactors = FALSE) %>% + arrange(desc(dt)) %>% + slice(1) %>% + .[["fn"]] %>% + as.character() %>% + basename() %>% + gsub("r_(.*).state.rda", "\\1", .) + } else { + NULL + } +} + +## set the session id +r_ssuid <- if (getOption("radiant.local")) { + if (is.null(prevSSUID)) { + mrsf <- most_recent_session_file() + paste0("local-", shiny:::createUniqueId(3)) + } else { + mrsf <- "0000" + prevSSUID + } +} else { + ifelse(is.null(prevSSUID), shiny:::createUniqueId(5), prevSSUID) +} + +## (re)start the session and push the id into the url +session$sendCustomMessage("session_start", r_ssuid) + +## identify the shiny environment +## deprecated - will be removed in future version +r_environment <- session$token + +r_info_legacy <- function() { + r_info_elements <- c( + "datasetlist", "dtree_list", "pvt_rows", "nav_radiant", + "plot_height", "plot_width", "filter_error", "cmb_error" + ) %>% + c(paste0(r_data[["datasetlist"]], "_descr")) + r_info <- reactiveValues() + for (i in r_info_elements) { + r_info[[i]] <- r_data[[i]] + } + suppressWarnings(rm(list = r_info_elements, envir = r_data)) + r_info +} + +## load for previous state if available but look in global memory first +if (isTRUE(getOption("radiant.local")) && exists("r_data", envir = .GlobalEnv)) { + r_data <- if (is.list(r_data)) list2env(r_data, envir = new.env()) else r_data + if (exists("r_info")) { + r_info <- do.call(reactiveValues, r_info) + } else { + r_info <- r_info_legacy() + } + r_state <- if (exists("r_state")) r_state else list() + suppressWarnings(rm(r_data, r_state, r_info, envir = .GlobalEnv)) +} else if (isTRUE(getOption("radiant.local")) && !is.null(r_sessions[[r_ssuid]]$r_data)) { + r_data <- r_sessions[[r_ssuid]]$r_data %>% + { + if (is.list(.)) list2env(., envir = new.env()) else . + } + if (is.null(r_sessions[[r_ssuid]]$r_info)) { + r_info <- r_info_legacy() + } else { + r_info <- do.call(reactiveValues, r_sessions[[r_ssuid]]$r_info) + } + r_state <- r_sessions[[r_ssuid]]$r_state +} else if (file.exists(paste0("~/.radiant.sessions/r_", r_ssuid, ".state.rda"))) { + ## read from file if not in global + fn <- paste0(normalizePath("~/.radiant.sessions"), "/r_", r_ssuid, ".state.rda") + rs <- new.env(emptyenv()) + try(load(fn, envir = rs), silent = TRUE) + if (inherits(rs, "try-error")) { + r_data <- new.env() + r_info <- init_data(env = r_data) + r_state <- list() + } else { + if (length(rs$r_data) == 0) { + r_data <- new.env() + r_info <- init_data(env = r_data) + } else { + r_data <- rs$r_data %>% + { + if (is.list(.)) list2env(., envir = new.env()) else . + } + if (is.null(rs$r_info)) { + r_info <- r_info_legacy() + } else { + r_info <- do.call(reactiveValues, rs$r_info) + } + } + if (length(rs$r_state) == 0) { + r_state <- list() + } else { + r_state <- rs$r_state + } + } + + unlink(fn, force = TRUE) + rm(rs) +} else if (isTRUE(getOption("radiant.local")) && file.exists(paste0("~/.radiant.sessions/r_", mrsf, ".state.rda"))) { + ## restore from local folder but assign new ssuid + fn <- paste0(normalizePath("~/.radiant.sessions"), "/r_", mrsf, ".state.rda") + rs <- new.env(emptyenv()) + try(load(fn, envir = rs), silent = TRUE) + if (inherits(rs, "try-error")) { + r_data <- new.env() + r_info <- init_data(env = r_data) + r_state <- list() + } else { + if (length(rs$r_data) == 0) { + r_data <- new.env() + r_info <- init_data(env = r_data) + } else { + r_data <- rs$r_data %>% + { + if (is.list(.)) list2env(., envir = new.env()) else . + } + r_info <- if (length(rs$r_info) == 0) { + r_info <- r_info_legacy() + } else { + do.call(reactiveValues, rs$r_info) + } + } + r_state <- if (length(rs$r_state) == 0) list() else rs$r_state + } + + ## don't navigate to same tab in case the app locks again + r_state$nav_radiant <- NULL + unlink(fn, force = TRUE) + rm(rs) +} else { + r_data <- new.env() + r_info <- init_data(env = r_data) + r_state <- list() +} + +isolate({ + for (ds in r_info[["datasetlist"]]) { + if (exists(ds, envir = r_data) && !bindingIsActive(as.symbol(ds), env = r_data)) { + shiny::makeReactiveBinding(ds, env = r_data) + } + } + for (dt in r_info[["dtree_list"]]) { + if (exists(dt, envir = r_data)) { + r_data[[dt]] <- add_class(r_data[[dt]], "dtree") + if (!bindingIsActive(as.symbol(dt), env = r_data)) { + shiny::makeReactiveBinding(dt, env = r_data) + } + } + } +}) + +## legacy, to deal with state files created before +## Report > Rmd and Report > R name change +if (isTRUE(r_state$nav_radiant == "Code")) { + r_state$nav_radiant <- "R" +} else if (isTRUE(r_state$nav_radiant == "Report")) { + r_state$nav_radiant <- "Rmd" +} + +## legacy, to deal with radio buttons that were in Data > Pivot +if (!is.null(r_state$pvt_type)) { + if (isTRUE(r_state$pvt_type == "fill")) { + r_state$pvt_type <- TRUE + } else { + r_state$pvt_type <- FALSE + } +} + +## legacy, to deal with state files created before +## name change to rmd_edit +if (!is.null(r_state$rmd_report) && is.null(r_state$rmd_edit)) { + r_state$rmd_edit <- r_state$rmd_report + r_state$rmd_report <- NULL +} + +if (length(r_state$rmd_edit) > 0) { + r_state$rmd_edit <- r_state$rmd_edit %>% radiant.data::fix_smart() +} + +## legacy, to deal with state files created before +## name change to rmd_edit +if (!is.null(r_state$rcode_edit) && is.null(r_state$r_edit)) { + r_state$r_edit <- r_state$rcode_edit + r_state$rcode_edit <- NULL +} + +## parse the url and use updateTabsetPanel to navigate to the desired tab +## currently only works with a new or refreshed session +observeEvent(session$clientData$url_search, { + url_query <- parseQueryString(session$clientData$url_search) + if ("url" %in% names(url_query)) { + r_info[["url"]] <- url_query$url + } else if (is.empty(r_info[["url"]])) { + return() + } + + ## create an observer and suspend when done + url_observe <- observe({ + if (is.null(input$dataset)) { + return() + } + url <- getOption("radiant.url.patterns")[[r_info[["url"]]]] + if (is.null(url)) { + ## if pattern not found suspend observer + url_observe$suspend() + return() + } + ## move through the url + for (u in names(url)) { + if (is.null(input[[u]])) { + return() + } + if (input[[u]] != url[[u]]) { + updateTabsetPanel(session, u, selected = url[[u]]) + } + if (names(tail(url, 1)) == u) url_observe$suspend() + } + }) +}) + +## keeping track of the main tab we are on +observeEvent(input$nav_radiant, { + if (!input$nav_radiant %in% c("Refresh", "Stop")) { + r_info[["nav_radiant"]] <- input$nav_radiant + } +}) + +## Jump to the page you were on +## only goes two layers deep at this point +if (!is.null(r_state$nav_radiant)) { + ## don't return-to-the-spot if that was quit or stop + if (r_state$nav_radiant %in% c("Refresh", "Stop")) { + return() + } + + ## naming the observer so we can suspend it when done + nav_observe <- observe({ + ## needed to avoid errors when no data is available yet + if (is.null(input$dataset)) { + return() + } + updateTabsetPanel(session, "nav_radiant", selected = r_state$nav_radiant) + + ## check if shiny set the main tab to the desired value + if (is.null(input$nav_radiant)) { + return() + } + if (input$nav_radiant != r_state$nav_radiant) { + return() + } + nav_radiant_tab <- getOption("radiant.url.list")[[r_state$nav_radiant]] %>% + names() + + if (!is.null(nav_radiant_tab) && !is.null(r_state[[nav_radiant_tab]])) { + updateTabsetPanel(session, nav_radiant_tab, selected = r_state[[nav_radiant_tab]]) + } + + ## once you arrive at the desired tab suspend the observer + nav_observe$suspend() + }) +} + +isolate({ + if (is.null(r_info[["plot_height"]])) r_info[["plot_height"]] <- 650 + if (is.null(r_info[["plot_width"]])) r_info[["plot_width"]] <- 650 +}) + +if (getOption("radiant.from.package", default = TRUE)) { + ## launch using installed radiant.data package + # radiant.data::copy_all("radiant.data") + cat("\nGetting radiant.data from package ...\n") +} else { + ## for shiny-server and development + for (file in list.files("../../R", pattern = "\\.(r|R)$", full.names = TRUE)) { + source(file, encoding = getOption("radiant.encoding", "UTF-8"), local = TRUE) + } + cat("\nGetting radiant.data from source ...\n") +} + +## Getting screen width ... +## https://github.com/rstudio/rstudio/issues/1870 +## https://community.rstudio.com/t/rstudio-resets-width-option-when-running-shiny-app-in-viewer/3661 +observeEvent(input$get_screen_width, { + if (getOption("width", default = 250) != 250) options(width = 250) +}) + + +radiant.data::copy_from(radiant.data, register, deregister) diff --git a/radiant.data/inst/app/radiant.R b/radiant.data/inst/app/radiant.R new file mode 100644 index 0000000..2026568 --- /dev/null +++ b/radiant.data/inst/app/radiant.R @@ -0,0 +1,1034 @@ +################################################################################ +## function to save app state on refresh or crash +################################################################################ + +## drop NULLs in list +toList <- function(x) reactiveValuesToList(x) %>% .[!sapply(., is.null)] + +## from https://gist.github.com/hadley/5434786 +env2list <- function(x) mget(ls(x), x) + +is_active <- function(env = r_data) { + sapply(ls(envir = env), function(x) bindingIsActive(as.symbol(x), env = env)) +} + +## remove non-active bindings +rem_non_active <- function(env = r_data) { + iact <- is_active(env = r_data) + rm(list = names(iact)[!iact], envir = env) +} + +active2list <- function(env = r_data) { + iact <- is_active(env = r_data) %>% (function(x) names(x)[x]) + if (length(iact) > 0) { + mget(iact, env) + } else { + list() + } +} + +## deal with https://github.com/rstudio/shiny/issues/2065 +MRB <- function(x, env = parent.frame(), init = FALSE) { + if (exists(x, envir = env)) { + ## if the object exists and has a binding, don't do anything + if (!bindingIsActive(as.symbol(x), env = env)) { + shiny::makeReactiveBinding(x, env = env) + } + } else if (init) { + ## initialize a binding (and value) if object doesn't exist yet + shiny::makeReactiveBinding(x, env = env) + } +} + +saveSession <- function(session = session, timestamp = FALSE, path = "~/.radiant.sessions") { + if (!exists("r_sessions")) { + return() + } + if (!dir.exists(path)) dir.create(path) + isolate({ + LiveInputs <- toList(input) + r_state[names(LiveInputs)] <- LiveInputs + + ## removing the non-active bindings + rem_non_active() + + r_data <- env2list(r_data) + r_info <- toList(r_info) + + r_sessions[[r_ssuid]] <- list( + r_data = r_data, + r_info = r_info, + r_state = r_state, + timestamp = Sys.time() + ) + + ## saving session information to state file + if (timestamp) { + fn <- paste0(normalizePath(path), "/r_", r_ssuid, "-", gsub("( |:)", "-", Sys.time()), ".state.rda") + } else { + fn <- paste0(normalizePath(path), "/r_", r_ssuid, ".state.rda") + } + save(r_data, r_info, r_state, file = fn) + }) +} + +observeEvent(input$refresh_radiant, { + if (isTRUE(getOption("radiant.local"))) { + fn <- normalizePath("~/.radiant.sessions") + file.remove(list.files(fn, full.names = TRUE)) + } else { + fn <- paste0(normalizePath("~/.radiant.sessions"), "/r_", r_ssuid, ".state.rda") + if (file.exists(fn)) unlink(fn, force = TRUE) + } + + try(r_ssuid <- NULL, silent = TRUE) +}) + +saveStateOnRefresh <- function(session = session) { + session$onSessionEnded(function() { + isolate({ + url_query <- parseQueryString(session$clientData$url_search) + if (not_pressed(input$refresh_radiant) && + not_pressed(input$stop_radiant) && + not_pressed(input$state_load) && + not_pressed(input$state_upload) && + !"fixed" %in% names(url_query)) { + saveSession(session) + } else { + if (not_pressed(input$state_load) && not_pressed(input$state_upload)) { + if (exists("r_sessions")) { + sshhr(try(r_sessions[[r_ssuid]] <- NULL, silent = TRUE)) + sshhr(try(rm(r_ssuid), silent = TRUE)) + } + } + } + }) + }) +} + +################################################################ +## functions used across tools in radiant +################################################################ + +## get active dataset and apply data-filter if available +.get_data <- reactive({ + req(input$dataset) + + filter_cmd <- input$data_filter %>% + gsub("\\n", "", .) %>% + gsub("\"", "\'", .) %>% + fix_smart() + + arrange_cmd <- input$data_arrange + if (!is.empty(arrange_cmd)) { + arrange_cmd <- arrange_cmd %>% + strsplit(., split = "(&|,|\\s+)") %>% + unlist() %>% + .[!. == ""] %>% + paste0(collapse = ", ") %>% + (function(x) glue("arrange(x, {x})")) + } + + slice_cmd <- input$data_rows + + if ((is.empty(filter_cmd) && is.empty(arrange_cmd) && is.empty(slice_cmd)) || input$show_filter == FALSE) { + isolate(r_info[["filter_error"]] <- "") + } else if (grepl("([^=!<>])=([^=])", filter_cmd)) { + isolate(r_info[["filter_error"]] <- "Invalid filter: Never use = in a filter! Use == instead (e.g., city == 'San Diego'). Update or remove the expression") + } else { + ## %>% needed here so . will be available + seldat <- try( + r_data[[input$dataset]] %>% + (function(x) if (!is.empty(filter_cmd)) x %>% filter(!!rlang::parse_expr(filter_cmd)) else x) %>% + (function(x) if (!is.empty(arrange_cmd)) eval(parse(text = arrange_cmd)) else x) %>% + (function(x) if (!is.empty(slice_cmd)) x %>% slice(!!rlang::parse_expr(slice_cmd)) else x), + silent = TRUE + ) + if (inherits(seldat, "try-error")) { + isolate(r_info[["filter_error"]] <- paste0("Invalid input: \"", attr(seldat, "condition")$message, "\". Update or remove the expression(x)")) + } else { + isolate(r_info[["filter_error"]] <- "") + if ("grouped_df" %in% class(seldat)) { + return(droplevels(ungroup(seldat))) + } else { + return(droplevels(seldat)) + } + } + } + if ("grouped_df" %in% class(r_data[[input$dataset]])) { + ungroup(r_data[[input$dataset]]) + } else { + r_data[[input$dataset]] + } +}) + +## using a regular function to avoid a full data copy +.get_data_transform <- function(dataset = input$dataset) { + if (is.null(dataset)) { + return() + } + if ("grouped_df" %in% class(r_data[[dataset]])) { + ungroup(r_data[[dataset]]) + } else { + r_data[[dataset]] + } +} + +.get_class <- reactive({ + get_class(.get_data()) +}) + +groupable_vars <- reactive({ + .get_data() %>% + summarise_all( + list( + ~ is.factor(.) || is.logical(.) || lubridate::is.Date(.) || + is.integer(.) || is.character(.) || + ((length(unique(.)) / n()) < 0.30) + ) + ) %>% + (function(x) which(x == TRUE)) %>% + varnames()[.] +}) + +groupable_vars_nonum <- reactive({ + .get_data() %>% + summarise_all( + list( + ~ is.factor(.) || is.logical(.) || + lubridate::is.Date(.) || is.integer(.) || + is.character(.) + ) + ) %>% + (function(x) which(x == TRUE)) %>% + varnames()[.] +}) + +## used in compare proportions, logistic, etc. +two_level_vars <- reactive({ + two_levs <- function(x) { + if (is.factor(x)) { + length(levels(x)) + } else { + length(unique(na.omit(x))) + } + } + .get_data() %>% + summarise_all(two_levs) %>% + (function(x) x == 2) %>% + which(.) %>% + varnames()[.] +}) + +## used in visualize - don't plot Y-variables that don't vary +varying_vars <- reactive({ + .get_data() %>% + summarise_all(does_vary) %>% + as.logical() %>% + which() %>% + varnames()[.] +}) + +## getting variable names in active dataset and their class +varnames <- reactive({ + var_class <- .get_class() + req(var_class) + names(var_class) %>% + set_names(., paste0(., " {", var_class, "}")) +}) + +## cleaning up the arguments for data_filter and defaults passed to report +clean_args <- function(rep_args, rep_default = list()) { + if (!is.null(rep_args$data_filter)) { + if (rep_args$data_filter == "") { + rep_args$data_filter <- NULL + } else { + rep_args$data_filter %<>% gsub("\\n", "", .) %>% gsub("\"", "\'", .) + } + } + if (is.empty(rep_args$rows)) { + rep_args$rows <- NULL + } + if (is.empty(rep_args$arr)) { + rep_args$arr <- NULL + } + + if (length(rep_default) == 0) rep_default[names(rep_args)] <- "" + + ## removing default arguments before sending to report feature + for (i in names(rep_args)) { + if (!is.language(rep_args[[i]]) && !is.call(rep_args[[i]]) && all(is.na(rep_args[[i]]))) { + rep_args[[i]] <- NULL + next + } + if (!is.symbol(rep_default[[i]]) && !is.call(rep_default[[i]]) && all(is_not(rep_default[[i]]))) next + if (length(rep_args[[i]]) == length(rep_default[[i]]) && !is.name(rep_default[[i]]) && all(rep_args[[i]] == rep_default[[i]])) { + rep_args[[i]] <- NULL + } + } + + rep_args +} + +## check if a variable is null or not in the selected data.frame +not_available <- function(x) any(is.null(x)) || (sum(x %in% varnames()) < length(x)) + +## check if a variable is null or not in the selected data.frame +available <- function(x) !not_available(x) + +## check if a button was pressed +pressed <- function(x) !is.null(x) && (is.list(x) || x > 0) + +## check if a button was NOT pressed +not_pressed <- function(x) !pressed(x) + +## check for duplicate entries +has_duplicates <- function(x) length(unique(x)) < length(x) + +## is x some type of date variable +is_date <- function(x) inherits(x, c("Date", "POSIXlt", "POSIXct")) + +## drop elements from .._args variables obtained using formals +r_drop <- function(x, drop = c("dataset", "data_filter", "arr", "rows", "envir")) x[!x %in% drop] + +## show a few rows of a dataframe +show_data_snippet <- function(dataset = input$dataset, nshow = 7, title = "", filt = "", arr = "", rows = "") { + if (is.character(dataset) && length(dataset) == 1) dataset <- get_data(dataset, filt = filt, arr = arr, rows = rows, na.rm = FALSE, envir = r_data) + nr <- nrow(dataset) + ## avoid slice with variables outside of the df in case a column with the same + ## name exists + dataset[1:min(nshow, nr), , drop = FALSE] %>% + mutate_if(is_date, as.character) %>% + mutate_if(is.character, list(~ strtrim(., 40))) %>% + xtable::xtable(.) %>% + print( + type = "html", print.results = FALSE, include.rownames = FALSE, + sanitize.text.function = identity, + html.table.attributes = "class='table table-condensed table-hover snippet'" + ) %>% + paste0(title, .) %>% + (function(x) if (nr <= nshow) x else paste0(x, "\n")) %>% + enc2utf8() +} + +suggest_data <- function(text = "", df_name = "diamonds") { + paste0(text, "要获取示例数据集,请转到数据 > 管理,从加载数据类型'下拉菜单中选择'示例',\n然后点击'加载'按钮,选择 '", df_name, "' 数据集。") +} + +## function written by @wch https://github.com/rstudio/shiny/issues/781#issuecomment-87135411 +capture_plot <- function(expr, env = parent.frame()) { + structure( + list(expr = substitute(expr), env = env), + class = "capture_plot" + ) +} + +## function written by @wch https://github.com/rstudio/shiny/issues/781#issuecomment-87135411 +print.capture_plot <- function(x, ...) { + eval(x$expr, x$env) +} + +################################################################ +## functions used to create Shiny in and outputs +################################################################ + +## textarea where the return key submits the content +returnTextAreaInput <- function(inputId, label = NULL, rows = 2, + placeholder = NULL, resize = "vertical", + value = "") { + ## avoid all sorts of 'helpful' behavior from your browser + ## see https://stackoverflow.com/a/35514029/1974918 + tagList( + tags$div( + # using containing element based on + # https://github.com/niklasvh/html2canvas/issues/2008#issuecomment-1445503369 + tags$label(label, `for` = inputId), br(), + tags$textarea( + value, + id = inputId, + type = "text", + rows = rows, + placeholder = placeholder, + resize = resize, + autocomplete = "off", + autocorrect = "off", + autocapitalize = "off", + spellcheck = "false", + class = "returnTextArea form-control" + ) + ) + ) +} + +## from https://github.com/rstudio/shiny/blob/master/R/utils.R +`%AND%` <- function(x, y) { + if (!all(is.null(x)) && !all(is.na(x))) { + if (!all(is.null(y)) && !all(is.na(y))) { + return(y) + } + } + return(NULL) +} + +## using a custom version of textInput to avoid browser "smartness" +textInput <- function(inputId, label, value = "", width = NULL, + placeholder = NULL, autocomplete = "off", + autocorrect = "off", autocapitalize = "off", + spellcheck = "false", ...) { + value <- restoreInput(id = inputId, default = value) + div( + class = "form-group shiny-input-container", + style = if (!is.null(width)) paste0("width: ", validateCssUnit(width), ";"), + label %AND% tags$label(label, `for` = inputId), + tags$input( + id = inputId, + type = "text", + class = "form-control", + value = value, + placeholder = placeholder, + autocomplete = autocomplete, + autocorrect = autocorrect, + autocapitalize = autocapitalize, + spellcheck = spellcheck, + ... + ) + ) +} + +## using a custom version of textAreaInput to avoid browser "smartness" +textAreaInput <- function(inputId, label, value = "", width = NULL, + height = NULL, cols = NULL, rows = NULL, + placeholder = NULL, resize = NULL, + autocomplete = "off", autocorrect = "off", + autocapitalize = "off", spellcheck = "true", + ...) { + value <- restoreInput(id = inputId, default = value) + if (!is.null(resize)) { + resize <- match.arg( + resize, + c("both", "none", "vertical", "horizontal") + ) + } + style <- paste(if (!is.null(width)) { + paste0("width: ", validateCssUnit(width), ";") + }, if (!is.null(height)) { + paste0("height: ", validateCssUnit(height), ";") + }, if (!is.null(resize)) { + paste0("resize: ", resize, ";") + }) + if (length(style) == 0) { + style <- NULL + } + div( + class = "form-group shiny-input-container", + label %AND% tags$label(label, `for` = inputId), + tags$textarea( + id = inputId, + class = "form-control", + placeholder = placeholder, + style = style, + rows = rows, + cols = cols, + autocomplete = autocomplete, + autocorrect = autocorrect, + autocapitalize = autocapitalize, + spellcheck = spellcheck, + ..., + value + ) + ) +} + +## avoid all sorts of 'helpful' behavior from your browser +## based on https://stackoverflow.com/a/35514029/1974918 +returnTextInput <- function(inputId, label = NULL, + placeholder = NULL, value = "") { + tagList( + tags$label(label, `for` = inputId), + tags$input( + id = inputId, + type = "text", + value = value, + placeholder = placeholder, + autocomplete = "off", + autocorrect = "off", + autocapitalize = "off", + spellcheck = "false", + class = "returnTextInput form-control" + ) + ) +} + +if (getOption("radiant.shinyFiles", FALSE)) { + download_link <- function(id) { + uiOutput(paste0("ui_", id)) + } + + download_button <- function(id, ...) { + uiOutput(paste0("ui_", id)) + } + + download_handler <- function(id, label = "", fun = id, fn, type = "csv", caption = "Save to csv", + class = "", ic = "download", btn = "link", onclick = "function() none;", ...) { + ## create observer + shinyFiles::shinyFileSave(input, id, roots = sf_volumes, session = session) + + ## create renderUI + if (btn == "link") { + output[[paste0("ui_", id)]] <- renderUI({ + if (is.function(fn)) fn <- fn() + if (is.function(type)) type <- type() + shinyFiles::shinySaveLink( + id, label, caption, + filename = fn, filetype = type, + class = "alignright", icon = icon(ic, verify_fa = FALSE), onclick = onclick + ) + }) + } else { + output[[paste0("ui_", id)]] <- renderUI({ + if (is.function(fn)) fn <- fn() + if (is.function(type)) type <- type() + shinyFiles::shinySaveButton( + id, label, caption, + filename = fn, filetype = type, + class = class, icon = icon("download", verify_fa = FALSE), onclick = onclick + ) + }) + } + + observeEvent(input[[id]], { + if (is.integer(input[[id]])) { + return() + } + path <- shinyFiles::parseSavePath(sf_volumes, input[[id]]) + if (!inherits(path, "try-error") && !is.empty(path$datapath)) { + fun(path$datapath, ...) + } + }) + } +} else { + download_link <- function(id, ...) { + downloadLink(id, "", class = "fa fa-download alignright", ...) + } + download_button <- function(id, label = "Save", ic = "download", class = "", ...) { + downloadButton(id, label, class = class, ...) + } + download_handler <- function(id, label = "", fun = id, fn, type = "csv", caption = "Save to csv", + class = "", ic = "download", btn = "link", ...) { + output[[id]] <- downloadHandler( + filename = function() { + if (is.function(fn)) fn <- fn() + if (is.function(type)) type <- type() + paste0(fn, ".", type) + }, + content = function(path) { + fun(path, ...) + } + ) + } +} + +plot_width <- function() { + if (is.null(input$viz_plot_width)) r_info[["plot_width"]] else input$viz_plot_width +} + +plot_height <- function() { + if (is.null(input$viz_plot_height)) r_info[["plot_height"]] else input$viz_plot_height +} + +download_handler_plot <- function(path, plot, width = plot_width, height = plot_height) { + plot <- try(plot(), silent = TRUE) + if (inherits(plot, "try-error") || is.character(plot) || is.null(plot)) { + plot <- ggplot() + + labs(title = "Plot not available") + inp <- c(500, 100, 96) + } else { + inp <- 5 * c(width(), height(), 96) + } + + png(file = path, width = inp[1], height = inp[2], res = inp[3]) + print(plot) + dev.off() +} + +## fun_name is a string of the main function name +## rfun_name is a string of the reactive wrapper that calls the main function +## out_name is the name of the output, set to fun_name by default +register_print_output <- function(fun_name, rfun_name, out_name = fun_name) { + ## Generate output for the summary tab + output[[out_name]] <- renderPrint({ + ## when no analysis was conducted (e.g., no variables selected) + fun <- get(rfun_name)() + if (is.character(fun)) { + cat(fun, "\n") + } else { + rm(fun) + } + }) + return(invisible()) +} + +## fun_name is a string of the main function name +## rfun_name is a string of the reactive wrapper that calls the main function +## out_name is the name of the output, set to fun_name by default +register_plot_output <- function(fun_name, rfun_name, out_name = fun_name, + width_fun = "plot_width", height_fun = "plot_height") { + ## Generate output for the plots tab + output[[out_name]] <- renderPlot( + { + ## when no analysis was conducted (e.g., no variables selected) + p <- get(rfun_name)() + if (is_not(p) || is.empty(p)) p <- "Nothing to plot ...\nSelect plots to show or re-run the calculations" + if (is.character(p)) { + plot( + x = 1, type = "n", main = paste0("\n\n\n\n\n\n\n\n", p), + axes = FALSE, xlab = "", ylab = "", cex.main = .9 + ) + } else { + print(p) + } + }, + width = get(width_fun), + height = get(height_fun), + res = 96 + ) + + return(invisible()) +} + +stat_tab_panel <- function(menu, tool, tool_ui, output_panels, + data = input$dataset) { + sidebarLayout( + sidebarPanel( + wellPanel( + HTML(paste("
    ")), + HTML(paste("
    ")), + if (!is.null(data)) { + HTML(paste("")) + } + ), + uiOutput(tool_ui) + ), + mainPanel( + output_panels + ) + ) +} + +################################################################ +## functions used for app help +################################################################ +help_modal <- function(modal_title, link, help_file, + author = "Vincent Nijs", + year = lubridate::year(lubridate::now()), + lic = "by-nc-sa") { + sprintf( + " + ", + link, link, link, modal_title, help_file, author, year, lic, lic, link + ) %>% + enc2utf8() %>% + HTML() +} + +help_and_report <- function(modal_title, fun_name, help_file, + author = "Vincent Nijs", + year = lubridate::year(lubridate::now()), + lic = "by-nc-sa") { + sprintf( + " + + + +
    ", + fun_name, fun_name, fun_name, modal_title, help_file, author, year, lic, lic, fun_name, fun_name, fun_name, fun_name, fun_name + ) %>% + enc2utf8() %>% + HTML() %>% + withMathJax() +} + +## function to render .md files to html +inclMD <- function(path) { + paste(readLines(path, warn = FALSE), collapse = "\n") %>% + markdown::mark_html(text = ., template = FALSE, meta = list(css = ""), output = FALSE) +} + +## function to render .Rmd files to html +inclRmd <- function(path) { + paste(readLines(path, warn = FALSE), collapse = "\n") %>% + knitr::knit2html( + text = ., template = FALSE, quiet = TRUE, + envir = r_data, meta = list(css = ""), output = FALSE + ) %>% + HTML() %>% + withMathJax() +} + +## capture the state of a dt table +dt_state <- function(fun, vars = "", tabfilt = "", tabsort = "", nr = 0) { + ## global search + search <- input[[paste0(fun, "_state")]]$search$search + if (is.null(search)) search <- "" + + ## table ordering + order <- input[[paste0(fun, "_state")]]$order + if (length(order) == 0) { + order <- "NULL" + } else { + order <- list(order) + } + + ## column filters, gsub needed for factors + sc <- input[[paste0(fun, "_search_columns")]] %>% gsub("\\\"", "'", .) + sci <- which(sc != "") + nr_sc <- length(sci) + if (nr_sc > 0) { + sc <- list(lapply(sci, function(i) list(i, sc[i]))) + } else if (nr_sc == 0) { + sc <- "NULL" + } + + dat <- get(paste0(".", fun))()$tab %>% + (function(x) { + nr <<- nrow(x) + x[1, , drop = FALSE] + }) + + if (order != "NULL" || sc != "NULL") { + ## get variable class and name + gc <- get_class(dat) %>% + (function(x) if (is.empty(vars[1])) x else x[vars]) + cn <- names(gc) + + if (length(cn) > 0) { + if (order != "NULL") { + tabsort <- c() + for (i in order[[1]]) { + cname <- cn[i[[1]] + 1] %>% gsub("^\\s+|\\s+$", "", .) + if (grepl("[^0-9a-zA-Z_\\.]", cname) || grepl("^[0-9]", cname)) { + cname <- paste0("`", cname, "`") + } + if (i[[2]] == "desc") cname <- paste0("desc(", cname, ")") + tabsort <- c(tabsort, cname) + } + tabsort <- paste0(tabsort, collapse = ", ") + } + + if (sc != "NULL") { + tabfilt <- c() + for (i in sc[[1]]) { + cname <- cn[i[[1]]] + type <- gc[cname] + if (type == "factor") { + cname <- paste0(cname, " %in% ", sub("\\[", "c(", i[[2]]) %>% sub("\\]", ")", .)) + } else if (type %in% c("numeric", "integer", "ts")) { + bnd <- strsplit(i[[2]], "...", fixed = TRUE)[[1]] + cname <- paste0(cname, " >= ", bnd[1], " & ", cname, " <= ", bnd[2]) %>% gsub(" ", " ", .) + } else if (type %in% c("date", "period")) { + bnd <- strsplit(i[[2]], "...", fixed = TRUE)[[1]] %>% gsub(" ", "", .) + cname <- paste0(cname, " >= '", bnd[1], "' & ", cname, " <= '", bnd[2], "'") %>% gsub(" ", " ", .) + } else if (type == "character") { + cname <- paste0("grepl('", i[[2]], "', ", cname, ", ignore.case = TRUE)") + } else if (type == "logical") { + cname <- paste0(cname, " == ", toupper(sub("\\['(true|false)'\\]", "\\1", i[[2]]))) + } else { + message("Variable ", cname, " has type ", type, ". This type is not currently supported to generate code for Report > Rmd or Report > R") + next + } + tabfilt <- c(tabfilt, cname) + } + tabfilt <- paste0(tabfilt, collapse = " & ") + } + } + } + + list(search = search, order = order, sc = sc, tabsort = tabsort, tabfilt = tabfilt, nr = nr) +} + +## use the value in the input list if available and update r_state +state_init <- function(var, init = "", na.rm = TRUE) { + isolate({ + ivar <- input[[var]] + if (var %in% names(input) || length(ivar) > 0) { + ivar <- input[[var]] + if ((na.rm && is.empty(ivar)) || length(ivar) == 0) { + r_state[[var]] <<- NULL + } + } else { + ivar <- .state_init(var, init, na.rm) + } + ivar + }) +} + +## need a separate function for checkboxGroupInputs +state_group <- function(var, init = "") { + isolate({ + ivar <- input[[var]] + if (var %in% names(input) || length(ivar) > 0) { + ivar <- input[[var]] + if (is.empty(ivar)) r_state[[var]] <<- NULL + } else { + ivar <- .state_init(var, init) + r_state[[var]] <<- NULL ## line that differs for CBG inputs + } + ivar + }) +} + +.state_init <- function(var, init = "", na.rm = TRUE) { + rs <- r_state[[var]] + if ((na.rm && is.empty(rs)) || length(rs) == 0) init else rs +} + +state_single <- function(var, vals, init = character(0)) { + isolate({ + ivar <- input[[var]] + if (var %in% names(input) && is.null(ivar)) { + r_state[[var]] <<- NULL + ivar + } else if (available(ivar) && all(ivar %in% vals)) { + if (length(ivar) > 0) r_state[[var]] <<- ivar + ivar + } else if (available(ivar) && any(ivar %in% vals)) { + ivar[ivar %in% vals] + } else { + if (length(ivar) > 0 && all(ivar %in% c("None", "none", ".", ""))) { + r_state[[var]] <<- ivar + } + .state_single(var, vals, init = init) + } + }) +} + +.state_single <- function(var, vals, init = character(0)) { + rs <- r_state[[var]] + if (is.empty(rs)) init else vals[vals == rs] +} + +state_multiple <- function(var, vals, init = character(0)) { + isolate({ + ivar <- input[[var]] + if (var %in% names(input) && is.null(ivar)) { + r_state[[var]] <<- NULL + ivar + } else if (available(ivar) && all(ivar %in% vals)) { + if (length(ivar) > 0) r_state[[var]] <<- ivar + ivar + } else if (available(ivar) && any(ivar %in% vals)) { + ivar[ivar %in% vals] + } else { + if (length(ivar) > 0 && all(ivar %in% c("None", "none", ".", ""))) { + r_state[[var]] <<- ivar + } + .state_multiple(var, vals, init = init) + } + }) +} + +.state_multiple <- function(var, vals, init = character(0)) { + rs <- r_state[[var]] + r_state[[var]] <<- NULL + + ## "a" %in% character(0) --> FALSE, letters[FALSE] --> character(0) + if (is.empty(rs)) vals[vals %in% init] else vals[vals %in% rs] +} + +## cat to file +## use with tail -f ~/r_cat.txt in a terminal +# cf <- function(...) { +# cat(paste0("\n--- called from: ", environmentName(parent.frame()), " (", lubridate::now(), ")\n"), file = "~/r_cat.txt", append = TRUE) +# out <- paste0(capture.output(...), collapse = "\n") +# cat("--\n", out, "\n--", sep = "\n", file = "~/r_cat.txt", append = TRUE) +# } + +## autosave option +## provide a list with (1) the save interval in minutes, (2) the total duration in minutes, and (3) the path to use +# options(radiant.autosave = list(1, 5, "~/.radiant.sessions")) +# options(radiant.autosave = list(.1, 1, "~/Desktop/radiant.sessions")) +# options(radiant.autosave = list(10, 180, "~/Desktop/radiant.sessions")) +if (length(getOption("radiant.autosave", default = NULL)) > 0) { + start_time <- Sys.time() + interval <- getOption("radiant.autosave")[[1]] * 60000 + max_duration <- getOption("radiant.autosave")[[2]] + autosave_path <- getOption("radiant.autosave")[[3]] + autosave_path <- ifelse(length(autosave_path) == 0, "~/.radiant.sessions", autosave_path) + autosave_poll <- reactivePoll( + interval, + session, + checkFunc = function() { + curr_time <- Sys.time() + diff_time <- difftime(curr_time, start_time, units = "mins") + if (diff_time < max_duration) { + saveSession(session, timestamp = TRUE, autosave_path) + options(radiant.autosave = list(interval, max_duration - diff_time, autosave_path)) + message("Radiant state was auto-saved at ", curr_time) + } else { + if (length(getOption("radiant.autosave", default = NULL)) > 0) { + showModal( + modalDialog( + title = "Radiant state autosave", + span(glue("The autosave feature has been turned off. Time to save and submit your work by clicking + on the 'Save' icon in the navigation bar and then on 'Save radiant state file'. To clean the + state files that were auto-saved, run the following command from the R(studio) console: + unlink('{autosave_path}/*.state.rda', force = TRUE)")), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + options(radiant.autosave = NULL) + } + } + }, + valueFunc = function() { + return() + } + ) +} + +## update "run" button when relevant inputs are changed +run_refresh <- function(args, pre, init = "evar", tabs = "", + label = "Estimate model", relabel = label, + inputs = NULL, data = TRUE) { + observe({ + ## dep on most inputs + if (data) { + input$data_filter + input$data_arrange + input$data_rows + input$show_filter + } + sapply(r_drop(names(args)), function(x) input[[paste0(pre, "_", x)]]) + + ## adding dependence in more inputs + if (length(inputs) > 0) { + sapply(inputs, function(x) input[[paste0(pre, "_", x)]]) + } + + run <- isolate(input[[paste0(pre, "_run")]]) %>% pressed() + check_null <- function(init) { + all(sapply(init, function(x) is.null(input[[paste0(pre, "_", x)]]))) + } + if (isTRUE(check_null(init))) { + if (!is.empty(tabs)) { + updateTabsetPanel(session, paste0(tabs, " "), selected = "Summary") + } + updateActionButton(session, paste0(pre, "_run"), label, icon = icon("play", verify_fa = FALSE)) + } else if (run) { + updateActionButton(session, paste0(pre, "_run"), relabel, icon = icon("sync", class = "fa-spin", verify_fa = FALSE)) + } else { + updateActionButton(session, paste0(pre, "_run"), label, icon = icon("play", verify_fa = FALSE)) + } + }) + + observeEvent(input[[paste0(pre, "_run")]], { + updateActionButton(session, paste0(pre, "_run"), label, icon = icon("play", verify_fa = FALSE)) + }) +} + +radiant_screenshot_modal <- function(report_on = "") { + add_button <- function() { + if (is.empty(report_on)) { + "" + } else { + actionButton(report_on, i18n$t("Report"), icon = icon("edit", verify_fa = FALSE), class = "btn-success") + } + } + showModal( + modalDialog( + title = i18n$t("Radiant screenshot"), + span(shiny::tags$div(id = "screenshot_preview")), + span(HTML("
    要在报告中包含截图,请先点击保存按钮将截图保存到磁盘。然后点击报告按钮,将截图引用插入到报告 > Rmd中。")), + footer = tagList( + tags$table( + tags$td(download_button("screenshot_save", i18n$t("Save"), ic = "download")), + tags$td(add_button()), + tags$td(modalButton(i18n$t("Cancel"))), + align = "right" + ) + ), + size = "l", + easyClose = TRUE + ) + ) +} + +observeEvent(input$screenshot_link, { + radiant_screenshot_modal() +}) + +render_screenshot <- function() { + plt <- sub("data:.+base64,", "", input$img_src) + png::readPNG(base64enc::base64decode(what = plt)) +} + +download_handler_screenshot <- function(path, plot, ...) { + plot <- try(plot(), silent = TRUE) + if (inherits(plot, "try-error") || is.character(plot) || is.null(plot)) { + plot <- ggplot() + + labs(title = "Plot not available") + png(file = path, width = 500, height = 100, res = 96) + print(plot) + dev.off() + } else { + ppath <- parse_path(path, pdir = getOption("radiant.launch_dir", find_home()), mess = FALSE) + # r_info[["latest_screenshot"]] <- glue("![]({ppath$rpath})") + # r_info[["latest_screenshot"]] <- glue("
    \nClick to show screenshot\nRadiant screenshot\n
    ") + r_info[["latest_screenshot"]] <- glue("\n
    \nClick to show screenshot with Radiant settings to generate output shown below\n\n![]({ppath$rpath})\n

    \n") + png::writePNG(plot, path, dpi = 144) + } +} + +observe({ + if (length(input$nav_radiant) > 0) { + tabset <- names(getOption("radiant.url.list")[[input$nav_radiant]]) + rtn <- if (length(tabset) > 0) { + paste0(input$nav_radiant, " ", input[[tabset]]) + } else { + input$nav_radiant + } + r_info[["radiant_tab_name"]] <- gsub("[ ]+", "-", rtn) %>% + gsub("(\\(|\\))", "", .) %>% + gsub("[-]{2,}", "-", .) %>% + tolower() + } +}) + +download_handler( + id = "screenshot_save", + fun = download_handler_screenshot, + fn = function() paste0(r_info[["radiant_tab_name"]], "-screenshot"), + type = "png", + caption = "Save radiant screenshot", + plot = render_screenshot, + btn = "button", + label = i18n$t("Save"), + class = "btn-primary", + onclick = "get_img_src();" +) diff --git a/radiant.data/inst/app/rsconnect/rsm-compute-dev2.ucsd.edu/vnijs/radiantdata.dcf b/radiant.data/inst/app/rsconnect/rsm-compute-dev2.ucsd.edu/vnijs/radiantdata.dcf new file mode 100644 index 0000000..cc792e0 --- /dev/null +++ b/radiant.data/inst/app/rsconnect/rsm-compute-dev2.ucsd.edu/vnijs/radiantdata.dcf @@ -0,0 +1,12 @@ +name: radiantdata +title: radiant.data +username: vnijs +account: vnijs +server: rsm-compute-dev2.ucsd.edu +hostUrl: https://rsm-compute-dev2.ucsd.edu/__api__ +appId: 1 +bundleId: 1 +url: https://rsm-compute-dev2.ucsd.edu/content/3013458f-8bc6-48c1-8b5f-a20d81684d7a/ +version: 1 +asMultiple: FALSE +asStatic: FALSE diff --git a/radiant.data/inst/app/server.R b/radiant.data/inst/app/server.R new file mode 100644 index 0000000..a904171 --- /dev/null +++ b/radiant.data/inst/app/server.R @@ -0,0 +1,28 @@ +shinyServer(function(input, output, session) { + enc <- getOption("radiant.encoding", "UTF-8") + + ## source shared functions + source("init.R", encoding = enc, local = TRUE) + source("radiant.R", encoding = enc, local = TRUE) + + ## packages to use for example data + options(radiant.example.data = "radiant.data") + + ## source data & analysis tools + for (file in list.files(c("tools/app", "tools/data"), pattern = "\\.(r|R)$", full.names = TRUE)) { + source(file, encoding = enc, local = TRUE) + } + + # dataviewer_proxy <- DT::dataTableProxy("dataviewer", session) + + # observe(session$setCurrentTheme( + # if (isTRUE(input$dark_mode)) { + # bslib::bs_theme(version = 4, bg = "black", fg = "white") + # } else { + # bslib::bs_theme(version = 4) + # } + # )) + + ## save state on refresh or browser close + saveStateOnRefresh(session) +}) diff --git a/radiant.data/inst/app/tools/app/about.md b/radiant.data/inst/app/tools/app/about.md new file mode 100644 index 0000000..01a64c2 --- /dev/null +++ b/radiant.data/inst/app/tools/app/about.md @@ -0,0 +1,184 @@ +# Radiant - 使用R和Shiny进行商业分析 + + + +[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/radiant)](https://CRAN.R-project.org/package=radiant) + + +Radiant是一个开源的、与平台无关的、基于浏览器的[R ](https://www.r-project.org/)商业分析界面。该应用程序基于[Shiny ](https://shiny.posit.co/)包构建,可以在本地或服务器上运行。Radiant由Vincent Nijs开发。请使用GitHub上的问题跟踪器提出改进建议或报告问题:[https://github.com/radiant-rstats/radiant/issues。其他问题和评论请使用radiant@rady.ucsd.edu。 ](https://github.com/radiant-rstats/radiant/issues。其他问题和评论请使用radiant@rady.ucsd.edu。) + +## 主要特性 + +- **探索**:快速轻松地汇总、可视化和分析您的数据 +- **跨平台**:它在Windows、Mac和Linux上的浏览器中运行 +- **可重现**:通过状态文件或[Rmarkdown ](https://rmarkdown.rstudio.com/)报告重新创建结果并与他人共享工作 +- **编程**:将Radiant的分析功能与您自己的R代码集成 +- **上下文**:数据和示例侧重于商业应用 + + + +#### 播放列表 + +有两个包含视频教程的YouTube播放列表。第一个提供了Radiant关键特性的总体介绍。第二个涵盖了商业分析课程中相关的主题(即概率、决策分析、假设检验、线性回归和模拟)。 + +* Radiant入门 +* Radiant教程系列 + +#### 探索 + +Radiant是交互式的。当输入更改时(即,没有单独的对话框)和/或按下按钮时(例如,_Model > Estimate > Logistic regression (GLM)_中的`Estimate`),结果会立即更新。这有助于快速探索和理解数据。 + +#### 跨平台 + +Radiant可在Windows、Mac或Linux上工作。它可以在没有互联网连接的情况下运行,并且没有数据会离开您的计算机。您也可以在服务器上将应用程序作为Web应用程序运行。 + +#### 可重现 + +要进行高质量分析,仅仅保存输出是不够的。您需要能够针对相同数据和/或当新数据可用时重现结果。此外,其他人可能希望查看您的分析和结果。保存和加载应用程序状态,以便稍后或在另一台计算机上继续工作。与他人共享状态文件,并使用[Rmarkdown ](https://rmarkdown.rstudio.com/)创建可重现的报告。另请参阅下面的"保存和加载状态"部分。 + +如果您在服务器上使用Radiant,您甚至可以与他人共享URL(包含SSUID),以便他们可以看到您正在处理的内容。感谢[Joe Cheng ](https://github.com/jcheng5)提供此功能。 + +#### 编程 + +尽管Radiant的Web界面可以处理相当多的数据和分析任务,但您可能更喜欢编写自己的R代码。Radiant通过导出用于分析的函数,为R(studio)编程提供了桥梁(即,您可以使用Radiant Web界面进行分析,也可以直接从R代码调用Radiant的函数)。有关使用Radiant进行编程的更多信息,请参阅文档网站上的[编程 ](https://radiant-rstats.github.io/docs/programming.html)页面。 + +#### 上下文 + +Radiant专注于商业数据和决策。它提供了与该上下文相关的工具、示例和文档,有效降低了商业分析的学习曲线。 + +## 如何安装Radiant + +- 必需:[R ](https://cran.r-project.org/)版本4.0.0或更高 +- 必需:[Rstudio ](https://posit.co/download/rstudio-server/) + +在Rstudio中,您可以通过屏幕顶部的`Addins`菜单启动和更新Radiant。要为Windows或Mac安装最新版本的Radiant(包含完整的离线文档),请打开R(studio)并复制粘贴以下命令: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +安装完所有包后,从Rstudio中的`Addins`菜单选择`Start radiant`,或使用以下命令启动应用程序: + +```r +radiant::radiant() +``` + +要在Rstudio的查看器窗格中启动Radiant,请使用以下命令: + +```r +radiant::radiant_viewer() +``` + +要在Rstudio窗口中启动Radiant,请使用以下命令: + +```r +radiant::radiant_window() +``` + +要轻松更新Radiant和所需包,请使用以下命令安装`radiant.update`包: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("remotes") +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never") +``` + +然后从Rstudio中的`Addins`菜单选择`Update radiant`,或使用以下命令: + +```r +radiant.update::radiant.update() +``` + +有关更多详细信息,请参阅[安装radiant ](https://radiant-rstats.github.io/docs/install.html)页面。 + +**可选:** 您还可以通过在R(studio)控制台中键入`radiant::launcher()`并按回车键,在桌面上创建启动器来启动Radiant。将创建一个名为`radiant.bat`(Windows)或`radiant.command`(Mac)的文件,您可以双击该文件在默认浏览器中启动Radiant。`launcher`命令还将创建一个名为`update_radiant.bat`(Windows)或`update_radiant.command`(Mac)的文件,您可以双击该文件将Radiant更新到最新版本。 + +当Radiant启动时,您将看到有关钻石价格的数据。要关闭应用程序,请单击导航栏中的图标,然后单击`Stop`。Radiant进程将停止,浏览器窗口将关闭(Chrome)或变灰。 + +## 文档 + +文档和教程可在<[https://radiant-rstats.github.io/docs/ ](https://radiant-rstats.github.io/docs/) >获取,并在Radiant Web界面中(每页上的图标和导航栏中的图标)。 + +各个Radiant包也有自己的[pkgdown ](https://github.com/r-lib/pkgdown)网站: + +* http://radiant-rstats.github.io/radiant +* http://radiant-rstats.github.io/radiant.data +* http://radiant-rstats.github.io/radiant.design +* http://radiant-rstats.github.io/radiant.basics +* http://radiant-rstats.github.io/radiant.model +* http://radiant-rstats.github.io/radiant.multivariate + +需要一些入门帮助吗?观看[文档网站 ](https://radiant-rstats.github.io/docs/tutorials.html)上的教程。 + +## 报告问题 + +如果您在使用Radiant时遇到任何问题,请使用GitHub问题跟踪器:github.com/radiant-rstats/radiant/issues。 + +## 在线试用Radiant + +还没有准备好在计算机上安装Radiant?在以下链接在线试用: + +https://vnijs.shinyapps.io/radiant + +请**不要**将敏感数据上传到此公共服务器。出于安全原因,数据上传大小已限制为10MB。 + +## 在shinyapps.io上运行Radiant + +要在shinyapps.io上运行您自己的Radiant实例,首先安装Radiant及其依赖项。然后克隆radiant仓库,并通过运行`radiant/inst/app/for.shinyapps.io.R`确保您已安装最新版本的Radiant包。最后,打开`radiant/inst/app/ui.R`并[部署 ](https://shiny.posit.co/articles/shinyapps.html)应用程序。 + +## 在shiny-server上运行Radiant + +您也可以使用[shiny-server ](https://posit.co/download/shiny-server/)托管Radiant。首先,使用以下命令在服务器上安装radiant: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +然后克隆radiant仓库,并将shiny-server指向`inst/app/`目录。如果您打算在服务器上使用Radiant,请告知我,我将不胜感激。 + +在服务器上运行Radiant时,默认情况下,文件上传限制为10MB,并且出于安全原因,_Report > Rmd_和_Report > R_中的R代码不会被评估。如果您拥有服务器的`sudo`访问权限并有适当的安全措施,可以通过向服务器上`shiny`用户的`.Rprofile`添加以下行来更改这些设置。 + +```bash +options(radiant.maxRequestSize = -1) ## no file size limit +options(radiant.report = TRUE) +``` + +## 在云中运行Radiant(例如,AWS) + +要在云中运行radiant,您可以使用自定义Docker容器。详情请参见https://github.com/radiant-rstats/docker + +## 保存和加载状态 + +要保存您的分析,请单击导航栏中的图标,然后单击`Save radiant state file`(另请参见_Data > Manage_选项卡)将应用程序状态保存到文件中。您可以稍后或在另一台计算机上打开此状态文件,继续您之前的工作。您也可以与希望复制您分析的其他人共享该文件。例如,单击导航栏中的图标,然后单击`Load radiant state file`,加载状态文件[`radiant-example.state.rda` ](https://radiant-rstats.github.io/docs/examples/radiant-example.state.rda)。转到_Data > View_和_Data > Visualize_查看应用程序先前"状态"的一些设置。_Report > Rmd_中还有一个使用Radiant界面创建的报告。html文件`radiant-example.nb.html`包含输出。 + +Radiant中的一个相关功能是,如果您意外导航到另一个网页、关闭(并重新打开)浏览器和/或点击刷新,状态将保持不变。在导航栏中的菜单中使用`Refresh`返回到干净/新的状态。 + +加载和保存状态也适用于Rstudio。如果您从Rstudio启动Radiant并使用 > `Stop`停止应用程序,则名为`r_data`、`r_info`和`r_state`的列表将放入Rstudio的全局工作空间中。如果您再次使用`radiant::radiant()`启动radiant,它将使用这些列表来恢复状态。此外,如果您直接将状态文件加载到Rstudio中,启动Radiant时将使用该文件重新创建先前的状态。 + +**技术说明**:Radiant中的状态加载工作方式如下:当在Shiny应用程序中初始化输入时,您在调用(例如,numericInput)中设置默认值。在Radiant中,当加载状态文件并初始化输入时,它会查看名为`r_state`的列表中是否有该名称的输入值。如果有,则使用该值。`r_state`列表是在使用`reactiveValuesToList(input)`保存状态时创建的。下面给出了调用`numericInput`的示例,其中使用了来自`radiant.R`的`state_init`函数来检查是否可以使用来自`r_state`的值。 + +```r +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0)) +``` + +## 源代码 + +Radiant应用程序的源代码可在GitHub上获取:<[https://github.com/radiant-rstats ](https://github.com/radiant-rstats) >。`radiant.data`提供工具来加载、保存、查看、可视化、汇总、组合和转换数据。`radiant.design`基于`radiant.data`构建,并添加了用于实验设计、抽样和样本量计算的工具。`radiant.basics`涵盖了统计分析的基础知识(例如,比较均值和比例、交叉表、相关性等),并包括一个概率计算器。`radiant.model`涵盖了模型估计(例如,逻辑回归和神经网络)、模型评估(例如,增益图、利润曲线、混淆矩阵等)和决策工具(例如,决策分析和模拟)。最后,`radiant.multivariate`包括生成品牌地图以及进行聚类、因子和联合分析的工具。 + +这些工具用于加州大学圣地亚哥分校Rady管理学院的_Business Analytics_、*Quantitative Analysis*、*Research for Marketing Decisions*、*Applied Market Research*、*Consumer Behavior*、*Experiments in Firms*、*Pricing*、_Pricing Analytics_和_Customer Analytics_课程。 + +## 致谢 + +没有[R ](https://cran.r-project.org/)和[Shiny ](https://shiny.posit.co/),Radiant是不可能实现的。我要感谢[Joe Cheng ](https://github.com/jcheng5)、[Winston Chang ](https://github.com/wch)和[Yihui Xie ](https://github.com/yihui)回答问题、提供建议并为R社区创建出色的工具。Radiant中使用的其他关键组件包括ggplot2、dplyr、tidyr、magrittr、broom、shinyAce、shinyFiles、rmarkdown和DT。有关Radiant所依赖的其他包的概述,请参阅关于页面。 + +## 许可证 + +Radiant根据AGPLv3许可。简而言之,AGPLv3许可证要求:归属,包括软件副本中的版权声明和许可信息,如果代码被修改则说明更改,以及披露所有源代码。详情请参见COPYING文件。 + +`radiant.data`包的文档、图像和视频根据知识共享署名和相同方式共享许可CC-BY-SA许可。本网站上的所有其他文档和视频,以及`radiant.design`、`radiant.basics`、`radiant.model`和`radiant.multivariate`的帮助文件,均根据知识共享署名、非商业性、相同方式共享许可CC-NC-SA许可。 + +如果您有兴趣使用任何radiant包,请通过[radiant@rady.ucsd.edu ](mailto:radiant@rady.ucsd.edu)给我发邮件。 + +© Vincent Nijs (2024) Creative Commons License diff --git a/radiant.data/inst/app/tools/app/help.R b/radiant.data/inst/app/tools/app/help.R new file mode 100644 index 0000000..0fcac28 --- /dev/null +++ b/radiant.data/inst/app/tools/app/help.R @@ -0,0 +1,138 @@ +####################################### +## Other elements in help menu +####################################### +output$help_videos <- renderUI({ + file.path(getOption("radiant.path.data"), "app/tools/app/tutorials.md") %>% inclMD() %>% HTML() +}) + +output$help_about <- renderUI({ + file.path(getOption("radiant.path.data"), "app/tools/app/about.md") %>% inclMD() %>% HTML() +}) + +output$help_text <- renderUI({ + wellPanel( + HTML("Help is available on each page by clicking the icon on the bottom left of your screen.

    Versions: ", getOption("radiant.versions", default = "Unknown")) + ) +}) + +####################################### +## Main function of help menu +####################################### +append_help <- function(help_str, help_path, lic = "nc", Rmd = TRUE) { + if (length(input[[help_str]]) == 0) return() + help_block <- get(help_str) + local_hd <- help_block[which(help_block %in% input[[help_str]])] + all_help <- c() + for (i in names(local_hd)) { + all_help <- paste( + all_help, paste0("

    ", i, "

    "), + inclRmd(file.path(help_path, local_hd[i])), + sep = "\n" + ) + } + mathjax_script <- ifelse(Rmd, "", "") + + if (lic == "nc") { + cc <- getOption("radiant.help.cc", default = "") + } else { + cc <- getOption("radiant.help.cc.sa", default = "") + } + + ## remove ` from report.md + paste( + gsub("(\"> )`", "\\1", all_help) %>% + gsub("`( )", "\\1", .), + "\n", mathjax_script, "\n", cc + ) %>% HTML() +} + +help_switch <- function(help_all, help_str, help_on = TRUE) { + if (is.null(help_all) || help_all == 0) return() + help_choices <- help_init <- get(help_str) + init <- "" + if (help_on) init <- help_init + updateCheckboxGroupInput( + session, help_str, + label = NULL, + choices = help_choices, + selected = init, inline = TRUE + ) +} + +help_data <- c( + "Manage" = "manage.md", "View" = "view.md", "Visualize" = "visualize.md", + "Pivot" = "pivotr.md", "Explore" = "explore.md", "Transform" = "transform.md", + "Combine" = "combine.md", "Report > Rmd" = "report_rmd.md", "Report > R" = "report_r.md" +) +output$help_data <- reactive( + append_help("help_data", file.path(getOption("radiant.path.data"), "app/tools/help/")) +) + +observeEvent(input$help_data_all, { + help_switch(input$help_data_all, "help_data") +}) +observeEvent(input$help_data_none, { + help_switch(input$help_data_none, "help_data", help_on = FALSE) +}) + +help_data_panel <- + wellPanel( + HTML( + "" + ), + checkboxGroupInput("help_data", NULL, help_data, selected = state_group("help_data"), inline = TRUE) + ) + +output$help_data_ui <- renderUI({ + sidebarLayout( + sidebarPanel( + help_data_panel, + uiOutput("help_text"), + width = 3 + ), + mainPanel( + HTML(paste0("

    Select help files to show and search


    ")), + htmlOutput("help_data") + ) + ) +}) + +observeEvent(input$help_keyboard, { + showModal( + modalDialog( + title = i18n$t("Keyboard shortcuts"), + h4(i18n$t("General")), + ## based on https://github.com/swarm-lab/editR/blob/master/inst/app/bits/keyboard.R + withTags( + table(style = "width: 80%; margin-left: 10%;", + tr(class = "border_bottom", + td(b(i18n$t("Function"))), td(b("Mac")), td(b("Windows & Linux"))), + tr(class = "padding_top", + td(i18n$t("Save state")), td("Shift-CMD-s"), td("Shift-CTRL-s")), + tr(class = "padding_top", + td(i18n$t("Open state")), td("Shift-CMD-o"), td("Shift-CTRL-o")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Show help")), td("F1"), td("F1")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Generate screenshot")), td("CMD-p"), td("CTRL-p")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Generate code")), td("ALT-return"), td("ALT-return")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Estimate/Run (green button)")), td("CMD-enter"), td("CTRL-enter")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Save (blue button)")), td("CMD-s"), td("CTRL-s")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Download (blue icon)")), td("CMD-s"), td("CTRL-s")), + tr(class = "border_bottom padding_bottom", + td(i18n$t("Load (blue button)")), td("CMD-o"), td("CTRL-o")) + # tr(class = "border_bottom padding_bottom", + # td("Viewer pane full screen"), td("Shift-CTRL-9"), td("Shift-CTRL-9")) + ) + ), + footer = modalButton("OK"), + size = "l", + easyClose = TRUE + ) + ) +}) diff --git a/radiant.data/inst/app/tools/app/report_funs.R b/radiant.data/inst/app/tools/app/report_funs.R new file mode 100644 index 0000000..023d8f6 --- /dev/null +++ b/radiant.data/inst/app/tools/app/report_funs.R @@ -0,0 +1,850 @@ +file_upload_button <- function(inputId, label = "", multiple = FALSE, + accept = NULL, buttonLabel = "Load", title = "Load data", + class = "", icn = "upload", progress = FALSE) { + if (getOption("radiant.shinyFiles", FALSE)) { + shinyFiles::shinyFileChoose( + input = input, + id = inputId, + session = session, + roots = sf_volumes, + filetype = gsub(".", "", accept, fixed = TRUE) + ) + + # actionButton(inputId, buttonLabel, icon = icon(icn), class = class) + shinyFiles::shinyFilesButton( + inputId, buttonLabel, label, + title = title, multiple = FALSE, + class = class, icon = icon(icn, verify_fa = FALSE) + ) + } else { + if (length(accept) > 0) { + accept <- paste(accept, collapse = ",") + } else { + accept <- "" + } + + if (!is.empty(label)) { + label <- paste0("

    ") + } + + btn <- paste0(label, " + + ") + + if (progress) { + btn <- paste0(btn, "\n
    +
    +
    ") + } + + HTML(btn) + } +} + +## Thanks to @timelyportfolio for this comment/fix +## https://github.com/timelyportfolio/functionplotR/issues/1#issuecomment-224369431 +## needed to include deps in saved reports rendered using rmarkdown +getdeps <- function() { + htmltools::attachDependencies( + htmltools::tagList(), + c( + htmlwidgets:::getDependency("DiagrammeR", "DiagrammeR"), + htmlwidgets:::getDependency("plotly", "plotly") + ) + ) +} + +## get information from rstudio editor +rstudio_context <- function(type = "rmd") { + rse <- rstudioapi::getSourceEditorContext() + path <- rse$path + ext <- tools::file_ext(path) + + if (is.empty(path) || !file.exists(path) || tolower(ext) != type) { + ## path will be empty of new file hasn't been save yet + list(path = "", rpath = "", base = "", base_name = "", ext = "", content = "") + } else { + path <- normalizePath(path, winslash = "/") + pdir <- getOption("radiant.project_dir", default = radiant.data::find_home()) + + sel <- rse$selection[[1]][["text"]] + if (is.empty(sel)) { + content <- paste0(rse$content, collapse = "\n") + } else { + content <- paste0(sel, collapse = "\n") + } + + base <- basename(path) + base_name <- sub(paste0(".", ext), "", base) + + rpath <- if (is.empty(pdir)) { + path + } else { + sub(paste0(pdir, "/"), "", path) + } + + list( + path = path, + rpath = rpath, + base = base, + base_name = sub(paste0(".", ext, "$"), "", base), + ext = tolower(ext), + content = content + ) + } +} + +scrub <- . %>% + gsub("<!--/html_preserve-->", "", .) %>% + gsub("<!--html_preserve-->", "", .) %>% + gsub("<!–html_preserve–>", "", .) %>% + gsub("<!–/html_preserve–>", "", .) ## knitr adds this + +setup_report <- function(report, ech, add_yml = TRUE, type = "rmd", + save_type = "Notebook", lib = "radiant") { + report <- fix_smart(report) %>% + gsub("^```\\s*\\{", "\n\n```{", .) %>% + gsub("^```\\s*\n", "```\n\n", .) %>% + sub("^---\n(.*?)\n---", "", .) %>% + sub("", "", .) + + ## screenshot option + sopts <- ifelse(save_type == "PDF", ",\n screenshot.opts = list(vheight = 1200)", "") + + if (add_yml) { + if (save_type %in% c("PDF", "Word", "Powerpoint")) { + yml <- "" + } else if (save_type == "HTML") { + yml <- "---\npagetitle: HTML report\noutput:\n html_document:\n highlight: zenburn\n theme: cosmo\n df_print: paged\n toc: yes\n---\n\n" + } else if (save_type %in% c("Rmd", "Rmd + Data (zip)")) { + yml <- "---\npagetitle: Rmd report\noutput:\n html_document:\n highlight: zenburn\n theme: cosmo\n df_print: paged\n toc: yes\n code_folding: hide\n code_download: true\n---\n\n" + } else { + yml <- "---\npagetitle: Notebook report\noutput:\n html_notebook:\n highlight: zenburn\n theme: cosmo\n toc: yes\n code_folding: hide\n---\n\n" + } + } else { + yml <- "" + } + + if (missing(ech)) { + ech <- if (save_type %in% c("PDF", "Word", "Powerpoint", "HTML")) "FALSE" else "TRUE" + } + + if (grepl("```{r r_setup, include = FALSE}\n", report, fixed = TRUE)) { + report + } else { + paste0(yml, "```{r r_setup, include = FALSE} +## initial settings +knitr::opts_chunk$set( + comment = NA, + echo = ", ech, ", + error = TRUE, + cache = FALSE, + message = FALSE,\n + dpi = 96, + warning = FALSE", sopts, " +) + +## width to use when printing tables etc. +options( + width = 250, + scipen = 100, + max.print = 5000, + stringsAsFactors = FALSE +) + +## make all required libraries available by loading radiant package if needed +if (is.null(shiny::getDefaultReactiveDomain())) library(", lib, ") + +## include code to load the data you require +## for interactive use attach the r_data environment +# attach(r_data) +``` + +\n\n", report) + } +} + +## Based on http://stackoverflow.com/a/31797947/1974918 +## as of 12/30/2017 doesn't seem to work anymore +knit_it_save <- function(report) { + ## Read input and convert to Markdown + md <- knitr::knit(text = report, envir = r_data) + + ## Get dependencies from knitr + deps <- knitr::knit_meta() + + ## Convert script dependencies into data URIs, and stylesheet + ## dependencies into inline stylesheets + dep_scripts <- + lapply(deps, function(x) { + lapply(x$script, function(script) file.path(x$src$file, script)) + }) %>% + unlist() %>% + unique() + dep_stylesheets <- + lapply(deps, function(x) { + lapply(x$stylesheet, function(stylesheet) file.path(x$src$file, stylesheet)) + }) %>% + unlist() %>% + unique() + dep_html <- c( + sapply(dep_scripts, function(script) { + sprintf( + '', + base64enc::dataURI(file = script) + ) + }), + sapply(dep_stylesheets, function(sheet) { + sprintf( + "", + paste(sshhr(readLines(sheet)), collapse = "\n") + ) + }) + ) + + ## Extract the bits + preserved <- htmltools::extractPreserveChunks(md) + + ## Render the HTML, and then restore the preserved chunks + markdown::mark_html( + text = preserved$value, + header = dep_html, + options = c("mathjax", "base64_images"), + meta = list(css = file.path(getOption("radiant.path.data"), "app/www/bootstrap.min.css")) + ) %>% + htmltools::restorePreserveChunks(preserved$chunks) %>% + gsub("", "
    ", .) +} + +report_clean <- function(report) { + withProgress(message = "Cleaning report", value = 1, { + report <- gsub("\nr_data\\[\\[\"([^\n]+?)\"\\]\\] \\%>\\%(.*?)\\%>\\%\\s*?store\\(\"(.*?)\", (\".*?\")\\)", "\n\\3 <- \\1 %>%\\2\nregister(\"\\3\", \\4)", report) %>% + gsub("r_data\\[\\[\"([^\"]+?)\"\\]\\]", "\\1", .) %>% + gsub("r_data\\$", "", .) %>% + gsub("\"mean_rm\"", "\"mean\"", .) %>% + gsub("\"median_rm\"", "\"median\"", .) %>% + gsub("\"min_rm\"", "\"min\"", .) %>% + gsub("\"max_rm\"", "\"max\"", .) %>% + gsub("\"sd_rm\"", "\"sd\"", .) %>% + gsub("\"var_rm\"", "\"var\"", .) %>% + gsub("\"sum_rm\"", "\"sum\"", .) %>% + gsub("\"length\"", "\"n_obs\"", .) %>% + gsub("tabsort = \"desc\\(n\\)\"", "tabsort = \"desc\\(n_obs\\)\"", .) %>% + gsub("Search\\(\"(.*?)\",\\s*?.\\)", "search_data(., \"\\1\")", .) %>% + gsub("toFct\\(\\)", "to_fct()", .) %>% + gsub("rounddf\\(", "round_df(", .) %>% + gsub("formatnr\\(", "format_nr(", .) %>% + gsub("formatdf\\(", "format_df(", .) %>% + gsub("dataset\\s*=\\s*\"([^\"]+)\",", "\\1,", .) %>% + gsub("store\\(pred, data\\s*=\\s*\"([^\"]+)\"", "\\1 <- store(\\1, pred", .) %>% + gsub("pred_data\\s*=\\s*\"([^\"]+)\"", "pred_data = \\1", .) %>% + gsub("(combinedata\\(\\s*?x\\s*?=\\s*?)\"([^\"]+?)\",(\\s*?y\\s*?=\\s*?)\"([^\"]+?)\",", "\\1\\2,\\3\\4,", .) %>% + gsub("(combinedata\\((.|\n)*?),\\s*?name\\s*?=\\s*?\"([^\"`]+?)\"([^\\)]+?)\\)", "\\3 <- \\1\\4)\nregister(\"\\3\")", .) %>% + gsub("combinedata\\(", "combine_data(", .) %>% + gsub("result\\s*<-\\s*(simulater\\((.|\n)*?),\\s*name+\\s*=\\s*\"([^\"`]*?)\"([^\\)]*?)\\)", "\\3 <- \\1\\4)\nregister(\"\\3\")", .) %>% + gsub("data\\s*=\\s*\"([^\"]+)\",", "data = \\1,", .) %>% + gsub("(simulater\\((\n|.)*?)(register\\(\"(.*?)\"\\))\nsummary\\(result", "\\1\\3\nsummary(\\4", .) %>% + gsub("(simulater\\((\n|.)*?)(register\\(\"(.*?)\"\\))\n(summary.*?)\nplot\\(result", "\\1\\3\n\\5\nplot(\\4", .) %>% + gsub("result\\s*<-\\s*(repeater\\((.|\n)*?),\\s*name+\\s*=\\s*\"([^\"`]*?)\"([^\\)]*?)\\)", "\\3 <- \\1\\4)\nregister(\"\\3\")", .) %>% + gsub("(repeater\\((\n|.)*?)(register\\(\"(.*?)\"\\))\nsummary\\(result", "\\1\\3\nsummary(\\4", .) %>% + gsub("(repeater\\((\n|.)*?)(register\\(\"(.*?)\"\\))\n(summary.*?)\nplot\\(result", "\\1\\3\n\\5\nplot(\\4", .) %>% + gsub("repeater\\(((.|\n)*?),\\s*sim+\\s*=\\s*\"([^\"`]*?)\"([^\\)]*?)\\)", "repeater(\n \\3,\\1\\4)", .) %>% + gsub("(```\\{r.*?\\})(\nresult <- pivotr(\n|.)*?)(\\s*)store\\(result, name = \"(.*?)\"\\)", "\\1\\2\\4\\5 <- result$tab; register(\"\\5\")\\6", .) %>% + gsub("(```\\{r.*?\\})(\nresult <- explore(\n|.)*?)(\\s*)store\\(result, name = \"(.*?)\"\\)", "\\1\\2\\4\\5 <- result$tab; register(\"\\5\")\\6", .) %>% + gsub("store\\(result,\\s*name\\s*=\\s*\"(.*?)\",\\s*type\\s*=\\s*\"((P|I)W)\"\\)", "\\1 <- result$\\2; register(\"\\1\")", .) + }) + + # if ("styler" %in% installed.packages()) { + # withProgress(message = "Styling report code", value = 1, { + # tmp_dir <- tempdir() + # tmp_fn <- tempfile(pattern = "report-to-style", tmpdir = tmp_dir, fileext = ".Rmd") + # cat(paste(report, "\n"), file = tmp_fn) + # ret <- styler::style_file(tmp_fn) + # report <- paste0(readLines(tmp_fn), collapse = "\n") + # }) + # } + removeModal() + fix_smart(report) +} + +observeEvent(input$report_clean_r, { + shinyAce::updateAceEditor( + session, "r_edit", + value = report_clean(input$r_edit) + ) +}) + +observeEvent(input$report_clean_rmd, { + shinyAce::updateAceEditor( + session, "rmd_edit", + value = report_clean(input$rmd_edit) + ) +}) + +observeEvent(input$report_ignore, { + r_info[["report_ignore"]] <- TRUE + removeModal() +}) + +## Knit for report in Radiant +knit_it <- function(report, type = "rmd") { + ## may be needed on windows when text has been copy-and-pasted + ## from a pdf + report <- gsub("\r\n", "\n", report) %>% + gsub("\r", "\n", .) + + if (type == "rmd") { + report <- gsub("\\\\\\\\\\s*\n", "\\\\\\\\\\\\\\\\\n", report) + } + + if ( + !isTRUE(r_info[["report_ignore"]]) && + (grepl("\\s*r_data\\[\\[\".*?\"\\]\\]", report) || + grepl("\\s*r_data\\$", report) || + grepl("\n(\\#|\\s)*store\\(result,\\s*name", report) || + grepl("store\\(pred,\\s*data\\s*=\\s*\"", report) || + grepl("\\s+data\\s*=\\s*\".*?\",", report) || + grepl("\\s+dataset\\s*=\\s*\".*?\",", report) || + grepl("\\s+pred_data\\s*=\\s*\"[^\"]+?\",", report) || + grepl("result\\s*<-\\s*simulater\\(", report) || + grepl("result\\s*<-\\s*repeater\\(", report) || + grepl("combinedata\\(\\s*x\\s*=\\s*\"[^\"]+?\"", report) || + grepl("formatnr\\(", report) || + grepl("formatdf\\(", report) || + grepl("rounddf\\(", report) || + grepl("tabsort = \"desc\\(n\\)\"", report) || + grepl("(mean_rm|median_rm|min_rm|max_rm|sd_rm|var_rm|sum_rm)", report)) + ) { + showModal( + modalDialog( + title = "The report contains deprecated code", + span( + "The use of, e.g., r_data[[...]], dataset = \"...\", etc. in your report is + deprecated. Click the 'Clean report' button to remove references that are no + longer needed.", br(), br(), "Warning: It may not be possible to update all code + to the latest standard automatically. For example, the use of 'store(...)' + functions has changed and not all forms can be automatically updated. If this + applies to your report a message should be shown when you Knit the report + demonstrating how the code should be changed. You can, of course, also use the + browser interface to recreate the code you need or use the help function in R or + Rstudio for more information (e.g., ?radiant.model::store.model, + ?radiant.model::store.model.predict, or ?radiant.model::simulater)", br(), br(), + "To avoid the code-cleaning step click 'Cancel' or, if you believe the code is + correct as-is, click the 'Ignore' button and continue to Knit your report" + ), + footer = tagList( + modalButton("Cancel"), + actionButton("report_ignore", "Ignore", title = "Ignore cleaning popup", class = "btn-primary"), + actionButton(paste0("report_clean_", type), "Clean report", title = "Clean report", class = "btn-success") + ), + size = "m", + easyClose = TRUE + ) + ) + return(invisible()) + } + + ## fragment also available with rmarkdown + ## https://rmarkdown.rstudio.com/html_fragment_format.html + + ## setting the working directory to use + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + + tdir <- tempdir() + owd <- ifelse(is.empty(pdir), setwd(tdir), setwd(pdir)) + on.exit(setwd(owd)) + + ## sizing issue with ggplotly and knitr + ## see https://github.com/ropensci/plotly/issues/1171 + ## see also below unsuccessful fix setting height to 100% + # if (grepl("ggplotly\\(\\)", report)) { + # message("\n\nHeight of ggplotly objects may not be correct in Preview. The height will be correctly displayed in saved reports however.\n\n") + # } + + ## remove yaml headers and html comments and convert to md + report <- sub("^---\n(.*?)\n---", "", report) %>% + sub("", "", .) + + if (!grepl("```{r r_setup, include = FALSE}\n", report, fixed = TRUE)) { + report <- paste0("```{r knit_it_setup, include = FALSE}\noptions(width = 250, scipen = 100, max.print = 5000, stringsAsFactors = FALSE)\n```\n\n", report) + } + + ## convert to md + md <- knitr::knit( + text = report, + envir = r_data, + quiet = TRUE + ) + + ## removing fig.caps for unnamed chunks + md <- gsub("

    plot of chunk unnamed-chunk-[0-9]+

    ", "", md) + + ## add basic styling to tables + paste( + markdown::mark_html(text = md, template = FALSE, meta = list(css = ""), output = FALSE), + paste0(""), + "", + sep = "\n" + ) %>% + gsub("
    ", "
    ", .) %>% + ## makes plots full height of screen (i.e., WAY too big) + # gsub("style=\"width:100%; height:400px; \" class=\"plotly html-widget", + # "style=\"width:100%; height:100%; \" class=\"plotly html-widget", ., fixed = TRUE) %>% + scrub() %>% + HTML() +} + +sans_ext <- function(path) { + sub( + "(\\.state\\.rda|\\.rda$|\\.rds$|\\.rmd$|\\.r$|\\.rdata$|\\.html|\\.nb\\.html|\\.pdf|\\.docx|\\.pptx|\\.rmd|\\.zip)", "", + tolower(path), + ignore.case = TRUE + ) +} + +report_name <- function(type = "rmd", out = "report", full.name = FALSE) { + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + + ## generate report name based on state or project name + if (input[[paste0(type, "_generate")]] %in% c("To Rmd", "To R")) { + fn <- r_state[[paste0("radiant_", type, "_name")]] + } else { + fn <- "" + } + + if (is.empty(fn)) { + fn <- state_name() + fn <- sans_ext(fn) %>% + sub("-state", paste0("-", out), .) + + r_state[[paste0("radiant_", type, "_name")]] <<- + paste(fn, sep = ".", switch(type, + rmd = "Rmd", + r = "R" + )) + } else { + fn <- basename(fn) %>% + sans_ext() + } + + if (full.name) { + file.path(pdir, fn) + } else { + fn + } +} + +report_save_filename <- function(type = "rmd", full.name = TRUE) { + req(input[[paste0(type, "_generate")]]) + + if (input[[paste0(type, "_generate")]] %in% c("To Rmd", "To R")) { + cnt <- rstudio_context(type = type) + if (!is.empty(cnt$path)) { + if (cnt$path != cnt$rpath) { + r_state[[paste0("radiant_", type, "_name")]] <<- cnt$rpath + } else { + r_state[[paste0("radiant_", type, "_name")]] <<- cnt$path + } + + if (full.name) { + fn <- cnt$path + } else { + fn <- cnt$base_name + } + } else { + fn <- report_name(type = type, full.name = full.name) + } + } else { + fn <- report_name(type = type, full.name = full.name) + } + + fn <- sans_ext(fn) + + paste(fn, sep = ".", switch(input[[paste0(type, "_save_type")]], + Notebook = "nb.html", + HTML = "html", + PDF = "pdf", + Word = "docx", + Powerpoint = "pptx", + Rmd = "Rmd", + `Rmd + Data (zip)` = "zip", + R = "R", + `R + Data (zip)` = "zip" + )) +} + +report_save_content <- function(file, type = "rmd") { + if (isTRUE(getOption("radiant.report"))) { + isolate({ + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + + tdir <- tempdir() + owd <- ifelse(is.empty(pdir), setwd(tdir), setwd(pdir)) + on.exit(setwd(owd)) + + save_type <- input[[paste0(type, "_save_type")]] + generate <- input[[paste0(type, "_generate")]] + + zip_info <- getOption("radiant.zip") + if (save_type %in% c("Rmd + Data (zip)", "R + Data (zip)")) { + if (is.empty(zip_info)) { + ## No zip warning + showModal( + modalDialog( + title = "ZIP attempt failed", + span( + "There is no zip utility in the path on this system. Please install a zip utility (e.g., 7-zip) and try again" + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + return(invisible()) + } + } + + lib <- if ("radiant" %in% installed.packages()) "radiant" else "radiant.data" + + if (generate %in% c("To Rmd", "To R")) { + cnt <- rstudio_context(type) + if (is.empty(cnt$path) || !cnt$ext == type) { + if (generate == "To Rmd") { + report <- "#### Radiant is set to use an rmarkdown document in Rstudio ('To Rmd').\n#### Please check that you have an .Rmd file open in Rstudio and that the file has been saved to disk.\n#### If you want to use the editor in Radiant instead, change 'To Rmd' to 'Auto paste' or 'Manual paste'." + } else { + report <- "#### Radiant is set to use an R-code document in Rstudio ('To R').\n#### Please check that you have an .R file open in Rstudio and that the file has been saved to disk.\n#### If you want to use the editor in Radiant instead, change 'To R' to 'Auto paste' or 'Manual paste'." + } + } else { + report <- cnt$content + } + } else { + report <- input[[paste0(type, "_edit")]] + } + + if (save_type == "Rmd + Data (zip)") { + withProgress(message = "Preparing Rmd + Data zip file", value = 1, { + ## don't want to write to current dir + currdir <- setwd(tempdir()) + save(list = ls(envir = r_data), envir = r_data, file = "r_data.rda") + + setup_report(report, save_type = "Rmd", lib = lib) %>% + fix_smart() %>% + cat(file = "report.Rmd", sep = "\n") + + zip(file, c("report.Rmd", "r_data.rda"), + flags = zip_info[1], zip = zip_info[2] + ) + setwd(currdir) + }) + } else if (save_type == "R + Data (zip)") { + withProgress(message = "Preparing R + Data zip file", value = 1, { + ## don't want to write to current dir + currdir <- setwd(tempdir()) + save(list = ls(envir = r_data), envir = r_data, file = "r_data.rda") + + cat(report, file = "report.R", sep = "\n") + + zip(file, c("report.R", "r_data.rda"), + flags = zip_info[1], zip = zip_info[2] + ) + setwd(currdir) + }) + } else if (save_type == "Rmd") { + setup_report(report, save_type = "Rmd", lib = lib) %>% + fix_smart() %>% + cat(file = file, sep = "\n") + } else if (save_type == "R") { + cat(report, file = file, sep = "\n") + } else { + if (file.access(getwd(), mode = 2) == -1) { + ## A writable working directory is required to save reports + showModal( + modalDialog( + title = "Working directory is not writable", + HTML( + paste0( + " + The working directory used by radiant (\"", getwd(), "\") is not writable. This is required to save a report. + To save reports, restart radiant from a writable directory. Preferaby by setting up an Rstudio + project folder. See + https://support.posit.co/hc/en-us/articles/200526207-Using-Projects for more information + " + ) + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + return(invisible()) + } + + ## hack for rmarkdown from Report > Rmd and Report > R + options(radiant.rmarkdown = TRUE) + + if (type == "r") { + report <- paste0("\n```{r echo = TRUE}\n", report, "\n```\n") + } + + init <- setup_report(report, save_type = save_type, lib = lib) %>% + fix_smart() + + ## on linux ensure you have you have pandoc > 1.14 installed + ## you may need to use http://pandoc.org/installing.html#installing-from-source + ## also check the logs to make sure its not complaining about missing files + withProgress(message = paste0("Saving report to ", save_type), value = 1, { + if (isTRUE(rmarkdown::pandoc_available())) { + ## have to use current dir so (relative) paths work properly + tmp_fn <- tempfile(pattern = "report-", tmpdir = ".", fileext = ".Rmd") + cat(init, file = tmp_fn, sep = "\n") + + if (!save_type %in% c("Notebook", "HTML")) { + oop <- knitr::opts_chunk$get()$screenshot.force + knitr::opts_chunk$set(screenshot.force = TRUE) + on.exit(knitr::opts_chunk$set(screenshot.force = oop)) + } + + out <- rmarkdown::render( + tmp_fn, + switch(save_type, + Notebook = rmarkdown::html_notebook(highlight = "zenburn", theme = "cosmo", code_folding = "hide"), + HTML = rmarkdown::html_document(highlight = "zenburn", theme = "cosmo", code_download = TRUE, df_print = "paged"), + PDF = rmarkdown::pdf_document(), + Word = rmarkdown::word_document( + reference_docx = getOption("radiant.word_style", default = file.path(system.file(package = "radiant.data"), "app/www/style.docx")), + ), + Powerpoint = rmarkdown::powerpoint_presentation( + reference_doc = getOption("radiant.powerpoint_style", default = file.path(system.file(package = "radiant.data"), "app/www/style.potx")) + ) + ), + envir = r_data, quiet = TRUE, encoding = "UTF-8", + output_options = list(pandoc_args = "--quiet") + ) + ## no using file.rename as it may fail to overwrite even if confirmed by the users + file.copy(out, file, overwrite = TRUE) + file.remove(out, tmp_fn) + } else { + ## still needed because rmarkdown requires pandoc + setup_report(report, add_yml = FALSE, type = save_type, lib = lib) %>% + fix_smart() %>% + knit_it_save() %>% + cat(file = file, sep = "\n") + } + }) + + ## hack for rmarkdown from Report > Rmd and Report > R + options(radiant.rmarkdown = FALSE) + } + }) + } +} + +## updating the report when called +update_report <- function(inp_main = "", fun_name = "", inp_out = list("", ""), + cmd = "", pre_cmd = "result <- ", post_cmd = "", + xcmd = "", outputs = c("summary", "plot"), inp = "result", + wrap, figs = TRUE, fig.width = 7, fig.height = 7) { + ## determine number of characters for main command for wrapping + if (missing(wrap)) { + lng <- nchar(pre_cmd) + nchar(fun_name) + nchar(post_cmd) + 2 + if (!is.empty(inp_main)) { + lng <- lng + sum(nchar(inp_main)) + + sum(nchar(names(inp_main))) + + length(inp_main) * 5 - 1 + } + wrap <- ifelse(lng > 70, TRUE, FALSE) + } + + dctrl <- getOption("dctrl") + + ## wrapping similar to styler + depr <- function(x, wrap = FALSE) { + cutoff <- ifelse(wrap, 20L, 55L) + for (i in names(x)) { + tmp <- x[[i]] + wco <- ifelse(max(nchar(tmp)) > cutoff, cutoff, 55L) + if (inherits(tmp, "fractions")) { + if (length(tmp) > 1) { + tmp <- paste0("c(", paste(tmp, collapse = ", "), ")") + } else { + tmp <- as.character(tmp) + } + } else { + tmp <- deparse(tmp, control = dctrl, width.cutoff = wco) + } + if ((nchar(i) + sum(nchar(tmp)) < 70) | (length(tmp) == 2 & tmp[2] == ")")) { + tmp <- paste0(tmp, collapse = "") + } + if (length(tmp) > 1) { + if (grepl("^c\\(", tmp[1])) { + tmp <- c("c(", sub("^c\\(", "", tmp)) + } else { + tmp <- c("list(", sub("^list\\(", "", tmp)) + } + if (tail(tmp, 1) != ")") { + tmp <- c(sub("\\)$", "", tmp), ")") + } + } + x[[i]] <- sub("^\\s+", "", tmp) %>% + paste0(collapse = "\n ") %>% + sub("[ ]+\\)", " \\)", .) + } + + if (wrap) { + x <- paste0(paste0(paste0("\n ", names(x)), " = ", x), collapse = ", ") + x <- paste0("list(", x, "\n)") + } else { + x <- paste0(paste0(names(x), " = ", x), collapse = ", ") + x <- paste0("list(", x, ")") + } + x + } + + if (inp_main[1] != "") { + cmd <- depr(inp_main, wrap = wrap) %>% + sub("list", fun_name, .) %>% + paste0(pre_cmd, .) %>% + paste0(., post_cmd) %>% + sub("dataset = \"([^\"]+)\"", "\\1", .) + } + + lout <- length(outputs) + if (lout > 0) { + for (i in seq_len(lout)) { + if (inp %in% names(inp_out[[i]])) { + inp_rep <- inp + inp <- inp_out[[i]][[inp]] + inp_out[[i]][inp_rep] <- NULL + } + if (!is.empty(outputs[i])) { + if (inp_out[i] != "" && length(inp_out[[i]]) > 0) { + if (sum(nchar(inp_out[[i]])) > 40L) { + cmd <- depr(inp_out[[i]], wrap = TRUE) %>% + sub("list\\(", paste0(outputs[i], "\\(\n ", inp, ", "), .) %>% + paste0(cmd, "\n", .) + } else { + cmd <- deparse(inp_out[[i]], control = dctrl, width.cutoff = 500L) %>% + sub("list\\(", paste0(outputs[i], "\\(", inp, ", "), .) %>% + paste0(cmd, "\n", .) + } + } else { + cmd <- paste0(cmd, "\n", outputs[i], "(", inp, ")") + } + } + } + } + + if (xcmd != "") cmd <- paste0(cmd, "\n", xcmd) + + ## make into chunks if needed + if (length(input$rmd_generate) == 0) { + type <- ifelse(state_init("r_generate", "Use Rmd") == "Use Rmd", "rmd", "r") + } else { + type <- ifelse(state_init("rmd_generate", "auto") == "Use R", "r", "rmd") + } + + if (type == "r") { + update_report_fun(cmd, type = "r") + } else { + if (figs) { + cmd <- paste0("\n```{r fig.width = ", round(7 * fig.width / 650, 2), ", fig.height = ", round(7 * fig.height / 650, 2), ", dpi = 96}\n", cmd, "\n```\n") + } else { + cmd <- paste0("\n```{r}\n", cmd, "\n```\n") + } + if (!is.empty(r_info[["latest_screenshot"]])) { + cmd <- paste0(r_info[["latest_screenshot"]], "\n", cmd) + } + update_report_fun(cmd, type = "rmd") + } +} + +update_report_fun <- function(cmd, type = "rmd", rfiles = FALSE) { + isolate({ + generate <- paste0(type, "_generate") + sinit <- state_init(generate, "auto") + editor <- paste0(type, "_edit") + sel <- ifelse(type == "rmd", "Rmd", "R") + if (sinit == "manual") { + os_type <- Sys.info()["sysname"] + if (os_type == "Windows") { + withProgress(message = "Putting command in clipboard", value = 1, { + cat(cmd, file = "clipboard") + }) + } else if (os_type == "Darwin") { + withProgress(message = "Putting command in clipboard", value = 1, { + out <- pipe("pbcopy") + cat(cmd, file = out) + close(out) + }) + } else if (os_type == "Linux") { + showModal( + modalDialog( + title = "Copy-and-paste the code shown below", + pre(cmd), + footer = modalButton("Cancel"), + size = "m", + easyClose = TRUE + ) + ) + } + } else if (sinit == "To Rmd") { + withProgress(message = "Putting code chunk in Rstudio", value = 1, { + rstudioapi::insertText(Inf, fix_smart(cmd)) + }) + } else if (sinit == "To R") { + withProgress(message = "Putting R-code in Rstudio", value = 1, { + gsub("(```\\{.*\\}\n)|(```\n)", "", fix_smart(paste0("\n", cmd, "\n"))) %>% + rstudioapi::insertText(Inf, .) + }) + } else { + if (is.empty(r_state[[editor]])) { + r_state[[editor]] <<- paste0("## Your report title\n\n", cmd) + } else { + r_state[[editor]] <<- paste0(fix_smart(r_state[[editor]]), "\n", cmd) + } + withProgress(message = paste0("Updating Report > ", sel), value = 1, { + shinyAce::updateAceEditor( + session, editor, + value = fix_smart(r_state[[editor]]) + ) + }) + } + + if (!rfiles) { + if (state_init(paste0(type, "_switch"), "switch") == "switch") { + updateTabsetPanel(session, "nav_radiant", selected = sel) + } + } + }) +} diff --git a/radiant.data/inst/app/tools/app/report_r.R b/radiant.data/inst/app/tools/app/report_r.R new file mode 100644 index 0000000..0e70a33 --- /dev/null +++ b/radiant.data/inst/app/tools/app/report_r.R @@ -0,0 +1,454 @@ +################################################################ +# Run R-code within Radiant using the shinyAce editor +################################################################ +r_switch <- c( + "切换选项卡" = "switch", + "不切换选项卡" = "no_switch" +) +r_generate <- c( + "自动粘贴(R)" = "auto", + "手动粘贴(R)" = "manual" +) +r_save_type <- c( + "Notebook", "HTML", "PDF", "Word", "R" +) + +r_set <- c("To R", "auto", "manual") +r_set_rstudio <- c("To Rmd", "To R") + +if (rstudioapi::isAvailable()) { + r_generate <- c( + "自动粘贴" = "auto", + "手动粘贴" = "manual", + "导出到Rstudio (R)" = "To R", + "使用报告 > Rmd" = "Use Rmd" + ) +} else if (!isTRUE(rmarkdown::pandoc_available())) { + r_save_type <- c("HTML", "R") +} + +## can still save report, code, and data without permission to run code +if (!isTRUE(getOption("radiant.report"))) { + r_save_type <- "R" +} + +if (Sys.getenv("R_ZIPCMD") != "") { + r_save_type <- c(r_save_type, "R + Data (zip)") +} + +r_view_options <- c( + "双重视图" = "dual", + "仅预览" = "pr_only", + "仅编译" = "ed_only" +) + +r_example <- "## get the active dataset and show the first few observations +.get_data() %>% + head() + +## access a dataset +diamonds %>% + select(price, clarity) %>% + head() + +## add a variable to the diamonds data +diamonds <- mutate(diamonds, log_price = log(price)) + +## show the first observations in the price and log_price columns +diamonds %>% + select(price, log_price) %>% + head() + +## create a histogram of prices +diamonds %>% + ggplot(aes(x = price)) + + geom_histogram() + +## and a histogram of log-prices using radiant.data::visualize +visualize(diamonds, xvar = \"log_price\", custom = TRUE) + +## open help in the R-studio viewer from Radiant +# help(package = \"radiant.data\") + +## If you are familiar with Shiny you can call reactives when the code +## is evaluated inside a Shiny app. For example, if you transformed +## some variables in Data > Transform you can call the transform_main +## reacive to see the latest result. Very useful for debugging +# transform_main() %>% head()" + +## allow running code through button or keyboard shortcut +report_r <- reactiveValues(report = 0, knit_button = 0, clear = 0) + +output$ui_r_generate <- renderUI({ + isolate({ + init <- ifelse(state_init("rmd_generate", "Use R") != "Use R", "Use Rmd", "auto") + }) + selectInput( + inputId = "r_generate", + label = NULL, + choices = r_generate, + selected = state_init("r_generate", init), + multiple = FALSE, + selectize = FALSE, + width = "160px" + ) +}) + +output$ui_r_view <- renderUI({ + req(input$r_generate) + selectInput( + "r_view", + label = NULL, choices = r_view_options, + selected = state_init("r_view", "dual"), + multiple = FALSE, selectize = FALSE, width = "120px" + ) +}) + +observeEvent(input$r_generate, { + if (state_init("r_generate", "Use Rmd") == "Use Rmd") { + if (state_init("rmd_generate", "auto") == "Use R") { + updateSelectInput(session, "rmd_generate", selected = "auto") + } + } else { + updateSelectInput(session, "rmd_generate", selected = "Use R") + + if (state_init("r_generate", "Use Rmd") == "To R") { + updateSelectInput(session, "r_switch", selected = "no_switch") + updateSelectInput(session, "r_view", selected = "pr_only") + ## popup to suggest user create an .Rmd file + no_r <- function() { + showModal( + modalDialog( + title = "Radiant to R (Rstudio)", + span( + "Radiant is set to use an R document in Rstudio + ('To Rstudio (R)'). However, the active document in + Rstudio does not seem to be of type .R. Please open an + existing .R file or create a new one in Rstudio. The + file must be saved to disk before it can be accessed. If + you want to use the editor in Radiant instead, change + 'To Rstudio (R)' to 'Auto paste' or 'Manual paste'." + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + } + ## get info from rstudio editor + cnt <- rstudio_context(type = "r") + if (is.empty(cnt$path) || cnt$ext != "r") { + rcode <- r_state$radiant_r_name + if (!is.empty(rcode)) { + if (file.exists(rcode)) { + ## useful if you are not using an Rstudio project + rstudioapi::navigateToFile(rcode) + } else { + pdir <- getOption("radiant.project_dir", default = radiant.data::find_home()) + path <- file.path(pdir, rcode) + if (file.exists(path)) { + rstudioapi::navigateToFile(path) + } else { + no_r() + } + } + } else { + no_r() + } + } + } else { + updateSelectInput(session, "r_switch", selected = "switch") + updateSelectInput(session, "r_view", selected = "dual") + } + } +}) + +output$ui_r_switch <- renderUI({ + req(input$r_generate) + selectInput( + inputId = "r_switch", label = NULL, + choices = r_switch, + selected = state_init("r_switch", "switch"), + multiple = FALSE, selectize = FALSE, + width = "140px" + ) +}) + +output$ui_r_save_type <- renderUI({ + selectInput( + inputId = "r_save_type", label = NULL, + choices = r_save_type, + selected = state_init("r_save", r_save_type[1]), + multiple = FALSE, selectize = FALSE, + width = "140px" + ) +}) + +output$ui_r_load <- renderUI({ + file_upload_button( + "r_load", + accept = c(".R", ".r", ".html"), + buttonLabel = i18n$t("Load report"), + title = i18n$t("Load report"), + class = "btn-default" + ) +}) + +if (getOption("radiant.shinyFiles", FALSE)) { + output$ui_r_read_files <- renderUI({ + shinyFiles::shinyFilesButton( + "r_read_files", i18n$t("Read files"), "Generate code to read selected file", + multiple = FALSE, icon = icon("book", verify_fa = FALSE), class = "btn-primary" + ) + }) + sf_r_read_files <- shinyFiles::shinyFileChoose( + input = input, + id = "r_read_files", + session = session, + roots = sf_volumes + ) +} + +output$report_r <- renderUI({ + tagList( + with( + tags, + table( + td(help_modal("Report > R", "r_help", inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/report_r.md")), lic = "by-sa")), + td(HTML("  ")), + td(actionButton("r_knit", i18n$t("Knit report (R)"), icon = icon("play", verify_fa = FALSE), class = "btn-success"), class = "top_small"), + td(uiOutput("ui_r_generate"), class = "top_small"), + td(uiOutput("ui_r_view"), class = "top_small"), + td(uiOutput("ui_r_switch"), class = "top_small"), + td(uiOutput("ui_r_save_type"), class = "top_small"), + td(conditional_save_report("r_save"), class = "top_small"), + td(uiOutput("ui_r_load"), class = "top_small"), + td(conditional_read_files("r_read_files"), class = "top_small"), + td(actionButton("r_clear", i18n$t("Clear output"), icon = icon("trash", verify_fa = FALSE), class = "btn-danger"), class = "top_small") + ) + ), + shinyAce::aceEditor( + "r_edit", + selectionId = "selection", + mode = "r", + theme = getOption("radiant.ace_theme", default = "tomorrow"), + wordWrap = TRUE, + debounce = 0, + height = "auto", + value = state_init("r_edit", r_example) %>% fix_smart(), + placeholder = "Enter R-code for analysis here and press the Knit report button to run it.\nClick the ? icon on the top left of your screen for more information", + vimKeyBinding = getOption("radiant.ace_vim.keys", default = FALSE), + code_hotkeys = list("r", list(hotkey = list(win = "CTRL-ENTER|SHIFT-ENTER", mac = "CMD-ENTER|SHIFT-ENTER"))), + tabSize = getOption("radiant.ace_tabSize", 2), + useSoftTabs = getOption("radiant.ace_useSoftTabs", TRUE), + showInvisibles = getOption("radiant.ace_showInvisibles", FALSE), + autoComplete = getOption("radiant.ace_autoComplete", "enable"), + autoCompleters = c("static", "rlang"), + autoCompleteList = isolate(radiant_auto_complete()) + ), + htmlOutput("r_knitted"), + getdeps() + ) +}) + +radiant_r_annotater <- shinyAce::aceAnnotate("r_edit") +radiant_r_tooltip <- shinyAce::aceTooltip("r_edit") +radiant_r_ac <- shinyAce::aceAutocomplete("r_edit") + +## auto completion of available R functions, datasets, and variables +observe({ + ## don't need to run until report generated + req(report_r$report > 1) + shinyAce::updateAceEditor( + session, "r_edit", + autoCompleters = c("static", "rlang"), + autoCompleteList = radiant_auto_complete() + ) +}) + +observeEvent(input$r_knit, { + ## hack to allow processing current line + report_r$knit_button <- 1 +}) + +observeEvent(input$r_clear, { + ## hack to allow clearing output + ## see https://groups.google.com/d/msg/shiny-discuss/PiU6PzQ_iSc/NsJkSDDCmlwJ + report_r$clear <- 1 +}) + +observe({ + input$r_edit_hotkey + if (!is.null(input$r_knit)) { + isolate({ + report_r$report <- report_r$report + 1 + report_r$clear <- 0 + }) + } +}) + +output$r_view <- renderUI({ + req(input$r_view) + if (input$r_view == "ed_only") { + tags$head(tags$style( + HTML("#r_edit {right: 0; left: 0;} #r_knitted {left: 200%; right: -100%;}") + )) + } else if (input$r_view == "pr_only") { + tags$head(tags$style( + HTML("#r_edit {right: 200%; left: -100%;} #r_knitted {left: 0; right: 0;}") + )) + } else { + tags$head(tags$style( + HTML("#r_edit {right: 50%; left: 0;} #r_knitted {left: 50%; right: 0;}") + )) + } +}) + +output$r_knitted <- renderUI({ + ## rmd > 0 will re-run on refresh so keep != 1 + req(report_r$report != 1 && report_r$clear == 0) + isolate({ + if (!isTRUE(getOption("radiant.report"))) { + HTML("

    Report was not evaluated. If you have sudo access to the server set options(radiant.report = TRUE) in .Rprofile for the shiny user

    ") + } else { + report <- "" + withProgress(message = "Knitting report", value = 1, { + if (isTRUE(input$r_generate == "To R")) { + cnt <- rstudio_context(type = "r") + if (is.empty(cnt$path) || is.empty(cnt$ext, "rmd")) { + + ## popup to suggest user create an .Rmd file + showModal( + modalDialog( + title = "Report Rstudio (R)", + span( + "Report > R is set to use an R code file in Rstudio + ('To Rstudio (R)'). Please check that you have an .R file + open in Rstudio and that the file has been saved to disk. + If you want to use the editor in Radiant instead, change + 'To Rstudio (R)' to 'Auto paste' or 'Manual paste'." + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + report <- "" + } else { + if (cnt$path != cnt$rpath) { + r_state$radiant_r_name <<- cnt$rpath + } else { + r_state$radiant_r_name <<- cnt$path + } + report <- cnt$content + } + } else if (!is.empty(input$r_edit)) { + if (!is.empty(input$r_edit_selection, "")) { + report <- input$r_edit_selection + } else if (!is.empty(input$r_edit_hotkey$line, "") && report_r$knit_button == 0) { + report <- input$r_edit_hotkey$line + } else { + report <- input$r_edit + ## hack to allow processing current line + report_r$knit_button <- 0 + } + } + report <- paste0("\n```{r echo = TRUE}\n", report, "\n```\n") + knit_it(report, type = "r") + }) + } + }) +}) + +report_save_filename_r <- function() { + report_save_filename(type = "r", full.name = FALSE) +} + +download_handler( + id = "r_save", + fun = function(x, type = "r") report_save_content(x, type), + fn = function() report_save_filename_r() %>% sans_ext(), + type = function() { + report_save_filename_r() %>% + { + if (grepl("nb\\.html", .)) "nb.html" else tools::file_ext(.) + } + }, + btn = "button", + label = i18n$t("Save report"), + caption = i18n$t("Save report"), + class = "btn-primary" +) + +## loading r-code from disk +observeEvent(input$r_load, { + + ## loading report from disk + if (getOption("radiant.shinyFiles", FALSE)) { + if (is.integer(input$r_load)) { + return() + } + inFile <- shinyFiles::parseFilePaths(sf_volumes, input$r_load) + if (nrow(inFile) == 0) { + return() + } + path <- inFile$datapath + pp <- parse_path(path, pdir = getOption("radiant.project_dir", radiant.data::find_home()), chr = "", mess = FALSE) + } else { + inFile <- input$r_load + path <- inFile$datapath + pp <- list( + path = path, + filename = inFile$name, + fext = tools::file_ext(inFile$name) + ) + } + + if (!inherits(path, "try-error") && !is.empty(path)) { + if (pp$fext == "html") { + ## based on https://rmarkdown.rstudio.com/r_notebook_format.html + rmd <- try(rmarkdown::parse_html_notebook(pp$path), silent = TRUE) + if (!inherits(rmd, "try-error")) { + rmd <- paste0(rmd$rmd, collapse = "\n") + rmd <- knitr::purl(text = rmd) + r_state$radiant_r_name <<- sub("(\\.nb\\.html|\\.html)", ".R", pp$path) + } else { + rmd <- "#### The selected html file could not be parsed and does not contain R content" + } + } else { + rmd <- paste0(readLines(pp$path), collapse = "\n") + if (getOption("radiant.shinyFiles", FALSE)) { + r_state$radiant_r_name <<- pp$path + } else { + r_state$radiant_r_name <<- pp$filename + } + } + + ## update editor and remove yaml header if present + shinyAce::updateAceEditor(session, "r_edit", + value = sub("^---\n(.*?)\n---\n*", "", rmd) + ) + } +}) + +observeEvent(input$r_read_files, { + if (is.integer(input$r_read_files)) { + return() + } + path <- shinyFiles::parseFilePaths(sf_volumes, input$r_read_files) + if (inherits(path, "try-error") || is.empty(path$datapath)) { + return() + } + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + + cmd <- read_files(path$datapath, pdir = pdir, type = "r", clipboard = FALSE, radiant = TRUE) + + if (!is.empty(cmd)) { + update_report_fun(cmd, type = "r", rfiles = TRUE) + } +}) + +observeEvent(input$r_edit, { + r_state$r_edit <<- fix_smart(input$r_edit) +}) \ No newline at end of file diff --git a/radiant.data/inst/app/tools/app/report_rmd.R b/radiant.data/inst/app/tools/app/report_rmd.R new file mode 100644 index 0000000..4aafdac --- /dev/null +++ b/radiant.data/inst/app/tools/app/report_rmd.R @@ -0,0 +1,541 @@ +################################################################ +# Create dynamic reports using Radiant and the shinyAce editor +################################################################ +rmd_switch <- c( + "切换选项卡" = "switch", + "不切换选项卡" = "no_switch" +) +rmd_generate <- c( + "自动粘贴" = "auto", + "手动粘贴" = "manual" +) +rmd_save_type <- c("Notebook", "HTML", "PDF", "Word", "Powerpoint", "Rmd") +rmd_set <- c("To Rmd", "auto", "manual") +rmd_set_rstudio <- c("To Rmd", "To R") + +if (rstudioapi::isAvailable()) { + rmd_generate <- c( + "自动粘贴" = "auto", + "手动粘贴" = "manual", + "导出到Rstudio (Rmd)" = "To Rmd", + "使用报告 > R" = "Use R" + ) +} else if (!isTRUE(rmarkdown::pandoc_available())) { + rmd_save_type <- c("HTML", "Rmd") +} + +## can still save report, code, and data without permission to run code +if (!isTRUE(getOption("radiant.report"))) { + rmd_save_type <- "Rmd" +} + +if (Sys.getenv("R_ZIPCMD") != "") { + rmd_save_type <- c(rmd_save_type, "Rmd + Data (zip)") +} + +rmd_view_options <- c( + "双重视图" = "dual", + "仅预览" = "pr_only", + "仅编译" = "ed_only" +) + +rmd_example <- "## Sample report + +This is an example of the type of report you can write in Radiant. + +* You can create +* bullet lists + +1. And numbered +2. lists + +Note: Markdown is used to format the report. Go to [commonmark.org](http://commonmark.org/help/) for an interactive tutorial. + +### Math + +You can even include math if you want: + +$$ +\\begin{aligned} + y_t &= \\alpha + \\beta x_t + \\epsilon_{yt}, \\\\ + z_t &= 3 \\times 9 + y_t + \\epsilon_{zt}. +\\end{aligned} +$$ + +To show the output, press the `Knit report (Rmd)` button. + +### Tables + +To generate a table that will display properly in both PDF and HTML you can use a layout similar to the example below: + +Year | Outcome | Prior probability +:---- | --------: | :----------------------: +2013 | Win | 0.30 +2014 | Loss | 0.25 +2015 | Win | 0.20 + +Note that the columns are left-aligned, right-aligned, and centered using a `:`. Alternatively you can create a `tibble` with the information to be put in the table and use the `kable` function from the `knitr` package to generate the desired output. See example below: + +```{r} +tbl <- tibble::tibble( + Year = c(2013L, 2014L, 2015L), + Outcome = c(\"Win\", \"Loss\", \"Win\"), + `Prior probability` = c(0.30, 0.25, 0.20) +) + +knitr::kable(tbl, align = \"ccc\") +``` + +To align the columns, use `l` for left, `r` for right, and `c` for center. In the example above each column is centered. For additional information about formatting tables see +https://www.rforge.net/doc/packages/knitr/kable.html + +It is also possible to generate interactive tables using the DT package. In Radiant you can use the `dtab` function to display a data.frame as a nicely formatted table: + +```{r} +dtab(tbl) %>% render() +``` + +### Documenting analysis results in Radiant + +The report feature in Radiant should be used in conjunction with the icons shown at the bottom of the side bar on (almost) all pages. When that icon is clicked the command used to create the output is copied into the editor in the _Report > Rmd_ tab. By default Radiant will paste the code generated for the analysis you just completed at the bottom of the report (i.e., `Auto paste`). However, you can turn off that feature by selecting `Manual paste` from the dropown. With manual paste on, the code is put in the clipboard when you click a report icon and you can paste it where you want in the _Report > Rmd_ editor window. + +By clicking the `Knit report (Rmd)` button or pressing CTRL-enter (CMD-enter on Mac), the output from the analysis will be (re)created. You can add text, bullets, headers, etc. around the code chunks to describe and explain the results using markdown. You can also select part of the report you want to render. + +Below is some code generated by Radiant to produce a scatterplot / heatmap of the price of diamonds versus carats. The colors in the plot reflect the clarity of the diamond. + +```{r fig.width = 7, fig.height = 5, dpi = 96} +visualize( + diamonds, + xvar = \"carat\", + yvar = \"price\", + type = \"scatter\", + nrobs = 1000, + color = \"clarity\", + labs = list(title = \"Diamond prices\", x = \"Carats\", y = \"Price ($)\"), + custom = FALSE +) +``` + +> **Put your own code here or delete this sample report and create your own** + +" + +## allow running code through button or keyboard shortcut +report_rmd <- reactiveValues(report = 0, knit_button = 0, clear = 0) + +output$ui_rmd_generate <- renderUI({ + isolate({ + init <- ifelse(state_init("r_generate", "Use Rmd") != "Use Rmd", "Use R", "auto") + }) + selectInput( + inputId = "rmd_generate", + label = NULL, + choices = rmd_generate, + selected = state_init("rmd_generate", init), + multiple = FALSE, + selectize = FALSE, + width = "140px" + ) +}) + +output$ui_rmd_view <- renderUI({ + req(input$rmd_generate) + selectInput( + "rmd_view", + label = NULL, choices = rmd_view_options, + selected = state_init("rmd_view", "dual"), + multiple = FALSE, selectize = FALSE, width = "120px" + ) +}) + +observeEvent(input$rmd_generate, { + if (isTRUE(input$rmd_generate == "To Rmd")) { + updateSelectInput(session, "rmd_switch", selected = "no_switch") + updateSelectInput(session, "rmd_view", selected = "pr_only") + report_rmd$clear <- 1 + + no_rmd <- function() { + ## popup to suggest user create an .Rmd file + showModal( + modalDialog( + title = "Radiant to Rmd (Rstudio)", + span( + "Radiant is set to use an rmarkdown document in Rstudio + ('To Rstudio (Rmd)'). However, the active document in + Rstudio does not seem to be of type .Rmd. Please open an + existing .Rmd file or create a new one in Rstudio. The + file must be saved to disk before it can be accessed. If + you want to use the editor in Radiant instead, change + 'To Rstudio (Rmd)' to 'Auto paste' or 'Manual paste'." + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + } + + ## get info from rstudio editor + cnt <- rstudio_context(type = "rmd") + if (is.empty(cnt$path) || cnt$ext != "rmd") { + rmd <- r_state$radiant_rmd_name + if (!is.empty(rmd)) { + if (file.exists(rmd)) { + ## useful if you are not using an Rstudio project + rstudioapi::navigateToFile(rmd) + } else { + pdir <- getOption("radiant.project_dir", default = radiant.data::find_home()) + path <- file.path(pdir, rmd) + if (file.exists(path)) { + rstudioapi::navigateToFile(path) + } else { + no_rmd() + } + } + } else { + no_rmd() + } + } + } else if (state_init("rmd_generate", "auto") == "Use R") { + if (state_init("r_generate", "auto") == "Use Rmd") { + updateSelectInput(session, "r_generate", selected = "auto") + } + } else { + updateSelectInput(session, "r_generate", selected = "Use Rmd") + updateSelectInput(session, "rmd_switch", selected = "switch") + updateSelectInput(session, "rmd_view", selected = "dual") + } +}) + +output$ui_rmd_switch <- renderUI({ + req(input$rmd_generate) + selectInput( + inputId = "rmd_switch", label = NULL, + choices = rmd_switch, + selected = state_init("rmd_switch", "switch"), + multiple = FALSE, selectize = FALSE, + width = "140px" + ) +}) + +output$ui_rmd_save_type <- renderUI({ + selectInput( + inputId = "rmd_save_type", label = NULL, + choices = rmd_save_type, + selected = state_init("rmd_save_type", rmd_save_type[1]), + multiple = FALSE, selectize = FALSE, + width = "140px" + ) +}) + +conditional_save_report <- function(id) { + if (isTRUE(getOption("radiant.report"))) { + download_button(id, i18n$t("Save report"), class = "btn-primary") + } else { + invisible() + } +} + +conditional_read_files <- function(id) { + if (getOption("radiant.shinyFiles", FALSE)) { + download_button(id, i18n$t("Read files"), class = "btn-primary") + } else { + invisible() + } +} + +output$ui_rmd_load <- renderUI({ + file_upload_button( + "rmd_load", + accept = c(".Rmd", ".rmd", ".md", ".html"), + buttonLabel = i18n$t("Load report"), + title = i18n$t("Load report"), + class = "btn-default" + ) +}) + +if (getOption("radiant.shinyFiles", FALSE)) { + output$ui_rmd_read_files <- renderUI({ + shinyFiles::shinyFilesButton( + "rmd_read_files", i18n$t("Read files"), "Generate code to read selected file", + multiple = FALSE, icon = icon("book", verify_fa = FALSE), class = "btn-primary" + ) + }) + sf_rmd_read_files <- shinyFiles::shinyFileChoose( + input = input, + id = "rmd_read_files", + session = session, + roots = sf_volumes + ) +} + +radiant_auto_complete <- reactive({ + req(input$dataset) + comps <- list(r_info[["datasetlist"]], as.vector(varnames())) + names(comps) <- c("{datasets}", paste0("{", input$dataset, "}")) + comps +}) + +output$report_rmd <- renderUI({ + tagList( + with( + tags, + table( + td( + help_modal( + "Report > Rmd", "rmd_help", + inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/report_rmd.md")), + lic = "by-sa" + ) + ), + td(HTML("  ")), + td( + actionButton( + "rmd_knit", i18n$t("Knit report (Rmd)"), + icon = icon("play", verify_fa = FALSE), + class = "btn-success" + ), + class = "top_small" + ), + td(uiOutput("ui_rmd_generate"), class = "top_small"), + td(uiOutput("ui_rmd_view"), class = "top_small"), + td(uiOutput("ui_rmd_switch"), class = "top_small"), + td(uiOutput("ui_rmd_save_type"), class = "top_small"), + td(conditional_save_report("rmd_save"), class = "top_small"), + td(uiOutput("ui_rmd_load"), class = "top_small"), + td(conditional_read_files("rmd_read_files"), class = "top_small"), + td(actionButton("rmd_clear", i18n$t("Clear output"), icon = icon("trash", verify_fa = FALSE), class = "btn-danger"), class = "top_small") + ) + ), + shinyAce::aceEditor( + "rmd_edit", + selectionId = "selection", + mode = "markdown", + theme = getOption("radiant.ace_theme", default = "tomorrow"), + wordWrap = TRUE, + debounce = 0, + height = "auto", + value = state_init("rmd_edit", rmd_example) %>% fix_smart(), + placeholder = "Type text for your report using markdown to format it\n(http://commonmark.org/help/). Add R-code to include\nyour analysis results in the report as well. Click the ?\nicon on the top left of your screen for more information", + vimKeyBinding = getOption("radiant.ace_vim.keys", default = FALSE), + code_hotkeys = list("r", list(hotkey = list(win = "CTRL-ENTER|SHIFT-ENTER", mac = "CMD-ENTER|SHIFT-ENTER"))), + tabSize = getOption("radiant.ace_tabSize", 2), + useSoftTabs = getOption("radiant.ace_useSoftTabs", TRUE), + showInvisibles = getOption("radiant.ace_showInvisibles", FALSE), + autoComplete = getOption("radiant.ace_autoComplete", "enable"), + # autoCompleters = c("static", "text", "rlang"), + autoCompleters = c("static", "rlang"), + autoCompleteList = isolate(radiant_auto_complete()) + ), + htmlOutput("rmd_knitted"), + getdeps() + ) +}) + +# radiant_rmd_annotater <- shinyAce::aceAnnotate("rmd_edit") +radiant_rmd_tooltip <- shinyAce::aceTooltip("rmd_edit") +radiant_rmd_ac <- shinyAce::aceAutocomplete("rmd_edit") + +## auto completion of available R functions, datasets, and variables +observe({ + ## don't need to run until report generated + req(report_rmd$report > 1) + shinyAce::updateAceEditor( + session, "rmd_edit", + # autoCompleters = c("static", "text", "rlang"), + autoCompleters = c("static", "rlang"), + autoCompleteList = radiant_auto_complete() + ) +}) + +observeEvent(input$rmd_knit, { + ## hack to allow processing current line + report_rmd$knit_button <- 1 +}) + +observeEvent(input$rmd_clear, { + ## hack to allow clearing output + ## see https://groups.google.com/d/msg/shiny-discuss/PiU6PzQ_iSc/NsJkSDDCmlwJ + report_rmd$clear <- 1 +}) + +observe({ + input$rmd_edit_hotkey + if (!is.null(input$rmd_knit)) { + isolate({ + report_rmd$report <- report_rmd$report + 1 + report_rmd$clear <- 0 + }) + } +}) + +output$rmd_view <- renderUI({ + req(input$rmd_generate, input$rmd_view) + if (input$rmd_view == "ed_only") { + tags$head(tags$style( + HTML("#rmd_edit {right: 0; left: 0;} #rmd_knitted {left: 200%; right: -100%;}") + )) + } else if (input$rmd_view == "pr_only") { + tags$head(tags$style( + HTML("#rmd_edit {right: 200%; left: -100%;} #rmd_knitted {left: 0; right: 0;}") + )) + } else { + tags$head(tags$style( + HTML("#rmd_edit {right: 50%; left: 0;} #rmd_knitted {left: 50%; right: 0;}") + )) + } +}) + +rmd_knitted <- eventReactive(report_rmd$report != 1, { + if (!isTRUE(getOption("radiant.report"))) { + HTML("

    Report was not evaluated. If you have sudo access to the server set options(radiant.report = TRUE) in .Rprofile for the shiny user

    ") + } else { + report <- "" + report_type <- "full report" + if (isTRUE(input$rmd_generate == "To Rmd")) { + cnt <- rstudio_context(type = "rmd") + if (is.empty(cnt$path) || is.empty(cnt$ext, "r")) { + ## popup to suggest user create an .Rmd file + showModal( + modalDialog( + title = "Report Rstudio (Rmd)", + span( + "Report is set to use an rmarkdown document in Rstudio + ('To Rstudio (Rmd)'). Please check that you have an .Rmd file + open in Rstudio and that the file has been saved to disk. + If you want to use the editor in Radiant instead, change + 'To Rstudio (Rmd)' to 'Auto paste' or 'Manual paste'." + ), + footer = modalButton("OK"), + size = "m", + easyClose = TRUE + ) + ) + report_type <- "nothing" + report <- "" + } else { + if (cnt$path != cnt$rpath) { + r_state$radiant_rmd_name <<- cnt$rpath + } else { + r_state$radiant_rmd_name <<- cnt$path + } + + report_type <- "Rmarkdown file in Rstudio" + report <- cnt$content + } + } else if (!is.empty(input$rmd_edit)) { + if (!is.empty(input$rmd_edit_selection, "")) { + report <- input$rmd_edit_selection + report_type <- "report selection" + } else if (!is.empty(input$rmd_edit_hotkey$line, "") && report_rmd$knit_button == 0) { + report <- input$rmd_edit_hotkey$line + report_type <- "report selection" + } else { + report <- input$rmd_edit + ## hack to allow processing current line + report_rmd$knit_button <- 0 + } + } + + withProgress(message = glue("Knitting {report_type}"), value = 1, { + knit_it(report, type = "rmd") + }) + } +}) + +output$rmd_knitted <- renderUI({ + req(report_rmd$report != 1 && report_rmd$clear == 0) + rmd_knitted() +}) + +report_save_filename_rmd <- function() { + report_save_filename(type = "rmd", full.name = FALSE) +} + +download_handler( + id = "rmd_save", + label = i18n$t("Save report"), + fun = function(x, type = "rmd") report_save_content(x, type), + fn = function() report_save_filename_rmd() %>% sans_ext(), + type = function() { + report_save_filename_rmd() %>% + { + if (grepl("nb\\.html", .)) "nb.html" else tools::file_ext(.) + } + }, + caption = i18n$t("Save report"), + btn = "button", + class = "btn-primary" +) + +observeEvent(input$rmd_load, { + ## loading report from disk + if (getOption("radiant.shinyFiles", FALSE)) { + if (is.integer(input$rmd_load)) { + return() + } + inFile <- shinyFiles::parseFilePaths(sf_volumes, input$rmd_load) + if (nrow(inFile) == 0) { + return() + } + path <- inFile$datapath + pp <- parse_path(path, pdir = getOption("radiant.project_dir", radiant.data::find_home()), chr = "", mess = FALSE) + } else { + inFile <- input$rmd_load + path <- inFile$datapath + pp <- list( + path = path, + filename = inFile$name, + fext = tools::file_ext(inFile$name) + ) + } + + if (!inherits(path, "try-error") && !is.empty(path)) { + if (pp$fext == "html") { + ## based on https://rmarkdown.rstudio.com/r_notebook_format.html + rmd <- try(rmarkdown::parse_html_notebook(pp$path), silent = TRUE) + if (!inherits(rmd, "try-error")) { + rmd <- paste0(rmd$rmd, collapse = "\n") + r_state$radiant_rmd_name <<- sub("(\\.nb\\.html|\\.html)", ".Rmd", pp$path) + } else { + rmd <- "#### The selected html file could not be parsed and does not contain rmarkdown content" + } + } else { + rmd <- paste0(readLines(pp$path), collapse = "\n") + if (getOption("radiant.shinyFiles", FALSE)) { + r_state$radiant_rmd_name <<- pp$path + } else { + r_state$radiant_rmd_name <<- pp$filename + } + } + + rmd <- sub("^---\n(.*?)\n---\n*", "", rmd) + r_state$rmd_edit <- radiant.data::fix_smart(rmd) + + ## update editor and remove yaml header if present + shinyAce::updateAceEditor(session, "rmd_edit", + value = r_state$rmd_edit + ) + } +}) + +observeEvent(input$rmd_read_files, { + if (is.integer(input$rmd_read_files)) { + return() + } + path <- shinyFiles::parseFilePaths(sf_volumes, input$rmd_read_files) + if (inherits(path, "try-error") || is.empty(path$datapath)) { + return() + } + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + + cmd <- read_files(path$datapath, pdir = pdir, type = "rmd", clipboard = FALSE, radiant = TRUE) + if (!is.empty(cmd)) { + update_report_fun(cmd, type = "rmd", rfiles = TRUE) + } +}) + +observeEvent(input$rmd_edit, { + r_state$rmd_edit <<- fix_smart(input$rmd_edit) +}) diff --git a/radiant.data/inst/app/tools/app/state.R b/radiant.data/inst/app/tools/app/state.R new file mode 100644 index 0000000..50f6376 --- /dev/null +++ b/radiant.data/inst/app/tools/app/state.R @@ -0,0 +1,142 @@ +####################################### +# State menu +####################################### +output$state_view <- renderUI({ + sidebarLayout( + sidebarPanel( + wellPanel( + checkboxInput("show_input", "Show input", FALSE), + checkboxInput("show_data", "Show r_data", FALSE), + checkboxInput("show_info", "Show r_info", FALSE), + checkboxInput("show_state", "Show r_state", FALSE) + # checkboxInput("show_session", "Show session", FALSE) + ), + help_modal( + "View state", "state_help", + inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/state.md")), + lic = "by-sa" + ) + ), + mainPanel( + conditionalPanel( + condition = "input.show_input == true", + verbatimTextOutput("show_input") + ), + conditionalPanel( + condition = "input.show_data == true", + verbatimTextOutput("show_data") + ), + conditionalPanel( + condition = "input.show_info == true", + verbatimTextOutput("show_info") + ), + conditionalPanel( + condition = "input.show_state == true", + verbatimTextOutput("show_state") + ), + conditionalPanel( + condition = "input.show_session == true", + verbatimTextOutput("show_session") + ) + ) + ) +}) + +state_name <- function(out = paste0("radiant-", Sys.Date(), ".state.rda"), full.name = FALSE) { + rsn <- r_state$radiant_state_name + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + ## legacy + if (is.empty(rsn)) rsn <- r_state$state_name + if (!is.empty(rsn)) { + fn <- rsn + } else { + if (!is.empty(pdir)) { + fn <- paste0(basename(pdir), ".state.rda") + r_state$radiant_state_name <<- fn + } else { + fn <- out + } + } + + ## legacy + # if (tools::file_ext(fn) != "rda") { + # fn <- paste0(fn, ".rda") + # } + # ## legacy + # if (!grepl("state", fn)) { + # fn <- sub("\\.rda$", ".state.rda", fn) + # } + + if (full.name) { + file.path(pdir, fn) + } else { + fn + } +} + +observeEvent(input$state_share, { + withProgress(message = "Preparing session sharing", value = 1, { + saveSession(session) + }) +}) + +output$state_download <- downloadHandler( + filename = function() { + fn <- state_name_dlh() %>% sans_ext() + type <- state_name_dlh() %>% + { + if (grepl("\\.state\\.rda", .)) "state.rda" else tools::file_ext(.) + } + paste0(fn, ".", type) + }, + content = function(path) { + saveState(path) + } +) + +output$show_session <- renderPrint({ + input$show_session ## only update when you toggle the checkbox + isolate({ + cat("Session list:\n") + s <- toList(session$clientData) + str(s[sort(names(s))]) + }) +}) + +output$show_input <- renderPrint({ + input$show_input ## only update when you toggle the checkbox + isolate({ + cat("input list:\n") + inp <- toList(input) + str(inp[sort(names(inp))]) + }) +}) + +output$show_data <- renderPrint({ + input$show_data ## only update when you toggle the checkbox + isolate({ + cat("r_data environment:\n") + ls.str(r_data) + }) +}) + +output$show_info <- renderPrint({ + input$show_info ## only update when you toggle the checkbox + isolate({ + cat("r_info list:\n") + toList(r_info) %>% + { + str(.[sort(names(.))]) + } + }) +}) + +output$show_state <- renderPrint({ + if (length(r_state) == 0) { + cat("r_state list: [empty]") + } else { + cat("r_state list:\n") + str(r_state[sort(names(r_state))]) + } +}) \ No newline at end of file diff --git a/radiant.data/inst/app/tools/app/stop.R b/radiant.data/inst/app/tools/app/stop.R new file mode 100644 index 0000000..7776712 --- /dev/null +++ b/radiant.data/inst/app/tools/app/stop.R @@ -0,0 +1,49 @@ +####################################### +# Stop menu +####################################### +observeEvent(input$stop_radiant, { + if (isTRUE(getOption("radiant.local"))) stop_radiant() +}) + +stop_radiant <- function() { + ## quit R, unless you are running an interactive session + if (interactive()) { + ## flush input and r_data into Rgui or Rstudio + isolate({ + LiveInputs <- toList(input) + r_state[names(LiveInputs)] <- LiveInputs + r_state$nav_radiant <- r_info[["nav_radiant"]] + assign("r_state", r_state, envir = .GlobalEnv) + ## convert environment to a list and then back to an environment + ## again to remove active bindings https://github.com/rstudio/shiny/issues/1905 + ## using an environment so you can "attach" and access data easily + rem_non_active() ## keep only the active bindings (i.e., data, datalist, etc.) + + ## to env on stop causes reference problems + assign("r_data", env2list(r_data), envir = .GlobalEnv) + assign("r_info", toList(r_info), envir = .GlobalEnv) + ## removing r_sessions and functions defined in global.R + unlink("~/r_figures/", recursive = TRUE) + clean_up_list <- c( + "r_sessions", "help_menu", "make_url_patterns", "import_fs", + "init_data", "navbar_proj", "knit_print.data.frame", "withMathJax", + "Dropbox", "sf_volumes", "GoogleDrive", "bslib_current_version", + "has_bslib_theme", "load_html2canvas" + ) + suppressWarnings( + suppressMessages({ + res <- try(sapply(clean_up_list, function(x) if (exists(x, envir = .GlobalEnv)) rm(list = x, envir = .GlobalEnv)), silent = TRUE) + rm(res) + }) + ) + options(radiant.launch_dir = NULL) + options(radiant.project_dir = NULL) + options(radiant.autosave = NULL) + message("\nStopped Radiant. State information is available in the r_state and r_info lists and the r_data environment. Use attach(r_data) to access data loaded into Radiant.\n") + stopApp() + }) + } else { + stopApp() + q("no") + } +} diff --git a/radiant.data/inst/app/tools/app/tutorials.md b/radiant.data/inst/app/tools/app/tutorials.md new file mode 100644 index 0000000..11281c8 --- /dev/null +++ b/radiant.data/inst/app/tools/app/tutorials.md @@ -0,0 +1,87 @@ +# Radiant - Business analytics using R and Shiny + + +## Introduction to Radiant + + + +## Installing R, Rstudio, and Radiant on Windows + +For Windows, download and run the all-in-one installer for R, Rstudio, and Radiant. For a video tutorial see the `Install Radiant on Windows` video below: + + + +> Note: Some users have reported that the Malwarebytes software can inappropriately block R-packages from being installed or updated. If you use Malwarebytes and are experiencing problems you can try (temporarily) turning it off during the install process or when upgrading. + +> Credits: Thanks go to Brandon Salas at the Rady School of Management for creating the Windows installer + +## Installing R, Rstudio, and Radiant on macOS + +For Mac, first download and install R from https://cran.r-project.org/bin/macosx/. Download the .pkg file, double-click, and follow the prompts. After R has been installed, open R, copy-and-paste the command below into R, and press return. Accept all default settings during the install process: + +```r +source("https://raw.githubusercontent.com/radiant-rstats/minicran/gh-pages/install.R") +``` + +For a video tutorial see the `Installing R, Rstudio, and Radiant on macOS` video below: + + + +## Starting, stopping, and updating + + + +## Getting help + + + +## Getting data in and out + + + +## Fast and efficient analysis + + + +## Reproducible analysis + + + +## Using Radiant for Model Evaluation + +The state file used in the demo is available for download from [GitHub](https://radiant-rstats.github.io/docs/examples/demo-dvd-rnd.state.rda) + + + +## Radiant Tutorial Series + +For additional video tutorials see the **Radiant Tutorial Series** playlist linked below that covers: + +* Decision Analysis (_Model > Decision analysis_) +* Probability calculator (_Basics > Probability calculator_) +* Hypothesis testing: + - _Basics > Single mean_ + - _Basics > Single proportion_ + - _Basics > Compare proportions_ + - _Basics > Compare means_ + - _Basics > Cross-tabs_ +* Linear regression (_Model > Linear regression_) +* Simulation (_Model > Simulation_) + +https://www.youtube.com/playlist?list=PLNhtaetb48EdKRIY7MewCyvb_1x7dV3xw + + + +## License + + +Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +The documentation, images, and videos for the `radiant.data` package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for `radiant.design`, `radiant.basics`, `radiant.model`, and `radiant.multivariate`, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA. + +If you are interested in using any of the radiant packages please email me at radiant@rady.ucsd.edu + +© Vincent Nijs (2024) Creative Commons License diff --git a/radiant.data/inst/app/tools/data/combine_ui.R b/radiant.data/inst/app/tools/data/combine_ui.R new file mode 100644 index 0000000..8786205 --- /dev/null +++ b/radiant.data/inst/app/tools/data/combine_ui.R @@ -0,0 +1,213 @@ +####################################### +# Combine datasets +####################################### +## list of function arguments +cmb_args <- as.list(formals(combine_data)) + +## list of function inputs selected by user +cmb_inputs <- reactive({ + cmb_args$data_filter <- ifelse(input$show_filter, input$data_filter, "") + cmb_args$arr <- ifelse(input$show_filter, input$data_arrange, "") + cmb_args$rows <- ifelse(input$show_filter, input$data_rows, "") + cmb_args$x <- as.name(input$dataset) + cmb_args$y <- as.name(input$cmb_y) + + ## loop needed because reactive values don't allow single bracket indexing + for (i in r_drop(names(cmb_args), drop = c("x", "y", "data_filter", "arr", "rows"))) { + cmb_args[[i]] <- input[[paste0("cmb_", i)]] + } + + ## only need cmb_by when using a join method + if (!grepl("_join", cmb_args$type)) cmb_args$by <- "" + cmb_args +}) + +output$ui_cmb_y <- renderUI({ + datasetlist <- r_info[["datasetlist"]] + req(length(datasetlist) > 1) + cmb_datasets <- datasetlist[-which(input$dataset == datasetlist)] + selectInput( + inputId = "cmb_y", label = i18n$t("Combine with:"), + choices = cmb_datasets, selected = state_init("cmb_y"), multiple = FALSE + ) +}) + +output$ui_cmb_by <- renderUI({ + req(input$cmb_y) + x <- varnames() + y <- colnames(r_data[[input$cmb_y]]) + vars <- intersect(x, y) + if (length(vars) == 0) { + return() + } + vars <- x[x %in% vars] ## need variable labels from varnames() + selectInput( + "cmb_by", + i18n$t("Join by:"), + choices = vars, + selected = state_multiple("cmb_by", vars, vars), + multiple = TRUE, + size = min(5, length(vars)), + selectize = FALSE + ) +}) + +output$ui_cmb_add <- renderUI({ + req(input$cmb_y) + vars <- colnames(r_data[[input$cmb_y]]) + selectInput( + "cmb_add", + i18n$t("Variables to add:"), + choices = vars, + selected = state_multiple("cmb_add", vars, vars), + multiple = TRUE, + size = min(5, length(vars)), + selectize = FALSE + ) +}) + +cmb_type <- setNames( + c( + "inner_join", "left_join", "right_join", "full_join", + "semi_join", "anti_join", "bind_rows", "bind_cols", + "intersect", "union", "setdiff" + ), + i18n$t(c( + "Inner join", "Left join", "Right join", "Full join", + "Semi join", "Anti join", "Bind rows", "Bind columns", + "Intersect", "Union", "Set difference" + )) +) + +output$ui_cmb_store <- renderUI({ + ## updates when dataset changes + req(input$dataset) + actionButton("cmb_store", i18n$t("Combine"), icon = icon("plus", verify_fa = FALSE), class = "btn-success") +}) + +output$ui_Combine <- renderUI({ + tagList( + wellPanel( + uiOutput("ui_cmb_y"), + conditionalPanel( + condition = "output.ui_cmb_y == null", + HTML(i18n$t("")) + ), + uiOutput("ui_cmb_by"), + uiOutput("ui_cmb_add"), + selectInput( + "cmb_type", i18n$t("Combine type:"), + choices = cmb_type, + selected = state_single("cmb_type", cmb_type, "inner_join"), + multiple = FALSE + ), + tags$table( + tags$td(textInput("cmb_name", i18n$t("Combined dataset:"), paste0(input$dataset, "_cmb"))), + tags$td(uiOutput("ui_cmb_store"), class = "top") + ) + ), + help_and_report( + modal_title = i18n$t("Combine"), + fun_name = "combine", + help_file = inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/combine.md")), + lic = "by-sa" + ) + ) +}) + +observeEvent(input$cmb_store, { + ## combining datasets + req(length(r_info[["datasetlist"]]) > 1) + result <- try(do.call(combine_data, cmb_inputs(), envir = r_data), silent = TRUE) + if (inherits(result, "try-error")) { + r_info[["cmb_error"]] <- attr(result, "condition")$message + } else { + r_info[["cmb_error"]] <- "" + dataset <- fix_names(input$cmb_name) + if (input$cmb_name != dataset) { + updateTextInput(session, inputId = "cmb_name", value = dataset) + } + r_data[[dataset]] <- result + register(dataset, descr = attr(result, "description")) + updateSelectInput(session = session, inputId = "dataset", selected = input$dataset) + updateSelectInput(session = session, inputId = "cmb_y", selected = input$cmd_y) + } +}) + +combine_report <- function() { + req(input$cmb_y) + inp <- clean_args(cmb_inputs(), cmb_args) + if (identical(inp$add, colnames(r_data[[input$cmb_y]]))) { + inp$add <- NULL + } + dataset <- fix_names(input$cmb_name) + if (input$cmb_name != dataset) { + updateTextInput(session, inputId = "cmb_name", value = dataset) + } + xcmd <- paste0("register(\"", dataset, "\")") + update_report( + inp_main = inp, + fun_name = "combine_data", + outputs = character(0), + pre_cmd = paste0(dataset, " <- "), + xcmd = xcmd, + figs = FALSE + ) +} + +output$cmb_data1 <- renderText({ + req(input$dataset) + filt <- if (input$show_filter) input$data_filter else "" + arr <- if (input$show_filter) input$data_arrange else "" + rows <- if (input$show_filter) input$data_rows else "" + show_data_snippet(title = paste(i18n$t("

    Dataset 1:"), input$dataset, "

    "), filt = filt, arr = arr, rows = rows) +}) + +output$cmb_data2 <- renderText({ + req(input$cmb_y) + show_data_snippet(input$cmb_y, title = paste(i18n$t("

    Dataset 2:"), input$cmb_y, "

    ")) +}) + +output$cmb_possible <- renderText({ + req(length(r_info[["datasetlist"]]) > 1) + if (is.empty(input$cmb_by) && !is.empty(input$cmb_type) && grepl("_join", input$cmb_type)) { + i18n$t("

    No matching variables selected

    ") + } +}) + +output$cmb_data <- renderText({ + req(length(r_info[["datasetlist"]]) > 1) + req(input$cmb_store) ## dependence is needed to update cmb_type when result doesn't change + if (is.empty(input$cmb_name)) { + dataset <- paste0("cmb_", isolate(input$dataset)) + } else { + dataset <- fix_names(input$cmb_name) + if (input$cmb_name != dataset) { + updateTextInput(session, inputId = "cmb_name", value = dataset) + } + } + + if (!is.empty(r_info[["cmb_error"]])) { + HTML(paste0(i18n$t("

    Combining data failed. The error message was:

    \""), r_info[["cmb_error"]], "\"

    ")) + } else if (!is.null(r_data[[dataset]])) { + show_data_snippet(dataset, nshow = 15, title = paste0( + i18n$t("

    Combined dataset: "), + dataset, " [", isolate(input$cmb_type), "]

    " + )) + } +}) + +observeEvent(input$combine_report, { + r_info[["latest_screenshot"]] <- NULL + combine_report() +}) + +observeEvent(input$combine_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_combine_screenshot") +}) + +observeEvent(input$modal_combine_screenshot, { + combine_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/data_ui.R b/radiant.data/inst/app/tools/data/data_ui.R new file mode 100644 index 0000000..6fa7d8f --- /dev/null +++ b/radiant.data/inst/app/tools/data/data_ui.R @@ -0,0 +1,119 @@ +####################################### +# Shiny interface for data tabs +####################################### + +## show error message from filter dialog +output$ui_filter_error <- renderUI({ + if (is.empty(r_info[["filter_error"]])) { + return() + } + helpText(r_info[["filter_error"]]) +}) + +## data ui and tabs +## state is not available in global environment +## neither are the state_... functions +output$ui_data <- renderUI({ + tagList( + sidebarLayout( + sidebarPanel( + wellPanel( + uiOutput("ui_datasets"), + conditionalPanel( + "input.tabs_data != 'Manage'", + checkboxInput("show_filter", i18n$t("Filter data"), value = state_init("show_filter", FALSE)), + conditionalPanel( + "input.show_filter == true", + returnTextAreaInput("data_filter", + label = i18n$t("Data filter:"), + value = state_init("data_filter"), + placeholder = i18n$t("Provide a filter (e.g., price > 5000) and press return") + ), + returnTextAreaInput("data_arrange", + label = i18n$t("Data arrange (sort):"), + value = state_init("data_arrange"), + placeholder = i18n$t("Arrange (e.g., color, desc(price)) and press return") + ), + returnTextAreaInput("data_rows", + label = i18n$t("Data slice (rows):"), + rows = 1, + value = state_init("data_rows"), + placeholder = i18n$t("e.g., 1:50 and press return") + ), + uiOutput("ui_filter_error") + ) + ) + ), + conditionalPanel("input.tabs_data == 'Manage'", uiOutput("ui_Manage")), + conditionalPanel("input.tabs_data == 'View'", uiOutput("ui_View")), + conditionalPanel("input.tabs_data == 'Visualize'", uiOutput("ui_Visualize")), + conditionalPanel("input.tabs_data == 'Pivot'", uiOutput("ui_Pivotr")), + conditionalPanel("input.tabs_data == 'Explore'", uiOutput("ui_Explore")), + conditionalPanel("input.tabs_data == 'Transform'", uiOutput("ui_Transform")), + conditionalPanel("input.tabs_data == 'Combine'", uiOutput("ui_Combine")) + ), + mainPanel( + tabsetPanel( + id = "tabs_data", + tabPanel( + i18n$t("Manage"), value = "Manage", + conditionalPanel("input.dman_preview == 'preview'", h2(i18n$t("Data preview")), htmlOutput("man_example")), + conditionalPanel("input.dman_preview == 'str'", h2(i18n$t("Data structure")), verbatimTextOutput("man_str")), + # conditionalPanel("input.dman_preview == 'summary'", h2("Data summary"), htmlOutput("man_summary")), + conditionalPanel("input.dman_preview == 'summary'", h2(i18n$t("Data summary")), verbatimTextOutput("man_summary")), + conditionalPanel( + condition = "input.man_show_log == true", + h2(i18n$t("Data load and save commands")), + uiOutput("ui_man_log") + ), + conditionalPanel("input.man_add_descr == false", uiOutput("man_descr_html")), + conditionalPanel("input.man_add_descr == true", uiOutput("man_descr_md")) + ), + tabPanel( + i18n$t("View"), value = "View", + download_link("dl_view_tab"), + DT::dataTableOutput("dataviewer") + ), + tabPanel( + i18n$t("Visualize"), value = "Visualize", + download_link("dlp_visualize"), + plotOutput("visualize", width = "100%", height = "100%") + ), + tabPanel( + i18n$t("Pivot"), value = "Pivot", + conditionalPanel( + "input.pvt_tab == true", + download_link("dl_pivot_tab"), + DT::dataTableOutput("pivotr") + ), + conditionalPanel("input.pvt_chi2 == true", htmlOutput("pivotr_chi2")), + conditionalPanel( + "input.pvt_plot == true", br(), br(), + download_link("dlp_pivot"), + plotOutput("plot_pivot", width = "100%", height = "100%") + ) + ), + tabPanel( + i18n$t("Explore"), value = "Explore", + download_link("dl_explore_tab"), + DT::dataTableOutput("explore") + ), + tabPanel( + i18n$t("Transform"), value = "Transform", + htmlOutput("transform_data"), + verbatimTextOutput("transform_summary"), + uiOutput("ui_tr_log") + ), + tabPanel( + i18n$t("Combine"), value = "Combine", + htmlOutput("cmb_data1"), + htmlOutput("cmb_data2"), + htmlOutput("cmb_possible"), + htmlOutput("cmb_data") + ) + ) + ) + ) + ) +}) + diff --git a/radiant.data/inst/app/tools/data/explore_ui.R b/radiant.data/inst/app/tools/data/explore_ui.R new file mode 100644 index 0000000..a155fb6 --- /dev/null +++ b/radiant.data/inst/app/tools/data/explore_ui.R @@ -0,0 +1,356 @@ +####################################### +## Explore datasets +####################################### + +default_funs <- c("n_obs", "mean", "sd", "min", "max") +expl_args <- as.list(formals(explore)) + +## list of function inputs selected by user +expl_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + expl_args$data_filter <- if (input$show_filter) input$data_filter else "" + expl_args$arr <- if (input$show_filter) input$data_arrange else "" + expl_args$rows <- if (input$show_filter) input$data_rows else "" + expl_args$dataset <- input$dataset + for (i in r_drop(names(expl_args))) { + expl_args[[i]] <- input[[paste0("expl_", i)]] + } + + expl_args +}) + +expl_sum_args <- as.list(if (exists("summary.explore")) { + formals(summary.explore) +} else { + formals(radiant.data:::summary.explore) +}) + +## list of function inputs selected by user +expl_sum_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(expl_sum_args)) { + expl_sum_args[[i]] <- input[[paste0("expl_", i)]] + } + expl_sum_args +}) + +## UI-elements for explore +output$ui_expl_vars <- renderUI({ + # isNum <- .get_class() %in% c("integer", "numeric", "ts", "factor", "logical") + # vars <- varnames()[isNum] + vars <- varnames() + req(available(vars)) + selectInput( + "expl_vars", + label = i18n$t("Numeric variable(s):"), choices = vars, + selected = state_multiple("expl_vars", vars, isolate(input$expl_vars)), multiple = TRUE, + size = min(8, length(vars)), selectize = FALSE + ) +}) + +output$ui_expl_byvar <- renderUI({ + withProgress(message = i18n$t("Acquiring variable information"), value = 1, { + vars <- groupable_vars() + }) + req(available(vars)) + + if (any(vars %in% input$expl_vars)) { + vars <- base::setdiff(vars, input$expl_vars) + names(vars) <- varnames() %>% + (function(x) x[match(vars, x)]) %>% + names() + } + + isolate({ + ## if nothing is selected expl_byvar is also null + if ("expl_byvar" %in% names(input) && is.null(input$expl_byvar)) { + r_state$expl_byvar <<- NULL + } else { + if (available(r_state$expl_byvar) && all(r_state$expl_byvar %in% vars)) { + vars <- unique(c(r_state$expl_byvar, vars)) + names(vars) <- varnames() %>% + (function(x) x[match(vars, x)]) %>% + names() + } + } + }) + + selectizeInput( + "expl_byvar", + label = i18n$t("Group by:"), choices = vars, + selected = state_multiple("expl_byvar", vars, isolate(input$expl_byvar)), + multiple = TRUE, + options = list( + placeholder = i18n$t("Select group-by variable"), + plugins = list("remove_button", "drag_drop") + ) + ) +}) + +output$ui_expl_fun <- renderUI({ + r_funs <- getOption("radiant.functions") + isolate({ + sel <- if (is.empty(input$expl_fun)) { + state_multiple("expl_fun", r_funs, default_funs) + } else { + input$expl_fun + } + }) + selectizeInput( + "expl_fun", + label = i18n$t("Apply function(s):"), + choices = r_funs, selected = sel, multiple = TRUE, + options = list( + placeholder = i18n$t("Select functions"), + plugins = list("remove_button", "drag_drop") + ) + ) +}) + +output$ui_expl_top <- renderUI({ + if (is.empty(input$expl_vars)) { + return() + } + top_var <- setNames( + c("fun", "var", "byvar"), + c(i18n$t("Function"), i18n$t("Variables"), i18n$t("Group by")) + ) + if (is.empty(input$expl_byvar)) top_var <- top_var[1:2] + selectizeInput( + "expl_top", + label = i18n$t("Column header:"), + choices = top_var, + selected = state_single("expl_top", top_var, isolate(input$expl_top)), + multiple = FALSE + ) +}) + +output$ui_expl_name <- renderUI({ + req(input$dataset) + textInput("expl_name", i18n$t("Store as:"), "", placeholder = i18n$t("Provide a table name")) +}) + +output$ui_expl_run <- renderUI({ + ## updates when dataset changes + req(input$dataset) + actionButton("expl_run", i18n$t("Create table"), width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") +}) + +## add a spinning refresh icon if the table needs to be (re)calculated +run_refresh(expl_args, "expl", init = "vars", label = i18n$t("Create table"), relabel = i18n$t("Update table")) + +output$ui_Explore <- renderUI({ + tagList( + wellPanel( + uiOutput("ui_expl_run") + ), + wellPanel( + # actionLink("expl_clear", "Clear settings", icon = icon("sync", verify_fa = FALSE), style="color:black"), + uiOutput("ui_expl_vars"), + uiOutput("ui_expl_byvar"), + uiOutput("ui_expl_fun"), + uiOutput("ui_expl_top"), + returnTextAreaInput("expl_tab_slice", + label = i18n$t("Table slice (rows):"), + rows = 1, + value = state_init("expl_tab_slice"), + placeholder = i18n$t("e.g., 1:5 and press return") + ), + numericInput("expl_dec", label = i18n$t("Decimals:"), value = state_init("expl_dec", 3), min = 0) + ), + wellPanel( + tags$table( + tags$td(uiOutput("ui_expl_name")), + tags$td(actionButton("expl_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE)), class = "top") + ) + ), + help_and_report( + modal_title = i18n$t("Explore"), fun_name = "explore", + help_file = inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/explore.md")), + lic = "by-sa" + ) + ) +}) + +.explore <- eventReactive(input$expl_run, { + if (not_available(input$expl_vars) || is.null(input$expl_top)) { + return() + } else if (!is.empty(input$expl_byvar) && not_available(input$expl_byvar)) { + return() + } else if (available(input$expl_byvar) && any(input$expl_byvar %in% input$expl_vars)) { + return() + } + expli <- expl_inputs() + expli$envir <- r_data + sshhr(do.call(explore, expli)) +}) + +observeEvent(input$explore_search_columns, { + r_state$explore_search_columns <<- input$explore_search_columns +}) + +observeEvent(input$explore_state, { + r_state$explore_state <<- input$explore_state +}) + +expl_reset <- function(var, ncol) { + if (!identical(r_state[[var]], input[[var]])) { + r_state[[var]] <<- input[[var]] + r_state$explore_state <<- list() + r_state$explore_search_columns <<- rep("", ncol) + } +} + +output$explore <- DT::renderDataTable({ + input$expl_run + withProgress(message = i18n$t("Generating explore table"), value = 1, { + isolate({ + expl <- .explore() + req(!is.null(expl)) + expl$shiny <- TRUE + + ## resetting DT when changes occur + nc <- ncol(expl$tab) + expl_reset("expl_vars", nc) + expl_reset("expl_byvar", nc) + expl_reset("expl_fun", nc) + if (!is.null(r_state$expl_top) && + !is.null(input$expl_top) && + !identical(r_state$expl_top, input$expl_top)) { + r_state$expl_top <<- input$expl_top + r_state$explore_state <<- list() + r_state$explore_search_columns <<- rep("", nc) + } + + searchCols <- lapply(r_state$explore_search_columns, function(x) list(search = x)) + order <- r_state$explore_state$order + pageLength <- r_state$explore_state$length + }) + + caption <- if (is.empty(input$expl_tab_slice)) NULL else glue("Table slice {input$expl_tab_slice} will be applied on Download, Store, or Report") + dtab( + expl, + dec = input$expl_dec, searchCols = searchCols, order = order, + pageLength = pageLength, + caption = caption + ) + }) +}) + +dl_explore_tab <- function(path) { + dat <- try(.explore(), silent = TRUE) + if (inherits(dat, "try-error") || is.null(dat)) { + write.csv(tibble::tibble("Data" = "[Empty]"), path, row.names = FALSE) + } else { + rows <- input$explore_rows_all + dat$tab %>% + (function(x) if (is.null(rows)) x else x[rows, , drop = FALSE]) %>% + (function(x) if (is.empty(input$expl_tab_slice)) x else slice_data(x, input$expl_tab_slice)) %>% + write.csv(path, row.names = FALSE) + } +} + +download_handler( + id = "dl_explore_tab", + fun = dl_explore_tab, + fn = function() paste0(input$dataset, "_expl"), + type = "csv" +) + +# observeEvent(input$expl_clear, { +# r_state$explore_state <<- list() +# updateCheckboxInput(session = session, inputId = "show_filter", value = FALSE) +# }) + +observeEvent(input$expl_store, { + req(input$expl_name) + dat <- .explore() + if (is.null(dat)) { + return() + } + dataset <- fix_names(input$expl_name) + if (input$expl_name != dataset) { + updateTextInput(session, inputId = "expl_name", value = dataset) + } + rows <- input$explore_rows_all + dat$tab <- dat$tab %>% + (function(x) if (is.null(rows)) x else x[rows, , drop = FALSE]) %>% + (function(x) if (is.empty(input$expl_tab_slice)) x else slice_data(x, input$expl_tab_slice)) + r_data[[dataset]] <- dat$tab + register(dataset) + updateSelectInput(session, "dataset", selected = input$dataset) + + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + i18n$t( + "Dataset '{dataset}' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen.", + dataset = dataset + ) + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) +}) + +explore_report <- function() { + ## get the state of the dt table + ts <- dt_state("explore") + xcmd <- "# summary(result)\ndtab(result" + if (!is.empty(input$expl_dec, 3)) { + xcmd <- paste0(xcmd, ", dec = ", input$expl_dec) + } + if (!is.empty(r_state$explore_state$length, 10)) { + xcmd <- paste0(xcmd, ", pageLength = ", r_state$explore_state$length) + } + xcmd <- paste0(xcmd, ", caption = \"\") %>% render()") + if (!is.empty(input$expl_name)) { + dataset <- fix_names(input$expl_name) + if (input$expl_name != dataset) { + updateTextInput(session, inputId = "expl_name", value = dataset) + } + xcmd <- paste0(xcmd, "\n", dataset, " <- result$tab\nregister(\"", dataset, "\")") + } + + inp_main <- clean_args(expl_inputs(), expl_args) + if (ts$tabsort != "") inp_main <- c(inp_main, tabsort = ts$tabsort) + if (ts$tabfilt != "") inp_main <- c(inp_main, tabfilt = ts$tabfilt) + if (is.empty(inp_main$rows)) { + inp_main$rows <- NULL + } + if (is.empty(input$expl_tab_slice)) { + inp_main <- c(inp_main, nr = Inf) + } else { + inp_main$tabslice <- input$expl_tab_slice + } + + inp_out <- list(clean_args(expl_sum_inputs(), expl_sum_args[-1])) + + update_report( + inp_main = inp_main, + fun_name = "explore", + inp_out = inp_out, + outputs = c(), + figs = FALSE, + xcmd = xcmd + ) +} + +observeEvent(input$explore_report, { + r_info[["latest_screenshot"]] <- NULL + explore_report() +}) + +observeEvent(input$explore_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_explore_screenshot") +}) + +observeEvent(input$modal_explore_screenshot, { + explore_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/manage.R b/radiant.data/inst/app/tools/data/manage.R new file mode 100644 index 0000000..583b24a --- /dev/null +++ b/radiant.data/inst/app/tools/data/manage.R @@ -0,0 +1,237 @@ +descr_out <- function(descr, ret_type = "html") { + ## if there is no data description + if (is.empty(descr)) { + return("") + } + + ## if there is a data description and we want html output + if (ret_type == "html") { + markdown::mark_html(text = descr, template = FALSE, meta = list(css = ""), output = FALSE) + } else { + descr + } +} + +## create an empty data.frame and return error message as description +upload_error_handler <- function(objname, ret) { + r_data[[objname]] <- data.frame(matrix(rep("", 12), nrow = 2), stringsAsFactors = FALSE) %>% + set_attr("description", ret) +} + +load_csv <- function(file, delim = ",", col_names = TRUE, dec = ".", + n_max = Inf, saf = TRUE, safx = 30) { + n_max <- if (is_not(n_max) || n_max < 0) Inf else n_max + dataset <- sshhr(try( + readr::read_delim( + file, + delim = delim, locale = readr::locale(decimal_mark = dec, grouping_mark = delim), + col_names = col_names, n_max = n_max, trim_ws = TRUE + ), + silent = TRUE + )) + if (inherits(dataset, "try-error")) { + i18n$t("#### There was an error loading the data. Please make sure the data are in csv format") + } else { + prb <- readr::problems(dataset) + if (nrow(prb) > 0) { + tab_big <- "class='table table-condensed table-hover' style='width:70%;'" + rprob <- knitr::kable( + prb[1:(min(nrow(prb):10)), , drop = FALSE], + align = "l", + format = "html", + table.attr = tab_big, + caption = i18n$t("Read issues (max 10 rows shown):") + ) + } else { + rprob <- "" + } + + if (saf) dataset <- to_fct(dataset, safx) + as.data.frame(dataset, stringsAsFactors = FALSE) %>% + { + set_colnames(., fix_names(colnames(.))) + } %>% + set_attr("description", rprob) + } +} + +load_user_data <- function(fname, uFile, ext, header = TRUE, + man_str_as_factor = TRUE, sep = ",", + dec = ".", n_max = Inf, xlsx_sheet = 1, xlsx_header = TRUE) { + filename <- basename(fname) + fext <- tools::file_ext(filename) %>% tolower() + + ## switch extension if needed + ext <- case_when( + fext == ext ~ ext, + fext == "rdata" ~ "rdata", + fext == "rds" && ext == "rda" ~ "rds", + fext == "rda" && ext == "rds" ~ "rda", + fext == "txt" && ext == "csv" ~ "txt", + fext == "tsv" && ext == "csv" ~ "tsv", + fext %in% c("xls", "xlsx") ~ "xlsx", + TRUE ~ ext + ) + + + ## objname is used as the name of the data.frame, make case insensitive + objname <- sub(glue("\\.{ext}$"), "", filename, ignore.case = TRUE) + + ## if ext isn't in the filename nothing was replaced and so ... + if (objname == filename && !fext %in% c("xls", "xlsx")) { + ret <- glue(i18n$t('#### The filename extension "{fext}" does not match the specified \\ + file-type "{ext}". Please specify the file type you are trying to upload')) + upload_error_handler(objname, ret) + ext <- "---" + } + + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + cmd <- NULL + + pp <- suppressMessages( + radiant.data::parse_path( + uFile, + pdir = pdir, + chr = "\"", + mess = FALSE + ) + ) + + ## can't have spaces, dashes, etc. in objectname + objname <- radiant.data::fix_names(objname) + + if (ext %in% c("rda", "rdata")) { + ## objname will hold the name of the object(s) inside the R datafile + robjname <- try(load(uFile), silent = TRUE) + if (inherits(robjname, "try-error")) { + upload_error_handler(objname, i18n$t("#### There was an error loading the data. Please make sure the data are in rda format.")) + } else if (length(robjname) > 1) { + if (sum(robjname %in% c("r_state", "r_data", "r_info")) > 1) { + upload_error_handler(objname, i18n$t("#### To restore state select 'radiant state file' from the 'Load data of type' drowdown before loading the file")) + ## need to remove the local copies of r_state, r_data, and r_info + suppressWarnings(rm(r_state, r_data, r_info)) + } else { + upload_error_handler(objname, i18n$t("#### More than one R object contained in the data.")) + } + } else { + r_data[[objname]] <- as.data.frame(get(robjname), stringsAsFactors = FALSE) + cmd <- glue("{objname} <- load({pp$rpath}) %>% get()") + } + } else if (ext == "rds") { + ## objname will hold the name of the object(s) inside the R datafile + robj <- try(readRDS(uFile), silent = TRUE) + if (inherits(robj, "try-error")) { + upload_error_handler(objname, i18n$t("#### There was an error loading the data. Please make sure the data are in rds format.")) + } else { + r_data[[objname]] <- as.data.frame(robj, stringsAsFactors = FALSE) + cmd <- glue("{objname} <- readr::read_rds({pp$rpath})") + } + } else if (ext == "parquet") { + if (!requireNamespace("arrow", quietly = TRUE)) { + stop(i18n$t("The 'arrow' package is not installed. Please install it and try again.")) + upload_error_handler(objname, i18n$t("#### The arrow package required to work with data in parquet format is not installed. Please use install.packages('arrow')")) + } else { + robj <- arrow::read_parquet(uFile) # %>% set_attr("description", feather::feather_metadata(uFile)$description) + if (inherits(robj, "try-error")) { + upload_error_handler(objname, i18n$t("#### There was an error loading the data. Please make sure the data are in parquet format.")) + } else { + r_data[[objname]] <- as.data.frame(robj, stringsAsFactors = FALSE) + cmd <- glue("{objname} <- arrow::read_parquet({pp$rpath})") + } + } + }else if (ext == "xlsx") { + if (!requireNamespace("readxl", quietly = TRUE)) { + ret <- i18n$t("#### 读取xlsx文件需要readxl包") + upload_error_handler(objname, ret) + } else { + # 用readxl读取xlsx + robj <- try(readxl::read_excel( + path = uFile, + sheet = xlsx_sheet, # 对应UI的“工作表索引” + col_names = xlsx_header# 对应UI的“第一行为表头” + ), silent = TRUE) + + if (inherits(robj, "try-error")) { + upload_error_handler(objname, i18n$t("#### 读取xlsx文件失败,请检查文件是否损坏或格式正确")) + } else { + # 转换为data.frame并处理因子 + r_data[[objname]] <- as.data.frame(robj, stringsAsFactors = FALSE) %>% + {if (man_str_as_factor) radiant.data::to_fct(.) else .} + # 生成R代码 + cmd <- glue(' + {objname} <- readxl::read_excel( + {pp$rpath}, + sheet = {xlsx_sheet}, + col_names = {xlsx_header} + ) %>% + as.data.frame(stringsAsFactors = FALSE) + {if (man_str_as_factor) paste0(objname, " <- radiant.data::to_fct(", objname, ")") else ""} + register("{objname}") + ') + } + } + }else if (ext %in% c("tsv", "csv", "txt")) { + r_data[[objname]] <- load_csv( + uFile, + delim = sep, col_names = header, n_max = n_max, + dec = dec, saf = man_str_as_factor + ) %>% + (function(x) if (is.character(x)) upload_error_handler(objname, i18n$t("#### There was an error loading the data")) else x) + n_max <- if (is_not(n_max) || n_max < 0) Inf else n_max + if (ext == "csv" && sep == "," && dec == "." && header) { + cmd <- glue("{objname} <- readr::read_csv({pp$rpath}, n_max = {n_max})") + } else { + cmd <- glue(' + {objname} <- readr::read_delim( + {pp$rpath}, + delim = "{sep}", col_names = {header}, n_max = {n_max}, + locale = readr::locale(decimal_mark = "{dec}", grouping_mark = "{sep}") + )') + } + ## make sure all columns names are "fixed" + cmd <- paste0(cmd, " %>%\n fix_names()") + if (man_str_as_factor) cmd <- paste0(cmd, " %>%\n to_fct()") + } else if (ext != "---") { + ret <- glue(i18n$t("#### The selected filetype is not currently supported ({fext})")) + upload_error_handler(objname, ret) + } + + if (exists(objname, envir = r_data) && !bindingIsActive(as.symbol(objname), env = r_data)) { + shiny::makeReactiveBinding(objname, env = r_data) + } + + r_info[[glue("{objname}_descr")]] <- attr(r_data[[objname]], "description") + if (!is.empty(cmd)) { + cn <- colnames(r_data[[objname]]) + fn <- radiant.data::fix_names(cn) + if (!identical(cn, fn)) { + colnames(r_data[[objname]]) <- fn + cmd <- paste0(cmd, " %>%\n fix_names()") + } + cmd <- glue('{cmd}\nregister("{objname}")') + } + r_info[[glue("{objname}_lcmd")]] <- cmd + r_info[["datasetlist"]] <- c(objname, r_info[["datasetlist"]]) %>% unique() +} + +load_description <- function(fname, uFile, objname) { + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + cmd <- NULL + + pp <- suppressMessages( + radiant.data::parse_path( + uFile, + pdir = pdir, + chr = "\"", + mess = FALSE + ) + ) + + descr <- readLines(pp$path, warn = FALSE) %>% paste0(collapse = "\n") + cmd <- glue("register(\"{objname}\", descr = paste0(readLines({pp$rpath}, warn = FALSE), collapse = \"\\n\"))") + attr(r_data[[objname]], "description") <- descr + r_info[[glue("{objname}_descr")]] <- descr + r_info[[glue("{objname}_lcmd")]] <- sub(glue('register("{objname}")'), cmd, r_info[[glue("{objname}_lcmd")]], fixed = TRUE) +} diff --git a/radiant.data/inst/app/tools/data/manage_ui.R b/radiant.data/inst/app/tools/data/manage_ui.R new file mode 100644 index 0000000..4bf9498 --- /dev/null +++ b/radiant.data/inst/app/tools/data/manage_ui.R @@ -0,0 +1,1064 @@ +####################################### +# Manage datasets in/out of Radiant +####################################### + +output$ui_state_load <- renderUI({ + if (getOption("radiant.shinyFiles", FALSE)) { + tagList( + HTML(i18n$t("
    ")), + shinyFiles::shinyFilesButton( + "state_load", i18n$t("Load"), i18n$t("Load radiant state file"), + multiple = FALSE, icon = icon("upload", verify_fa = FALSE) + ) + ) + } else { + fileInput("state_load", i18n$t("Load radiant state file:"), accept = ".rda") + } +}) + +make_uploadfile <- function(accept) { + if (getOption("radiant.shinyFiles", FALSE)) { + shinyFiles::shinyFilesButton("uploadfile", i18n$t("Load"), i18n$t("Load data"), multiple = TRUE, icon = icon("upload", verify_fa = FALSE)) + } else { + fileInput("uploadfile", NULL, multiple = TRUE, accept = accept) + } +} + +make_description_uploadfile <- function(accept) { + if (getOption("radiant.shinyFiles", FALSE)) { + shinyFiles::shinyFilesButton("upload_description", i18n$t("Description"), i18n$t("Load description"), multiple = FALSE, icon = icon("upload", verify_fa = FALSE)) + } else { + fileInput("upload_description", i18n$t("Description"), multiple = False, accept = accept) + } +} + +output$ui_fileUpload <- renderUI({ + req(input$dataType) + if (input$dataType == "csv") { + make_uploadfile( + accept = c( + "text/csv", "text/comma-separated-values", + "text/tab-separated-values", "text/plain", ".csv", ".tsv" + ) + ) + } else if (input$dataType %in% c("rda", "rds")) { + make_uploadfile(accept = c(".rda", ".rds", ".rdata")) + } else if (input$dataType == "parquet") { + tagList( + make_uploadfile(accept = ".parquet"), + make_description_uploadfile(accept = c(".md", ".txt")) + ) + } else if (input$dataType == "xlsx") { + tagList( + make_uploadfile(accept = c(".xlsx", ".xls")), + make_description_uploadfile(accept = c(".md", ".txt")) + ) + } else if (input$dataType == "url_rds") { + with(tags, table( + tr( + td(textInput("url_rds", NULL, "")), + td(actionButton("url_rds_load", i18n$t("Load"), icon = icon("upload", verify_fa = FALSE)), class = "top_small") + ) + )) + } else if (input$dataType == "url_csv") { + with(tags, table( + tr( + td(textInput("url_csv", NULL, "")), + td(actionButton("url_csv_load", i18n$t("Load"), icon = icon("upload", verify_fa = FALSE)), class = "top_small") + ) + )) + } +}) + + +output$ui_clipboard_load <- renderUI({ + if (Sys.info()["sysname"] != "Linux") { + actionButton("loadClipData", i18n$t("Paste"), icon = icon("paste", verify_fa = FALSE)) + } else { + tagList( + textAreaInput( + "load_cdata", i18n$t("Copy-and-paste data below:"), + rows = 5, resize = "vertical", value = "", + placeholder = i18n$t("Copy-and-paste data with a header row from a spreadsheet") + ), + br(), + actionButton("loadClipData", i18n$t("Paste"), icon = icon("paste", verify_fa = FALSE)) + ) + } +}) + +output$ui_clipboard_save <- renderUI({ + if (Sys.info()["sysname"] != "Linux") { + actionButton("man_save_clip", i18n$t("Copy data"), icon = icon("copy", verify_fa = FALSE)) + } else { + textAreaInput( + "man_save_clip_text_area", i18n$t("Copy-and-paste data shown below:"), + rows = 5, resize = "vertical", + value = capture.output( + write.table(r_data[[input$dataset]], file = "", row.names = FALSE, sep = "\t") + ) %>% paste(collapse = "\n") + ) + } +}) + +output$ui_from_global <- renderUI({ + req(input$dataType) + df_list <- sapply(mget(ls(envir = .GlobalEnv), envir = .GlobalEnv), is.data.frame) %>% + (function(x) names(x[x])) + + tagList( + selectInput( + "from_global", + label = i18n$t("Data.frames in Global Env:"), + df_list, selected = df_list, multiple = TRUE, selectize = FALSE, + size = min(5, length(df_list)) + ), + radioButtons("from_global_move", NULL, + choices = setNames(c("copy", "move"), c(i18n$t("copy"), i18n$t("move"))), + selected = "copy", + inline = TRUE + ), + br(), + actionButton("from_global_load", i18n$t("Load"), icon = icon("upload", verify_fa = FALSE)) + ) +}) + +output$ui_to_global <- renderUI({ + tagList( + radioButtons("to_global_move", NULL, + choices = setNames(c("copy", "move"), c(i18n$t("copy"), i18n$t("move"))), + selected = "copy", + inline = TRUE + ), + br(), + actionButton("to_global_save", i18n$t("Save"), icon = icon("download", verify_fa = FALSE)) + ) +}) + +observeEvent(input$from_global_load, { + dfs <- input$from_global + req(dfs) + r_info[["datasetlist"]] <- c(dfs, r_info[["datasetlist"]]) %>% unique() + for (df in dfs) { + r_data[[df]] <- get(df, envir = .GlobalEnv) + if (!bindingIsActive(as.symbol(df), env = r_data)) { + shiny::makeReactiveBinding(df, env = r_data) + } + r_info[[paste0(df, "_lcmd")]] <- glue('{df} <- get("{df}", envir = .GlobalEnv)\nregister("{df}")') + if (input$from_global_move == "move") { + rm(list = df, envir = .GlobalEnv) + r_info[[paste0(df, "_lcmd")]] <- paste0("# ", r_info[[paste0(df, "_lcmd")]]) + } + r_info[[paste0(df, "_descr")]] <- attr(r_data[[df]], "description") %>% + (function(x) if (is.null(x)) i18n$t("No description provided. Please use Radiant to add an overview of the data in markdown format.\nCheck the 'Add/edit data description' box on the top-left of your screen") else x) %>% + fix_smart() + } + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +observeEvent(input$to_global_save, { + df <- input$dataset + req(df) + assign(df, r_data[[df]], envir = .GlobalEnv) + if (input$to_global_move == "move" && length(r_info[["datasetlist"]]) > 1) { + r_info[["datasetlist"]] %<>% base::setdiff(df) + r_info[[paste0(df, "_descr")]] <- NULL + r_info[[paste0(df, "_lcmd")]] <- NULL + r_info[[paste0(df, "_scmd")]] <- NULL + } else { + ## only useful if dataset is still available in radiant + r_info[[paste0(df, "_scmd")]] <- glue("assign({df}, envir = .GlobalEnv)") + } + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +output$ui_Manage <- renderUI({ + data_types_in <- setNames( + c("rds", "parquet", "xlsx","csv", "clipboard", "examples", "url_rds", "url_csv", "from_global", "state"), + c(i18n$t("rds | rda | rdata"), i18n$t("parquet"), i18n$t("xlsx"), i18n$t("csv"), i18n$t("clipboard"), + i18n$t("examples"), i18n$t("rds (url)"), i18n$t("csv (url)"), i18n$t("from global workspace"), + i18n$t("radiant state file")) + ) + data_types_out <- setNames( + c("rds", "rda", "parquet", "csv", "clipboard", "to_global", "state"), + c(i18n$t("rds"), i18n$t("rda"), i18n$t("parquet"), i18n$t("csv"), i18n$t("clipboard"), + i18n$t("to global workspace"), i18n$t("radiant state file")) + ) + if (!isTRUE(getOption("radiant.local"))) { + data_types_in <- data_types_in[-which(data_types_in == "from_global")] + data_types_out <- data_types_out[-which(data_types_out == "to_global")] + } + if (!requireNamespace("arrow", quietly = TRUE)) { + data_types_in <- data_types_in[-which(data_types_in == "parquet")] + data_types_out <- data_types_out[-which(data_types_out == "parquet")] + } + + tagList( + wellPanel( + selectInput("dataType", label = i18n$t("Load data of type:"), data_types_in, selected = "rds"), + conditionalPanel( + condition = "input.dataType != 'clipboard' && input.dataType != 'examples'", + conditionalPanel( + "input.dataType == 'csv' || input.dataType == 'url_csv'", + with(tags, table( + td(checkboxInput("man_header", i18n$t("Header"), TRUE)), + td(HTML("  ")), + td(checkboxInput("man_str_as_factor", i18n$t("Str. as Factor"), TRUE)) + )), + with(tags, table( + td(selectInput("man_sep", i18n$t("Separator:"), c(Comma = ",", Semicolon = ";", Tab = "\t"), ",", width = "100%")), + td(selectInput("man_dec", i18n$t("Decimal:"), c(Period = ".", Comma = ","), ".", width = "100%")), + width = "100%" + )), + numericInput( + "man_n_max", + label = i18n$t("Maximum rows to read:"), + value = Inf, max = Inf, step = 1000 + ) + ), + conditionalPanel( + "input.dataType == 'xlsx'", + numericInput( + "xlsx_sheet", + label = i18n$t("Sheet index (1-based):"), + value = 1, min = 1, step = 1 + ), + checkboxInput( + "xlsx_header", + label = i18n$t("First row as header"), + value = TRUE + ) + ), + uiOutput("ui_fileUpload") + ), + + conditionalPanel( + condition = "input.dataType == 'clipboard'", + uiOutput("ui_clipboard_load") + ), + conditionalPanel( + condition = "input.dataType == 'from_global'", + uiOutput("ui_from_global") + ), + conditionalPanel( + condition = "input.dataType == 'examples'", + actionButton("loadExampleData", i18n$t("Load"), icon = icon("upload", verify_fa = FALSE)) + ), + conditionalPanel( + condition = "input.dataType == 'state'", + uiOutput("ui_state_load"), + uiOutput("ui_state_upload"), + uiOutput("refreshOnLoad") + ) + ), + wellPanel( + selectInput("saveAs", label = i18n$t("Save data to type:"), data_types_out, selected = "rds"), + conditionalPanel( + condition = "input.saveAs == 'clipboard'", + uiOutput("ui_clipboard_save") + ), + conditionalPanel( + condition = "input.saveAs == 'state'", + HTML(i18n$t("
    ")), + uiOutput("ui_state_save") + ), + conditionalPanel( + condition = "input.saveAs == 'to_global'", + uiOutput("ui_to_global") + ), + conditionalPanel( + condition = "input.saveAs != 'clipboard' && + input.saveAs != 'state' && + input.saveAs != 'to_global'", + download_button("man_save_data", i18n$t("Save"), ic = "download") + ) + ), + wellPanel( + checkboxInput("man_show_log", i18n$t("Show R-code"), FALSE) + ), + wellPanel( + checkboxInput("man_show_remove", i18n$t("Remove data from memory"), FALSE), + conditionalPanel( + condition = "input.man_show_remove == true", + uiOutput("uiRemoveDataset"), + actionButton("removeDataButton", i18n$t("Remove data"), icon = icon("trash", verify_fa = FALSE), class = "btn-danger") + ) + ), + help_and_report( + modal_title = i18n$t("Manage"), + fun_name = "manage", + help_file = inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/manage.md")), + lic = "by-sa" + ) + ) +}) + +## updating the dataset description +observeEvent(input$updateDescr, { + descr <- fix_smart(input$man_data_descr) + r_info[[paste0(input$dataset, "_descr")]] <- descr + attr(r_data[[input$dataset]], "description") <- descr + updateCheckboxInput( + session = session, "man_add_descr", + i18n$t("Add/edit data description"), FALSE + ) +}) + +output$man_descr_html <- renderUI({ + r_info[[paste0(input$dataset, "_descr")]] %>% + descr_out("html") %>% + HTML() +}) + +output$man_descr_md <- renderUI({ + tagList( + HTML(i18n$t("
    ")), + shinyAce::aceEditor( + "man_data_descr", + mode = "markdown", + theme = getOption("radiant.ace_theme", default = "tomorrow"), + wordWrap = TRUE, + debounce = 0, + value = descr_out(r_info[[paste0(input$dataset, "_descr")]], "md"), + placeholder = i18n$t("Type text to describe the data using markdown to format it.\nSee http://commonmark.org/help/ for more information"), + vimKeyBinding = getOption("radiant.ace_vim.keys", default = FALSE), + tabSize = getOption("radiant.ace_tabSize", 2), + useSoftTabs = getOption("radiant.ace_useSoftTabs", TRUE), + showInvisibles = getOption("radiant.ace_showInvisibles", FALSE), + autoScrollEditorIntoView = TRUE, + minLines = 15, + maxLines = 30 + ) + ) +}) + +## removing datasets +output$uiRemoveDataset <- renderUI({ + selectInput( + inputId = "removeDataset", + label = NULL, + choices = r_info[["datasetlist"]], + selected = NULL, + multiple = TRUE, + size = length(r_info[["datasetlist"]]), + selectize = FALSE + ) +}) + +observeEvent(input$removeDataButton, { + ## only remove datasets if 1 or more were selected - without this line + ## all files would be removed when the removeDataButton is pressed + if (is.null(input$removeDataset)) { + return() + } + datasets <- r_info[["datasetlist"]] + if (length(datasets) > 1) { ## have to leave at least one dataset + removeDataset <- input$removeDataset + if (length(datasets) == length(removeDataset)) { + removeDataset <- removeDataset[-1] + } + + ## Must use single string to index into reactivevalues so loop is necessary + for (rem in removeDataset) { + r_info[[paste0(rem, "_descr")]] <- NULL + r_info[[paste0(rem, "_lcmd")]] <- NULL + r_info[[paste0(rem, "_scmd")]] <- NULL + } + suppressWarnings(rm(list = removeDataset, envir = r_data)) + r_info[["datasetlist"]] <- datasets[-which(datasets %in% removeDataset)] + } +}) + +## 'saving' data to clipboard +observeEvent(input$man_save_clip, { + radiant.data::save_clip(r_data[[input$dataset]]) + r_info[[paste0(input$dataset, "_scmd")]] <- glue("save_clip({input$dataset})") +}) + +man_save_data <- function(file) { + ext <- input$saveAs + robj <- input$dataset + ldir <- getOption("radiant.launch_dir", default = radiant.data::find_home()) + pdir <- getOption("radiant.project_dir", default = ldir) + pp <- suppressMessages( + radiant.data::parse_path( + file, + pdir = pdir, + chr = "\"", + mess = FALSE + ) + ) + + withProgress(message = "Saving ...", value = 1, { + if (ext == "csv") { + readr::write_csv(r_data[[robj]], file = file) + r_info[[paste0(robj, "_scmd")]] <- glue("readr::write_csv({robj}, file = {pp$rpath})") + } else { + if (!is.empty(input$man_data_descr)) { + attr(r_data[[robj]], "description") <- fix_smart(r_info[[paste0(robj, "_descr")]]) + } + + if (ext == "rds") { + readr::write_rds(r_data[[robj]], file = file) + r_info[[paste0(robj, "_scmd")]] <- glue("readr::write_rds({robj}, file = {pp$rpath})") + } else if (ext == "parquet") { + radiant.data::write_parquet(r_data[[robj]], file = file) + r_info[[paste0(robj, "_scmd")]] <- glue("radiant.data::write_parquet({robj}, file = {pp$rpath})") + } else { + save(list = robj, file = file, envir = r_data) + r_info[[paste0(robj, "_scmd")]] <- glue("save({robj}, file = {pp$rpath})") + } + } + }) +} + +if (getOption("radiant.shinyFiles", FALSE)) { + sf_filetypes <- function() { + if (length(input$dataType) == 0) { + "" + } else if (input$dataType == "csv") { + c("csv", "tsv") + } else if (input$dataType %in% c("rda", "rds")) { + c("rda", "rds", "rdata") + } else if (input$dataType == "parquet") { + "parquet" + } else if (input$dataType == "xlsx") { + c("xlsx", "xls") + }else { + "" + } + } + + sf_uploadfile <- shinyFiles::shinyFileChoose( + input = input, + id = "uploadfile", + session = session, + roots = sf_volumes, + filetype = sf_filetypes + ) + + sf_descr_uploadfile <- shinyFiles::shinyFileChoose( + input = input, + id = "upload_description", + session = session, + roots = sf_volumes, + filetype = c("md", "txt") + ) + + sf_state_load <- shinyFiles::shinyFileChoose( + input = input, + id = "state_load", + session = session, + roots = sf_volumes, + filetype = c("rda", "state.rda") + ) +} else { + output$ui_state_save <- renderUI({ + download_button("state_save", i18n$t("Save"), ic = "download") + }) +} + +state_name_dlh <- function() state_name(full.name = FALSE) + +download_handler( + id = "state_save", + label = i18n$t("Save"), + fun = saveState, + fn = function() state_name_dlh() %>% sans_ext(), + type = function() { + state_name_dlh() %>% + { + if (grepl("\\.state\\.rda", .)) "state.rda" else tools::file_ext(.) + } + }, + btn = "button", + caption = i18n$t("Save radiant state file") +) + +## need to set suspendWhenHidden to FALSE so that the href for the +## download handler is set and keyboard shortcuts will work +## see https://shiny.posit.co/reference/shiny/0.11/outputOptions.html +## see https://stackoverflow.com/questions/48117501/click-link-in-navbar-menu +## https://stackoverflow.com/questions/3871358/get-all-the-href-attributes-of-a-web-site +outputOptions(output, "ui_state_save", suspendWhenHidden = FALSE) + +download_handler( + id = "man_save_data", + fun = man_save_data, + fn = function() input$dataset, + type = function() input$saveAs, + caption = i18n$t("Save data"), + btn = "button", + label = i18n$t("Save") +) + +observeEvent(input$uploadfile, { + if (getOption("radiant.shinyFiles", FALSE)) { + if (is.integer(input$uploadfile)) return() + inFile <- shinyFiles::parseFilePaths(sf_volumes, input$uploadfile) + if (nrow(inFile) == 0) return() + } else { + inFile <- input$uploadfile + } + + withProgress(message = "Loading ...", value = 1, { + for (i in 1:nrow(inFile)) { + # 区分文件类型,传递对应参数 + if (input$dataType == "xlsx") { + # 调用load_user_data,传递xlsx专属参数 + load_user_data( + fname = as.character(inFile[i, "name"]), + uFile = as.character(inFile[i, "datapath"]), + ext = "xlsx", # 明确指定ext为xlsx + xlsx_sheet = input$xlsx_sheet, # 从UI获取工作表索引 + xlsx_header = input$xlsx_header, # 从UI获取表头设置 + man_str_as_factor = TRUE # xlsx也支持“字符串转因子” + ) + } else if (input$dataType %in% c("csv", "url_csv")) { + # 原有CSV参数传递 + load_user_data( + fname = as.character(inFile[i, "name"]), + uFile = as.character(inFile[i, "datapath"]), + ext = "csv", + header = input$man_header, + man_str_as_factor = input$man_str_as_factor, + sep = input$man_sep, + dec = input$man_dec, + n_max = input$man_n_max + ) + } else { + load_user_data( + fname = as.character(inFile[i, "name"]), + uFile = as.character(inFile[i, "datapath"]), + ext = input$dataType + ) + } + } + }) + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +observeEvent(input$upload_description, { + if (getOption("radiant.shinyFiles", FALSE)) { + if (is.integer(input$uploadfile)) { + return() + } + inFile <- shinyFiles::parseFilePaths(sf_volumes, input$upload_description) + if (nrow(inFile) == 0) { + return() + } + } else { + inFile <- input$upload_description + } + + ## iterating through the files to upload + withProgress(message = i18n$t("Loading ..."), value = 1, { + load_description( + as.character(inFile["name"]), + as.character(inFile["datapath"]), + input$dataset + ) + }) +}) + +observeEvent(input$url_rds_load, { + ## loading rds file from url, example https://radiant-rstats.github.io/docs/examples/houseprices.rds + # input <- list(url_rds = "https://raw.githubusercontent.com/radiant-rstats/docs/gh-pages/examples/sales.rds") + # url_rds <- "https://www.dropbox.com/s/jetbhuconwn6mdb/price_sales.rds?raw=1" + # url_rds <- "https://radiant-rstats.github.io/docs/examples/houseprices.rds" + if (is.empty(input$url_rds)) { + return() + } + url_rds <- gsub("^\\s+|\\s+$", "", input$url_rds) + + objname <- basename(url_rds) %>% + sub("\\.rds", "", .) %>% + sub("\\?.*$", "", .) + + if (!objname == radiant.data::fix_names(objname)) { + objname <- "rds_url" + } + + robj <- try(readr::read_rds(url(url_rds)), silent = TRUE) + cmd <- "" + if (inherits(robj, "try-error")) { + upload_error_handler(objname, i18n$t("#### There was an error loading the r-data file from the provided url.")) + } else { + r_data[[objname]] <- as.data.frame(robj, stringsAsFactors = FALSE) + cmd <- glue('{objname} <- readr::read_rds(url("{url_rds}"))\nregister("{objname}")') + } + + if (exists(objname, envir = r_data) && !bindingIsActive(as.symbol(objname), env = r_data)) { + shiny::makeReactiveBinding(objname, env = r_data) + } + r_info[["datasetlist"]] <- c(objname, r_info[["datasetlist"]]) %>% unique() + r_info[[paste0(objname, "_descr")]] <- fix_smart(attr(r_data[[objname]], "description")) + r_info[[paste0(objname, "_lcmd")]] <- cmd + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +observeEvent(input$url_csv_load, { + ## loading csv file from url, example https://radiant-rstats.github.io/docs/examples/houseprices.csv + if (is.empty(input$url_csv)) { + return() + } + url_csv <- gsub("^\\s+|\\s+$", "", input$url_csv) + + objname <- basename(url_csv) %>% + sub("\\.csv", "", .) %>% + sub("\\?.*$", "", .) + if (!objname == radiant.data::fix_names(objname)) { + objname <- "csv_url" + } + + dataset <- try(load_csv( + url(url_csv), + delim = input$man_sep, + col_names = input$man_header, + n_max = input$man_n_max, + dec = input$man_dec, + saf = input$man_str_as_factor + ), silent = TRUE) + + cmd <- "" + if (inherits(dataset, "try-error") || is.character(dataset)) { + upload_error_handler(objname, i18n$t("#### There was an error loading the csv file from the provided url")) + } else { + r_data[[objname]] <- dataset + ## generate command + delim <- input$man_sep + col_names <- input$man_header + dec <- input$man_dec + saf <- input$man_str_as_factor + n_max <- input$man_n_max + n_max <- if (is_not(n_max) || n_max < 0) Inf else n_max + if (delim == "," && dec == "." && col_names == FALSE) { + cmd <- glue(' + {objname} <- readr::read_csv( + "{url_csv}", + n_max = {n_max} + )') + } else { + cmd <- glue(' + {objname} <- readr::read_delim( + "{url_csv}", + delim = "{delim}", col_names = {col_names}, n_max = {n_max}, + locale = readr::locale(decimal_mark = "{dec}", grouping_mark = "{delim}") + )') + } + cmd <- paste0(cmd, " %>%\n fix_names()") + if (saf) cmd <- paste0(cmd, " %>%\n to_fct()") + cmd <- glue('{cmd}\nregister("{objname}")') + } + + if (exists(objname, envir = r_data) && !bindingIsActive(as.symbol(objname), env = r_data)) { + shiny::makeReactiveBinding(objname, env = r_data) + } + r_info[["datasetlist"]] <- c(objname, r_info[["datasetlist"]]) %>% unique() + r_info[[paste0(objname, "_descr")]] <- fix_smart(attr(r_data[[objname]], "description")) + r_info[[paste0(objname, "_lcmd")]] <- cmd + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +## loading all examples files (linked to help files) +observeEvent(input$loadExampleData, { + ## data.frame of example datasets + exdat <- data(package = getOption("radiant.example.data"))$results[, c("Package", "Item")] + for (i in seq_len(nrow(exdat))) { + item <- exdat[i, "Item"] + data(list = item, package = exdat[i, "Package"], envir = r_data) + if (exists(item, envir = r_data) && !bindingIsActive(as.symbol(item), env = r_data)) { + shiny::makeReactiveBinding(item, env = r_data) + } + if (is.data.frame(get(item, envir = r_data))) { + r_info[["datasetlist"]] <- c(item, r_info[["datasetlist"]]) %>% unique() + r_info[[paste0(item, "_descr")]] <- fix_smart(attr(r_data[[item]], "description")) + r_info[[paste0(item, "_lcmd")]] <- glue('{item} <- data({item}, package = "{exdat[i, "Package"]}", envir = environment()) %>% get()\nregister("{item}")') + } else { + r_info[["dtree_list"]] <- c(item, r_info[["dtree_list"]]) %>% unique() + } + } + + ## sorting files alphabetically + r_info[["datasetlist"]] <- sort(r_info[["datasetlist"]]) + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = r_info[["datasetlist"]][1] + ) +}) + +observeEvent(input$loadClipData, { + ## reading data from clipboard + objname <- "from_clipboard" + dataset <- radiant.data::load_clip("\t", input$load_cdata) + if (inherits(dataset, "try-error") || length(dim(dataset)) < 2 || nrow(dataset) == 0) { + ret <- i18n$t("#### Data in clipboard was not well formatted. Try exporting the data to csv format") + upload_error_handler(objname, ret) + } else { + cmd <- glue("{objname} <- load_clip()") + ret <- glue(i18n$t("#### Clipboard data\nData copied from clipboard on {lubridate::now()}")) + cn <- colnames(dataset) + fn <- radiant.data::fix_names(cn) + if (!identical(cn, fn)) { + colnames(dataset) <- fn + cmd <- paste0(cmd, " %>% fix_names()") + } + r_data[[objname]] <- dataset + r_info[[paste0(objname, "_lcmd")]] <- glue('{cmd}\nregister("{objname}")') + } + if (exists(objname, envir = r_data) && !bindingIsActive(as.symbol(objname), env = r_data)) { + shiny::makeReactiveBinding(objname, env = r_data) + } + r_info[[paste0(objname, "_descr")]] <- ret + r_info[["datasetlist"]] <- c(objname, r_info[["datasetlist"]]) %>% unique() + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = objname + ) +}) + +####################################### +# Load previous state +####################################### +output$refreshOnLoad <- renderUI({ + # req(input$state_load) + req(pressed(input$state_load) || pressed(input$state_upload)) + + if (pressed(input$state_load)) { + if (getOption("radiant.shinyFiles", FALSE)) { + if (is.integer(input$state_load)) { + return() + } + path <- shinyFiles::parseFilePaths(sf_volumes, input$state_load) + if (inherits(path, "try-error") || is.empty(path$datapath)) { + return() + } + path <- path$datapath + sname <- basename(path) + } else { + path <- input$state_load$datapath + sname <- input$state_load$name + } + } else { + path <- input$state_upload$datapath + sname <- input$state_upload$name + } + + if (is.empty(path)) { + invisible() + } else { + withProgress(message = i18n$t("Loading state file"), value = 1, { + refreshOnLoad(path, sname) + }) + ## Joe Cheng: https://groups.google.com/forum/#!topic/shiny-discuss/Olr8m0JwMTo + tags$script("window.location.reload();") + } +}) + +output$ui_state_upload <- renderUI({ + fileInput("state_upload", i18n$t("Upload radiant state file:"), accept = ".rda") +}) + +refreshOnLoad <- function(path, sname) { + tmpEnv <- new.env(parent = emptyenv()) + load(path, envir = tmpEnv) + + if (is.null(tmpEnv$r_state) && is.null(tmpEnv$r_data)) { + ## don't destroy session when attempting to load a + ## file that is not a state file + showModal( + modalDialog( + title = i18n$t("Restore radiant state failed"), + span( + i18n$t("Unable to restore radiant state from the selected file. + Choose another state file or select 'rds | rda | rdata' from the 'Load + data of type' dropdown to load an R-data file and try again") + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) + return(invisible()) + } + + ## remove characters that may cause problems in shinyAce from r_state + ## https://stackoverflow.com/questions/22549146/ace-text-editor-displays-text-characters-in-place-of-spaces + if (!is.null(tmpEnv$r_state)) { + for (i in names(tmpEnv$r_state)) { + if (is.character(tmpEnv$r_state[[i]])) { + tmpEnv$r_state[[i]] %<>% fix_smart() + } + } + } + + ## remove characters that may cause problems in shinyAce from r_data + if (!is.null(tmpEnv$r_data)) { + for (i in names(tmpEnv$r_data)) { + if (is.character(tmpEnv$r_data[[i]])) { + tmpEnv$r_data[[i]] %<>% fix_smart() + } + } + } + + ## remove characters that may cause problems in shinyAce from r_info + if (!is.null(tmpEnv$r_info)) { + for (i in names(tmpEnv$r_info)) { + if (is.character(tmpEnv$r_info[[i]])) { + tmpEnv$r_info[[i]] %<>% fix_smart() + } + } + } + + ## storing statename for later use if needed + tmpEnv$r_state$radiant_state_name <- sname + + r_sessions[[r_ssuid]] <- list( + r_data = tmpEnv$r_data, + r_info = tmpEnv$r_info, + r_state = tmpEnv$r_state, + timestamp = Sys.time() + ) + + rm(tmpEnv) +} + +## need to set suspendWhenHidden to FALSE so that the href for the +## these outputs is available on startup and keyboard shortcuts will work +## see https://shiny.posit.co/reference/shiny/0.11/outputOptions.html +## see https://stackoverflow.com/questions/48117501/click-link-in-navbar-menu +## https://stackoverflow.com/questions/3871358/get-all-the-href-attributes-of-a-web-site +outputOptions(output, "refreshOnLoad", suspendWhenHidden = FALSE) +outputOptions(output, "ui_state_load", suspendWhenHidden = FALSE) +outputOptions(output, "ui_state_upload", suspendWhenHidden = FALSE) + +####################################### +# Save state +####################################### +saveState <- function(filename) { + withProgress( + message = i18n$t("Preparing radiant state file"), value = 1, + isolate({ + LiveInputs <- toList(input) + r_state[names(LiveInputs)] <- LiveInputs + r_data <- active2list(r_data) + r_info <- toList(r_info) + save(r_state, r_data, r_info, file = filename) + }) + ) +} + +observeEvent(input$renameButton, { + req(!is.empty(input$data_rename)) + req(!identical(input$dataset, input$data_rename)) + ## use lobstr::object_size to see that the size of the list doesn't change + ## when you assign a list element another name + r_data[[input$data_rename]] <- r_data[[input$dataset]] + if (!bindingIsActive(as.symbol(input$data_rename), env = r_data)) { + shiny::makeReactiveBinding(input$data_rename, env = r_data) + } + r_data[[input$dataset]] <- NULL + r_info[[paste0(input$data_rename, "_descr")]] <- r_info[[paste0(input$dataset, "_descr")]] + r_info[[paste0(input$dataset, "_descr")]] <- NULL + lcmd <- r_info[[paste0(input$dataset, "_lcmd")]] %>% + sub(glue("^{input$dataset} <- "), glue("{input$data_rename} <- "), .) %>% + sub( + glue('register\\("{input$dataset}"\\)'), + glue('register\\("{input$data_rename}"\\)'), + . + ) + r_info[[paste0(input$data_rename, "_lcmd")]] <- lcmd + r_info[[paste0(input$dataset, "_lcmd")]] <- NULL + scmd <- r_info[[paste0(input$dataset, "_scmd")]] %>% + sub(input$dataset, input$data_rename, .) + r_info[[paste0(input$data_rename, "_scmd")]] <- scmd + r_info[[paste0(input$dataset, "_scmd")]] <- NULL + ind <- which(input$dataset == r_info[["datasetlist"]]) + r_info[["datasetlist"]][ind] <- input$data_rename + r_info[["datasetlist"]] %<>% unique() + + updateSelectInput( + session, "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = input$data_rename + ) +}) + +output$ui_datasets <- renderUI({ + ## Drop-down selection of active dataset + tagList( + selectInput( + inputId = "dataset", + label = i18n$t("Datasets:"), + choices = r_info[["datasetlist"]], + selected = state_init("dataset"), + multiple = FALSE + ), + conditionalPanel( + condition = "input.tabs_data == 'Manage'", + checkboxInput("man_add_descr", i18n$t("Add/edit data description"), FALSE), + conditionalPanel( + condition = "input.man_add_descr == true", + actionButton("updateDescr", i18n$t("Update description")) + ), + checkboxInput("man_rename_data", i18n$t("Rename data"), FALSE), + conditionalPanel( + condition = "input.man_rename_data == true", + uiOutput("uiRename") + ), + radioButtons( + "dman_preview", i18n$t("Display:"), + choices = setNames( + c("preview", "str", "summary"), + c(i18n$t("preview"), i18n$t("str"), i18n$t("summary")) + ), + selected = "preview", + inline = TRUE + ) + ) + ) +}) + +output$uiRename <- renderUI({ + tags$table( + tags$td(textInput("data_rename", NULL, placeholder = input$dataset)), + tags$td(actionButton("renameButton", i18n$t("Rename")), class = "top_small") + ) +}) + +output$man_example <- renderText({ + req(input$dataset) + req(!is.null(r_data[[input$dataset]])) + ## Show only the first 10 (or 20) rows + show_data_snippet(nshow = 10) +}) + +output$man_str <- renderPrint({ + req(is.data.frame(r_data[[input$dataset]])) + str(r_data[[input$dataset]]) +}) + +# output$man_summary <- renderUI({ +# req(is.data.frame(r_data[[input$dataset]])) +# summarytools::dfSummary(r_data[[input$dataset]], style = 'grid', plain.ascii = FALSE, graph.magnif = 0.85) %>% +# print(method = 'render', omit.headings = TRUE) +# }) + +output$man_summary <- renderPrint({ + req(is.data.frame(r_data[[input$dataset]])) + get_summary(r_data[[input$dataset]]) +}) + +man_show_log <- reactive({ + if (getOption("radiant.shinyFiles", FALSE)) { + lcmd <- r_info[[paste0(input$dataset, "_lcmd")]] + cmd <- "" + if (!is.empty(lcmd)) { + cmd <- paste0(i18n$t("## Load commands"), lcmd) + } + scmd <- r_info[[paste0(input$dataset, "_scmd")]] + if (!is.empty(scmd)) { + cmd <- paste0(cmd, i18n$t("\n\n## Save commands\n"), scmd) + } + cmd + } else { + i18n$t("## No R-code available") + } +}) + +output$ui_man_log <- renderUI({ + tags$textarea( + isolate(man_show_log()), + id = "man_log", + type = "text", + rows = 5, + autocomplete = "off", + autocorrect = "off", + autocapitalize = "off", + spellcheck = "false", + class = "form-control" + ) +}) + +observe({ + input$man_show_log + updateTextAreaInput(session, "man_log", value = i18n$t(man_show_log())) +}) + +man_show_log_modal <- function() { + showModal( + modalDialog( + title = i18n$t("Generating R-code to load and save data"), + span( + i18n$t("R-code to load and save data is not generated and reported + when using radiant from (shiny) server. This is due to the + fact that the web browser's file dialog does not provide + file path information for security reasons."), + br(), br(), + i18n$t("To generate R-code to load and save data, start Radiant from + Rstudio.") + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) +} + +manage_report <- function() { + if (getOption("radiant.shinyFiles", FALSE)) { + update_report(cmd = man_show_log(), outputs = NULL, figs = FALSE) + } else { + man_show_log_modal() + } +} + +observeEvent(input$manage_report, { + r_info[["latest_screenshot"]] <- NULL + manage_report() +}) + +observeEvent(input$manage_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_manage_screenshot") +}) + +observeEvent(input$modal_manage_screenshot, { + manage_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/pivotr_ui.R b/radiant.data/inst/app/tools/data/pivotr_ui.R new file mode 100644 index 0000000..b84471b --- /dev/null +++ b/radiant.data/inst/app/tools/data/pivotr_ui.R @@ -0,0 +1,561 @@ +############################################ +## Pivotr - combination of Explore and View +############################################ +pvt_normalize <- setNames( + c("None", "row", "column", "total"), + c(i18n$t("None"), i18n$t("Row"), i18n$t("Column"), i18n$t("Total")) +) +pvt_format <- setNames( + c("none", "color_bar", "heat"), + c(i18n$t("None"), i18n$t("Color bar"), i18n$t("Heat map")) +) + +## list of function arguments +pvt_args <- as.list(formals(pivotr)) + +## list of function inputs selected by user +pvt_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + pvt_args$data_filter <- if (input$show_filter) input$data_filter else "" + pvt_args$arr <- if (isTRUE(input$show_filter)) input$data_arrange else "" + pvt_args$rows <- if (isTRUE(input$show_filter)) input$data_rows else "" + pvt_args$dataset <- input$dataset + for (i in r_drop(names(pvt_args))) { + pvt_args[[i]] <- input[[paste0("pvt_", i)]] + } + + pvt_args +}) + +pvt_sum_args <- as.list(if (exists("summary.pivotr")) { + formals(summary.pivotr) +} else { + formals(radiant.data:::summary.pivotr) +}) + +## list of function inputs selected by user +pvt_sum_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(pvt_sum_args)) { + pvt_sum_args[[i]] <- input[[paste0("pvt_", i)]] + } + pvt_sum_args +}) + +pvt_plot_args <- as.list(if (exists("plot.pivotr")) { + formals(plot.pivotr) +} else { + formals(radiant.data:::plot.pivotr) +}) + +## list of function inputs selected by user +pvt_plot_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(pvt_plot_args)) { + pvt_plot_args[[i]] <- input[[paste0("pvt_", i)]] + } + pvt_plot_args$type <- ifelse(isTRUE(pvt_plot_args$type), "fill", "dodge") + pvt_plot_args +}) + +## UI-elements for pivotr +output$ui_pvt_cvars <- renderUI({ + withProgress(message = i18n$t("Acquiring variable information"), value = 1, { + vars <- groupable_vars() + }) + req(available(vars)) + + isolate({ + ## if nothing is selected pvt_cvars is also null + if ("pvt_cvars" %in% names(input) && is.null(input$pvt_cvars)) { + r_state$pvt_cvars <<- NULL + } else { + if (available(r_state$pvt_cvars) && all(r_state$pvt_cvars %in% vars)) { + vars <- unique(c(r_state$pvt_cvars, vars)) + names(vars) <- varnames() %>% + (function(x) x[match(vars, x)]) %>% + names() + } + } + }) + + selectizeInput( + "pvt_cvars", + label = i18n$t("Categorical variables:"), choices = vars, + selected = state_multiple("pvt_cvars", vars, isolate(input$pvt_cvars)), + multiple = TRUE, + options = list( + placeholder = i18n$t("Select categorical variables"), + plugins = list("remove_button", "drag_drop") + ) + ) +}) + +output$ui_pvt_nvar <- renderUI({ + # isNum <- .get_class() %in% c("integer", "numeric", "ts", "factor", "logical") + # vars <- c("None", varnames()[isNum]) + vars <- c("None", varnames()) + + if (any(vars %in% input$pvt_cvars)) { + vars <- base::setdiff(vars, input$pvt_cvars) + names(vars) <- varnames() %>% + (function(x) x[which(x %in% vars)]) %>% + (function(x) c("None", names(x))) + } + + selectizeInput( + "pvt_nvar", + label = i18n$t("Numeric variable:"), choices = vars, + selected = state_single("pvt_nvar", vars, "None"), + multiple = FALSE, options = list(placeholder = i18n$t("Select numeric variable")) + ) +}) + +output$ui_pvt_fun <- renderUI({ + r_funs <- getOption("radiant.functions") + selectizeInput( + "pvt_fun", + i18n$t("Apply function:"), + choices = r_funs, + selected = state_single("pvt_fun", r_funs, isolate(input$pvt_fun)), + multiple = FALSE + ) +}) + +observeEvent(input$pvt_nvar, { + if (input$pvt_nvar == "None") { + updateSelectInput(session, "pvt_fun", selected = "mean") + } +}) + +output$ui_pvt_normalize <- renderUI({ + selectizeInput( + "pvt_normalize", + label = i18n$t("Normalize by:"), + choices = pvt_normalize, + selected = state_single("pvt_normalize", pvt_normalize, "None"), + multiple = FALSE + ) +}) + +observeEvent(input$pvt_cvars, { + if (length(input$pvt_cvars) == 1) { + sel <- ifelse(input$pvt_normalize %in% pvt_normalize[2:3], "None", input$pvt_normalize) + pvt_normalize <- pvt_normalize[-(2:3)] + } else { + sel <- input$pvt_normalize + } + updateSelectInput(session, "pvt_normalize", choices = pvt_normalize, selected = sel) +}) + +output$ui_pvt_format <- renderUI({ + selectizeInput( + "pvt_format", + label = i18n$t("Conditional formatting:"), + choices = pvt_format, + selected = state_single("pvt_format", pvt_format, "none"), + multiple = FALSE + ) +}) + +output$ui_pvt_name <- renderUI({ + req(input$dataset) + textInput("pvt_name", i18n$t("Store as:"), "", placeholder = i18n$t("Provide a table name")) +}) + +output$ui_pvt_run <- renderUI({ + ## updates when dataset changes + req(input$dataset) + actionButton( + "pvt_run", i18n$t("Create pivot table"), + width = "100%", icon = icon("play", verify_fa = FALSE), + class = "btn-success" + ) +}) + +## add a spinning refresh icon if the table needs to be (re)calculated +run_refresh(pvt_args, "pvt", init = "cvars", label = i18n$t("Create pivot table"), relabel = i18n$t("Update pivot table")) + +output$ui_Pivotr <- renderUI({ + tagList( + wellPanel( + uiOutput("ui_pvt_run") + ), + wellPanel( + # actionLink("pvt_clear", "Clear settings", icon = icon("sync", verify_fa = FALSE), style="color:black"), + uiOutput("ui_pvt_cvars"), + uiOutput("ui_pvt_nvar"), + conditionalPanel("input.pvt_nvar != 'None'", uiOutput("ui_pvt_fun")), + uiOutput("ui_pvt_normalize"), + uiOutput("ui_pvt_format"), + returnTextAreaInput("pvt_tab_slice", + label = i18n$t("Table slice (rows):"), + rows = 1, + value = state_init("pvt_tab_slice"), + placeholder = i18n$t("e.g., 1:5 and press return") + ), + numericInput( + "pvt_dec", i18n$t("Decimals:"), + value = state_init("pvt_dec", 3), + min = 0 + ), + with(tags, table( + tr( + td(checkboxInput("pvt_tab", i18n$t("Show table "), value = state_init("pvt_tab", TRUE))), + td(HTML("  ")), + td(checkboxInput("pvt_plot", i18n$t("Show plot "), value = state_init("pvt_plot", FALSE))) + ), + tr( + td(checkboxInput("pvt_perc", i18n$t("Percentage"), value = state_init("pvt_perc", FALSE))), + td(HTML("  ")), + td(conditionalPanel( + "input.pvt_nvar == 'None'", + checkboxInput("pvt_chi2", i18n$t("Chi-square"), value = state_init("pvt_chi2", FALSE)) + )) + ) + )) + ), + conditionalPanel( + "input.pvt_plot == true", + wellPanel( + HTML(paste0("")), + tags$table( + tags$td(checkboxInput("pvt_type", i18n$t("Fill"), value = state_init("pvt_type", FALSE))), + tags$td(checkboxInput("pvt_flip", i18n$t("Flip"), value = state_init("pvt_flip", FALSE))), + width = "50%" + ) + ) + ), + wellPanel( + tags$table( + tags$td(uiOutput("ui_pvt_name")), + tags$td(actionButton("pvt_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE)), class = "top") + ) + ), + help_and_report( + modal_title = i18n$t("Pivotr"), + fun_name = "pivotr", + help_file = inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/pivotr.md")), + lic = "by-sa" + ) + ) +}) + +observeEvent(input$pvt_nvar, { + ## only allow chi2 if frequencies are shown + if (input$pvt_nvar != "None") { + updateCheckboxInput(session, "pvt_chi2", value = FALSE) + } +}) + +.pivotr <- eventReactive(input$pvt_run, { + ## reset r_state value as needed + if (!available(input$pvt_cvars)) r_state$pvt_cvars <<- input$pvt_cvars + + req(available(input$pvt_cvars)) + req(!any(input$pvt_nvar %in% input$pvt_cvars)) + + pvti <- pvt_inputs() + if (is.empty(input$pvt_fun)) pvti$fun <- "n_obs" + if (is.empty(input$pvt_nvar)) pvti$nvar <- "None" + + if (!is.empty(pvti$nvar, "None")) { + req(available(pvti$nvar)) + } + pvti$envir <- r_data + sshhr(do.call(pivotr, pvti)) +}) + +observeEvent(input$pivotr_search_columns, { + r_state$pivotr_search_columns <<- input$pivotr_search_columns +}) + +observeEvent(input$pivotr_state, { + r_state$pivotr_state <<- if (is.null(input$pivotr_state)) list() else input$pivotr_state +}) + +output$pivotr <- DT::renderDataTable({ + input$pvt_run + withProgress(message = i18n$t("Generating pivot table"), value = 1, { + isolate({ + pvt <- .pivotr() + req(!is.null(pvt)) + if (!identical(r_state$pvt_cvars, input$pvt_cvars)) { + r_state$pvt_cvars <<- input$pvt_cvars + r_state$pivotr_state <<- list() + r_state$pivotr_search_columns <<- rep("", ncol(pvt$tab)) + } + searchCols <- lapply(r_state$pivotr_search_columns, function(x) list(search = x)) + order <- r_state$pivotr_state$order + pageLength <- r_state$pivotr_state$length + }) + # caption <- if (is.empty(input$pvt_tab_slice)) NULL else htmltools::tags$caption(glue("Table slice {input$pvt_tab_slice} will be applied on Download, Store, or Report")) + caption <- if (is.empty(input$pvt_tab_slice)) NULL else glue("Table slice {input$pvt_tab_slice} will be applied on Download, Store, or Report") + dtab( + pvt, + format = input$pvt_format, + perc = input$pvt_perc, + dec = input$pvt_dec, + searchCols = searchCols, + order = order, + pageLength = pageLength, + caption = caption + ) + }) +}) + +output$pivotr_chi2 <- renderPrint({ + req(input$pvt_chi2, input$pvt_dec) + .pivotr() %>% + { + if (is.null(.)) { + return(invisible()) + } else { + summary(., chi2 = TRUE, dec = input$pvt_dec, shiny = TRUE) + } + } +}) + +dl_pivot_tab <- function(file) { + dat <- try(.pivotr(), silent = TRUE) + if (inherits(dat, "try-error") || is.null(dat)) { + write.csv(tibble::tibble("Data" = "[Empty]"), file, row.names = FALSE) + } else { + rows <- isolate(r_info[["pvt_rows"]]) + dat$tab[-nrow(dat$tab)] %>% + (function(x) if (is.null(rows)) x else x[rows, , drop = FALSE]) %>% + (function(x) if (is.empty(input$pvt_tab_slice)) x else slice_data(x, input$pvt_tab_slice)) %>% + bind_rows(dat$tab[nrow(dat$tab), , drop = FALSE]) %>% + write.csv(file, row.names = FALSE) + } +} + +download_handler(id = "dl_pivot_tab", fun = dl_pivot_tab, fn = function() paste0(input$dataset, "_pivot")) + +pvt_plot_width <- function() 750 + +## based on https://stackoverflow.com/a/40182833/1974918 +pvt_plot_height <- reactive({ + req(available(input$pvt_cvars)) + pvt <- .pivotr() + if (is.null(pvt)) { + return(400) + } + pvt <- pvt_sorter(pvt, rows = r_info[["pvt_rows"]]) + if (length(input$pvt_cvars) > 2) { + pvt$tab %>% + .[[input$pvt_cvars[3]]] %>% + as.factor() %>% + levels() %>% + length() %>% + (function(x) x * 200) + } else if (input$pvt_flip) { + if (length(input$pvt_cvars) == 2) { + max(400, ncol(pvt$tab) * 15) + } else { + max(400, nrow(pvt$tab) * 15) + } + } else { + 400 + } +}) + +pvt_sorter <- function(pvt, rows = NULL) { + if (is.null(rows)) { + return(pvt) + } + cvars <- pvt$cvars + tab <- pvt$tab %>% + (function(x) filter(x, x[[1]] != "Total")) + + if (length(cvars) > 1) { + tab %<>% select(-which(colnames(.) == "Total")) + } + + tab <- tab[rows, , drop = FALSE] + cvars <- if (length(cvars) == 1) cvars else cvars[-1] + + ## order factors as set in the sorted data + for (i in cvars) { + tab[[i]] %<>% factor(., levels = unique(.)) + } + + pvt$tab <- tab + pvt +} + +observeEvent(input$pivotr_rows_all, { + req(!identical(r_info[["pvt_rows"]], input$pivotr_rows_all)) + r_info[["pvt_rows"]] <- input$pivotr_rows_all +}) + +.plot_pivot <- eventReactive( + { + c(input$pvt_run, input$pvt_flip, input$pvt_type, input$pvt_perc, req(input$pivotr_state)) + }, + { + pvt <- .pivotr() + req(pvt) + if (!is.empty(input$pvt_tab, FALSE)) { + pvt <- pvt_sorter(pvt, rows = r_info[["pvt_rows"]]) + } + withProgress(message = i18n$t("Making plot"), value = 1, { + pvt_plot_inputs() %>% + (function(x) do.call(plot, c(list(x = pvt), x))) + }) + } +) + +output$plot_pivot <- renderPlot( + { + if (is.empty(input$pvt_plot, FALSE)) { + return(invisible()) + } + validate( + need(length(input$pvt_cvars) < 4, i18n$t("Plots created for at most 3 categorical variables")) + ) + .plot_pivot() + }, + width = pvt_plot_width, + height = pvt_plot_height, + res = 96 +) + +# observeEvent(input$pvt_clear, { +# r_state$pivotr_state <<- list() +# updateCheckboxInput(session = session, inputId = "show_filter", value = FALSE) +# }) + +observeEvent(input$pvt_store, { + req(input$pvt_name) + dat <- try(.pivotr(), silent = TRUE) + if (inherits(dat, "try-error") || is.null(dat)) { + return() + } + + dataset <- fix_names(input$pvt_name) + if (input$pvt_name != dataset) { + updateTextInput(session, inputId = "pvt_name", value = dataset) + } + + rows <- input$pivotr_rows_all + dat$tab <- dat$tab %>% + (function(x) if (is.null(rows)) x else x[rows, , drop = FALSE]) %>% + (function(x) if (is.empty(input$pvt_tab_slice)) x else slice_data(x, input$pvt_tab_slice)) %>% + droplevels() + r_data[[dataset]] <- dat$tab + register(dataset) + updateSelectInput(session, "dataset", selected = input$dataset) + + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + i18n$t( + paste0( + "Dataset '", dataset, "' was successfully added to the ", + "datasets dropdown. Add code to Report > Rmd or ", + "Report > R to (re)create the results by clicking the ", + "report icon on the bottom left of your screen." + ) + ) + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) +}) + +pivot_report <- function() { + inp_out <- list("", "") + inp_out[[1]] <- clean_args(pvt_sum_inputs(), pvt_sum_args[-1]) + + if (input$pvt_plot == TRUE) { + inp_out[[2]] <- clean_args(pvt_plot_inputs(), pvt_plot_args[-1]) + outputs <- c("", "plot") + figs <- TRUE + } else { + outputs <- c() + figs <- FALSE + } + + ## get the state of the dt table + ts <- dt_state("pivotr") + xcmd <- paste0("# summary(result)\ndtab(result") + if (!is.empty(input$pvt_format, "none")) { + xcmd <- paste0(xcmd, ", format = \"", input$pvt_format, "\"") + } + if (isTRUE(input$pvt_perc)) { + xcmd <- paste0(xcmd, ", perc = ", input$pvt_perc) + } + if (!is.empty(input$pvt_dec, 3)) { + xcmd <- paste0(xcmd, ", dec = ", input$pvt_dec) + } + if (!is.empty(r_state$pivotr_state$length, 10)) { + xcmd <- paste0(xcmd, ", pageLength = ", r_state$pivotr_state$length) + } + xcmd <- paste0(xcmd, ", caption = \"\") %>% render()") + if (!is.empty(input$pvt_name)) { + dataset <- fix_names(input$pvt_name) + if (input$pvt_name != dataset) { + updateTextInput(session, inputId = "pvt_name", value = dataset) + } + xcmd <- paste0(xcmd, "\n", dataset, " <- result$tab\nregister(\"", dataset, "\")") + } + + inp_main <- clean_args(pvt_inputs(), pvt_args) + if (ts$tabsort != "") { + inp_main <- c(inp_main, tabsort = ts$tabsort) + } + if (ts$tabfilt != "") { + inp_main <- c(inp_main, tabfilt = ts$tabfilt) + } + if (is.empty(inp_main$rows)) { + inp_main$rows <- NULL + } + if (is.empty(input$pvt_tab_slice)) { + inp_main <- c(inp_main, nr = Inf) + } else { + inp_main$tabslice <- input$pvt_tab_slice + } + + ## update Report > Rmd or Report > R + update_report( + inp_main = inp_main, + fun_name = "pivotr", + outputs = outputs, + inp_out = inp_out, + figs = figs, + fig.width = pvt_plot_width(), + fig.height = pvt_plot_height(), + xcmd = xcmd + ) +} + +download_handler( + id = "dlp_pivot", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_pivot"), + type = "png", + caption = "Save pivot plot", + plot = .plot_pivot, + width = pvt_plot_width, + height = pvt_plot_height +) + +observeEvent(input$pivotr_report, { + r_info[["latest_screenshot"]] <- NULL + pivot_report() +}) + +observeEvent(input$pivotr_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_pivotr_screenshot") +}) + +observeEvent(input$modal_pivotr_screenshot, { + pivot_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/transform_ui.R b/radiant.data/inst/app/tools/data/transform_ui.R new file mode 100644 index 0000000..033819c --- /dev/null +++ b/radiant.data/inst/app/tools/data/transform_ui.R @@ -0,0 +1,1463 @@ +## UI-elements for transform +output$ui_tr_vars <- renderUI({ + vars <- varnames() + req(available(vars)) + selectInput( + "tr_vars", i18n$t("Select variable(s):"), + choices = vars, + multiple = TRUE, + size = min(8, length(vars)), + selectize = FALSE + ) +}) + +output$ui_tr_replace <- renderUI({ + validate( + need(available(input$tr_vars), i18n$t("Select one or more variables to replace")) + ) + vars <- varnames() + selectInput( + "tr_replace", i18n$t("Select replacement variables:"), + choices = vars, + multiple = TRUE, size = min(2, length(vars)), selectize = FALSE + ) +}) + +output$ui_tr_normalizer <- renderUI({ + isNum <- .get_class() %in% c("numeric", "integer", "ts") + vars <- varnames()[isNum] + if (length(vars) == 0) { + return() + } + selectInput( + "tr_normalizer", i18n$t("Normalizing variable:"), + choices = setNames( + c("none", vars), + c(i18n$t("None"), vars) + ), + selected = "none" + ) +}) + +output$ui_tr_tab2dat <- renderUI({ + isNum <- .get_class() %in% c("numeric", "integer", "ts") + vars <- varnames()[isNum] + selectInput( + "tr_tab2dat", i18n$t("Frequency variable:"), + choices = setNames( + c("none", vars), + c(i18n$t("None"), vars) + ), + selected = "none" + ) +}) + +output$ui_tr_gather <- renderUI({ + tagList( + tags$table( + tags$td(returnTextInput("tr_gather_key", i18n$t("Key name:"), value = "key")), + tags$td(returnTextInput("tr_gather_value", i18n$t("Value name:"), value = "value")) + ) + ) +}) + +output$ui_tr_spread <- renderUI({ + req(input$tr_change_type) + vars <- c("None" = "none", varnames()) + tagList( + selectizeInput( + "tr_spread_key", i18n$t("Key(s):"), + choices = vars[-1], + selected = NULL, multiple = TRUE, + options = list(placeholder = i18n$t("None"), plugins = list("remove_button", "drag_drop")) + ), + selectInput("tr_spread_value", i18n$t("Value:"), choices = vars, selected = "none", multiple = FALSE), + numericInput("tr_spread_fill", i18n$t("Fill:"), value = NA) + ) +}) + +output$ui_tr_reorg_vars <- renderUI({ + req(input$tr_change_type) + vars <- varnames() + validate( + need(length(vars) < 101, i18n$t("Interactive re-ordering is only supported up to 100 variables. See ?dplyr::select for information on how to re-order variables in R")) + ) + selectizeInput( + "tr_reorg_vars", i18n$t("Reorder/remove variables:"), + choices = vars, + selected = vars, multiple = TRUE, + options = list(placeholder = i18n$t("Select variable(s)"), plugins = list("remove_button", "drag_drop")) + ) +}) + +output$ui_tr_reorg_levs <- renderUI({ + req(input$tr_change_type) + validate( + need(available(input$tr_vars), i18n$t("Select a single variable of type factor or character")) + ) + fctCol <- input$tr_vars[1] + fct <- .get_data_transform()[[fctCol]] + levs <- if (is.factor(fct)) levels(fct) else levels(as_factor(fct)) + validate( + need(length(levs) < 101, i18n$t("Interactive re-ordering is only supported up to 100 levels. See ?radiant.data::refactor for information on how to re-order levels in R")) + ) + tagList( + selectizeInput( + "tr_reorg_levs", i18n$t("Reorder/remove levels:"), + choices = levs, + selected = levs, multiple = TRUE, + options = list(placeholder = i18n$t("Select level(s)"), plugins = list("remove_button", "drag_drop")) + ), + textInput( + "tr_rorepl", i18n$t("Replacement level name:"), + placeholder = i18n$t("Provide name for missing levels"), + value = NA + ) + ) +}) + +transform_auto_complete <- reactive({ + req(input$dataset) + comps <- list(r_info[["datasetlist"]][input$dataset], as.vector(varnames())) + names(comps) <- c("{datasets}", paste0("{", input$dataset, "}")) + comps +}) + +output$ui_tr_log <- renderUI({ + tagList( + HTML(paste0("
    ")), + shinyAce::aceEditor( + "tr_log", + mode = "r", + theme = getOption("radiant.ace_theme", default = "tomorrow"), + wordWrap = TRUE, + debounce = 0, + value = state_init("tr_log", "") %>% fix_smart(), + vimKeyBinding = getOption("radiant.ace_vim.keys", default = FALSE), + tabSize = getOption("radiant.ace_tabSize", 2), + useSoftTabs = getOption("radiant.ace_useSoftTabs", TRUE), + showInvisibles = getOption("radiant.ace_showInvisibles", FALSE), + autoScrollEditorIntoView = TRUE, + autoComplete = getOption("radiant.ace_autoComplete", "enable"), + autoCompleters = c("static", "rlang"), + autoCompleteList = isolate(transform_auto_complete()), + minLines = 5, + maxLines = 15 + ) + ) +}) + +transform_annotater <- shinyAce::aceAnnotate("tr_log") +transform_tooltip <- shinyAce::aceTooltip("tr_log") +transform_ac <- shinyAce::aceAutocomplete("tr_log") + +observe({ + shinyAce::updateAceEditor( + session, "tr_log", + autoCompleters = c("static", "rlang"), + autoCompleteList = transform_auto_complete() + ) +}) + + +ext_options <- list( + "none" = "", "log" = "_ln", "exp" = "_exp", + "square" = "_sq", "sqrt" = "_sqrt", "center" = "_ct", + "standardize" = "_st", "inverse" = "_inv" +) + +output$ui_tr_ext <- renderUI({ + trfun <- input$tr_transfunction + if (is.empty(trfun)) trfun <- "none" + returnTextInput( + "tr_ext", i18n$t("Variable name extension:"), + value = ext_options[[trfun]] + ) +}) + +output$ui_tr_ext_nz <- renderUI({ + if (is.empty(input$tr_normalizer, "none")) { + return() + } + returnTextInput( + "tr_ext_nz", i18n$t("Variable name extension:"), + value = paste0("_", input$tr_normalizer) + ) +}) + +output$ui_tr_rcname <- renderUI({ + if (is.empty(input$tr_vars)) { + return() + } + returnTextInput( + "tr_rcname", i18n$t("Recoded variable name:"), + value = paste0(input$tr_vars[1], "_rc") + ) +}) + +output$ui_tr_ext_bin <- renderUI({ + if (is.empty(input$tr_vars)) { + return() + } + returnTextInput( + "tr_ext_bin", i18n$t("Variable name extension:"), + value = "_dec" + ) +}) + +output$ui_tr_roname <- renderUI({ + if (is.empty(input$tr_vars)) { + return() + } + returnTextInput( + "tr_roname", i18n$t("Variable name:"), + value = input$tr_vars[1] + ) +}) + +output$ui_tr_typename <- renderUI({ + if (is.empty(input$tr_vars)) { + return() + } + returnTextInput( + "tr_typename", i18n$t("Variable name extension:"), + value = "", + placeholder = i18n$t("Add extension to variable name") + ) +}) + +output$ui_tr_rename <- renderUI({ + validate( + need(available(input$tr_vars), i18n$t("Select one or more variables to rename")) + ) + if (length(input$tr_vars) < 2) { + mess <- i18n$t("Type a new name for the selected variable and press return") + } else { + mess <- i18n$t("Type new names for the selected variables, separated by a , and press return") + } + returnTextAreaInput( + "tr_rename", i18n$t("Rename variable(s):"), + value = "", + rows = 3, + placeholder = mess + ) +}) + +output$ui_tr_dataset <- renderUI({ + tr_dataset <- input$dataset + if (input$tr_change_type == "show_dup") { + tr_dataset <- paste0(tr_dataset, "_dup") + } else if (input$tr_change_type == "holdout") { + tr_dataset <- paste0(tr_dataset, "_holdout") + } else if (input$tr_change_type == "tab2dat") { + tr_dataset <- paste0(tr_dataset, "_dat") + } else if (input$tr_change_type == "gather") { + tr_dataset <- paste0(tr_dataset, "_gathered") + } else if (input$tr_change_type == "spread") { + tr_dataset <- paste0(tr_dataset, "_spread") + } else if (input$tr_change_type == "expand") { + tr_dataset <- paste0(tr_dataset, "_expand") + } + tags$table( + tags$td(textInput("tr_name", i18n$t("Store changes in:"), tr_dataset)), + tags$td(actionButton("tr_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE), class = "btn-success"), class = "top") + ) +}) + +trans_options <- setNames( + c("none", "log", "exp", "square", "sqrt", "center", "standardize", "inverse"), + c( + i18n$t("None"), + i18n$t("Ln (natural log)"), + i18n$t("Exp"), + i18n$t("Square"), + i18n$t("Square‑root"), + i18n$t("Center"), + i18n$t("Standardize"), + i18n$t("Inverse") + ) +) + +type_options <- setNames( + c( + "none", "as_factor", "as_numeric", "as_integer", "as_character", "ts", + "as_mdy", "as_dmy", "as_ymd", + "as_mdy_hms", "as_mdy_hm", "as_dmy_hms", "as_dmy_hm", + "as_ymd_hms", "as_ymd_hm" + ), + c( + i18n$t("None"), + i18n$t("As factor"), + i18n$t("As numeric"), + i18n$t("As integer"), + i18n$t("As character"), + i18n$t("As time series"), + i18n$t("As date (mdy)"), + i18n$t("As date (dmy)"), + i18n$t("As date (ymd)"), + i18n$t("As date/time (mdy_hms)"), + i18n$t("As date/time (mdy_hm)"), + i18n$t("As date/time (dmy_hms)"), + i18n$t("As date/time (dmy_hm)"), + i18n$t("As date/time (ymd_hms)"), + i18n$t("As date/time (ymd_hm)") + ) +) + +trans_types <- list( + ` ` = i18n$t("None (summarize)"), + + `Change variable(s)` = setNames( + c("Bin", "Change type", "Normalize", "Recode", "Remove/reorder levels", "Rename", "Replace", "Transform"), + c(i18n$t("Bin"), i18n$t("Change type"), i18n$t("Normalize"), i18n$t("Recode"), + i18n$t("Remove/reorder levels"), i18n$t("Rename"), i18n$t("Replace"), i18n$t("Transform")) + ), + + `Create new variable(s)` = setNames( + c("Clipboard", "Create"), + c(i18n$t("Clipboard"), i18n$t("Create")) + ), + + `Clean data` = setNames( + c("Remove missing values", "Remove/reorder variables", "Remove duplicates", "Show duplicates"), + c(i18n$t("Remove missing values"), i18n$t("Remove/reorder variables"), i18n$t("Remove duplicates"), i18n$t("Show duplicates")) + ), + + `Expand data` = setNames( + c("Expand grid", "Table‑to‑data"), + c(i18n$t("Expand grid"), i18n$t("Table‑to‑data")) + ), + + `Split data` = setNames( + c("Holdout sample", "Training variable"), + c(i18n$t("Holdout sample"), i18n$t("Training variable")) + ), + + `Tidy data` = setNames( + c("Gather columns", "Spread column"), + c(i18n$t("Gather columns"), i18n$t("Spread column")) + ) +) + + + +output$ui_Transform <- renderUI({ + ## Inspired by Ian Fellow's transform ui in JGR/Deducer + tagList( + wellPanel( + checkboxInput("tr_hide", i18n$t("Hide summaries"), state_init("tr_hide", FALSE)), + uiOutput("ui_tr_vars"), + selectizeInput("tr_change_type", i18n$t("Transformation type:"), trans_types, selected = "none"), + conditionalPanel( + condition = "input.tr_change_type == 'type'", + selectInput("tr_typefunction", i18n$t("Change variable type:"), type_options, selected = "none"), + conditionalPanel( + condition = "input.tr_typefunction == 'ts'", + tags$table( + tags$td(numericInput("tr_ts_start_year", label = i18n$t("Start year:"), min = 1, value = NA)), + tags$td(numericInput("tr_ts_start_period", label = i18n$t("Start period:"), min = 1, value = 1)) + ), + tags$table( + tags$td(numericInput("tr_ts_end_year", label = i18n$t("End year:"), value = NA)), + tags$td(numericInput("tr_ts_end_period", label = i18n$t("End period:"), value = NA)) + ), + numericInput("tr_ts_frequency", label = i18n$t("Frequency:"), min = 1, value = 52) + ) + ), + conditionalPanel( + condition = "input.tr_change_type == 'transform'", + selectInput("tr_transfunction", i18n$t("Apply function:"), trans_options) + ), + conditionalPanel( + condition = "input.tr_change_type == 'normalize'", + uiOutput("ui_tr_normalizer") + ), + conditionalPanel( + condition = "input.tr_change_type == 'tab2dat'", + uiOutput("ui_tr_tab2dat") + ), + conditionalPanel( + condition = "input.tr_change_type == 'gather'", + uiOutput("ui_tr_gather") + ), + conditionalPanel( + condition = "input.tr_change_type == 'spread'", + uiOutput("ui_tr_spread") + ), + conditionalPanel( + condition = "input.tr_change_type == 'create'", + returnTextAreaInput( + "tr_create", i18n$t("Create:"), + rows = 3, + placeholder = i18n$t("Type a formula to create a new variable (e.g., x = y - z) and press return") + ) + ), + conditionalPanel( + condition = "input.tr_change_type == 'bin'", + numericInput("tr_bin_n", label = i18n$t("Nr bins:"), min = 2, value = 10), + checkboxInput("tr_bin_rev", i18n$t("Reverse order"), value = FALSE), + uiOutput("ui_tr_ext_bin") + ), + conditionalPanel( + condition = "input.tr_change_type == 'training'", + tags$table( + tags$td(numericInput("tr_training_n", label = i18n$t("Size:"), min = 0, value = .7)), + tags$td(textInput("tr_training", i18n$t("Variable name:"), "training")) + ), + numericInput("tr_training_seed", label = i18n$t("Seed:"), value = 1234) + ), + conditionalPanel( + condition = "input.tr_change_type == 'holdout'", + checkboxInput("tr_holdout_rev", i18n$t("Reverse filter and slice"), value = TRUE) + ), + conditionalPanel( + condition = "input.tr_change_type == 'clip'", + textAreaInput( + "tr_paste", i18n$t("Paste from spreadsheet:"), + rows = 3, + value = "", + resize = "vertical", + placeholder = i18n$t("Copy-and-paste data with a header row from a spreadsheet"), + ) + ), + conditionalPanel( + condition = "input.tr_change_type == 'recode'", + returnTextAreaInput( + "tr_recode", i18n$t("Recode:"), + value = "", + rows = 3, + placeholder = i18n$t("Select a variable, specify how it should be recoded (e.g., lo:20 = 0; else = 1), and press return") + ) + ), + conditionalPanel( + condition = "input.tr_change_type == 'rename'", + uiOutput("ui_tr_rename") + ), + conditionalPanel( + condition = "input.tr_change_type == 'replace'", + uiOutput("ui_tr_replace") + ), + conditionalPanel( + condition = "input.tr_change_type == 'reorg_vars'", + uiOutput("ui_tr_reorg_vars") + ), + conditionalPanel( + condition = "input.tr_change_type == 'reorg_levs'", + uiOutput("ui_tr_reorg_levs") + ), + conditionalPanel( + "input.tr_change_type == 'transform'", + uiOutput("ui_tr_ext") + ), + conditionalPanel( + "input.tr_change_type == 'recode'", + uiOutput("ui_tr_rcname") + ), + conditionalPanel( + "input.tr_change_type == 'normalize'", + uiOutput("ui_tr_ext_nz") + ), + conditionalPanel( + "input.tr_change_type == 'reorg_levs'", + uiOutput("ui_tr_roname") + ), + conditionalPanel( + "input.tr_change_type == 'type'", + uiOutput("ui_tr_typename") + ) + ), + conditionalPanel( + "input.tr_change_type != 'none'", + wellPanel(uiOutput("ui_tr_dataset")) + ), + help_and_report( + modal_title = i18n$t("Transform"), + fun_name = "transform", + help_file = inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/transform.md")), + lic = "by-sa" + ) + ) +}) + +## ensure no variables are selected 'by accident' when creating a new variable +observeEvent(input$tr_change_type, { + if (input$tr_change_type == "create") { + updateSelectInput(session = session, inputId = "tr_vars", label = i18n$t("Group by:"), selected = character(0)) + } else if (input$tr_change_type == "training") { + updateSelectInput(session = session, inputId = "tr_vars", label = i18n$t("Block by:"), selected = character(0)) + } else if (input$tr_change_type == "spread") { + updateSelectInput(session = session, inputId = "tr_vars", selected = character(0)) + } else { + updateSelectInput(session = session, inputId = "tr_vars", label = i18n$t("Select variables:")) + } +}) + +fix_ext <- function(ext) { + gsub("(^\\s+|\\s+$)", "", ext) %>% + gsub("\\s+", "_", .) %>% + gsub("[[:punct:]]", "_", .) %>% + gsub("\\.{2,}", ".", .) %>% + gsub("_{2,}", "_", .) +} + +.change_type <- function(dataset, fun, tr_ts, vars = "", .ext = "", + store_dat = "", store = TRUE) { + .ext <- fix_ext(.ext) + + if (!is.empty(tr_ts)) { + tr_ts <- lapply(tr_ts, function(x) x[!is.na(x)]) %>% + (function(x) x[sapply(x, length) > 0]) + } + + if (!store || !is.character(dataset)) { + fun <- get(fun) + if (is.empty(.ext)) { + do.call(mutate_at, c(list(.tbl = dataset, .vars = vars), .funs = fun, tr_ts)) + } else { + do.call(mutate_at, c(list(.tbl = dataset, .vars = vars), .funs = fun, tr_ts)) %>% + set_colnames(paste0(vars, .ext)) + } + } else { + if (store_dat == "") store_dat <- dataset + if (is.empty(tr_ts)) { + tr_ts <- "" + } else { + tr_ts <- deparse(tr_ts, control = getOption("dctrl"), width.cutoff = 500L) %>% + sub("list\\(", ", ", .) %>% + sub("\\)$", "", .) + } + + if (is.empty(.ext)) { + paste0(i18n$t("## change variable type\n"), store_dat, " <- mutate_at(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ", fun, tr_ts, ")\n") + } else { + paste0(i18n$t("## change variable type\n"), store_dat, " <- mutate_ext(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ", fun, tr_ts, ", .ext = \"", .ext, "\")\n") + } + } +} + +.transform <- function(dataset, fun, vars = "", .ext = "", + store_dat = "", store = TRUE) { + .ext <- fix_ext(.ext) + + if (!store && !is.character(dataset)) { + fun <- get(fun) + if (is.empty(.ext)) { + result <- try(mutate_at(dataset, .vars = vars, .funs = fun), silent = TRUE) + } else { + result <- try(mutate_at(dataset, .vars = vars, .funs = fun) %>% set_colnames(paste0(vars, .ext)), silent = TRUE) + } + if (inherits(result, "try-error")) { + paste0( + "\n", i18n$t("The transformation type you selected generated an error."), "\n\n", + i18n$t("The error message was:"), "\n\n", + attr(result, "condition")$message, "\n\n", + i18n$t("Please change the selection of variables or the transformation type and try again.") + ) + } else { + result + } + } else { + if (store_dat == "") store_dat <- dataset + if (is.empty(.ext)) { + paste0(i18n$t("## transform variable\n"), store_dat, " <- mutate_at(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ", fun, ")\n") + } else { + paste0(i18n$t("## transform variable\n"), store_dat, " <- mutate_ext(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ", fun, ", .ext = \"", .ext, "\")\n") + } + } +} + +.create <- function(dataset, cmd, byvar = "", + store_dat = "", store = TRUE) { + ## replacing problem symbols (e.g., em dash, and curly quotes) + cmd <- fix_smart(cmd) + + if (!store || !is.character(dataset)) { + if (is.empty(cmd)) { + return(dataset) + } + + cmd <- gsub("\"", "\'", cmd) %>% + gsub("<-", "=", .) + vars <- strsplit(cmd, ";\\s*")[[1]] %>% + strsplit("=") %>% + sapply("[", 1) %>% + gsub("\\s+", "", .) + + ## in case the create command tries to over-write the group-by variable ... + if (any(byvar %in% vars)) { + byvar <- base::setdiff(byvar, vars) + updateSelectInput(session = session, inputId = "tr_vars", selected = character(0)) + } + + ## useful if functions created in Report > R and Report > Rmd are + ## called in Data > Transform > Create + ## add environment to do.call call instead? + ## https://stackoverflow.com/questions/26028488/do-call-specify-environment-inside-function + attach(r_data) + on.exit(detach(r_data)) + + if (is.empty(byvar)) { + ## using within and do.call because it provides better err messages + nvar <- try(do.call(within, list(dataset, parse(text = cmd))), silent = TRUE) + } else { + dots <- rlang::parse_exprs(cmd) %>% + set_names(vars) + + nvar <- try( + group_by_at(dataset, .vars = byvar) %>% + mutate(!!!dots), + silent = TRUE + ) + vars <- c(byvar, vars) ## to avoid the 'added group_by variable' message + } + if (inherits(nvar, "try-error")) { + paste0( + "\n", i18n$t("The create command was not valid."), "\n", + i18n$t("The command entered was:"), "\n\n", + cmd, "\n\n", + i18n$t("The error message was:"), "\n\n", + attr(nvar, "condition")$message, "\n\n", + i18n$t("Please try again. Examples are shown in the help file") + ) + } else { + select_at(nvar, .vars = vars) %>% + ungroup() + } + } else { + if (store_dat == "") store_dat <- dataset + cmd <- gsub(";", ", ", cmd) %>% + gsub("<-", "=", .) %>% + gsub("\\s{2,}", " ", .) + + if (is.empty(byvar)) { + paste0(i18n$t("## create new variable(s)\n"), store_dat, " <- mutate(", dataset, ", ", cmd, ")\n") + } else { + paste0(i18n$t("## create new variable(s)\n"), store_dat, " <- group_by(", dataset, ", ", paste0(byvar, collapse = ", "), ") %>%\n mutate(", cmd, ") %>%\n ungroup()\n") + } + } +} + +.recode <- function(dataset, var, cmd, rcname = "", + store_dat = "", store = TRUE) { + cmd <- cmd %>% + gsub("\\n", "", .) %>% + gsub("\"", "\'", .) + if (is.empty(rcname)) rcname <- paste0(var, "_rc") + + if (!store || !is.character(dataset)) { + if (cmd == "") { + return(dataset) + } + nvar <- try(car::Recode(dataset[[var]], cmd), silent = TRUE) + if (inherits(nvar, "try-error")) { + paste0( + i18n$t("The recode command was not valid."), "\n", + i18n$t("The error message was:"), "\n", + attr(nvar, "condition")$message, "\n", + i18n$t("Please try again. Examples are shown in the help file (click the ? icon).") + ) + } else { + as.data.frame(nvar, stringsAsFactors = FALSE) %>% setNames(rcname) + } + } else { + if (store_dat == "") store_dat <- dataset + paste0(i18n$t("## recode variable\n"), store_dat, " <- mutate(", dataset, ", ", rcname, " = car::Recode(", var, ", \"", cmd, "\"))\n") + } +} + +.rename <- function(dataset, var, rnm, store_dat = "", store = TRUE) { + rnm <- gsub(";", ",", rnm) + if (gsub("\\s+", "", rnm) != "") { + rnm <- unlist(strsplit(rnm, ",")) %>% + .[1:min(length(.), length(var))] %>% + gsub("^\\s+|\\s+$", "", .) + } + rnm <- fix_names(rnm) + + if (!store || !is.character(dataset)) { + if (all(rnm == "")) { + return(dataset) + } + names(dataset)[seq_len(length(rnm))] <- rnm + dataset + } else { + if (store_dat == "") store_dat <- dataset + name_check <- fix_names(var) != var + if (any(name_check)) var[name_check] <- paste0("`", var[name_check], "`") + paste0(i18n$t("## rename variable(s)\n"), store_dat, " <- dplyr::rename(", dataset, ", ", paste(rnm, var, sep = " = ", collapse = ", "), ")\n") + } +} + +.replace <- function(dataset, var, rpl, store_dat = "", store = TRUE) { + if (!all(fix_names(var) == var) || !all(fix_names(rpl) == rpl)) { + return(i18n$t("\nSome of the variables names used are not valid. Please use 'Rename' to ensure\nvariable names do not have any spaces or symbols and start with a letter")) + } + + if (!store || !is.character(dataset)) { + select_at(dataset, .vars = rpl) %>% set_colnames(var) + } else { + if (store_dat == "") store_dat <- dataset + paste0(i18n$t("## replace variable(s)\n"), store_dat, " <- mutate(", dataset, ", ", paste(var, rpl, sep = " = ", collapse = ", "), ") %>% select(", paste0("-", rpl, collapse = ", "), ")\n") + } +} + +.normalize <- function(dataset, vars, nzvar, .ext = paste0("_", nzvar), + store_dat = "", store = TRUE) { + .ext <- fix_ext(.ext) + + if (!store && !is.character(dataset)) { + nz <- select_at(dataset, .vars = nzvar) + dataset <- select_at(dataset, .vars = vars) + dc <- get_class(dataset) + + isnum <- "numeric" == dc | "integer" == dc + if (sum(isnum) == 0) { + return(i18n$t("Please select only integer or numeric variables to normalize")) + } + vars <- vars[isnum] + select_at(dataset, .vars = vars) %>% + (function(x) x / nz[[1]]) %>% + set_colnames(paste0(vars, .ext)) + } else { + if (store_dat == "") store_dat <- dataset + paste0(i18n$t("## normalize variables\n"), store_dat, " <- mutate_ext(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ~ normalize(., ", nzvar, "), .ext = \"", .ext, "\")\n") + } +} + +.tab2dat <- function(dataset, freq, vars = "", + store_dat = "", store = TRUE) { + if (!store && !is.character(dataset)) { + if (is.empty(vars)) vars <- base::setdiff(colnames(dataset), freq) + select_at(dataset, .vars = unique(c(vars, freq))) %>% + table2data(freq) + } else { + if (store_dat == "") store_dat <- dataset + if (is.empty(vars)) vars <- base::setdiff(colnames(r_data[[dataset]]), freq) + vars <- unique(c(vars, freq)) + paste0(i18n$t("## Create data from a table\n"), store_dat, " <- select(", dataset, ", ", paste0(vars, collapse = ", "), ") %>%\n table2data(\"", freq, "\")\n") + } +} + +.gather <- function(dataset, vars, key, value, + store_dat = "", store = TRUE) { + key <- fix_names(key) + value <- fix_names(value) + + if (!store && !is.character(dataset)) { + gather(dataset, !!key, !!value, !!vars, factor_key = TRUE) + } else { + if (store_dat == "") store_dat <- dataset + paste0(i18n$t("## Gather columns\n"), store_dat, " <- gather(", dataset, ", ", key, ", ", value, ", ", paste0(vars, collapse = ", "), ", factor_key = TRUE)\n") + } +} + +.spread <- function(dataset, key, value, fill = NA, + vars = "", store_dat = "", store = TRUE) { + if (!store && !is.character(dataset)) { + if (!vars[1] == "") dataset <- select_at(dataset, .vars = vars) + cn <- colnames(dataset) + if (!all(key %in% cn) || !value %in% cn) { + return(i18n$t("Key or value variable is not in the dataset")) + } + nr <- distinct_at(dataset, .vars = base::setdiff(cn, value), .keep_all = TRUE) %>% + nrow() + if (nr < nrow(dataset)) { + return(i18n$t("Rows are not unique. Select additional variables")) + } + if (length(key) > 1) { + dataset <- unite_(dataset, paste(key, collapse = "_"), key) + key <- paste(key, collapse = "_") + } + spread(dataset, !!key, !!value, fill = fill) + } else { + if (store_dat == "") store_dat <- dataset + cmd <- "" + if (!is.empty(vars)) { + cmd <- paste0(i18n$t("## Select columns\n"), store_dat, " <- select(", dataset, ", ", paste0(vars, collapse = ", "), ")\n") + dataset <- store_dat + } + if (length(key) > 1) { + cmd <- paste0(cmd, i18n$t("## Unite columns\n"), store_dat, " <- unite(", dataset, ", ", paste(key, collapse = "_"), ", ", paste0(key, collapse = ", "), ")\n") + key <- paste(key, collapse = "_") + dataset <- store_dat + } + if (!is.na(fill)) { + paste0(cmd, i18n$t("## Spread columns\n"), store_dat, " <- spread(", dataset, ", ", key, ", ", value, ", fill = ", fill, ")\n") + } else { + paste0(cmd, i18n$t("## Spread columns\n"), store_dat, " <- spread(", dataset, ", ", key, ", ", value, ")\n") + } + } +} + +.expand <- function(dataset, vars = "", store_dat = "", store = TRUE) { + if (!store || !is.character(dataset)) { + if (all(vars == "")) { + paste0(i18n$t("Select variables to expand")) + } else { + expand.grid(level_list(select_at(dataset, .vars = vars))) + } + } else { + paste0(i18n$t("## expanding data\n"), store_dat, " <- expand.grid(level_list(", dataset, ", ", paste0(vars, collapse = ", "), "))\n") + } +} + +.bin <- function(dataset, vars = "", bins = 10, rev = FALSE, + .ext = "_dec", store_dat = "", store = TRUE) { + .ext <- fix_ext(.ext) + + if (!store && !is.character(dataset)) { + if (is.na(bins) || !is.integer(bins)) { + return(i18n$t("Please specify the (integer) number of bins to use")) + } + if (!all(sapply(dataset[, vars, drop = FALSE], is.numeric))) { + return(i18n$t("Binning can only be applied to numeric variables")) + } + select_at(dataset, .vars = vars) %>% + mutate_all(~ xtile(., bins, rev = rev)) %>% + set_colnames(paste0(vars, .ext)) + } else { + if (store_dat == "") store_dat <- dataset + if (rev) { + paste0(i18n$t("## bin variables\n"), store_dat, " <- mutate_ext(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ~ xtile(., ", bins, ", rev = TRUE), .ext = \"", .ext, "\")\n") + } else { + paste0(i18n$t("## bin variables\n"), store_dat, " <- mutate_ext(", dataset, ", .vars = vars(", paste0(vars, collapse = ", "), "), .funs = ~ xtile(., ", bins, "), .ext = \"", .ext, "\")\n") + } + } +} + +.training <- function(dataset, vars = "", n = .7, nr = 100, + name = "training", seed = 1234, + store_dat = "", store = TRUE) { + if (is.empty(name)) { + name <- "training" + } else { + name <- fix_names(name) + } + if (!store && !is.character(dataset)) { + n <- n %>% + (function(x) ifelse(x < 0 || is.na(x) || x > nr, 0.7, x)) + if (is.empty(vars)) { + blocks <- NULL + } else { + blocks <- dataset[, vars] + } + + make_train(n, nr, blocks = blocks, seed = seed) %>% + data.frame(stringsAsFactors = FALSE) %>% + setNames(name) + } else { + if (store_dat == "") store_dat <- dataset + if (is.empty(vars)) { + paste0(i18n$t("## created variable to select training sample\n"), store_dat, " <- mutate(", dataset, ", ", name, " = make_train(", n, ", n(), seed = ", seed, "))\n") + } else { + paste0(i18n$t("## created variable to select training sample\n"), store_dat, " <- mutate(", dataset, ", ", name, " = make_train(", n, ", blocks = select(", dataset, ", ", paste0(vars, collapse = ", "), "), seed = ", seed, "))\n") + } + } +} + +## Make a training variable that selects randomly by ID +# http://rpackages.ianhowson.com/cran/dplyr/man/group_indices.html +# http://rpackages.ianhowson.com/cran/dplyr/man/sample.html + +.reorg_levs <- function(dataset, fct, levs, repl = NA, name = fct, + store_dat = "", store = TRUE) { + if (is.empty(name)) name <- fct + if (!store || !is.character(dataset)) { + data.frame(refactor(dataset[[fct]], levs = levs, repl = repl), stringsAsFactors = FALSE) %>% + setNames(name) + } else { + if (store_dat == "") store_dat <- dataset + repl <- if (is.na(repl)) "" else paste0(", repl = \"", repl, "\"") + paste0(i18n$t("## change factor levels\n"), store_dat, " <- mutate(", dataset, ", ", name, " = refactor(", fct, ", levs = c(\"", paste0(levs, collapse = "\",\""), "\")", repl, "))\n") + } +} + +.reorg_vars <- function(dataset, vars = "", store_dat = "", store = TRUE) { + if (!store || !is.character(dataset)) { + get_data(dataset, vars, filt = "", na.rm = FALSE, envir = r_data) + } else { + if (store_dat == "") store_dat <- dataset + paste0(i18n$t("## reorder/remove variables\n"), store_dat, " <- select(", dataset, ", ", paste0(vars, collapse = ", "), ")\n") + } +} + +.remove_na <- function(dataset, vars = "", store_dat = "", + nr_col = 0, store = TRUE) { + if (!store || !is.character(dataset)) { + if (all(vars == "") || length(unique(vars)) == ncol(dataset)) { + dataset %>% filter(complete.cases(.)) + } else { + ind <- select_at(dataset, .vars = vars) %>% complete.cases() + filter(dataset, ind) + } + } else { + if (store_dat == "") store_dat <- dataset + if (all(vars == "") || length(unique(vars)) == nr_col) vars <- "." + paste0(i18n$t("## remove missing values\n"), store_dat, " <- ", dataset, " %>% filter(complete.cases(", paste0(vars, collapse = ", "), "))\n") + } +} + +.remove_dup <- function(dataset, vars = "", store_dat = "", + nr_col = 0, store = TRUE) { + if (!store || !is.character(dataset)) { + if (all(vars == "") || length(unique(vars)) == ncol(dataset)) { + dat <- distinct(dataset) + } else { + dat <- distinct_at(dataset, .vars = vars, .keep_all = TRUE) + } + + if (nrow(dat) == nrow(dataset)) { + paste0(i18n$t("No duplicates found (n_distinct = "), nrow(dat), ")") + } else { + dat + } + } else { + if (all(vars == "") || length(unique(vars)) == nr_col) { + paste0(i18n$t("## remove duplicate rows\n"), store_dat, " <- distinct(", dataset, ")\n") + } else { + paste0(i18n$t("## remove rows with duplicate values\n"), store_dat, " <- distinct(", dataset, ", ", paste0(vars, collapse = ", "), ", .keep_all = TRUE)\n") + } + } +} + +.show_dup <- function(dataset, vars = "", store_dat = "", + nr_col = 0, store = TRUE) { + if (!store || !is.character(dataset)) { + if (all(vars == "") || length(unique(vars)) == ncol(dataset)) { + dat <- filter(dataset, duplicated(dataset)) + } else { + dat <- dataset %>% + group_by_at(.vars = vars) %>% + filter(n() > 1) + + if (nrow(dat) > 0) { + dat <- mutate(dat, nr_dup = 1:n()) %>% + arrange_at(.vars = vars) %>% + ungroup() + } + } + + if (nrow(dat) == 0) { + ## "No duplicates found" + paste0(i18n$t("No duplicates found (n_distinct = "), nrow(dataset), ")") + } else { + dat + } + } else { + if (all(vars == "") || length(unique(vars)) == nr_col) { + paste0(i18n$t("## show duplicate rows\n"), store_dat, " <- ", dataset, " %>% filter(duplicated(.))\n") + } else { + paste0(i18n$t("## show rows with duplicate values\n"), store_dat, " <- show_duplicated(", dataset, ", ", paste0(vars, collapse = ", "), ")\n") + } + } +} + +.holdout <- function(dataset, vars = "", filt = "", arr = "", rows = NULL, rev = FALSE, + store_dat = "", store = TRUE) { + if (is.empty(filt) && is.empty(rows)) { + return(paste0(i18n$t("No filter or slice found (n = "), nrow(dataset), ")")) + } + + if (!store || !is.character(dataset)) { + get_data(dataset, vars = vars, filt = filt, arr = arr, rows = rows, na.rm = FALSE, rev = rev, envir = r_data) + } else { + cmd <- glue("{i18n$t('## create holdout sample')}\n{store_dat} <- get_data(\n {dataset}") # ", vars = {vars}, filt = {filt}, arr = {arr}, rows = {rows}, rev = {rev})\n") + + if (!all(vars == "")) { + cmd <- glue('{cmd},\n vars = c("{paste0(vars, collapse = ", ")}")', .trim = FALSE) + } + if (!is.empty(filt)) { + filt <- gsub("\"", "'", filt) + cmd <- glue('{cmd},\n filt = "{filt}"', .trim = FALSE) + } + if (!is.empty(arr)) { + cmd <- glue('{cmd},\n arr = "{arr}"', .trim = FALSE) + } + if (!is.empty(rows)) { + cmd <- glue('{cmd},\n rows = "{rows}"', .trim = FALSE) + } + glue("{cmd},\n rev = {rev}\n)", .trim = FALSE) + } +} + +inp_vars <- function(inp, rval = "") { + if (is.empty(input[[inp]]) || !available(input[[inp]])) rval else input[[inp]] +} + +transform_main <- reactive({ + req(input$tr_change_type) + if (not_available(input$tr_vars)) { + if (input$tr_change_type == "none" && length(input$tr_vars) == 0) { + return(i18n$t("Select a transformation type or select variables to summarize")) + } else if (input$tr_change_type == "none" && length(input$tr_vars) > 0) { + return(i18n$t("Select a transformation type or select variables to summarize")) + } else if (input$tr_change_type == "type") { + return(i18n$t("Select one or more variables to change their type")) + } else if (input$tr_change_type == "transform") { + return(i18n$t("Select one or more variables to apply a transformation")) + } else if (input$tr_change_type == "rename") { + return(i18n$t("Select one or more variables to rename")) + } else if (input$tr_change_type == "replace") { + return(i18n$t("Select one or more variables to replace")) + } else if (input$tr_change_type == "recode") { + return(i18n$t("Select a variable to recode")) + } else if (input$tr_change_type == "bin") { + return(i18n$t("Select one or more variables to bin")) + } else if (input$tr_change_type == "reorg_levs") { + return(i18n$t("Select a single variable of type factor to change the ordering and/or number of levels")) + } else if (input$tr_change_type == "normalize") { + return(i18n$t("Select one or more variables to normalize")) + } else if (input$tr_change_type == "remove_na") { + return(i18n$t("Select one or more variables to see the effects of removing missing values")) + } else if (input$tr_change_type %in% c("remove_dup", "show_dup")) { + return(i18n$t("Select one or more variables to see the effects of removing duplicates")) + } else if (input$tr_change_type == "gather") { + return(i18n$t("Select one or more variables to gather")) + } else if (input$tr_change_type == "expand") { + return(i18n$t("Select one or more variables to expand")) + } + } + + ## get the active dataset, filter not applied when called from transform tab + dat <- .get_data_transform() + + ## what data to pass on ... + if (input$tr_change_type %in% c("", "none")) { + return(select_at(dat, .vars = input$tr_vars)) + } + + ## reorganize variables + if (input$tr_change_type == "reorg_vars") { + return(.reorg_vars(dat, inp_vars("tr_reorg_vars"), store = FALSE)) + } + + ## create training variable + if (input$tr_change_type == "training") { + return(.training(dat, n = input$tr_training_n, nr = nrow(dat), name = input$tr_training, vars = inp_vars("tr_vars"), seed = input$tr_training_seed, store = FALSE)) + } + + if (input$tr_change_type == "create") { + if (input$tr_create == "") { + return(i18n$t("Specify an equation to create a new variable and press 'return'. **\n** See the help file for examples")) + } else { + return(.create(dat, input$tr_create, byvar = inp_vars("tr_vars"), store = FALSE)) + } + } + + if (input$tr_change_type == "tab2dat") { + if (is.null(input$tr_tab2dat) || input$tr_tab2dat == "none") { + return(i18n$t("Select a frequency variable")) + } else if (!is.empty(input$tr_vars) && all(input$tr_vars == input$tr_tab2dat)) { + return(i18n$t("Select at least one variable that is not the frequency variable")) + } else { + req(available(input$tr_tab2dat)) + return(.tab2dat(dat, input$tr_tab2dat, vars = inp_vars("tr_vars"), store = FALSE)) + } + } + + if (input$tr_change_type == "clip") { + if (input$tr_paste == "") { + return(i18n$t("Copy-and-paste data with a header row from a spreadsheet")) + } else { + cpdat <- try(read.table(header = TRUE, comment.char = "", fill = TRUE, sep = "\t", as.is = TRUE, text = input$tr_paste), silent = TRUE) + if (inherits(cpdat, "try-error")) { + return(i18n$t("The pasted data was not well formatted. Please make sure the number of rows **\n** in the data in Radiant and in the spreadsheet are the same and try again.")) + } else if (nrow(cpdat) != nrow(dat)) { + return(i18n$t("The pasted data does not have the correct number of rows. Please make sure **\n** the number of rows in the data in Radiant and in the spreadsheet are the **\n** same and try again.")) + } else { + return(as.data.frame(cpdat, check.names = FALSE, stringsAsFactors = FALSE) %>% to_fct()) + } + } + } + + ## filter data for holdout + if (input$tr_change_type == "holdout") { + if (!input$show_filter) { + return(i18n$t("\nNo filter, arrange, or slice set. Click the 'Filter' checkbox and enter a\nfilter, arrange, and/or a slice of rows to keep as the main data. The holdout\nwill have have all rows not selected by the filter, arrange, and slice")) + } + return(.holdout(dat, inp_vars("tr_vars"), filt = input$data_filter, arr = input$data_arrange, rows = input$data_rows, rev = input$tr_holdout_rev, store = FALSE)) + } + + ## spread a variable + if (input$tr_change_type == "spread") { + if (is.empty(input$tr_spread_key, "none") || + is.empty(input$tr_spread_value, "none")) { + return(i18n$t("Select a Key and Value pair to spread")) + } + return(.spread(dat, key = input$tr_spread_key, value = input$tr_spread_value, fill = input$tr_spread_fill, vars = inp_vars("tr_vars"), store = FALSE)) + } + + ## only use the functions below if variables have been selected + if (!is.empty(input$tr_vars)) { + if (not_available(input$tr_vars)) { + return() + } + + ## remove missing values + if (input$tr_change_type == "remove_na") { + return(.remove_na(dat, inp_vars("tr_vars"), store = FALSE)) + } + + ## bin variables + if (input$tr_change_type == "bin") { + return(.bin(dat, inp_vars("tr_vars"), bins = input$tr_bin_n, rev = input$tr_bin_rev, .ext = input$tr_ext_bin, store = FALSE)) + } + + ## gather variables + if (input$tr_change_type == "gather") { + if (is.empty(input$tr_gather_key) || is.empty(input$tr_gather_value)) { + return(i18n$t("Provide a name for the Key and Value variables")) + } + return(.gather(dat, inp_vars("tr_vars"), key = input$tr_gather_key, value = input$tr_gather_value, store = FALSE)) + } + + ## remove duplicates + if (input$tr_change_type == "remove_dup") { + return(.remove_dup(dat, inp_vars("tr_vars"), store = FALSE)) + } + + ## expand grid + if (input$tr_change_type == "expand") { + return(.expand(dat, inp_vars("tr_vars"), store = FALSE)) + } + + ## show duplicates + if (input$tr_change_type == "show_dup") { + return(.show_dup(dat, inp_vars("tr_vars"), store = FALSE)) + } + + if (input$tr_change_type == "normalize") { + if (is.empty(input$tr_normalizer, "none")) { + return(i18n$t("Select a normalizing variable")) + } else { + return(.normalize(dat, inp_vars("tr_vars"), input$tr_normalizer, .ext = input$tr_ext_nz, store = FALSE)) + } + } + + if (input$tr_change_type == "replace") { + vars <- input$tr_vars + rpl <- input$tr_replace + if (available(rpl)) { + if (length(vars) != length(rpl)) { + return(i18n$t( + "The number of replacement variables ({rpl_len}) is not equal to the number of variables to replace ({vars_len})", + list(rpl_len = length(rpl), vars_len = length(vars)) + )) + } + return(.replace(dat, vars, rpl, store = FALSE)) + } else { + return(i18n$t("Select one or more variable replacements")) + } + } + + ## selecting the columns to show + dat <- select_at(dat, .vars = input$tr_vars) + vars <- colnames(dat) + + ## change in type is always done in-place + if (input$tr_change_type == "type") { + if (input$tr_typefunction == "none") { + return(i18n$t("Select a transformation type for the selected variables")) + } else { + if (input$tr_typefunction == "ts") { + tr_ts <- list( + start = c(input$tr_ts_start_year, input$tr_ts_start_period), + end = c(input$tr_ts_end_year, input$tr_ts_end_period), + frequency = input$tr_ts_frequency + ) + } else { + tr_ts <- NULL + } + return(.change_type(dat, input$tr_typefunction, tr_ts, inp_vars("tr_vars"), input$tr_typename, store = FALSE)) + } + } + + ## change in type is always done in-place + if (input$tr_change_type == "transform") { + if (input$tr_transfunction == "none") { + return(i18n$t("Select a function to apply to the selected variable(s)")) + } else { + return(.transform(dat, input$tr_transfunction, inp_vars("tr_vars"), input$tr_ext, store = FALSE)) + } + } + + if (input$tr_change_type == "reorg_levs") { + fct <- input$tr_vars[1] + if (length(unique(dat[[fct]])) > 100) { + return(i18n$t("Interactive re-ordering is only supported up to 100 levels. See\n?radiant.data::refactor for information on how to re-order levels in R")) + } else { + return(.reorg_levs(dat, fct, input$tr_reorg_levs, input$tr_rorepl, input$tr_roname, store = FALSE)) + } + } + + if (input$tr_change_type == "recode") { + if (is.empty(input$tr_recode)) { + return(i18n$t("Specify a recode statement, assign a name to the recoded variable, and press 'return'. **\n** See the help file for examples")) + } else { + return(.recode(dat, inp_vars("tr_vars")[1], input$tr_recode, input$tr_rcname, store = FALSE)) + } + } + + if (input$tr_change_type == "rename") { + if (is.empty(input$tr_rename)) { + return(i18n$t("Specify new names for the selected variables (separated by a ',') and press 'return'")) + } else { + if (any(input$tr_rename %in% varnames())) { + return(i18n$t("One or more of the new variables names already exists in the data. **\n** Change the specified names or use the Replace function")) + } else { + return(.rename(dat, inp_vars("tr_vars"), input$tr_rename, store = FALSE)) + } + } + } + } + + return(invisible()) +}) + +output$transform_data <- reactive({ + dataset <- transform_main() + if (is.null(dataset) || is.character(dataset) || nrow(dataset) == 0 || ncol(dataset) == 0) { + tr_snippet() + } else { + show_data_snippet(dataset) + } +}) + +tr_snippet <- reactive({ + show_data_snippet(.get_data_transform()) +}) + +output$transform_summary <- renderPrint({ + req(!isTRUE(input$tr_hide)) + + withProgress(message = i18n$t("Generating summary statistics"), value = 1, { + dataset <- transform_main() + }) + + ## with isolate on the summary wouldn't update when the dataset was changed + if (is.null(dataset)) { + return(invisible()) + } + if (is.character(dataset)) { + cat("**", dataset, "\n**\n\n") + } else { + if (min(dim(dataset)) == 0) { + cat("**", i18n$t("The selected operation resulted in an empty data frame and cannot be executed"), "**\n\n") + } else { + if (input$tr_change_type %in% c("", "none")) { + cat("**", i18n$t("Select a transformation type or select variables to summarize"), "**\n\n") + } else { + cat("**", i18n$t("Press the 'Store' button to add your changes to the data"), "**\n\n") + if (!is.empty(input$tr_vars) && input$tr_change_type == "create") { + cat("**", i18n$t("Results are grouped by"), paste(input$tr_vars, collapse = ", "), "**\n\n") + } else if (!is.empty(input$tr_vars) && input$tr_change_type == "training") { + cat("**", i18n$t("Results are blocked by"), paste(input$tr_vars, collapse = ", "), "**\n\n") + } + } + + if (input$tr_change_type == "reorg_vars") { + cat("**", i18n$t("Drag-and-drop to change ordering. Click the x to remove a variable"), "**") + } else { + cat(paste0(capture.output(get_summary(dataset)), collapse = "\n")) + } + } + } +}) + +observeEvent(input$tr_store, { + withProgress(message = "Storing transformations", value = 1, { + dat <- transform_main() + }) + + if (is.null(dat)) { + return() + } else if (is.character(dat)) { + return() + } else if (min(dim(dat)) == 0) { + return() + } + + ## saving to a new dataset if specified + df_name <- fix_names(input$tr_name) + if (input$tr_name != df_name) { + updateTextInput(session, inputId = "tr_name", value = df_name) + } + ncmd <- "" + if (is.null(r_data[[df_name]])) { + r_data[[df_name]] <- .get_data_transform() + r_info[[paste0(df_name, "_descr")]] <- r_info[[paste0(input$dataset, "_descr")]] + if (!bindingIsActive(as.symbol(df_name), env = r_data)) { + shiny::makeReactiveBinding(df_name, env = r_data) + } + r_info[["datasetlist"]] %<>% c(df_name, .) %>% unique() + + ## adding command to ensure new data is in the datasetlist + if (df_name == input$dataset) { + ncmd <- paste0("\n", i18n$t("## register the new dataset"), "\nregister(\"", df_name, "\")") + } else { + ncmd <- paste0("\n", i18n$t("## register the new dataset"), "\nregister(\"", df_name, "\", \"", input$dataset, "\")") + } + } else if (!df_name %in% r_info[["datasetlist"]]) { + r_info[["datasetlist"]] %<>% c(df_name, .) %>% unique() + + ## adding command to ensure new data is in the datasetlist + if (df_name == input$dataset) { + ncmd <- paste0("\n", i18n$t("## register the new dataset"), "\nregister(\"", df_name, "\")") + } else { + ncmd <- paste0("\n", i18n$t("## register the new dataset"), "\nregister(\"", df_name, "\", \"", input$dataset, "\")") + } + } + + if (input$tr_change_type == "remove_na") { + cmd <- .remove_na(input$dataset, vars = input$tr_vars, df_name, nr_col = ncol(dat)) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "remove_dup") { + cmd <- .remove_dup(input$dataset, vars = input$tr_vars, df_name, nr_col = ncol(dat)) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "show_dup") { + cmd <- .show_dup(input$dataset, vars = input$tr_vars, df_name, nr_col = ncol(dat)) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "holdout") { + cmd <- .holdout(input$dataset, vars = input$tr_vars, filt = input$data_filter, arr = input$data_arrange, rows = input$data_rows, rev = input$tr_holdout_rev, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "tab2dat") { + cmd <- .tab2dat(input$dataset, input$tr_tab2dat, vars = input$tr_vars, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "gather") { + cmd <- .gather(input$dataset, vars = input$tr_vars, key = input$tr_gather_key, value = input$tr_gather_value, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "spread") { + cmd <- .spread(input$dataset, key = input$tr_spread_key, value = input$tr_spread_value, fill = input$tr_spread_fill, vars = input$tr_vars, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "expand") { + cmd <- .expand(input$dataset, vars = input$tr_vars, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "reorg_vars") { + cmd <- .reorg_vars(input$dataset, vars = input$tr_reorg_vars, df_name) + r_data[[df_name]] <- dat + } else if (input$tr_change_type == "type") { + if (input$tr_typefunction == "ts") { + tr_ts <- list( + start = c(input$tr_ts_start_year, input$tr_ts_start_period), + end = c(input$tr_ts_end_year, input$tr_ts_end_period), + frequency = input$tr_ts_frequency + ) + } else { + tr_ts <- NULL + } + cmd <- .change_type(input$dataset, fun = input$tr_typefunction, tr_ts, vars = input$tr_vars, .ext = input$tr_typename, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "transform") { + cmd <- .transform(input$dataset, fun = input$tr_transfunction, vars = input$tr_vars, .ext = input$tr_ext, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "training") { + cmd <- .training(input$dataset, n = input$tr_training_n, nr = nrow(dat), name = input$tr_training, vars = input$tr_vars, seed = input$tr_training_seed, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "normalize") { + cmd <- .normalize(input$dataset, vars = input$tr_vars, nzvar = input$tr_normalizer, .ext = input$tr_ext_nz, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "bin") { + cmd <- .bin(input$dataset, vars = input$tr_vars, bins = input$tr_bin_n, rev = input$tr_bin_rev, .ext = input$tr_ext_bin, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "reorg_levs") { + cmd <- .reorg_levs(input$dataset, input$tr_vars[1], input$tr_reorg_levs, input$tr_rorepl, input$tr_roname, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "recode") { + cmd <- .recode(input$dataset, input$tr_vars[1], input$tr_recode, input$tr_rcname, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "rename") { + cmd <- .rename(input$dataset, input$tr_vars, input$tr_rename, df_name) + r_data[[df_name]] %<>% dplyr::rename(!!!setNames(input$tr_vars, colnames(dat))) + } else if (input$tr_change_type == "create") { + cmd <- .create(input$dataset, cmd = input$tr_create, byvar = input$tr_vars, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + } else if (input$tr_change_type == "replace") { + cmd <- .replace(input$dataset, input$tr_vars, input$tr_replace, df_name) + r_data[[df_name]][, colnames(dat)] <- dat + r_data[[df_name]][, input$tr_replace] <- list(NULL) + } else if (input$tr_change_type == "clip") { + cmd <- paste0( + i18n$t("## using the clipboard for data transformation may seem convenient"), + "\n", + i18n$t("## but it is not 'reproducible' - no command generated"), + "\n" + ) + r_data[[df_name]][, colnames(dat)] <- dat + } + + ## uncomment if you want to revert to resetting the transform UI after Store + # updateTextAreaInput(session, "tr_log", value = paste0(input$tr_log, paste0(cmd, ncmd), "\n")) + + ## update the command log + shinyAce::updateAceEditor(session, "tr_log", value = paste0(input$tr_log, paste0(cmd, ncmd), "\n")) + + ## reset input values once the changes have been applied + # updateSelectInput(session = session, inputId = "tr_change_type", selected = "none") + + ## jumps straight to the new dataset + # updateSelectInput(session = session, inputId = "dataset", selected = df_name) + if (input$dataset != df_name) { + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + i18n$t( + paste0( + "Dataset '", df_name, "' was successfully added to ", + "the datasets dropdown. Add code to Report > Rmd or ", + "Report > R to (re)create the results by clicking the ", + "report icon on the bottom left of your screen." + ) + ) + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) + } +}) + +observeEvent(input$tr_change_type, { + ## reset all values when tr_change_type is changed + updateTextInput(session = session, inputId = "tr_create", value = "") + updateTextInput(session = session, inputId = "tr_recode", value = "") + updateTextInput(session = session, inputId = "tr_rename", value = "") + updateTextInput(session = session, inputId = "tr_paste", value = "") + updateTextInput(session = session, inputId = "tr_gather_key", value = "") + updateTextInput(session = session, inputId = "tr_gather_value", value = "") + updateTextInput(session = session, inputId = "tr_spread_key", value = "") + updateTextInput(session = session, inputId = "tr_spread_value", value = "") + updateSelectInput(session = session, inputId = "tr_typefunction", selected = "none") + updateSelectInput(session = session, inputId = "tr_transfunction", selected = "none") + updateSelectInput(session = session, inputId = "tr_replace", selected = "None") + updateSelectInput(session = session, inputId = "tr_normalizer", selected = "none") + updateSelectInput(session = session, inputId = "tr_tab2dat", selected = "none") +}) + +transform_report <- function() { + cmd <- NULL + if (!is.empty(input$tr_log)) { + cmd <- gsub("\n{2,}", "\n", input$tr_log) %>% + sub("^\n", "", .) %>% + sub("\n$", "", .) + + shinyAce::updateAceEditor(session, "tr_log", value = "") + } + update_report(cmd = cmd, outputs = NULL, figs = FALSE) +} + +observeEvent(input$transform_report, { + r_info[["latest_screenshot"]] <- NULL + transform_report() +}) + +observeEvent(input$transform_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_transform_screenshot") +}) + +observeEvent(input$modal_transform_screenshot, { + transform_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/view_ui.R b/radiant.data/inst/app/tools/data/view_ui.R new file mode 100644 index 0000000..5810532 --- /dev/null +++ b/radiant.data/inst/app/tools/data/view_ui.R @@ -0,0 +1,330 @@ +############################################# +# View table output of the selected dataset +############################################# +output$ui_view_vars <- renderUI({ + vars <- varnames() + req(available(vars)) + isolate({ + if (not_available(r_state$view_vars)) { + r_state$view_vars <<- NULL + r_state$dataviewer_state <<- list() + r_state$dataviewer_search_columns <<- NULL + } + }) + + selectInput( + "view_vars", i18n$t("Select variables to show:"), + choices = vars, + selected = state_multiple("view_vars", vars, vars), + multiple = TRUE, + selectize = FALSE, size = min(15, length(vars)) + ) +}) + +output$ui_View <- renderUI({ + tagList( + wellPanel( + actionLink("view_clear", i18n$t("Clear settings"), icon = icon("sync", verify_fa = FALSE), style = "color:black"), + uiOutput("ui_view_vars"), + returnTextAreaInput("view_tab_slice", + label = i18n$t("Table slice (rows):"), + rows = 1, + value = state_init("view_tab_slice"), + placeholder = i18n$t("e.g., 1:5 and press return") + ), + numericInput( + "view_dec", i18n$t("Decimals:"), + value = state_init("view_dec", 2), + min = 0 + ), + tags$table( + tags$td(textInput("view_name", i18n$t("Store filtered data as:"), "", placeholder = i18n$t("Provide data name"))), + tags$td(actionButton("view_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE), class = "btn-success"), class = "top") + ) + ), + help_and_report( + i18n$t("View"), "view", + inclMD(file.path(getOption("radiant.path.data"), "app/tools/help/view.md")) %>% gsub("`", "", .), + lic = "by-sa" + ) + ) +}) + +observeEvent(input$dataviewer_search_columns, { + r_state$dataviewer_search_columns <<- input$dataviewer_search_columns +}) + +observeEvent(input$dataviewer_state, { + r_state$dataviewer_state <<- + if (is.null(input$dataviewer_state)) list() else input$dataviewer_state +}) + +## state_multiple should handle this, but doesn't +## using this observer, however, messes up state settings +# observeEvent(is.null(input$view_vars), { +# if ("view_vars" %in% names(input)) r_state$view_vars <<- NULL +# }) + +observeEvent(input$view_vars, { + if (length(r_state$view_vars) > 0) { + r_state$dataviewer_state <<- list() + r_state$dataviewer_search_columns <<- rep("", length(input$view_vars)) + } + r_state$view_vars <<- input$view_vars +}) + +observeEvent(input$view_clear, { + r_state$dataviewer_state <<- list() + r_state$dataviewer_search_columns <<- rep("", length(input$view_vars)) + r_state$view_vars <<- input$view_vars + updateCheckboxInput(session = session, inputId = "show_filter", value = FALSE) +}) + +output$dataviewer <- DT::renderDataTable( + { + input$view_clear + req(available(input$view_vars)) + dat <- select_at(.get_data(), .vars = input$view_vars) + + style <- if (exists("bslib_current_version") && "4" %in% bslib_current_version()) "bootstrap4" else "bootstrap" + + search <- r_state$dataviewer_state$search$search + if (is.null(search)) search <- "" + fbox <- if (nrow(dat) > 5e6) "none" else list(position = "top") + + isBigFct <- sapply(dat, function(x) is.factor(x) && length(levels(x)) > 1000) + if (sum(isBigFct) > 0) { + dat[, isBigFct] <- select(dat, which(isBigFct)) %>% mutate_all(as.character) + } + + ## for rounding + isInt <- sapply(dat, function(x) is.integer(x)) + isDbl <- sapply(dat, is_double) + dec <- input$view_dec %>% + (function(x) ifelse(is.empty(x) || x < 0, 3, round(x, 0))) + + caption <- if (is.empty(input$view_tab_slice)) NULL else htmltools::tags$caption(glue(i18n$t("Table slice {input$view_tab_slice} will be applied on Download, Store, or Report"))) + + withProgress( + message = i18n$t("Generating view table"), value = 1, + DT::datatable( + dat, + filter = fbox, + selection = "none", + rownames = FALSE, + ## must use fillContainer = FALSE to address + ## see https://github.com/rstudio/DT/issues/367 + ## https://github.com/rstudio/DT/issues/379 + fillContainer = FALSE, + ## only works with client-side processing + # extension = "KeyTable", + escape = FALSE, + # editable = TRUE, + style = style, + options = list( + stateSave = TRUE, ## maintains state + searchCols = lapply(r_state$dataviewer_search_columns, function(x) list(search = x)), + search = list(search = search, regex = TRUE), + order = { + if (is.null(r_state$dataviewer_state$order)) { + list() + } else { + r_state$dataviewer_state$order + } + }, + columnDefs = list( + list(orderSequence = c("desc", "asc"), targets = "_all"), + list(className = "dt-center", targets = "_all") + ), + autoWidth = TRUE, + processing = isTRUE(fbox == "none"), + pageLength = { + if (is.null(r_state$dataviewer_state$length)) 10 else r_state$dataviewer_state$length + }, + lengthMenu = list(c(5, 10, 25, 50, -1), c("5", "10", "25", "50", i18n$t("All"))) + ), + caption = caption, + ## https://github.com/rstudio/DT/issues/146#issuecomment-534319155 + callback = DT::JS('$(window).on("unload", function() { table.state.clear(); }); ') + ) %>% + (function(x) if (sum(isDbl) > 0) DT::formatRound(x, names(isDbl)[isDbl], dec) else x) %>% + (function(x) if (sum(isInt) > 0) DT::formatRound(x, names(isInt)[isInt], 0) else x) + ) + }, + server = TRUE +) + +observeEvent(input$view_store, { + req(input$view_name) + data_filter <- if (input$show_filter) input$data_filter else "" + data_arrange <- if (input$show_filter) input$data_arrange else "" + data_rows <- if (input$show_filter) input$data_rows else "" + + dataset <- fix_names(input$view_name) + if (input$view_name != dataset) { + updateTextInput(session, inputId = "view_name", value = dataset) + } + + r_data[[dataset]] <- get_data( + input$dataset, + vars = input$view_vars, filt = data_filter, arr = data_arrange, + rows = data_rows, data_view_rows = input$dataviewer_rows_all, + na.rm = FALSE, envir = r_data + ) %>% + (function(x) if (is.empty(input$view_tab_slice)) x else slice_data(x, input$view_tab_slice)) + register(dataset) + updateSelectInput(session = session, inputId = "dataset", selected = input$dataset) + + if (input$dataset != dataset) { + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + paste0(i18n$t("Dataset '"), dataset, i18n$t("' was successfully added to + the datasets dropdown. Add code to Report > Rmd or + Report > R to (re)create the dataset by clicking the report i + con on the bottom left of your screen.")) + ), + footer = modalButton(i18n$t("OK")), + size = "m", + easyClose = TRUE + ) + ) + } +}) + +dl_view_tab <- function(file) { + data_filter <- if (input$show_filter) input$data_filter else "" + data_arrange <- if (input$show_filter) input$data_arrange else "" + data_rows <- if (input$show_filter) input$data_rows else "" + get_data( + input$dataset, + vars = input$view_vars, + filt = data_filter, + arr = data_arrange, + rows = data_rows, + data_view_rows = input$dataviewer_rows_all, + na.rm = FALSE, + envir = r_data + ) %>% + (function(x) if (is.empty(input$view_tab_slice)) x else slice_data(x, input$view_tab_slice)) %>% + write.csv(file, row.names = FALSE) +} + +download_handler( + id = "dl_view_tab", + fun = dl_view_tab, + fn = function() { + ifelse(is.empty(input$view_name), paste0(input$dataset, i18n$t("_view")), input$view_name) + } +) + +.dataviewer <- reactive({ + list(tab = .get_data()[1, ]) +}) + +.viewcmd <- function(mess = "") { + ## get the state of the dt table + ts <- dt_state("dataviewer", vars = input$view_vars) + + if (is.empty(input$view_name)) { + dataset <- NULL + } else { + dataset <- fix_names(input$view_name) + if (input$view_name != dataset) { + updateTextInput(session, inputId = "view_name", value = dataset) + } + } + + cmd <- "" + + ## shorten list of variales if possible + vars <- input$view_vars + cn <- colnames(.dataviewer()$tab) + ind <- which(cn %in% vars) + + if (length(vars) == length(cn)) { + vars <- paste0(head(vars, 1), ":", tail(vars, 1)) + } else if ((max(ind) - min(ind) + 1) == length(vars)) { + vars <- paste0(cn[min(ind)], ":", cn[max(ind)]) + } else if (length(vars) > (length(cn) / 2)) { + vars <- paste0("-", base::setdiff(cn, vars), collapse = ", ") + } else { + vars <- paste0(vars, collapse = ", ") + } + + if (is.empty(dataset)) { + xcmd <- paste0(i18n$t(" dtab(")) + } else { + xcmd <- paste0(i18n$t("dtab("), dataset, ", ") + } + if (!is.empty(input$view_dec, 3)) { + xcmd <- paste0(xcmd, i18n$t("dec = "), input$view_dec, ", ") + } + if (!is.empty(r_state$dataviewer_state$length, 10)) { + xcmd <- paste0(xcmd, i18n$t("pageLength = "), r_state$dataviewer_state$length, ", ") + } + + ## create the command to filter and sort the data + if (is.empty(dataset)) { + cmd <- paste0(cmd, i18n$t("## filter and sort the dataset\n"), input$dataset) + } else { + cmd <- paste0(cmd, i18n$t("## filter and sort the dataset\n"), dataset, " <- ", input$dataset) + } + if (input$show_filter && !is.empty(input$data_filter)) { + cmd <- paste0(cmd, " %>%\n ", i18n$t("filter("), input$data_filter, ")") + } + if (input$show_filter && !is.empty(input$data_arrange)) { + cmd <- paste0(cmd, " %>%\n ", i18n$t("arrange("), make_arrange_cmd(input$data_arrange)) + } + if (input$show_filter && !is.empty(input$data_rows)) { + cmd <- paste0(cmd, " %>%\n ", i18n$t("slice("), input$data_rows, ")") + } + if (!is.empty(ts$search)) { + cmd <- paste0(cmd, " %>%\n filter(search_data(., \"", ts$search, "\"))") + } + if (!is.empty(ts$tabfilt)) { + cmd <- paste0(cmd, " %>%\n ", i18n$t("filter("), ts$tabfilt, ")") + } + if (!is.empty(ts$tabsort)) { + cmd <- paste0(cmd, " %>%\n ", i18n$t("arrange("), ts$tabsort, ")") + } + if (!is.empty(input$view_tab_slice)) { + cmd <- paste0(cmd, " %>%\n slice(", input$view_tab_slice, ")") + xcmd <- paste0(xcmd, i18n$t("caption = \"\") %>%\n render()")) + } else { + xcmd <- paste0(xcmd, i18n$t("caption = \"\", nr = 100) %>%\n render()")) + } + ## moved `select` to the end so filters can use variables + ## not selected for the final dataset + if (is.empty(dataset)) { + paste0(cmd, " %>%\n ", i18n$t("select("), vars, i18n$t(") %>%\n droplevels() %>%")) %>% + paste0("\n", xcmd) + } else { + ret <- paste0(cmd, " %>%\n ", i18n$t("select("), vars, i18n$t(") %>% droplevels()")) + if (dataset != input$dataset) { + ret <- paste0(ret, "\n", i18n$t("register(\""), dataset, "\", \"", input$dataset, "\")\n", xcmd) + } + ret + } +} + +view_report <- function() { + update_report(cmd = .viewcmd(), outputs = NULL, figs = FALSE) +} + +observeEvent(input$view_report, { + r_info[["latest_screenshot"]] <- NULL + view_report() +}) + +observeEvent(input$view_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_view_screenshot") +}) + +observeEvent(input$modal_view_screenshot, { + view_report() + removeModal() +}) diff --git a/radiant.data/inst/app/tools/data/visualize_ui.R b/radiant.data/inst/app/tools/data/visualize_ui.R new file mode 100644 index 0000000..522ead8 --- /dev/null +++ b/radiant.data/inst/app/tools/data/visualize_ui.R @@ -0,0 +1,585 @@ +############################################# +# 安全封装:避免 is.empty() 报错 +############################################# +safe_is_empty <- function(x) { + if (is.null(x) || !is.character(x)) return(TRUE) + is.empty(x) +} + +############################################# +# 其余代码保持不变,仅替换 is.empty() 调用 +############################################# + +viz_type <- c( + "分布图(dist)" = "dist", "密度图(density)" = "density", "散点图(scatter)" = "scatter", + "曲面图(surface)" = "surface", "折线图(line)" = "line", "条形图(bar)" = "bar", "箱线图(box)" = "box" +) +viz_check <- c( + "直线(line)" = "line", "局部加权回归(loess)" = "loess", + "抖动(jitter)" = "jitter", + "插值(interpolate)" = "interpolate" +) +viz_axes <- c( + "翻转坐标轴(flip)" = "flip", "X轴对数变换(log_x)" = "log_x", "Y轴对数变换(log_y)" = "log_y", + "Y轴缩放(scale_y)" = "scale_y", "密度(density)" = "density", "排序(sort)" = "sort" +) +viz_theme <- c( + "灰色主题(gray)" = "theme_gray", "黑白主题(bw)" = "theme_bw", + "明亮主题(light)" = "theme_light", "暗黑主题(dark)" = "theme_dark", + "极简主题(minimal)" = "theme_minimal", "经典主题(classic)" = "theme_classic" +) + +os_type <- Sys.info()["sysname"] +if (os_type == "Windows") { + fnt <- names(windowsFonts()) + names(fnt) <- tools::toTitleCase(fnt) + viz_base_family <- c("Theme default" = "", fnt) +} else { + viz_base_family <- c( + "Theme default" = "", "Helvetica" = "Helvetica", "Serif" = "serif", + "Sans" = "sans", "Mono" = "mono", "Courier" = "Courier", "Times" = "Times" + ) +} + +viz_labs <- c(i18n$t("title"), i18n$t("subtitle"), i18n$t("caption"), i18n$t("x"), i18n$t("y")) +viz_add_labs <- function() { + lab_list <- list() + for (l in viz_labs) { + inp <- input[[paste0("viz_labs_", l)]] + if (!safe_is_empty(inp)) lab_list[[l]] <- inp + } + lab_list +} + +viz_args <- as.list(formals(visualize)) + +viz_inputs <- reactive({ + viz_args$data_filter <- if (isTRUE(input$show_filter)) input$data_filter else "" + viz_args$arr <- if (isTRUE(input$show_filter)) input$data_arrange else "" + viz_args$rows <- if (isTRUE(input$show_filter)) input$data_rows else "" + viz_args$dataset <- input$dataset + viz_args$shiny <- input$shiny + viz_args$labs <- viz_add_labs() + for (i in r_drop(names(viz_args), drop = c(i18n$t("dataset"), i18n$t("data_filter"), i18n$t("arr"), i18n$t("rows"), i18n$t("labs")))) { + viz_args[[i]] <- input[[paste0("viz_", i)]] + } + viz_args +}) + +output$ui_viz_type <- renderUI({ + selectInput( + inputId = "viz_type", label = i18n$t("Plot-type:"), choices = viz_type, + selected = state_single("viz_type", viz_type), + multiple = FALSE + ) +}) + +output$ui_viz_nrobs <- renderUI({ + req(input$viz_type == "scatter") + nrobs <- nrow(.get_data()) + choices <- c("1,000" = 1000, "5,000" = 5000, "10,000" = 10000, "All" = -1) %>% + .[. < nrobs] + selectInput( + "viz_nrobs", i18n$t("Number of data points plotted:"), + choices = choices, + selected = state_single("viz_nrobs", choices, 1000) + ) +}) + +output$ui_viz_yvar <- renderUI({ + req(input$viz_type) + vars <- varying_vars() + req(available(vars)) + vars <- vars["date" != .get_class()[vars]] + if (input$viz_type %in% c("line", "bar", "scatter", "surface", "box")) { + vars <- vars["character" != .get_class()[vars]] + } + if (input$viz_type %in% c("box", "scatter")) { + vars <- vars["factor" != .get_class()[vars]] + } + selectInput( + inputId = "viz_yvar", label = i18n$t("Y-variable:"), + choices = vars, + selected = state_multiple("viz_yvar", vars, isolate(input$viz_yvar)), + multiple = TRUE, size = min(3, length(vars)), selectize = FALSE + ) +}) + +output$ui_viz_xvar <- renderUI({ + req(input$viz_type) + vars <- varying_vars() + req(available(vars)) + if (input$viz_type == "dist") vars <- vars["date" != .get_class()[vars]] + if (input$viz_type == "density") vars <- vars["factor" != .get_class()[vars]] + if (input$viz_type %in% c("box", "bar")) vars <- groupable_vars_nonum() + selectInput( + inputId = "viz_xvar", label = i18n$t("X-variable:"), choices = vars, + selected = state_multiple("viz_xvar", vars, isolate(input$viz_xvar)), + multiple = TRUE, size = min(3, length(vars)), selectize = FALSE + ) +}) + +output$ui_viz_comby <- renderUI({ + checkboxInput( + "viz_comby", i18n$t("Combine Y-variables in one plot"), + state_init("viz_comby", FALSE) + ) +}) + +output$ui_viz_combx <- renderUI({ + checkboxInput( + "viz_combx", i18n$t("Combine X-variables in one plot"), + state_init("viz_combx", FALSE) + ) +}) + +observeEvent(length(input$viz_xvar) < 2, { + updateCheckboxInput(session, "viz_combx", value = FALSE) +}) + +observeEvent(length(input$viz_yvar) < 2, { + updateCheckboxInput(session, "viz_comby", value = FALSE) +}) + +observeEvent(input$viz_type, { + if (input$viz_type %in% c("dist", "density")) { + updateCheckboxInput(session, "viz_comby", value = FALSE) + } else { + updateCheckboxInput(session, "viz_combx", value = FALSE) + } +}) + +observeEvent(input$viz_check, { + if (!"loess" %in% input$viz_check && input$viz_smooth != 1) { + updateSliderInput(session, "viz_smooth", value = 1) + } +}) + +output$ui_viz_facet_row <- renderUI({ + vars <- c("None" = ".", groupable_vars_nonum()) + selectizeInput( + "viz_facet_row", i18n$t("Facet row:"), vars, + selected = state_single("viz_facet_row", vars, init = "."), + multiple = FALSE + ) +}) + +output$ui_viz_facet_col <- renderUI({ + vars <- c("None" = ".", groupable_vars_nonum()) + selectizeInput( + "viz_facet_col", i18n$t("Facet column:"), vars, + selected = state_single("viz_facet_col", vars, init = "."), + multiple = FALSE + ) +}) + +output$ui_viz_color <- renderUI({ + req(input$viz_type) + if (input$viz_type == "line") { + vars <- c("None" = "none", groupable_vars()) + } else { + vars <- c("None" = "none", varnames()) + } + if (isTRUE(input$viz_comby) && length(input$viz_yvar) > 1) vars <- c("None" = "none") + selectizeInput( + "viz_color", i18n$t("Color:"), vars, + multiple = FALSE, + selected = state_single("viz_color", vars, init = "none") + ) +}) + +output$ui_viz_fill <- renderUI({ + vars <- c("None" = "none", groupable_vars()) + if (isTRUE(input$viz_combx) && length(input$viz_xvar) > 1) vars <- vars[1] + selectizeInput( + "viz_fill", i18n$t("Fill:"), vars, + multiple = FALSE, + selected = state_single("viz_fill", vars, init = "none") + ) +}) + +output$ui_viz_size <- renderUI({ + req(input$viz_type) + isNum <- .get_class() %in% c("integer", "numeric", "ts") + vars <- c("None" = "none", varnames()[isNum]) + if (isTRUE(input$viz_comby) && length(input$viz_yvar) > 1) vars <- c("None" = "none") + selectizeInput( + "viz_size", i18n$t("Size:"), vars, + multiple = FALSE, + selected = state_single("viz_size", vars, init = "none") + ) +}) + +output$ui_viz_axes <- renderUI({ + req(input$viz_type) + ind <- 1 + if (input$viz_type %in% c("line", "scatter", "surface")) { + ind <- 1:3 + } else if (input$viz_type == "dist") { + ind <- c(1:2, 5) + } else if (input$viz_type == "density") { + ind <- 1:2 + } else if (input$viz_type %in% c("bar", "box")) { + ind <- c(1, 3) + } + if (input$viz_facet_row != "." || input$viz_facet_col != ".") ind <- c(ind, 4) + if (input$viz_type == "bar") ind <- c(ind, 6) + + checkboxGroupInput( + "viz_axes", NULL, viz_axes[ind], + selected = state_group("viz_axes", ""), + inline = TRUE + ) +}) + +output$ui_viz_check <- renderUI({ + req(input$viz_type) + if (input$viz_type == "scatter") { + ind <- 1:3 + } else if (input$viz_type == "box") { + ind <- 3 + } else if (input$viz_type == "surface") { + ind <- 4 + } else { + ind <- c() + } + if (!input$viz_type %in% c("scatter", "box")) { + r_state$viz_check <<- gsub("jitter", "", r_state$viz_check) + } + if (input$viz_type != "scatter") { + r_state$viz_check <<- gsub("line", "", r_state$viz_check) + r_state$viz_check <<- gsub("loess", "", r_state$viz_check) + } + checkboxGroupInput( + "viz_check", NULL, viz_check[ind], + selected = state_group("viz_check", ""), + inline = TRUE + ) +}) + +output$ui_viz_run <- renderUI({ + req(input$dataset) + actionButton("viz_run", i18n$t("Create plot"), width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") +}) + +output$ui_viz_labs <- renderUI({ + req(input$dataset) + wellPanel( + textAreaInput("viz_labs_title", NULL, "", placeholder = i18n$t("Title"), rows = 1), + textAreaInput("viz_labs_subtitle", NULL, "", placeholder = i18n$t("Subtitle"), rows = 1), + textAreaInput("viz_labs_caption", NULL, "", placeholder = i18n$t("Caption"), rows = 1), + textAreaInput("viz_labs_y", NULL, "", placeholder = i18n$t("Y-label"), rows = 1), + textAreaInput("viz_labs_x", NULL, "", placeholder = i18n$t("X-label"), rows = 1) + ) +}) + +output$ui_viz_colors <- renderUI({ + tagList( + conditionalPanel( + condition = "input.viz_type == 'bar' || input.viz_type == 'dist' || input.viz_type == 'box' || input.viz_type == 'density'", + selectInput( + "viz_fillcol", i18n$t("Fill color:"), + choices = colors(), + selected = state_single("viz_fillcol", colors(), "blue") + ) + ), + conditionalPanel( + condition = "input.viz_type == 'dist' || input.viz_type == 'density' || input.viz_type == 'box' || input.viz_type == 'scatter' || input.viz_type == 'line'", + selectInput( + "viz_linecol", i18n$t("Line color:"), + choices = colors(), + selected = state_single("viz_linecol", colors(), "black") + ) + ), + conditionalPanel( + condition = "input.viz_type == 'scatter' || input.viz_type == 'line' || input.viz_type == 'box'", + selectInput( + "viz_pointcol", i18n$t("Point color:"), + choices = colors(), + selected = state_single("viz_pointcol", colors(), "black") + ) + ) + ) +}) + +run_refresh( + viz_args, "viz", + init = c("xvar", "yvar"), label = i18n$t("Create plot"), relabel = i18n$t("Update plot"), + inputs = c("labs_title", "labs_subtitle", "labs_caption", "labs_y", "labs_x") +) + +output$ui_Visualize <- renderUI({ + tagList( + wellPanel( + uiOutput("ui_viz_run") + ), + checkboxInput("viz_details_main", i18n$t("Main"), state_init("viz_details_main", TRUE)), + conditionalPanel( + "input.viz_details_main == true", + wellPanel( + uiOutput("ui_viz_type"), + conditionalPanel( + "input.viz_type == 'scatter'", + uiOutput("ui_viz_nrobs") + ), + conditionalPanel( + condition = "input.viz_type != 'dist' && input.viz_type != 'density'", + uiOutput("ui_viz_yvar"), + conditionalPanel( + "input.viz_yvar != undefined && input.viz_yvar != null && input.viz_yvar.length > 1", + uiOutput("ui_viz_comby") + ) + ), + uiOutput("ui_viz_xvar"), + conditionalPanel( + "input.viz_type == 'dist' || input.viz_type == 'density'", + conditionalPanel( + "input.viz_xvar != undefined && input.viz_xvar != null && input.viz_xvar.length > 1", + uiOutput("ui_viz_combx") + ) + ), + uiOutput("ui_viz_facet_row"), + uiOutput("ui_viz_facet_col"), + conditionalPanel( + condition = "input.viz_type == 'bar' || input.viz_type == 'dist' || input.viz_type == 'density' || input.viz_type == 'surface'", + uiOutput("ui_viz_fill") + ), + conditionalPanel( + condition = "input.viz_type == 'scatter' || input.viz_type == 'line' || input.viz_type == 'box'", + uiOutput("ui_viz_color") + ), + conditionalPanel( + condition = "input.viz_type == 'scatter'", + uiOutput("ui_viz_size") + ), + conditionalPanel( + condition = "input.viz_type == 'bar' || input.viz_type == 'scatter' || input.viz_type == 'line'", + selectInput( + "viz_fun", i18n$t("Function:"), + choices = getOption("radiant.functions"), + selected = state_single("viz_fun", getOption("radiant.functions"), "mean") + ) + ), + conditionalPanel( + condition = "input.viz_type == 'scatter' || input.viz_type == 'line' || input.viz_type == 'surface' || input.viz_type == 'box'", + uiOutput("ui_viz_check") + ), + uiOutput("ui_viz_axes"), + conditionalPanel( + condition = "input.viz_type == 'dist'", + sliderInput( + "viz_bins", + label = i18n$t("Number of bins:"), + value = state_init("viz_bins", 10), + min = 2, max = 50, step = 1 + ) + ), + conditionalPanel( + "input.viz_type == 'density' || input.viz_type == 'dist' && (input.viz_axes && input.viz_axes.indexOf('density')) >= 0 || (input.viz_type == 'scatter' && (input.viz_check && input.viz_check.indexOf('loess') >= 0))", + sliderInput( + "viz_smooth", + label = i18n$t("Smooth:"), + value = state_init("viz_smooth", 1), + min = 0.1, max = 3, step = .1 + ) + ) + ) + ), + checkboxInput("viz_details_labels", i18n$t("Labels"), state_init("viz_details_labels", FALSE)), + conditionalPanel( + "input.viz_details_labels == true", + uiOutput("ui_viz_labs") + ), + checkboxInput("viz_details_style", i18n$t("Style"), state_init("viz_details_style", FALSE)), + conditionalPanel( + "input.viz_details_style == true", + wellPanel( + selectInput( + "viz_theme", i18n$t("Plot theme:"), + choices = viz_theme, + selected = state_single("viz_theme", viz_theme, "theme_gray") + ), + numericInput( + "viz_base_size", i18n$t("Base font size:"), + value = state_init("viz_base_size", 11) + ), + selectInput( + "viz_base_family", i18n$t("Font family:"), + choices = viz_base_family, + selected = state_single("viz_base_family", viz_base_family, "helvetica") + ), + uiOutput("ui_viz_colors"), + sliderInput( + "viz_alpha", + label = i18n$t("Opacity:"), + value = state_init("viz_alpha", .5), + min = 0, max = 1, step = .01 + ), + tags$table( + tags$td( + numericInput( + "viz_plot_height", + label = i18n$t("Plot height:"), min = 100, + max = 2000, step = 50, + value = state_init("viz_plot_height", r_info[["plot_height"]]), + width = "117px" + ) + ), + tags$td( + numericInput( + "viz_plot_width", + label = i18n$t("Plot width:"), min = 100, + max = 2000, step = 50, + value = state_init("viz_plot_width", r_info[["plot_width"]]), + width = "117px" + ), + width = "100%" + ) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Visualize"), + fun_name = "visualize", + help_file = inclRmd(file.path(getOption("radiant.path.data"), "app/tools/help/visualize.md")), + lic = "by-sa" + ) + ) +}) + +viz_plot_width <- reactive({ + if (safe_is_empty(input$viz_plot_width)) r_info[["plot_width"]] else input$viz_plot_width +}) + +viz_plot_height <- eventReactive( + { + input$viz_run + input$viz_plot_height + input$viz_plot_width + }, + { + if (safe_is_empty(input$viz_plot_height)) { + r_info[["plot_height"]] + } else { + lx <- ifelse(not_available(input$viz_xvar) || isTRUE(input$viz_combx), 1, length(input$viz_xvar)) + ly <- ifelse(not_available(input$viz_yvar) || input$viz_type %in% c("dist", "density") || isTRUE(input$viz_comby), 1, length(input$viz_yvar)) + nr <- lx * ly + if (nr > 1) { + (input$viz_plot_height / 2) * ceiling(nr / 2) + } else { + input$viz_plot_height + } + } + } +) + +output$visualize <- renderPlot({ + req(input$viz_type) + p <- .visualize() + if (is.null(p)) return(NULL) + print(p) +}, width = viz_plot_width, height = viz_plot_height, res = 96) + +.visualize <- eventReactive(input$viz_run, { + req(input$viz_type) + if (input$viz_type == "scatter") req(input$viz_nrobs) + req(input$viz_plot_height && input$viz_plot_width) + + if (not_available(input$viz_xvar) && !input$viz_type %in% c("box", "line")) { + return(NULL) + } + if (input$viz_type %in% c("scatter", "line", "box", "bar", "surface") && not_available(input$viz_yvar)) { + return(NULL) + } + + vizi <- viz_inputs() + vizi$dataset <- input$dataset + vizi$shiny <- TRUE + vizi$envir <- r_data + + withProgress(message = i18n$t("Making plot"), value = 1, { + p <- do.call(visualize, vizi) + if (is.character(p)) return(NULL) + p + }) +}) + +visualize_report <- function() { + vi <- viz_inputs() + if (input$viz_type != "dist") { + vi$bins <- viz_args$bins + } + if (input$viz_type %in% c("dist", "density")) { + vi$yvar <- viz_args$yvar + } + if (!input$viz_type %in% c("density", "scatter", "dist") || + !("loess" %in% input$viz_check || "density" %in% input$viz_axes || input$viz_type == "density")) { + vi$smooth <- viz_args$smooth + } + if (!input$viz_type %in% c("scatter", "box") && "jitter" %in% input$viz_check) { + vi$check <- base::setdiff(vi$check, "jitter") + } + if (input$viz_type != "scatter") { + vi$size <- "none" + vi$nrobs <- NULL + } else { + vi$nrobs <- as_integer(vi$nrobs) + } + if (!input$viz_type %in% c("scatter", "line", "box")) { + vi$color <- NULL + } + if (!input$viz_type %in% c("bar", "dist", "density", "surface")) { + vi$fill <- NULL + } + if (!input$viz_type %in% c("bar", "dist", "box", "density")) { + vi$fillcol <- "blue" + } + if (!input$viz_type %in% c("dist", "density", "box", "scatter", "line")) { + vi$linecol <- "black" + } + if (!input$viz_type %in% c("box", "scatter", "line")) { + vi$pointcol <- "black" + } + if (!input$viz_type %in% c("bar", "line", "scatter")) { + vi$fun <- "mean" + } + if (safe_is_empty(input$data_rows)) { + vi$rows <- NULL + } + inp_main <- c(clean_args(vi, viz_args), custom = FALSE) + update_report( + inp_main = inp_main, + fun_name = "visualize", + outputs = character(0), + pre_cmd = "", + figs = TRUE, + fig.width = viz_plot_width(), + fig.height = viz_plot_height() + ) +} + +download_handler( + id = "dlp_visualize", + fun = download_handler_plot, + fn = function() paste0(input$dataset, "_visualize"), + type = "png", + caption = i18n$t("Save visualize plot"), + plot = .visualize, + width = viz_plot_width, + height = viz_plot_height +) + +observeEvent(input$visualize_report, { + r_info[["latest_screenshot"]] <- NULL + visualize_report() +}) + +observeEvent(input$visualize_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_visualize_screenshot") +}) + +observeEvent(input$modal_visualize_screenshot, { + visualize_report() + removeModal() +}) \ No newline at end of file diff --git a/radiant.data/inst/app/tools/help/combine.Rmd b/radiant.data/inst/app/tools/help/combine.Rmd new file mode 100644 index 0000000..d42dfc7 --- /dev/null +++ b/radiant.data/inst/app/tools/help/combine.Rmd @@ -0,0 +1,1056 @@ +> 合并两个数据集 + +Radiant 中提供了六种来自 Hadley Wickham 等人开发的dplyr包的 “连接(join)”(或 “合并(merge)”)选项。 + +以下示例改编自 Jenny Bryan 的《dplyr 连接函数速查表》,聚焦三个小型数据集(superheroes、publishers和avengers),以说明 R 和 Radiant 中不同的连接类型及其他数据集合并方式。这些数据也可通过以下链接获取 csv 格式文件: + +* superheroes.csv +* publishers.csv +* avengers.csv + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Superheroes
    name alignment gender publisher
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    + + + + + + + + + + + + + + + + + + + + + + + +
    Publishers
    publisher yr_founded
    DC 1934
    Marvel 1939
    Image 1992
    + +在下方`数据>合并` 标签页的截图中,我们可以看到两个数据集。这两个表格共享 “出版商(publisher)” 变量,该变量会被自动选为连接键。`合并方式` 下拉菜单中提供了不同的连接选项。你也可以在 `合并后的数据集名称` 文本输入框中指定合并后数据集的名称。 + +

    + +
    + +### 内连接(超级英雄 × 出版商) + +若 x = 超级英雄数据集,y = 出版商数据集: + +> 内连接返回 x 中与 y 有匹配值的所有行,以及 x 和 y 的所有列。若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    + +在上述表格中,我们丢失了 “地狱男爵(Hellboy)”,因为尽管这个英雄出现在`superheroes`数据集中,但其出版商(黑马漫画)未出现在`publishers`数据集中。连接结果包含`superheroes`的所有变量,以及来自`publishers`的 “成立年份(yr_founded)” 变量。我们可以用下方的维恩图可视化内连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "inner_join") + +# R +inner_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 左连接(超级英雄 × 出版商) + +> 左连接返回 x 的所有行,以及 x 和 y 的所有列。若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    Hellboy good male Dark Horse Comics NA
    + +连接结果包含`superheroes`的所有数据,以及来自`publishers`的 “成立年份(yr_founded)” 变量。“地狱男爵” 的出版商未出现在`publishers`中,因此其 “成立年份” 为`NA`。我们可以用下方的维恩图可视化左连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "left_join") + +# R +left_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 右连接(超级英雄 × 出版商) + +> 右连接返回 y 的所有行,以及 y 和 x 的所有列。若 y 和 x 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    NA NA NA Image 1992
    + +连接结果包含`publishers`的所有行和列,以及`superheroes`的所有变量。我们丢失了 “地狱男爵”,因为其出版商未出现在`publishers`中。“图像漫画(Image)” 被保留在表格中,但来自`superheroes`的 “姓名(name)”“阵营(alignment)” 和 “性别(gender)” 变量为`NA`。请注意,连接可能会改变行和变量的顺序,因此在分析中不应依赖这些顺序。我们可以用下方的维恩图可视化右连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "right_join") + +# R +right_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 全连接(超级英雄 × 出版商) + +> 全连接合并两个数据集,保留出现在任一数据集中的行和列。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    Hellboy good male Dark Horse Comics NA
    NA NA NA Image 1992
    + +在这个表格中,我们保留了 “地狱男爵”(即使 “黑马漫画” 不在`publishers`中)和 “图像漫画”(即使该出版商未在`superheroes`中列出),并获取了两个数据集的变量。没有匹配项的观测在来自另一个数据集的变量中被赋值为 NA。我们可以用下方的维恩图可视化全连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "full_join") + +# R +full_join(superheroes, publishers, by = "publisher") +``` + +### 半连接(超级英雄 × 出版商) + +> 半连接仅保留 x 中的列。内连接会为 x 中每个与 y 匹配的行返回一行,而半连接绝不会复制 x 中的行。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    + +我们得到了与`内连接`类似的表格,但仅包含`superheroes`中的变量。R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "semi_join") + +# R +semi_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 反连接(超级英雄 × 出版商) + +> 反连接返回 x 中与 y 无匹配值的所有行,仅保留 x 中的列。 + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Hellboy good male Dark Horse Comics
    + +现在我们**只**得到了 `地狱男爵`—— 唯一未在`publishers`中找到对应出版商的超级英雄,且未包含 “成立年份(yr_founded)” 变量。我们可以用下方的维恩图可视化反连接: + +

    + +
    + +### 数据集顺序 + +请注意,所选数据集的顺序可能会影响连接结果。如果我们如下设置 `数据> 合并` 标签页,结果如下: + +

    + +
    + +### 内连接(出版商 × 超级英雄) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    publisher yr_founded name alignment gender
    DC 1934 Batman good male
    DC 1934 Joker bad male
    DC 1934 Catwoman bad female
    Marvel 1939 Magneto bad male
    Marvel 1939 Storm good female
    Marvel 1939 Mystique bad female
    + +每个在`superheroes`中有匹配项的出版商都会多次出现,每个匹配项对应一行。除变量和行的顺序外,这与上方显示的内连接结果相同。 + +
    + +### 左连接和右连接(出版商 × 超级英雄) + +除行和变量顺序外,`publishers`与`superheroes`的左连接等价于`superheroes`与`publishers`的右连接。同样,`publishers`与`superheroes`的右连接等价于`superheroes`与`publishers`的左连接。 + +
    + +### 全连接(出版商 × 超级英雄) + +如你所料,除行和变量顺序外,`publishers`与`superheroes`的全连接等价于`superheroes`与`publishers`的全连接。 + +
    + +### 半连接(出版商 × 超级英雄) + + + + + + + + + + + + + + + + + + +
    publisher yr_founded
    DC 1934
    Marvel 1939
    + +通过半连接,交换数据集顺序的影响更为明显。尽管每个出版商有多个匹配项,但仅显示一次。与之对比,内连接中 “若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回”。表格中丢失了出版商 “图像漫画(Image)”,因为它不在`superheroes`中。 + +
    + +### 反连接(出版商 × 超级英雄) + + + + + + + + + + + + + + +
    publisher yr_founded
    Image 1992
    + +仅保留了出版商 “图像漫画”,因为 “漫威” 和 “DC” 都在`superheroes`中。我们只保留了`publishers`中的变量。 + +
    + +### 合并数据集的其他工具(复仇者 × 超级英雄) + +当两个数据集具有相同的列(或行)时,还有其他方法可将它们合并为新数据集。我们已使用过`superheroes`数据集,现在尝试将其与`avengers`数据合并。这两个数据集的行数和列数相同,且列名相同。 + +在下方 “数据> 合并” 标签页的截图中,我们可以看到这两个数据集。此处无需选择变量来合并数据集,`选择变量` 中的任何变量在下方命令中都会被忽略。同样,你可以在 `合并后的数据集` 文本输入框中指定合并后数据集的名称。 + +

    + +
    + +### 行绑定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    Magneto bad male Marvel
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    + +如果`avengers`数据集旨在扩展超级英雄列表,我们可以将两个数据集上下堆叠。新数据集有 14 行和 4 列。由于`avengers`数据集中的编码错误(万磁王并非复仇者),新合并的数据集中出现了重复行,这可能是我们不希望看到的。 + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(avengers, superheroes, type = "bind_rows") + +# R +bind_rows(avengers, superheroes) +``` + +
    + +### 列绑定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name...1 alignment...2 gender...3 publisher...4 name...5 alignment...6 gender...7 publisher...8
    Thor good male Marvel Magneto bad male Marvel
    Iron Man good male Marvel Storm good female Marvel
    Hulk good male Marvel Mystique bad female Marvel
    Hawkeye good male Marvel Batman good male DC
    Black Widow good female Marvel Joker bad male DC
    Captain America good male Marvel Catwoman bad female DC
    Magneto bad male Marvel Hellboy good male Dark Horse Comics
    + +如果数据集为相同超级英雄包含不同列,我们可以将两个数据集并排合并。在 Radiant 中,若尝试绑定同名列,会看到错误消息,这是我们应始终避免的情况。若已知两个数据集的行 ID 顺序相同但列完全不同,此方法可能有用。 + +
    + +### 交集 + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Magneto bad male Marvel
    + +检查两个具有相同列的数据集是否有重复行的好方法是从`合并方式` 下拉菜单中选择 `交集`。`avengers`和`superheroes`数据中确实有一行完全相同(即万磁王)。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`intersect`。 + +
    + +### 并集 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    +`avengers`和`superheroes`的 `并集` 会合并数据集,但会省略重复行(即仅保留万磁王的一行)。这可能是我们此处想要的结果。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`union`。 + +
    + +### 差集 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    +最后,`差集` 会保留`avengers`中不在`superheroes`中的行。若交换输入(即从 `数据集` 下拉菜单中选择`superheroes`,从 `合并对象` 下拉菜单中选择`superheroes`),最终会得到`superheroes`中不在`avengers`中的所有行。两种情况下,万磁王的条目都会被省略。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`setdiff`。 + +
    + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建合并后的数据集。 + +更多相关讨论请参见《R for data science》中关于关系数据的章节点击查看Tidy Explain。 + +### R 函数 + +有关`combine_data`函数的帮助,请参见*数据 > 合并*。 diff --git a/radiant.data/inst/app/tools/help/combine.md b/radiant.data/inst/app/tools/help/combine.md new file mode 100644 index 0000000..d42dfc7 --- /dev/null +++ b/radiant.data/inst/app/tools/help/combine.md @@ -0,0 +1,1056 @@ +> 合并两个数据集 + +Radiant 中提供了六种来自 Hadley Wickham 等人开发的dplyr包的 “连接(join)”(或 “合并(merge)”)选项。 + +以下示例改编自 Jenny Bryan 的《dplyr 连接函数速查表》,聚焦三个小型数据集(superheroes、publishers和avengers),以说明 R 和 Radiant 中不同的连接类型及其他数据集合并方式。这些数据也可通过以下链接获取 csv 格式文件: + +* superheroes.csv +* publishers.csv +* avengers.csv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Superheroes
    name alignment gender publisher
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    + + + + + + + + + + + + + + + + + + + + + + + +
    Publishers
    publisher yr_founded
    DC 1934
    Marvel 1939
    Image 1992
    + +在下方`数据>合并` 标签页的截图中,我们可以看到两个数据集。这两个表格共享 “出版商(publisher)” 变量,该变量会被自动选为连接键。`合并方式` 下拉菜单中提供了不同的连接选项。你也可以在 `合并后的数据集名称` 文本输入框中指定合并后数据集的名称。 + +

    + +
    + +### 内连接(超级英雄 × 出版商) + +若 x = 超级英雄数据集,y = 出版商数据集: + +> 内连接返回 x 中与 y 有匹配值的所有行,以及 x 和 y 的所有列。若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    + +在上述表格中,我们丢失了 “地狱男爵(Hellboy)”,因为尽管这个英雄出现在`superheroes`数据集中,但其出版商(黑马漫画)未出现在`publishers`数据集中。连接结果包含`superheroes`的所有变量,以及来自`publishers`的 “成立年份(yr_founded)” 变量。我们可以用下方的维恩图可视化内连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "inner_join") + +# R +inner_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 左连接(超级英雄 × 出版商) + +> 左连接返回 x 的所有行,以及 x 和 y 的所有列。若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    Hellboy good male Dark Horse Comics NA
    + +连接结果包含`superheroes`的所有数据,以及来自`publishers`的 “成立年份(yr_founded)” 变量。“地狱男爵” 的出版商未出现在`publishers`中,因此其 “成立年份” 为`NA`。我们可以用下方的维恩图可视化左连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "left_join") + +# R +left_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 右连接(超级英雄 × 出版商) + +> 右连接返回 y 的所有行,以及 y 和 x 的所有列。若 y 和 x 之间存在多个匹配,所有匹配组合都会被返回。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    NA NA NA Image 1992
    + +连接结果包含`publishers`的所有行和列,以及`superheroes`的所有变量。我们丢失了 “地狱男爵”,因为其出版商未出现在`publishers`中。“图像漫画(Image)” 被保留在表格中,但来自`superheroes`的 “姓名(name)”“阵营(alignment)” 和 “性别(gender)” 变量为`NA`。请注意,连接可能会改变行和变量的顺序,因此在分析中不应依赖这些顺序。我们可以用下方的维恩图可视化右连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "right_join") + +# R +right_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 全连接(超级英雄 × 出版商) + +> 全连接合并两个数据集,保留出现在任一数据集中的行和列。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher yr_founded
    Magneto bad male Marvel 1939
    Storm good female Marvel 1939
    Mystique bad female Marvel 1939
    Batman good male DC 1934
    Joker bad male DC 1934
    Catwoman bad female DC 1934
    Hellboy good male Dark Horse Comics NA
    NA NA NA Image 1992
    + +在这个表格中,我们保留了 “地狱男爵”(即使 “黑马漫画” 不在`publishers`中)和 “图像漫画”(即使该出版商未在`superheroes`中列出),并获取了两个数据集的变量。没有匹配项的观测在来自另一个数据集的变量中被赋值为 NA。我们可以用下方的维恩图可视化全连接: + +

    + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "full_join") + +# R +full_join(superheroes, publishers, by = "publisher") +``` + +### 半连接(超级英雄 × 出版商) + +> 半连接仅保留 x 中的列。内连接会为 x 中每个与 y 匹配的行返回一行,而半连接绝不会复制 x 中的行。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    + +我们得到了与`内连接`类似的表格,但仅包含`superheroes`中的变量。R(Radiant)命令如下: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "semi_join") + +# R +semi_join(superheroes, publishers, by = "publisher") +``` + +
    + +### 反连接(超级英雄 × 出版商) + +> 反连接返回 x 中与 y 无匹配值的所有行,仅保留 x 中的列。 + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Hellboy good male Dark Horse Comics
    + +现在我们**只**得到了 `地狱男爵`—— 唯一未在`publishers`中找到对应出版商的超级英雄,且未包含 “成立年份(yr_founded)” 变量。我们可以用下方的维恩图可视化反连接: + +

    + +
    + +### 数据集顺序 + +请注意,所选数据集的顺序可能会影响连接结果。如果我们如下设置 `数据> 合并` 标签页,结果如下: + +

    + +
    + +### 内连接(出版商 × 超级英雄) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    publisher yr_founded name alignment gender
    DC 1934 Batman good male
    DC 1934 Joker bad male
    DC 1934 Catwoman bad female
    Marvel 1939 Magneto bad male
    Marvel 1939 Storm good female
    Marvel 1939 Mystique bad female
    + +每个在`superheroes`中有匹配项的出版商都会多次出现,每个匹配项对应一行。除变量和行的顺序外,这与上方显示的内连接结果相同。 + +
    + +### 左连接和右连接(出版商 × 超级英雄) + +除行和变量顺序外,`publishers`与`superheroes`的左连接等价于`superheroes`与`publishers`的右连接。同样,`publishers`与`superheroes`的右连接等价于`superheroes`与`publishers`的左连接。 + +
    + +### 全连接(出版商 × 超级英雄) + +如你所料,除行和变量顺序外,`publishers`与`superheroes`的全连接等价于`superheroes`与`publishers`的全连接。 + +
    + +### 半连接(出版商 × 超级英雄) + + + + + + + + + + + + + + + + + + +
    publisher yr_founded
    DC 1934
    Marvel 1939
    + +通过半连接,交换数据集顺序的影响更为明显。尽管每个出版商有多个匹配项,但仅显示一次。与之对比,内连接中 “若 x 和 y 之间存在多个匹配,所有匹配组合都会被返回”。表格中丢失了出版商 “图像漫画(Image)”,因为它不在`superheroes`中。 + +
    + +### 反连接(出版商 × 超级英雄) + + + + + + + + + + + + + + +
    publisher yr_founded
    Image 1992
    + +仅保留了出版商 “图像漫画”,因为 “漫威” 和 “DC” 都在`superheroes`中。我们只保留了`publishers`中的变量。 + +
    + +### 合并数据集的其他工具(复仇者 × 超级英雄) + +当两个数据集具有相同的列(或行)时,还有其他方法可将它们合并为新数据集。我们已使用过`superheroes`数据集,现在尝试将其与`avengers`数据合并。这两个数据集的行数和列数相同,且列名相同。 + +在下方 “数据> 合并” 标签页的截图中,我们可以看到这两个数据集。此处无需选择变量来合并数据集,`选择变量` 中的任何变量在下方命令中都会被忽略。同样,你可以在 `合并后的数据集` 文本输入框中指定合并后数据集的名称。 + +

    + +
    + +### 行绑定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    Magneto bad male Marvel
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    + +如果`avengers`数据集旨在扩展超级英雄列表,我们可以将两个数据集上下堆叠。新数据集有 14 行和 4 列。由于`avengers`数据集中的编码错误(万磁王并非复仇者),新合并的数据集中出现了重复行,这可能是我们不希望看到的。 + +R(Radiant)命令如下: + +```r +# Radiant +combine_data(avengers, superheroes, type = "bind_rows") + +# R +bind_rows(avengers, superheroes) +``` + +
    + +### 列绑定 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name...1 alignment...2 gender...3 publisher...4 name...5 alignment...6 gender...7 publisher...8
    Thor good male Marvel Magneto bad male Marvel
    Iron Man good male Marvel Storm good female Marvel
    Hulk good male Marvel Mystique bad female Marvel
    Hawkeye good male Marvel Batman good male DC
    Black Widow good female Marvel Joker bad male DC
    Captain America good male Marvel Catwoman bad female DC
    Magneto bad male Marvel Hellboy good male Dark Horse Comics
    + +如果数据集为相同超级英雄包含不同列,我们可以将两个数据集并排合并。在 Radiant 中,若尝试绑定同名列,会看到错误消息,这是我们应始终避免的情况。若已知两个数据集的行 ID 顺序相同但列完全不同,此方法可能有用。 + +
    + +### 交集 + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Magneto bad male Marvel
    + +检查两个具有相同列的数据集是否有重复行的好方法是从`合并方式` 下拉菜单中选择 `交集`。`avengers`和`superheroes`数据中确实有一行完全相同(即万磁王)。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`intersect`。 + +
    + +### 并集 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    Magneto bad male Marvel
    Storm good female Marvel
    Mystique bad female Marvel
    Batman good male DC
    Joker bad male DC
    Catwoman bad female DC
    Hellboy good male Dark Horse Comics
    +`avengers`和`superheroes`的 `并集` 会合并数据集,但会省略重复行(即仅保留万磁王的一行)。这可能是我们此处想要的结果。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`union`。 + +
    + +### 差集 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name alignment gender publisher
    Thor good male Marvel
    Iron Man good male Marvel
    Hulk good male Marvel
    Hawkeye good male Marvel
    Black Widow good female Marvel
    Captain America good male Marvel
    +最后,`差集` 会保留`avengers`中不在`superheroes`中的行。若交换输入(即从 `数据集` 下拉菜单中选择`superheroes`,从 `合并对象` 下拉菜单中选择`superheroes`),最终会得到`superheroes`中不在`avengers`中的所有行。两种情况下,万磁王的条目都会被省略。 + +R(Radiant)命令与上方所示相同,只需将`bind_rows`替换为`setdiff`。 + +
    + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建合并后的数据集。 + +更多相关讨论请参见《R for data science》中关于关系数据的章节点击查看Tidy Explain。 + +### R 函数 + +有关`combine_data`函数的帮助,请参见*数据 > 合并*。 diff --git a/radiant.data/inst/app/tools/help/explore.md b/radiant.data/inst/app/tools/help/explore.md new file mode 100644 index 0000000..4334aa7 --- /dev/null +++ b/radiant.data/inst/app/tools/help/explore.md @@ -0,0 +1,40 @@ +> 汇总和探索你的数据 + +为数据中的一个或多个变量生成汇总统计量。“数据> 探索” 中最强大的功能是,你可以轻松地按一个或多个其他变量来描述数据。 _数据> 透视_ 标签页最适合生成频数表和汇总单个数值变量,而 “数据 > 探索” 标签页允许你使用各种统计量同时汇总多个变量。 + +例如,如果我们从`diamonds`数据集中选择`price`并点击 `生成表格` 按钮,就可以看到观测数(n)、均值、方差等统计量。此外,通过选择`clarity`作为 `分组变量`,也可以轻松获取每种钻石净度水平的平均价格。 + +> 注意,当分类变量(`factor`)从`数值变量` 下拉菜单中被选中时,若所选函数需要,该变量将被转换为数值变量。如果因子水平是数值型的,这些数值将用于所有计算。由于均值、标准差等统计量对非二元分类变量不适用,这类变量将被转换为 0-1(二元)变量,其中第一个水平编码为 1,其他所有水平编码为 0。 + +生成的汇总表格可以通过点击 “存储” 按钮存储到 Radiant 中。如果你想在 “数据 > 可视化” 中基于汇总数据创建图表,这会很有用。要将表格下载为 csv 格式,点击右上角的下载图标。 + +你可以从 `列标题` 下拉菜单中选择选项,切换不同的列标题。可选择 `应用函数`(如均值、中位数等)、`分组变量`(如价格、克拉等),或(首个)`分组依据` 变量的水平(如 Fair-Ideal)。 + +

    + +## 函数 + +以下是 `应用函数`下拉菜单中几个函数的简要说明。不过,大多数函数的含义不言自明。 + +* `n`计算数据中的观测数(或行数);若选择了 “分组依据(Group by)” 变量,则计算每组中的观测数(`n`使用 R 中的`length`函数) +* `n_distinct`计算不同值的数量 +* `n_missing`计算缺失值的数量 +* `cv`是变异系数(即 mean (x) /sd (x)) +* `sd`和`var`计算数值数据的样本标准差和方差 +* `me`使用 95% 置信水平计算数值变量的误差边际 +* `prop`计算比例。对于仅含 0 或 1 值的变量,其结果等同于`mean`。对于其他数值变量,它计算最大值的出现比例。对于`factor`,它计算第一个水平的出现比例。 +* `sdprop`和`varprop`计算比例的样本标准差和方差 +* `meprop`使用 95% 置信水平计算比例的误差边际 +* `sdpop`和`varpop`计算总体标准差和方差 + +### 过滤数据 + +使用 `过滤数据`框选择(或排除)数据中的特定行集。详见 `数据 > 查看` 的帮助文件。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建汇总表格。 + +### R 函数 + +有关 Radiant 中用于汇总和探索数据的相关 R 函数概述,请参见*数据 > 探索* 。 \ No newline at end of file diff --git a/radiant.data/inst/app/tools/help/figures/anti_join.png b/radiant.data/inst/app/tools/help/figures/anti_join.png new file mode 100644 index 0000000000000000000000000000000000000000..3d232d5e0c202cd77eed50e22406e736e2b35a46 GIT binary patch literal 32462 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 Yf5yG507V`7WB>pF07*qoM6N<$f@(6mlmGw# literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/boxplot.png b/radiant.data/inst/app/tools/help/figures/boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..72fe58b0bcbb2065c68fe72ae8c1ca2f1bde3232 GIT binary patch literal 32547 zcmdSAWl&sO*foeW?%udtaEIW*g9mqacMBHW-63djx8QCG?jgY&cXyfQ-rTq5`!QAX zP0jq6szVp_;cR(iueF}NPlS?!6bd2%A_N2kij1`QCkO~A8VCr;Z}70-ZziAws~{i{ zMXkidlw`!j$dsHN%&lzAARwesa#B51RhDqWCOdgLr!XnVsILgT5y)ovrEvht5i$Wv zP@%yz?&2_#*ckNcrm8)VQehM(64*#VUyK(KF3^>RdX>c`wpXHU5KgPOE>|<3hqcz0 zcE2w!S)BSVwm~R8eF5~jYC;BZ=4)b~9QNvBVvP>mLIKesQ8giZHq6ZdQg`A|b5EUu z85yP0Lk%}4%mJqDe;B)!Xj~Rv{Szp7#He5)5GCfh1^j66wxN<$8V2#%UjaX_Qs~)3 z+1PRO5eh0PKm#?lHzhj^?LX4fXtweRv?lO7IKM`>E3IZyZxluY@^#ax*DVS^!lhjvoR$1%Ws5x%1vH1BFD1g1=KjCNbsqKaiUi4&N`w2HVoj0KzwfPpL%)Zp1+lLW~lc%3jzT%J)zQoegoMtHZJ?p~fYS z-TP(tffPwM(tblultN|a206~unYw@xzi=(swigOB9?mrnku#8)6^hXig(!f-5qgyj zA~--A9Xb`7SsKbp1W+$3^a~tSgPeGf|u$WT^IMn$%e!0`Lpq{1y>05 zdmr8g;TZ&Dh(TWxyvPVV^t7ZVJmIjYNDOkD1d1Z4GKtK1)FQ&x80iG3Eoj)V ze4}(A?hrmGOe=cBSlwvB_#^9lx=Fga9NrGMIXXw+{g-dX^L53Vw3Wi{2;3N1F-!yM zhH-{EwP|(Gzl@IfiBN}o@HdGZ{aS#!?DkyMfbVFF(d_|;{U{qW=bjz!RF;G>;nnI68kfxJ7>BoChDQBRTh`wSqRW6wUHCm#u zQZgM4w&F)3i4RK(d>>myyhOajzI{R|wV%^0PjAc7R_qk_{piagmBf*DnFjh%l~j>n zlX95mL#>#+nC6jYz?@5KK<@wXrTD1@O1W30S0%8pRy|*Gqp?pgL`EXBAjLS`IMX=7 zIB1h=P?@?TF);Bvrec}Me(enPH*$gxv){aCS{mgW-~TrI%}OlAQ}j5Sv_E)7y4QJy zU`B1GvrV^6v`w(x@beRFAFJUV$0z)6(Mi$m(Q%iYJFSzT$v@mRR{F0U^eOl6?B9J( zp-3@LflP@jms4|?$DYqAw<}kiW3{HSHnLu_ew=5nh?y*z^!PfNW5D^k^%Qnc+ZN&7 z@?d@4e;{~}M370)MSxGBMv%ri#D$+}pZOzmJ9C$FxY1G@sR^LHt-af%&zh2PGNx)y z-4Ml>UsZiv!Za;Zv{E5hWm4LpX;G-qFoC6)$gIO7`d#Cn_h zz)BgFiJBj z2X_V6fbp17h3SxyREu5VWN0tr>UxpY0bU+*q1+3 zuXY8uU7>yQ2K9#Gk>-&NPB6?ftP}P2m#aHnd$8|3#^K&Z%fxv!2#(f=wr*CYWGzQ) zf_?&Jq7Vrg?+kB_3FtiSw9!K3oWN|#9Bts~m_MiXCk3Q^_%J5F7_;j>U^lSxOK|DA z<&gnR7A-+4YB;$hX_sIUNk2TTMk7I^=6m9;@u~G`iO_qY2%#7utS zfWU>Uhx6b9WM<^7q&f0xQS#3d!f@u6~eF1wvskqrYKZ6bnBm^pM)8;*WEH*J@VPFBYo z^lCZ1BOxRuUPFJ4!0Id8maD!pX!Y0zEGD&wJtpoBG3>^i>)n|>B>>Wb>w~Ao(+2b+ zOk}EMaAZJGilR;HZuJHifm>zC@yUhs9A(pG<5t0qca5_jsEs0P8T2>=X**f^ISX0E z+J0KipQvFKh)gHQ(Ya`ux2MOx$X!cEQ)N*HX(2UO*RNVgndSae9>dtV+REIrA0_^A z`Qy=#%bd%@&7#ZwCG@G6>%<1NDrBKr_fM;WhhA^n#&y?WoE@2+^wQa=YQ?(a&4EPWy9&t(1+F!${U?b6FR82gSI%f$1COyRn~vfDDAhl%rMr{Uz)03*Q?qdyC}H$-mY=frEa9-WQb-J zXByYYURvMzvBp|zzT}|jAdny~bEosb=lgNa@8Lg--D`IKvyd^+gK$D5*hC%vBezO6 zRibu-M#~$O{ga0U2W{OJ{s#Wy$I|BslTsm4--i3*+~)b`7I{i}lDYe05{K$QPQwn* z>(^pFSQYz99EGiS0A6yw^UdKq($lZV0!vU3?e{Igg6K3wy8OD%94vHIq|a zTfI6Om{y~I-s)WTr}ObiEv>?$nop14H^;a0IP^JYfu#Lws=<+;)qc~dUFW`I!*eRA zDz*#8clSZ>k!AI!&38NYHHQ#73ijcIxy$EOe_3$fclCK1t_)3Ic+8vk+49-s2vk6e zsQB({xp39<{N18?S?ASJ-lE}TL%2m;Xp0!jYs!6%Vn57e*(8HxqvU~9mDFVPee{ZV z-PPdPXmr{vD5RVIrTI2xx+2%lIr$21DB1xeLtL=vE=Nb8(4_9uO`Y?fN8P_lx0+|O)?DU zl8m7yS9a+tgP8vSI4op?(E1Va4(*O$mByd{(D#2l3f)cr@pqDdYZ<2noulRA4R;z@LR zl*0#2l`X32Mv}9dfJb!unK8?&R!@OzgPc`P7KO7vU!E1?Z$fDcr?n7XmZ>2z$pW>Z zypKsdqyqrbc?eLH5z@B<2|}WOKUb z6Cm$_DjqSgiK2a-shEzYzP9d;!zekLbDWx07j^+*v9X#GrLav4<|QT!|Dio7g3?o0%jpm>itM~z_jx+KZJok$@ zk(Dgzmwl-i>7IE2a=*xA#8IXVwPT?sDt>b>ik%!TvN==mG#ffdZcgM^@OZQU`NjU2 z;~nML?^Zk}8WRj!*F@>lVCm-5gEk>lTYm?iUdDK^H?*KQ;yB@DufhkDo$3iBd)F{KU1|+1GtF7yw(F(A z9yW)cVzq)r50VK0xTE(3%rndZF5@=5VhYpll{X0t5C0J!o8)} z9VK!M$b7(mVG*rCWH?oW#v z#yjH;mXHXX;p<9h(QK_4C!fP2rRt=6X2D+A+&?I}pqgTb(iE^u$TSPWO%B<-eC{x7 zW#f8_6US|huh8HqVWJAq;xQyJysV(-7hU8ez?ds$T{Ipv@G z;4sSuck;j0#J^KFM1ahl{4UJ?u7QffJW<*Z9`%9B+cEcVt8ab(|MVg&0W@Z(PV~w2 zfB+N!=asKV8S<8VxhP|L&n3cB;o|Xj-lVQO(h5~#S--`zWISAQQZBmxnHVs$@xG5$ z0cLbGpBM-bn>(I zu@Z$oz3aS)!@1-W9JGfI^XDxG20Y{Ho|b+gyc!$+GRDAL4@~JahUmnPEkD-1UF8r7jQ%aPILQB#y9{b{5rXIDBPyOxwa5gsH7sGjOUs) zR#7~ykMU^H-nv=(x@Sx~H;3Od;6i&fLTqLuvTTVb==OYlt>Qh>tZw9M2{mpz2@|Uh zX8krZH~>%po*WI3>``QastDOs^;y-2HS6Sj1_jdzPYF>>p7p?0wbG5x%#lVOI1TTR^Dmd7| z00Qb-ShOjPnutLnyYygWP^I|(H0HVWX5H+~G^ShntZ9J&I3oGs9c8@#Ar0U^z*j6e z*!pa0qN4w^#95}F5&Z{6n2yMh1T?W_h=?ElLj;lj;NAb>ZviG?+;oytQ$qhA^dg`U zfcu}eh{SrX57V>BKM^ck*AE& zcUtKaDMr0AIp*e7+k3JTVbz7hAF+9NooWv+3fP>Q{6|?2=+Nf(4lDD%Agf&=lN@N!>ch8LHTQ*F z;B4xKyi!LPEv-5jEfI<@-paYAB#itS{}GMkHaRQ)n+q3BQtUT_OYvxXo34tVcqj5F zg?W@G?)9PTHzt^_d-WD&sDZ9EUb=r$9Fv@?NQq~!H}1M|8Sq}YErDnyh4b)w-QeY} z=(-hR)#P%Qq?Q=2vQR?&GX8sDGq^${7aN<#fGG6?zL>#z86e| z$T-Y5iRr7D0)9#C7p)88HePIz9R9{lauI)G{ixcoF{fQfwZX`3QWwFyjB4Yn`sKTh zhfaUIHk<|@=9*lu@SKAmL%5`3KjEk~kk-X0*i{q}#p+ZvYG&Uvi;t7IZ~$?YHoP%Z z*_nGQ+;ZBosqR+?ZnP*ARXh?DuI}Y;dWs+?7NJj^Ufg)^i#TZyx~ncWr&r=E z!KkY#%b6OP#GCig;YXYh0GXi)krao~#xu;?)`UyTIO8d!)nm{yBa>u+4;FZZfA)2O zn7IVS_`%AMPNs;+$zL@#;(pp zHV64bM3d4se587UDKl!<_g69rHJOPyM&PV!rHM!-H)8JOm!q-lR;plF^m^nX}gr1X~7!@Y% zhq6(p8D_5^U-zGXD!hnua44*>e7y@)d+iw3mY8Y#tZS3r^IH=Y`3;Xkp~n$JJmFCX zpr2lb`ex7jBPz_h=|Ono7*QqK_$#z7ANd-u+uT+0q#UyBm7 zF{z;PR%VGrmyH}Hkac$8G?x&Kqi~ude#fyxDF^4aUr>CUx6TYCxPUt*gJk7p^I@j4 zfiM8h21nuRKChS5hUlM8QLDCU*zdRmnK#lwtZ6zyJ%^`l=cD##9Ze)`_w;?zfgtI<)OrERi}bx8j4xu|qBPLd!szuQz=Y>M)Nggz5P%%sM^=(|fBe3u04SYPyG`^<~q0*e9nQ!{!aJm7{;=LlG3N+$c@z zHd^543am8pmuhH-Sniz2gEwOP*Qc~1N}Hpu26@AXgUq56@Afiz=Sd>YtCkhN z*#Zgm&Qi~ik_p4pP=w_sd1`{PSMpS_z5PPf<6OWh>2?rA^}N^^(Za?kak-Cn&P$#E zM9yWi)E6WtE)@T!nC8(j_V9{R_Y1qy#_`+ErC#j5oqsjygb8^4w?LPE%#0f>Xh{fl z>^=wytSNu>p+C{O-Mo9SwHfd^Qs}eq9yY%=>cC3!^#Qim{zDHSg-OxY6IyD^j~G^b zs1rQg4+Ttt4QIdazdJ1v*4jou#bXIZIeQCmG>-8-tYXew6Oymj+ZfligV-;Hxu80B zR6wR`j4T)K$G{}hlvv1=sJTkCMovcTv0@qAxR(WVG6x%8c05c+BuM?sn}uXNul6=8Hrh&2!VpdV8zbzA2tW#V&oakP<)n?`wz?wslo8BK4Yr? zFBt%TGJ#odk;Gkn+8s?o{khN@`4U4QUlJJb13VDqdU-w%5e~7fQm^ZdTcz_h+SlsZ zc`!-{_vUXZGrslW$Q5`^A<;6d;NFDk^-cgR#;P>SCH~WMU@|-q(inv3~2I%Rg#&sa&9Vg+dT5#%~&4J|}^kWxV}5!);l4=*NNk2whzR zvZITU;EfkyB;XRCMI@rj+?6OW+T2nRne9T5D1_tH691X12SwhWp0a`|kmO&F?4Oxpn8kq7S;V(VvsQ_4}dp7Nq@%;56Z#>vxaO#K> z6n|Y1 z>|oTY`*dmS0z3CoPwc3-Cw1lXJ`4my5$aWme?^>xSs>D`BTtyD)xDTT#fdY1i?M(T zgkW)Q8OG-Jij)zRjV0s65**p4{{|lOR&*HBE*$$xUaMAgZJk@wBu?>lIwLX>0>Lv2 zLPsuJ=e3<6^!$sJX;<+b8ebzaWx8j^1+k30yLe% z8F-?>+LpSZlLbU3Grag{_tostcf6^4PM1Lp_{nwrXT|kdhyUlrC;XH){aU@?+>YB%-+1QK1Yg^Du8I|_ z-$Kp}g^Hz{zs;G33e7wm4?g((Y}qpNbAYz)(x|-4_ivd)sdQ1TZH(;{%O{0yiA;!Yk~}9Y8ifM3uF;= zRtR9C;j8&l1eM&MDa>p|2Q46)N8ILo6C=5lV&Y_1Gu=2L9PZl8t7E>)3zvEEyJr@ z;=LWrSYRjlz`70+Ju+l7kWe=S^}L^5-iGe~HTaL0oaGN+W2$fePU^$5iG%IBY+N>$ zVU)~71z8z{j^i|AfJ81Q6!b-Ifa2`C$n^^Y6(6pFKDR^4Iv`$k177>=$0*Cpo7CCh z0s#t6aA&x-(c%;?|8^GO9dI+%c}|6 zof;)HtML=UUz7jle9T{p)dd06U{`GMYYN1a$B8z zy+USli!5i`o!Xy|SCXQgb+HjY+~hixmwq&Dy{GxHw8a?=cF^EtpG=+=6ob6W2vI+9 z#+5M?9K!J;FX-TSTy8rGF(3Mq^N)E%q#DzYDh{KL=|*ME4EY`eyJk2EKI@lXg|;>K z3A$^GIXrA-LbN+O>p}k*wa`#-=KhMX6uG_U-&23}Rrwcu`P zV)*L_PzO4E2Bi+$;)S`MAB?h+kIXX-EQ?#miZ?Z*IS_1z1#cWCu*d&=sv8_=y`H4r z&(Yy&mMQK^apCPsG0_Pmp%0gx@hK|EQcsed;Tfm3$mf)E4((d{Qju2Vz>Q0}#TCd^ zymTnozn8N3aYux&set+6V=I*}>M#CMX=a(zyr0t8A$oifoY_rpjjNIJB^0BNPJiD` zyh?3&`=E3)3Dr$p&2JjQ#R^kL9yo}?0NwIy2z)e$gY1@;z!%=M;5(?{va1=)Y%bZx z=Mdw;pc@i&Pt5|{L{@^sOlNlVEU?UJ0w*qUNz@RWaJYlUM?dR;+(Rdf2UeN7EfdDo z%%k>%Cv|u&Z>cTYKhQc)6k?h6ubTrN)F%S()MJUwyvmRb7;!~~-3R_P>RBt*(yyL0 z5>9c4TRb~MW@ow*rTve{_N3BA?XX+MOLSOlyr9_(sx!1tlFte&s_Vu zuskNUs4mXH+YF4fh*BB0DqQnIsR?jE6@JY-~yg3)SI{=006IG2m<- zZSBP!dw_k0vWJak|Gb{V9X}I@R@WesDgmWW4iV%4Px8^Xqk!ewHaUQlq5DFIFQy=$ z_CEsg4}$P!i_q#VPP(*2W3!9`&dh~##>W@LU}q_()!r{ZWM>pc!DFwJ@GnSQcuT5Q zKOHQWSI==2~?2dL-NMZdt9mPD?RbphJmxfxzq$L0D`f$oaIJjCT zbdt*t8`J&m+B6qjWS$f<;YqG#2xfE%%Ck?zfL#mW;`q8u#ckG<3cmY2mDc4FA`rs$ zXcJPf%y<@zoSfsdvs2DgjN_bav)eF`Tns5H=a&WV$^c;WvIG1|F(I_Z75|5NOd$vA zP0u}j;BW$hnNK_9a9)QdmGT;0>qn-~>U`)dlv zCF~hUX{v_g9$gaa3wL}Qu2ov)mcN`&-AVd(rJE=uYp9pZl-jV7c%@LuLO`QXnL^B- z0?K#I{@047`}UUmGy4_i+iQU(ch5ewKP&eimW(skXdkp%Urjk5rjqJ@Q88RLzGHD* zfkUI_s!h-GKmZu>=AP(X=Tz|FX}Z|2F!p;8%@N=(3&=qri7l`oU+(UA=GFY-Fu?vxY#?tG{tnuzud?YB+3B+nT2t?B+co)#6dx*D&E)(WVN*y z>9Wq2#8{5vLiOk8ZX8&S>r?=XF9U{Lj8G?RA&VD}qZ3pOh(b$*t9E-y&i7&=6)0B4 zpvkz}*Ns=k1}fJuO;+pHp()7Vf1R&kFwj z)=g!0e)v4X-EKMydD+n~kgPCX*^yY~s@wAutg1HI#lyyv<)8tS6(PJn^n1AIFNf3w z$9S{XltxNd*Mvh!P3Nx9?}602y|1;$3|iRUw}{EU4$@`9vMr< zo67{T9~#I1U0Wc~wjx@*gaWo_*KB0GI4Bc5j2u7fl^t4qWaP$|473*XBBQ{R`OL4( zM9wPx0lpiV313k)4Ih;y=oQEo&7z38zo>4y?=9bsUPXWfmO7T=y|_^;LF%cUhDuNQ z4=o9#uE%-Pltxj5GzB4BhCr^8-rJnt=#52rNP9z>pfh+3>Qm$q^mO`9YJ@c~{H$}$ zK~`o+^@g8ru>$O>>|DDE?n@xwFk}BcCx_7PznI~Onhk9sqs&TBybkG)8jUo6>}<)2 z%MUjka?O4k0%{I_WQ`6DI}C}~xOCGYEo(N51dB!*d5DX+?N>yaxe+X~ zsMwRU6xSbIE|0&`h-|~`_K3UkJ&hq^_iEa{(-wQ^<88sa?}V~hZ-2Po46Oxy&9e$K zvJF>X8xI%X8JJzKq9IzVxpye%f)@Ma+Qh7gy~5G|N4!upg(p_6B3d~~=moC5bVI#% zHr@)DUW}$)Fw{ewWzH@+$pTg7h$=VAl5!yi=8O|n!)ibS$GCs9t%r{l!QnPnM;Z5| zCo4XVK-W9nTF{Ddl2oEA@YTCf>8ZHRaeL8RD!aw+X5q6Eo5TX+qlz+hhlh{wN6JBT|uar2frVYl@*XWd)H3+U z1b=|xSxg|PGW)6Gw=3r+xSV0h1}^wRAkaYpk(>}-U=v~A{_+fgfa`w$z4#9(<^=g) z78&3oB5!4Po_OUxa!||;9#WPygH64&%tK|qoz@Vioc2&$nG9J4pf>b}Gxk({+?|=) z2Xlr0TWnJj?(d_!CSQ`Z0Z>KNnF z_6riev|5e2MoovowCG^s#J0r8BW8Dw}2 z!)6SZK7=(gEvyj}ET&*S7yxeZ+Yt0?2ovuyF4{3qw6^Z8c3OWW)l0s@#9s^ge6&@j zmol0Hd5@Ii);5?1z4!y&=Mzpa#s@HTC$xsv(~ z7r*vBV`pQ>wdJe*ut(=_!((cTvOp~7O6Q5hpF&pFSHf#um^o^gSKSyB4G)Ebj_k|( z6XiIMMP<{kz{iiS>M~RQ1leiVxgl)IkNg$tM@g`5!bsn|ZVCgY{J*L_xSUn^?%K6c zrxX^%$?{-;cJUyA-k`h$3kUb5a`}#>MTWhmR@x8vHC$xDno&bu<6|=-+BY9vdcF`E z$S|yMaSE3Ay5f;(zEE%4FZtP6^FuYlRWQU)FSkR4!FH{p4#KpeQ=9x3T%$&=tUx+> z6zyhP7cGt0neH63pB8MC^TBcF=;|yo!oQdvETEaR^Fk@s7M4c%Wxcf9sC;8ytj%L- zdG>^nBYo8UYgE0R-j3!O9LPYqW1h8P*wNaQq{94}YY%eE(WXxZS08#d{-KpTieVa< zgW#P7GRQb|U_jUm7Rhvqbz(r(TN1%k*KpV}C5Q0Eh#*Wrat)^FbYY3y_IH&Yz2j{v zH(qs^x>Rj}am-q$XxZ?M<5}j<^OQkK;b9yp458r6C3+thm<9bEvKsM$)4nVDYfy!qRIPV? znE-ExM=%6WC`m6z-$>5vuIu-^2?5?4zX5qKAN(ETt45iuuG5UO6@vH zbkWuIH0thlak3v}INpbQ+2`6!Ugh=S2eCi$v+AhU3@+C9L$rH~&EGGqbrg=D@t@{z zMGq7oWxHLpgh#xA;gzepI<4whWVu~Hq5#y z(2#151zj#Tp^|*R4j zuLerO}`xA7U|80 ziZ?>9`HQqN(Dg0wyhy_Re%ot0o#(nixnKREXOa5+j$eKSRIZvo=}U*qCk&(uI`+;! zL+f*BjEv7e2^q10NSsvm`qgAs>fhu!b#HpK4CldpaDUt~hJQe+Xn*K0d!GvjOSmn%kl=w5cxC1ZldRdo+bx&TV510{Snj&9{jv^BBp!4yZp?iBc}T@3 zJsFhHzJ=krhQ;oRo*p~?gv!qSQPS5krEtr05Lu-`c99JX^u-O^P7fk z>H(i1xic_p@j>B^7f-;c=KCXG?yr^FBzFQIPYyrXm?;e=SSL7!E8LWj_d`0bIb2I+ z^>bGp1N7c@7`Gm0F56_21f2wrmy4c5Ycw3woecI68l0)EvrlBZydA!)h#pV}pCu_T z%nJM|ms%DWOrEFVcY*!lSau}V>uC{90d2xW!znFjV>RcKnu`OU8#?3QemXcd2##zz z>*o8&x=u9MbfP~j|H34Z29uSp5DHUaFMWYs&&_|KPdN>chH=X2HN?;qAQg@sUBG-!C?S~5?-EVAMDad?ex6%*yWY$9mGD~cdIPcvovx|$96t?KCZ6a6iS>vGGx%IBDjc4N_uKTk_)W+Un zH(OxJoYLlZ_(#OogPmsV6IjoRYk+RMXjs;UP?$o>Pa}VX?E1dL&tr6?ZW<}DoeMql zxi?j?GR%sVbD!r)-=o^g`ERGiJ&3V1_5A+uRN>-Fy?i~@Frmp6yuIRf(&Vim-~oCp z)lf7zt%=KpJNG}cG)yn873h2cS^K=?f-6Zc*ri<~#2k9Ox#iG2YRodZia41W z%wUnsVK29B1O@BLa$ftQngghpA*)I;XrPC`oWKus)$kk7$kS)gL|NFB1fPLWg0jSY z78D<~>_iDG7q5G(Qs>ElE9IF3NwXr0;6_!fz0`Tl-Q>#Mc>XAc7j@){-cE?NBhh#cR)TNM}a0Sv`RyW}2HWx+gcK5Q@! z22uzqqYnQCqYFEklR?dFdret(L+x9vo-b~@hD%ql z2G;J~=B@J(um%Q|viZ0*pdCFZA;z=TZjbqroi}0zu1qwQVrk3yrHX!{A^*DvAdBGI z2hn-SIG&KvngB7JZkoSfct(s60Z=QNWt`y*NqLV}B_RSyaUOp9zXP@$_-@zDVfo6c#bfmgS%kd5hQI($oI2hOGyL#K|H%#d8k z`R)JAC0+>9kAc?LTuv0K40HXv^C#+*?(@5r`r}r#8pbo;G?NS3X@RFSs@t zbDj~z>Zi6^!guf5*)I_~$o;H~Xx!Lk)V;Ic;mCscGX5 zs8uB4nvomSSS;Z|v|LntpM)A4x&_~a`wFc)JP?@jiSiR)Dy8tmzZHe`Auj}ERrhU8 zWWu1xTgX3pOcSX~tx+NnvNO3S%n9^N|4SL{-&)oGJD&j>@P>B5Y>qDL+&yYWONSB% z48`;Z2BB^^_EJw~(u6~=h%E>RR!EMYv6gSSy!>OHM=|^6t4aM9`!g|w2&KmDi2$hPWzDJ?YVLbxC z2yteIf^hRgg8Q7BH?x)yLA0+!I#G2h9s-52FP(Y6j&7FTb@C#^ky_?wY$AL0_ z-1xkkaq9e|rz2WbSuWNgjP+S=i~wzqUcn|+Xuo1p`W%lbX5rikrT)YOT(W#>6IX9e zG5osj#&aXRh!^G%^?rjv!XTZoo66w2yeD9pp=Hm0px^YH^RL`cPCc8MvJ=Sd=6Ryw z*EuIX5?!%mIBm_Zy=y|eB(eV2GN-YQ)<3qr9GlSSwyILw{Bh4MHtgE*vLEb6;2aM( zVh8JfhUs7ddldL@`XRdI06V=&?_V(7nxL)=v@NZ9vS~Fy zdFUG;8$rU8MoHfa=FX1;uYlLxxwyo`%Rt7%MfkWZvYtmPEJxrL3Y6Ia`C7D!-n$t4 zmW_&qNO%&}ZcEM&F|?bNVHE*B*k&jaPhw~2_dt7u0)Q%KaA&N^JV02Q*n}_`RI^^A z%^$n6p|+B9X+czRPW`it^}3cZA`G+^=DJoG{Ri_&_2oP@1vTP@s^_8GxJY_9|b?F@pj4XVtVg7t2PiSZZT+(i5w>*KHI8ZGaq-FM7<1N2a!^N4UUD&hPxhFne zIoOgqac>&cK^c{+6?ymfo3h-|5)kV-K2hi*D{QwDSPg*;2Klt9`_5s0tpRS~h)};g zg&F$`E!*%`lPIc!N=OVl*R6R5lrP@BUT7<#9T#aW{vatn#ujTSMov;aXiF71P{k)w zJKNJeq@R%i6YltX4X5r*PdDTwPt8r?3vYCLrYF^?Oy2d+WTOL!n|_4=$B7HS-*oui zi6W7Jvv?)n$3OFf$saKXUWuG`7ov3Fg|FRxLD3-zknp@7P|mX!4Mu&)Qn`D_3kZN!2I2Z_uq~%4|^1 z)5s?AoA3?c+;Di(DdD5qOW)}bQ;uIpoMYW$_{B!TbsspfhG$)Z!vf1D{P7xLooM^H zQ7BnJcn63T#Q?;c=8dLo!8rj$Ba~i>$f#p)P7DH}xF!mlg$$Kc2?^mJyY%0isWJws zaM(_WwJDz0w0)k#4X(Ich{gxb4~LiZ%@zMtdOSDTUc}w#?tgtg2++9%a8A#)xbYYI)Ch!R~Uo7?+$UXfnT0#5qnmf9Q!m3baA#Ye)4{_ zeo7#aZEPJ9-ra@PTBsl=S-@O>Zp4N0kS61R@{E@&_cG~(2pt4JXWu^LB7PU)=&-?C zH(EscGN1Yyq>TQQtYb}EMMhuSyi8E9bqs?~D*tA@Dy3n*+|RbwJU zdJ)O!(ddSs_`DSA9kFwa-X#fKMbP1oYiWS1&bkxXKD@y#+13EaTHpvc0Hh z(8fa0?tte)G4SoEY%8GGtg#p751{D&zZZL?i^GpnId&4>++P1t;O_xU5UZyKaP%wgB!PLCDjC zz?gSLc>BEv-oK({$9WZtoo+{uD zKeZ5|>!$<59>=jDgq!Gof!P~Ai#2!3!H4rfl}+BlwrZI*;`?&@3?$G!*L9p{8kt|t z0y|L!mupvV_j`+G69fD_i^WMeKR#hnGO+1ufN`Xt?Dgk4&@RM0?O)#V_W;8GoFx5! z^vf-l(yRwuivf!D)CVZvgs&>CI`DM~TY4LdT^Rn}USRI!oFk&@`*ldYv@_9{)3!nJJil8$k?)oU$;L(j$6XB_1 zN>Ke@Ou3YNig-L4OS=CLz!9~y*K4IyzSsMB8eAl7bBV1Lve?<9fRf-vqiL7cpA6T2 zq*k4@JR*@;+$iv3#*J!~GX7}I2bm4cvPqgHDRB8P6$?J1aRC{`I?G8L zDcmv^ozZSx=h$imc-LsDrfi1*GniH6tb<|CtUP;Gm1w!8!)B7@Cg1L4NOke@gILG=Et9*%4I&pu$BF6F6D_xR(trImQG>v zZ8YGc-PW4yc#z`cs$hY0mgTK3Fg1k5fsLm|Dot@)ZBe}NRWuNt{E#rTR~lfivLI^= zsX(2VI=Tn@eXI=1Tdn$N#kJ$(-22YQ0(^hQ%*hhCJb2F(FlNL&!ecMGro8<2E!h1&z$tgp?pH>PKt&y3j$qeOy+$W_hPLxU zoAGw*+FNvF=Eq){!2-yMXynXSl(CG3?`>V!=ArCnFg#^9iL^ z@Rd1Npi6(NM`iN&9*ZV7WF|nxEc2DaM#_Qbp%UVXWh%g{j_mR4k`IMI)Qxi`U39SX_eN zc6vME)S$;Ea*FtGZ8i_qsvx_XiHX4!XdwwDaXLDPb`x*&)gwl^;EEgWxMVbF^rKmK zlHaXZ?HLwO^I7{RwESJSvH{TEN=WY18Y-lv%igsK*6UqILW%cwkT#8dwodIGS_#sw zn4Nhk^hDshY-nLJFUi@E`Dm~{e-)4)i)y4d0GKU8FW=)M<{B8LV@rE2vb*$F%Azh@ zOSs5$fX>M+`{Du)tsS>rH;^aCKTE?xyYWvzE8w|nn$B2&}eA6CbhBoeWfOa^Y#Xz+3Z0Wm97{5)fU`0cFG^BRO`~2ynT9w$kD529_yDHr5b^tRnHGA9K-=1}+c@$p0@ z7wO=YXJOk;O7jqdc5wnRv!O39J{AfnhraCtOV5uN3q?0CwNiXyCxpi?MCMZC-bP!C z;fbD=^WP9;-$*gW=M?Za5SnY;gkxTzU{TOwNcnS%7Qv`kD1?Zi(bUL$gEV5b*H@Z> zp)@JX#bIM&{v+d^4&dUpIEBghX1fA8sc{W(j1@<{BrbwaLmvl2czP+%D*IbLwOxp5 z+@?^xS7SEv)zPQUeFHkDD9=+=+SFq^XA?~H3?rTJnf{OVzAC7#=>4_@iWG`d9Ev*> zD{d`Pyg0?(-JJr(t+-2z6%B5I1d6-67I$|Dxu?Isyxo`kd}q!>hD^fb?6W^v-&$*n zp)qz9vWjWAHfjDNoCK~+4D)yXSC?sYcBq{^b)y|9g( zH8I7Q!cXT*ugIDK#%7?AlS{2vyGMK3qz$9~o3a{u_w zsrbUigfzHXRPj4EBOL8+!o)@4xqM&r4Z!ql8ja$F2BiP*$P|B@XAuckHKYLc3N&O4 zC8teOwrBAf{G@V(Ey8E+cEENq79U;ks>n0^>G?7dEeJ)`kjQ@}F?4DT4`3&aNfSRW zlSzNm7r-pXj`{@XVVk82XBx%-+U|g!#|=kYrpRrFN`9qlIL}t%A5Z#!$jqAk{_*di ztfu+UKQ(EsGVm)GEVHfA0H8?C#XGsGhHgJarIzl?U8{F@`b!?UM0F2uLeA5>Y6ZEa zIIR1SwCVWJw|MNbhLlmaaR3wR(_wa4Ruz3I*iqbV7c6{fv4)@9O4Z`vE$g;kOq_Kyte zBK?mm_-W0q(|=;wFR-qLhzf*e^sShLa>6rA$Ba$;EavIyJJm%8ACKH*>2DL8Q$ZfU zvP6KSQQOy8Bv8jvQiOE*&fjz8w)X+ET{>gaa6^zzbDE*my&jDtEr9tU8sKbFv(%bV zQ~~fAS-2+oKaLzHKvjKDVUn!5cr!b{BEKllqSR4y5i>64hg%z zO!ez$6e%zrXGg2U@5{sVz?8nvO+MPy5J9^x_4N-#;&aI#dOmb1mf81`dIXuk4q|e5H-`T5B6~{)EN1 zV>nZ2!U$9AdC{ZgJj}vDT(^+xn%U^t zuTBFN^=Las$y%?EmRyHDPH1)aQ8(XrZF8dNOCO^Ovxw8>tCcy}SxR(+Yw_Nxs1VcH zXg0i@CL8*RaQ_liBF`JRUi#xRTrfzuUj_j{1%EaS{uixK_4xL9eLiP%S?R|L=m95NsM zw!pTdD`nwbzIt>Q`X8}9FQdQtaGoOfosfmku;?m~X;PtWs2k@=%Od>nTY6J!-AS!{ z1Kw?sj>Rol>hSJINu zjsA`nR2_d`8q%eLf_Sz)#6U)e6Iv4^{<$zj^UIy;nr>bM68Kgz^K@%`FV|L+RhDG* z+b}AyG1S&a(sJc8o8bi@;z}%$MjH)@34d7{&W>XwIj8uXT@Shol>i`KnO3SY$lx`r z(Kd@}SLa`P2c9lGC%Z;x;iiTdX8lU?);0|>JlwSi>#8-oGR|U7<7lVHugX>z%kBeU z*#)YOw@F7%4b*c0Ls4uvDkeR=4%H47UwHAMdK1iJnao%UeYk3;u6nZZhgIsIheF=g zIb|;LKn)*OuJcq4jVHeU81wW}b0*%ALlCul1gl;M6J`QDXqIMSl30p=%%!jNNN3+3 z<*O~%x?16|n+x^Hz^l=t+T*ObBHR?`$#>O$1HQet@=&V}p%bl@SI@gibUyFyx*Mor znTj2#4%FE16))ZR(2fYc0vLHpW^pb+;S@s<-6BbP`@niIkY=Z7$fVD2XW57PFC}Cxqls5c#Rq;jhPniANLsOUAfn2gXaxdU z03XuR3RdWz~RT;_dp%XDFgfdkY{#xQu~T^iEMj4GROC9+Qkx6AMGGv)iG? z{Z;?VU!=X(n`LFieXx6g&S*pqctB|PO&(OLALMi3J#1d*2JojQ10`J*M3x@R%xBD0eRL%>Egk=vFn~ptWRFozH0RK11~L*UL{&q^n*5-8c#TGE0GY&pLN_&bgmmPT4V{$t#{l>j8f-sYX<31oBz!gAn754kZFa8p z&9+_G5B1;0CCU>APwa<{ioKD**ONSod>=R-)*~)y{-Rh!<d@ZA9N9re?D!s{HfW5>IKyQs9&@k3TG{9j!6~_nk$Jz zhkQ7!na1P6t?P2+U}ju+%!fpyN1fQvrW=ehd?`D8=o=-R^2K#IE5AL+Cb3NDz`!we zmiW6IXKBzZ)3;{0dN$QyojTG9vPO{S^eG1RpQWRw#^A0cSu^LwR8%xjKE%&r?Q#NH z;sH=&00T3yD*mthmmUPYE)`T~8Ef$Pjg{Mlnb!r9vh^nW8%E7GVBSBRX*vj5vlY`H z?5(_&OW&f(t%0A_=)(dpkf4E}MTF)}WCR<=E^I#3176~PWnb@7LB{!is8a`csQV9! z&$Gv42i}`qOl*9HV*aLmr;sPf`^MOEQuJSj=%{{==e7_>$X($pfg^>3({U-El?QDc zTp8*JuI4rTabc1aRYD;$J(Xz-5lWvKQV!5W;GbXqkrMqnKo3s;ur!h)kIU*m= z*CvpHtx_zaBN59Z!Xgn_LaAHAzmXi35#Wn1Sq~Ew^*oa8xyElL^N=F>==nO9f)v3C zRuYe&K3rJl(yqS(dZF`=Y-)WKI2}H8NrM3a^BE$JK85xlUK?vEefS+^R=~o*ZhhC6 zQfoFXku@A;FB2Cnxf=U;3AjtV<3+IJl#NwmH*uHY-u$kIKg^{@^DRYR21U?Kpsw$Z z=_{vPGQRRE=|P+Gb?r2gNkuZ+)9H2KqnJ;i!{GT;YKm^1~uE z#!ZWl`KT+~N!+siJis^-7@7_>(Y0t9x0qc^+T3UNrhe|MkHr<29~iq5@7#n@dbPx= z%ob1ZYkDE;dg_;@-0UP?X?7^|7id_6qk>j+E$eChKYoz)L?j2>KqhAwcS27oT%Bm2 z*7XvsCi^k^30^kP!aNzX%b`1E$cf4FU9@OKC|<6zJ}BxRO{u@1y{&kK;CP+O-=Ju` zwo_rSBOPLQ9uye$n1)MB@-e`kH} z0oM_Jp?2>w3^MT&5o5)V9IpJ2jxeYdsrI>7tBIeYNCK$uN?s1d{oaHLV; ziq`cost5uR`)ImC19+QS-x%6Cc?wx*J;4$tz}-)kBk8RP{nq-g>tOpm#qvE&)~D?# zW@TXaGRM*~h?PYk2*`f<24CFtq2T8!%}bO-nRzm5HO-a=d4q&p3HcbQUDIak%H*HMY zXMU7{O<5HO9BYC%Z`&Y4^GkpWjU4{jy=xxR62v=)VZl;u|5OYPI)^nGn$<-}U!J&} zf5-J}T>oZ^81$t8XV049AEHyT^!444Tr8k)nC9Q6)_mc51m5~(l-d&V!oae@zB4%E zIF3?d^&yR+j8m-9k#w%=LWV}8F)i!#mBU(_<`Trd4rX%@cGY_Sch<)`OTJos4ebWK z0~ZfoIl?6Ea$%6LRoTg9%*UTw z4hAF9by}Wu?@g}$W|=HCl40ZC^Ph|b0%_fkD;S$h9$4DlYMZkULQ=mbpjWNiYXaPI z$q)Y$I)lUq;3<>ZFlsWGJS+~6s-Yi+J78Pq{ae`Vf6@f9QeNW4562TE&LS!D_;oI` zy(Tp&xs!`82TfY;|6*_E!6;4Sa}sbB9YMV@7iMLk0|~1<~?VxnaD}aP^}(jopKUzM|px4 zh}xs1BV+4rqyAuI>ko^c#X>wqzpC?CjV)iT(f-z-Zrt_MHKEhTYiqWB8KhYRwCIi8 z!EeoGezEEtL*hXP;in-f^3dhSYpboubGE_Q$SK-yx~#E@JQ)kPIe=o!X!Q4wm(@FY z{fu;Y=923c35izk?{3%wArOu7m0S1j22KH<*4<13d9KOu$V9w!zRTi{EDn(r;ow** z@Y6OW-Cfma&>Zq>`gv{E=s(wSzDL5rP831eP#i%lG`b7wAY$s?4WrJZ8-~1g$K6X1 zv-@jA%zzOk#VwyRTmQ;mx*rA;xv>_AzQU(^=Dv5uPyb7JUXkBuR$sRx3BS>w$q!z} zbo%^ByGcf$3|06`+irlbyXdK09}!*D{$gILYpc^+r7HWZS(~NC9ivt!T>Y30u6@tb z3NAKnHwI1ORSsDmA6y! zQHTP69F_f1PPeZ%QM{E;<6nu4h2D)}YW(^8Ww%;T>Q^$LsV8o#DEVca=-y3C2z0&N z(sOL4CaV*Mh*hKKkEo{v!j zL~J4mz`hVMXzbZRa|A>-Tlff6379_B>jnC~u=2KRs=ggRw&>#KYL*fv!HjT$7M2pt za%}}ji^+8F2xU7rTfP4hr7aAwFY*2-k{qpEuWGF_{Hu4q%#`t8oqaRQd~aF)5==S1nF-c2O=i3X z@)goT;J!rDXLV0vg}jmr=xX&v@T-cDdLLngC_)}W zHfKjYRorqqWkOTCltCNqSmQoxT)gz6Yb`MUw2qyfA3xI)Y} z-FvQePov-!H zEsQ5fsR9n^h>O*qbpKKav86=Bm~sFaZ+VGWatNJW7rX~#*pLvVLTDG5G(D4nyK@i41xpge|D2j#@Mb81{DV&M(rvLydS@w%Y?44AyW9YG(gq(EMI4YsjvCh zRR1nBktbmy;w3<^)e0yA_2BC@Iod1V=}YXo!dFH0zT9EP;O+W{PA+`&*X}Y4w2a3Y_E?dg*e>Iw3Ix`I4N6Qa0e;^j!x`ZP9cr`gs~oA zx$p9?82NiazE1rno$)udSu8Y2%IzmDkSqnnm{a^{lMx3|z>Dz`*#0hI z%27igKM89(Auf|LO=((z%fH@Llu*VAP_D89vBYHM_X%lx_1?rwtahC*JWlcWYArM* zKon9EX)%|5aI1H8-TI6;6@lL9&jqg!p-v!nm6}JH=MiU@UE|5i4xM~IK>T2VUbW@v zl4(x+UQTHmT~}lh-l?U7@-Ger4VfgnA3)v8zs}B>n+O>!Cw?Gjd2qwve;As~5NBQW zHxw)GCA5Q`9dlzwNmJy>Zx%Aea0W1xFbTK(s~b<|`LtXNV~C*8md^&5GPfg)1w@0%q94f;9jU8zi9Hhz@t@?YYuIC8A)8uh#H9f#dqs&Jh_p!&sD zoL~LKn&WD z9IxB!r=vmHEw!i15dRf+a0~X_@HAi&!2x6^4qzy>C;K1#7Ne(3{vEAq{;Lq>rbYid z(RKzU+wyyuJI&TU&K&1}QqRtkApM9++1(BL{Xv^yfv)8e9gyC!cnS0V(*BSKnxX+Z zSn&}1%_FQUGj1bx9J_asC}{oZgG|hP(^w&cuxaw|McBdAZS#fgTcyhe7D#_|ilLg6 z+ITq>!^_Q~RAur3vtH03%cfO0J{%NqcQfWnu3rjFjCVD4zw(fX0K0vG=IiG|C=$Bp zKL5@I1^DT>(Pg4-rvLU{<`N((vS!Xle zm##B)`4Yf7(BZgEyPH&p?YOe-8kX_O@?(Ch^73ik>Sd;HlsuO3WYUx>P+mtVA2x&B-xyv)1xuh|RH!_Rr-@(bmF@GHB`uJ}FemV- zw}0o_Q(j{xg(^Y2ol%(frS3mqO>^0rU>2RG*HM`zG@2&d57N~j{x^Juy`@U#)|P&X zv9xr^+EZ`B9TvaV+H8@-^bkyVdOa3+Xm0u1vQGWL6*DB)tE9p!{_n2Mt5CFVjkRLav8Yb}MHJZmEjd)dDPjlf^SufKq0O%p zN1gihqfb(+S$NUgzI-zHoAWz}^Sv?ooGP=Z)hrCQRvFH&NL6?XbS6YYasfBdydt2$ z{2T+lMLpcH(0{O_2GEyn={2!EbUa@%k<}gyou~IB@Fr_Dn|9<1D=WwA)Vqu&ErBLnI!RbA$f!2%bCcyuodEK^-Vu;^g zl!0~8p2HqU)T(WB0gwBgf8wi2bV0&1O+d3EI;ys!SNT>~K~LZR1n(IzeTfoZHwgR+ zHoR$ZmCiDX4>(c#BOM7CfRNAs11kBWf1MMW;R2x}(ocyFvwQBNb!0JSY6T6&Dev%RZfmPEmOl4b52@HxRaA81r%;k;SJ{4jKWTJQ| z9eNZJZy6BjF#mWd+4BM!nw!hex|Ko#Jfr0YZn<1mbOMNZdV%%%mhk>>;Ra|<_K8;q z5&8oA=W@IszyOO`gU_IcFK;Mujhs1i?DnU@SMP%vYQx#sP8wV*0RT*`&o*v!v5M~m zS(>q2+U-WabPcHvKJ+E}tWZWo%(qOH((12%Zj`s({cDSUU36b*0oXw$l5mWs%u{ah!9q&h7T1|B}uuDb${Cg~qZ6344 zQsthx=xuQM*jKG{*xdFnYm`vx1U~MO=>5;)fT_^N@})SNY@iCjVX1SK!bdZH(O^MT z5?Qr&z;gO!^09GWYQc)i`x^dwJ2ox&VuUcDv~0T2wJCz^KI_=!D&jbHIpa(U{L7L!JEqzD4?K}Y&FyGtj~FdJ5Yk; zB??)`u#wI_c)-X_qEe&M#1&yg4CH5A=4A2Z=q7<-l(2J7zi3}n%w2i^fjRY<0&e7= zasG{4p_l~tGPBDfe?smjNeiR%OaV1d5~`tUpsu@>8tp16bZxk%ygBUuhMASgwpzZc zUuQ%TIc|JKCmqfW*RI`JkimL1zIb!_Y2qweT4Q^STv)sjK^kpT$w7$*u$8jrtyQC# z!LK&k{mFgvzDqhQ|8O^AEzmpP^|rPuZFRiSY(9whbYLOLdD))yz)aNXw%YGDR(aK1 zgfTKK678j9c#zXs0)eWYO|e<}aHb05;p~CS+*O0>^lM_;1-Gtb0~mE|Sk?1H$H7V_ z#{ELvY?4TrhQ?4awU(yU1&CCBJGdrGikNTTPTv=^?8%|7-4tD;T&84opvdo$DdA?t zlZc90Q#V}^CAYTgj(<9zq6l0_$N^f!*+CLwDDiKR{HfrEXuxaae~vNB=6G(d+n^WDw~{cUCg zE?b~gW`3Z+JIiAJaEO&${Mu4G2?;qr<2;hybe;&{5E6k71GBL)s^0S+=ZfM{o^qen zG%YR}C)29cnSjIC(^|0}GO!xTP7VajhvV4O&8+cYYZ+?qKHXL&mULYQb;7Fe?Db)Ysd>!r z+2mRBGjnO-OAXI>lXHS+p_^qK_>7FCy53A;;*kC7a2A3iT8t_ z%z|fip1Yo&o^7b$wif4urJ?#AWe z-VotwTDqpr=@MO|bk93o)&yh4dqCF9;zD8NdCcyQ0(Ng*PoiI4(Df$hJ%V!dStvPB z`|V<0wOs#nZ!jfS#j%}n`2>OY{(xatCYMie)tT3^V=Wu7Zaz;-pWNLFvbLMZHRa+6 z+(wN|wtGtc*{k*1y+&y9G>NoZC>)3^Xw+!>uIF(q?d|5m`Q%1iFO!me6JA+s^%J_N zecy+8xOI{xKOT(tW7ghurjkL#79*|LtnJ;^+2rYmv_?nfxD?}K4;+C9gak}092I@; z=<&&O1VQ{JN1O%9OLq0>X%CD9CTq2(>5WX&hPT-^XvF7)30jn^I8BdL)F^rEwO49H zEa;M>y-$;Hux)tfuSs(B%@Q?G>%IBo-nRtP@~~u(5_kkSBO^!SDJ7_OXpJ5j4BMt( zIGdb8fxX`jTi9%}d%|?Y!V{7z;2tID{F+*4&kfkzY*o0u&HiWQR%qoyk#Ep4T-?x@f4Q^-dbNF$CAZZEb-K4t)zS7`>m{v@M_N zxwJb9?3wK8bQ(CZid|R`oYEF9fAYbUwnf(SI}Cz3h4wEgM?Y;8Ham6&76oq1I;Kas zoL9c~77l06-sD)EK&adCO^7}rxZmSV$l#0C^Wu9zJ>14o&WeRA+G^TlT`5{Q+h)1k z7zm!Kh9#OvHcYx^6)4|yH7q9sgxw-&IE$GdkO#-cOSk0_)LmN{Xr!qn)SDz1-`u|Hcw zW+Te+jGQH*WB$Y5KF$$jKcYOqk?MZPQ#EsGNA%GM%yy{7OUPFKcLg~@-9F?KVLTVbG;8*V5NTQ2P#h@JP<6GL z5hP4I8R&>(zUOzD(7%p2u@W-(O9V4W1?~FC;1jUh>ipzIVfoI+r03U*-gBr3Lv1?8 zHSx2LdCHz-S6h$fl@G^@%2;pxgdzE7@o+I+@!5_s?CEL_V}>}?x)MXpYT#m;a0o?3G0PhiXe zT|>y-G)JhEMZ;2p%`WIbQ}yH~^D956S;5>q$9d|@?YU)--kzokaV^ZSv>gZCI4btC zPWn}=DStj9LUgLJy&Ntk(@!W|yu8iNHzROtN_J6nnSF9g?A^*@_obFMLKoTZTU}Ir zP<_tZ>I&GOj)ml*K&|>(DT3`3%K22Xe|xpsc9!$lm&LWjQxNYSCk^Kq(ihPc(3p?Q zRDxoV(C>5Cv4rX*KBMaKPgStLr=5H=f=I(-xE|xgBV2La+4nTURzqbxgC#t5h57raz3~E?F?5P;7?mqH3e-Zb^9<=?DVH}q6$nOsqy6tH1 zB1bmcaXA%$wp)yeTIS6?`}^j#->!hBw#axGkG0VwGhSyWgwt`G3fn!&RMpgwS-8N` zYLo`rJ+IvZoM0bX9R=f*g+QUas%1I4pwr#?o12{o?!0rFE}23P&2LBdGBNVC0di4H zgXE?Pc5R(4F*N7sU*QY0!7k|fij8ry<{EwL%g*(gPa*C~N;$I!^Z3&e4NQH=!ycA) zvJah`Vw=+#jHB<9!ULtYgF}5#$cF`K_Ubw5IoJ+}Xf_Uob0um#^+pBhnuJDCO87^6 z;ryeUo&uxcN}kzekozb*@}x(H6Yak5f02o~qoNdHYH{4>^>GV=&N^Q)Nm2v#9Zvzo zo!32=yVbN!JuM#Hw)GJAvm==iiMHP)6T63YYth0&RNbagnO$ zjdBr1M$eBTihwpYS$L0|pua8FnpV@2GD2DU5krSdvma!$+iO7CbZbL4L3{ga!eE&M zO!>~sWSwD@7#H4g-pH(JjX|-1s8G&7ul>Vttca4TPn&ML(U))c?#R2&*p-&sYWD5z zMXdX#p7+$!sN-%=&R0S#7iLEBN~xXbHJd@V_IdBzT|v+1+OP~k6&+C`40)~iH(?^z z!z-6^x}T5dlNLSV0&5P(TJwAEU+I709<6Y<*~sNS9PAx#W%8&<27tSxTeq3_>b=a= z8J*Q>?*qc*zB^WIxQr6S)t!09T@J&@^@TK<1h)O)G5S?(wH{l}>X`A1+m@ypCmDzQ zd&YM(|d?y%BTdz{I8D`o>78>t5m3f8F`tY(2w7NlV zE4w+8k1MQu&2}EtHMcOQo|OEO>lZt+m42f z32W-j)sG}Okq_Zv;8mZ-6J0=DkdB{szbbl;okC^ zB0qdx`}k}&AW10>Mu3km!87@j@!S^=i00uX4DB@?6;Y=_dbqb|ADDXOcS|NP6MeP zG$k&9!h`XeEE)}elxkWxcQLM|&v{BYuok`vj|FTmhx=%jcH_SGlG;|&FqH+Qwr<2$ zcUbwzW_Uv{3RWe{`446<-%t7eUGQv0^qnHSH(4Z&AZ^VAyJZqfj1^m@U&qcDgFdb0 zTHXU&o3814sjg!5qM8aOiJg;VV)m&oUTP@Fy~7nm`Kvr!s7Da3SlD2eeCS=UcNEBn z{#Bt6!3Ez`QnmDk9A+a13uWUy74k4zqhXMgb4FIQR9py9Bp>@Olfs#rBPq) zt30&q%S=%kVi{U$T5ig(bhr11e&$&`kfK)HD&;7_i`?ESzy57k$g&qHaPXSB6jiHd z>xCo=hXijtd1rFsr{5!a;V=%40o147T9M4-5I)YoTR6h(IX&aV+Jhc2?{T%)sX-}J&=Iln>$^CX05(#Ed6E4w zi_+nNmQLd=bX@p$KqlN^!<$rZPNe^`ZLZ(fa7=sbQ0A3|z{*FCakl#0>Z+_M|GDv? zANc*2WhRq|6LP@~iytfTV&iC37-Yv0OO58W^bY1h+w(+6W=}`2e)otCdWiI`cEbzo z;Mnkn=^ZUCdR+LkD5YJ`+Wn!LeUC60ngU&X+fs@ixPZR2QaFPnqB2A*NkXkNhT z(%1}4KKxtXABSrWQAP4U&XC3Pk=zEiG?2L`&drC*FSGU=kYjvtMc0eIVJAi+>7jzo(k+djTT4<9}wn=pUaQk-tc zQU}(a2eUlq;9vTita80ut4n3?RZTq>4sQ2Xqo@L6YH%)71d3qJ2E{T z1x$UK<#A3DQHPbtKdOB*&c|x(nF;8UjPY8!P;m+L_@)R<|Dq>J1d{udLPIs-pRXKc z#KhA7SVq7TtQ-Me+gT~Y)P@%OL#3=(#RHZM9Qi7|wpQjT>-l=GL|gDIjEiT`NP2c` zB)Ld4x3w`g_N+^2)A2F6#(HqM{@yjNfyApJcP@=1f$q1q6i(9Bkb#<%tztI^=-4mL z9M~s*G@9U(g<%(;Kcg(fU9F^R+`3#ZnO($dA2^sUOyzf+_n>b{bzl{dPUtsJiIG33 zQE1D>>P>%*Ltl_uz;3x=H{Yolz=_^u&Vgb<#D@R*>^QWr|Do6-a`A=;imR z_jmRLrgp2ZOCE;T$26|E9e0*!eoBfzLCIWTED?`QpNQ`x=%2OLzq_o1dIavF{-SjC z53xZp|NHO$?=Lzac!1YH-{jb0+=zaX`I@6Ty;lCE-jVCPv|S=6GTfXU&Vd@hINK_H ziE%`Iv;;&-PdOR&AmQc5HzNU*RDT$dsUI$i4o9>{_@6nxti#)dWsF>DMOB41nt%a zSwdfu`dRVwi|p9dp1s^Skyj&F8>>jsr(qIei^q@hem^_f5pHMR+0t`AU_U&E>G%7J zQjDy1j22P{=>KrfYJA^wNwL8-eJZH;CwJ~qwxD9r8)A>|AAzvXeAKkSK5r5XS3gp< ztIL@h7(Gi#tCN=&;lo|=_dwP`1g&hm$-y$t0|?|2bMd0K0*AFdh0E7?&tUJSG~jT` z$FSPO}Bde{n2=LU2S}?etHp?PM|&Z}PCO3>6Wn52sE-nJ5H)t4G$VWOog8|MhlzRf zAOa+q<^sLFrvte+$D%OTUi^ImIZ`Dg^`pc1X3LMAswblwB+^z-a*ChBhu&~3D*>@@ z7E7`#^H_J0GhBed2mRv>4j%+by}G9mA&@lCxgap7h4uiwX10}!XAb_t;WX*Sj=y~T zM|ZIz`VHojD|lc~3OwM=@K8tO(QBFLB^ppt;y=(Lyb%Ds!aLR1P#BaARI1;$mu9tJ z0_W@wVa3>GLf;=!B30(l?wleE=U(=l7-M0kdZt~1At>(p6t7hc){6Q+qC|ZiCDb#D zeL4j8ik2{UUk1GoWb6~A5?;{;HaRX#_%peoxWZPiVix86cO_3ABwaOdopcEn@#%qj%^6OiE*Fe!%p76w@z zbr9G;CA(>#A3Lml(>yD(ftqyluIBr9C24uZ!(wA&)%?P+H*Z5-O>B8H!dF2EO3MTBx zpjkt4M@x|So+r6y6K~o)+7H1+5nr~hgBW*Z z+rT4(KhsPR8stesIOBhdB$LcXX5R`wD%Tpe=(?pvq6h{=g}F|6VtC+YvYQ8@-<(3e z=iBi4@4*Fh>|v=H#ZygWB!tK?tBM=mE+aZtinH60VoLqK{4r$E5>_OqopP5$gXcRd z9e)u42dfPM8Q>_9`L*ln-D~g2Ao7c#3+7$)SM!nyk^0>=ybHs}hIVkGQ&Eo!y*DIP zU5kA~i^H`r<{O=>Zdcw{D&YN3a~5{H)@vU=yXX^L6`b#Vd>G+~c$hFpuW0{fYwa&` zL*lm6(B{JGbm~37A;5S1u+(k)d(9o->0kPYk>9Zkdz7co*L;J(A$Bd)?-2g~_5XMW fz8D}qW6{r!BXGzUGXn>ezL1qtlC1h@6#RbxpQCIy literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/combine_avengers_superheroes.png b/radiant.data/inst/app/tools/help/figures/combine_avengers_superheroes.png new file mode 100644 index 0000000000000000000000000000000000000000..bcdba9eed61e3e40cb7ce9a2d4495187210d8c9d GIT binary patch literal 178223 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 bjo|w8`ox0o8li0UykCCvNU{ozb z$b5TcA@Jf%w;A*%QTJ~b-w(qZKe#Y58!k6kP-ymWgMB>W89Np&r(u}9Uaug&GfJ*s z!&-j6%?(YFPa3lpgojV~h?UYistikI1!#h*dxF^t5dZ@HlBs#jw1pdQou`( z`E&UF0ujcC7NNa{Unl%*8slKNrH)8+$hCV%8}i=wboeDRSf?5?v-qOOjvaw2bayLD zw?u`?25|_wV|h|hIg!CR?KZ;Vdfrsq+3~|gvG;h6jn~-gf9%3G5oIp1Rm_*ON8jDo z#t@ToBFP}O@~O!|4yiux3qgy+bS?*p1o#GziEyW5Z8O9!>MTZFMDGp}eaU>lcj7YP z5ccv2P^PwfX*rWWRBux#jA^KKKV{b!jK)E+SBq_CL?q!K?@oR_EqUNmP*ZJjav?O! zFzr}U@IGj-WeMy|riDCXpB!Cc*8&IM&F~FCqa$3!NvNfIiP~_ zQ*^t$4J3`FBTEu#2n49PS>!ki+8(*3%-Czsx+u?AXk-sCz+jc@WZNq1b^$Tv@W3_h z(D;aw)ygKeD^K{HH0n5f2;+uNpHfHk;I#2@_u_h| zIlq0OMm`f0-bJ|`xir-Qt@6CcAo}aRZSD(*6f!17$75!H-ujK;>xMY#4$0ttuo>Gj zbs0a(5`sQ*s%?nuJq)Zo>Y&g3=qY>J-jEnt#rkgj51tP6s+RHqUWxX1u|AG)qtja) zqmZh&RTaan%j}EZ!Or1#Tqd%1{n3MD4-%kUKlyA8R()byAD zRkiC!_wcz051UfSA;B7Z@9vc7TRMHSAkPYBx~@*5r)A7?$)AD3AYRbPA*k6&q>&8i zw?k{Tq6>Jj*0J)cqC>=zmH?0VFLH&g^v`_ z-Goq{B3?Tyjj+XdO&f8DIvMO=3K;j&cOwHkx87wQ01pW)LhG9dQK$+IE$@qGy#TBv zz_3}>&#xvhakv@>2Qj2yEA9#*THO${UijEX!K^PUG%t6`IKi-*cT8@ehXok<6DK|9hR2(8m7cBO^&iJ*~+uAA<9f7P6q&c6N zgx4IU`=97xC5`WCDtBlbn0m&7HBQt;Q9Dt2j9XDrDh||o;25M5iDj;poT)u+kZ`&< z4Anes@@#}3vK)+-4~dAqOldztez*C`$0qz6mF8sQI)Sg9t%%G=#6^sn>wR9r^_=p& z6$+Qz1&s1=3?P8&4)*#a4L031$Gt~-{LGW}n@0ZQ5U2b+xMR>FTNeM=F{I=B=k-e6 zYF*6{(XyoQL^Z08SGA)1Lc`J56Z2;WWRhQxb#0D!?~~j@zW^@C!{;I$y#|arUFCi7 zN{>9vA$~Lr-z*X|iRq&L@m4IzYfzMTLnrLWyH~_1mM&;Dx>;}w3+M*3T1>Ay7yjXMpQPj zVuf$`h!PKjH?%0zDA*XT{37Xcg9IgFN4jOy<(q5GPg~=3qnMa}#c$<)g!f5PrAisg zjH1@nPAz!vz4V224CsW&U=FlZV8x(?# z!pkO=F7Ivr$U7N217xJ>Wcy9bB`VuJWhSL1?#W>wAEQPbtGncX{Q*M)pJ|e8E$}TB z-g!}@hFoMJY|4p=P?(-^R%bDxo{(y2xgAlU7EvFj0*DCb$X&zre)qDbJD%82vLS-Y z?<&Nm!*W3=jdc?Km>4=-8_Reg(^1N++MCr~hXf z$Mr*-e^Y~jfGSLhkEnq(oz>#ZEwlEz$KZDFa0UFueM#Ail>g;G=jGauWU*fT!JSl$ z_D?VTmpG)IIYQ6mqH>gci_k%opb@{&UvF1cNBb$+&NvcT8NSqB21s)yNTp`WC;+W0 z$f01k3Vq?mkh!Y8)7?B!62+>}H=VWsyHz=pWDMoe(Tu(&8`!X%XN`&0_An~$OS8)&KXeGdHYnqV##$VSm zTlZjCm{ZH`$j_BcD$h64(wbs{0$zL$(Z+3|IEv1(ot)6E2dsUtw5fxfKH;zZ>-Mz~ zIBiM%RTyd5Z(`LugdwkG>FDY%g9C%dfz97Z0EE$zI97fmo_WFL-{tZ~B*`~cAlU&y z2;uH+d|1f*qWT3!kelvJHbNdAi1$A;gGG1A#J$`|c+f{`e|NLui11H)_#%P4^VkO>K~DY zN#C0Kxtc!-B?Cu?3<|10FfG3bklAS!ZJr>#W7aR|k@pS5 z5GdmewMb$@QKozXbFmCPOei$1gQX()s8j;G?)=Zp@F=RXs9^6EJu_o z7(0@+_l>w{)eKG{keGh&!Q>Q_3upOM-KmdgMAanM`?GK%Uqv5bXy3F;W-A)KC4%*jIk2BRsK9aj9JMB4(3 zbxfu8xJnuIiFS^4+Gb+Sge*))h5{`K&zpkuq=c5Uy0jE9YJDn?J}au(Y1Q8eFRDdF z*S~abNcP?nn6R)pp81)`e6w07o4H(WLtY$492!O4FIKi_wSMot^j}kzK=mTc4bp3e zysHYnkwc4x96LPxCLG*Il%g&3xeSqCUj^#di7YMj^ie5S)B2t#P<36kn;0CN*KQg| zg0IoBDN*@E|C@7;ctAOSGn`13B|VlKlbBS2q63W`)qDE#Oe*^PTeqNb{vjJw%tuQ ze1yEt<1;gU^>g{1s&R^7H$?LGNp17-x;uG2;5W5j_onT$O_1HNsVT@AxMhA`)z{}- zg)_J+U_L1j9y>h4aG6s7s4b3)13u}$WmY6xhEEKPE0+1;!#*7)xd3{XUb1I`?Eb- z9r@jfgy3~j_5=EB&d=vbX1TYuy4By?*XTD_pk~BxSOjm$rPWN?uI^ zIid_4&3&`PL~G&UULjNTWv01;#Y~>my_e5pjBi1pz@n?{I{Z_71>DP z#gd%8!NB;~E48dabMQd;ft*|cI^v?m!gk_SaofidOLQa4MTF-v624p2moP{xGQ?ha z{z0#_JS`4%t%9)FC#b*n*P2Qo-7a8+q#V(bh*V9d4OTQpLP0JS{7OqC-!A`h;p{3z zBJlarlL$N%Q0&JODKQ*9`)5Wa!w)RfgeBWY)=7Sp>4CQL@tI8yhag?I6F5h6PdnRZ(9~{m-e}rLdhz4#m0a74_y&SirDSLf`WOmhU05NWxt<6e#o8m0=eN(iAhxPAG?{;7p~t z$V_q!Gnw8WN;JQMFq4zp-49s8wPG$xgrOBaQgdk}F-SOUY07?8k`UZ% zayGNVNHh1u(lj_nqbA$?*(AEdc{%-Y?@~o8IWw+QgQ6fnu6m3_4RF zcIM<&4SRCLPTV@V)VsxJcQCV)qoD-WKkfZ%@&23N<_}8g90-;68ok|4i0wqGW_ZN* zMq~s241SoHA-(g?pe?6;PuW*}stz)!q%lPL*P8xBCQc|=ZXaAXA8e52qXFiX$AZX| zwF_3s_f;lE<2y$0cXdew)}5`zs;v%mmKNij3wWu%#aT#+o;d$fRGX+`SH6^&C;hcG zHtb#lycyG>l2nWu-Cht&TzCA1pTU~mk)p4zBoHoBM3?cy2z9u-1uoUUFLP<=-9Ei~ zf20xSR2ue{ZOp;h&;wU*mo)r>>6_4RuXH=P$s64_1!@=oY8I(t*0G)i0hT3%IJFo7QT@Iv*KaPSG4h9; z#A_cE;&%z&CjuB3B}7Q<`V4r52EZQ={-33A?vUnGv&hpY9!KUBiIm>Juz=W?9apJ(*?Uxfw9A^n77s^SLRAF&~0Wb={}#y+Cn zAL+CfMjtD#;P@{w{iaTT^k)y7tqN@hZpSgIU^_cwM-h&{Q6LfxZ1RBhurnN02~^wn zN5>_Fk{kksijnIC->SljOIVqTld>YV{{qTY>wyXmz)i3{ZBr?*y57vcj4cW;KxV`^ zmqzRJaK4(Nk4ufE9xRp6&;9CdSr3rj?Bognm-2{( zfC&{H!V!%NXSxi`sV*`Nl)r;-{UvRN3x5Frmp|Trxbl8FYWwn5pd{eDQ?Gt)mf?WQ zW(N)Sc|zu>bJkyo53iZ+zb>2QE3eQz(kJgGMZ^2T7p+Z%*MGmKAovKT_R0_9JqiFG zmU}9H?F5EcF)cKYp86f^P&AEiRS(@0vl?vhD2fskL$EI*)v_pdbkmaYWAr0wb|lXv z?L@Wk`6$B@;qwV296K@cq;O`hP__n1}IF zqa?(9nX_SS{nfhWhj@t})i2#y;;4NTFqDQ>8OwEf{yJ$WsS$T*U#pMc4(EDcK^3Cu zFT+Dvfz;5J@3z#m^Yz$f08(dU1&`*t(%SVRY>fm-?z*mL`%DNkC3imuc19Yb+cEYq z@R@KMo=}IZcAQtPVjL*`UlZ?txU>K9Q3?2AK}t^F1cfRpTD$EuChqdf@sT=H@5L%o zK@^1rb5sW-O1k1zZ?zN6|9x95TR^Ppz>6I*{L?ido&MAx^JsM#%F7K84^ROg{2rzn zYK$%>5|Qiby0MtDIv3{OdDeHZ2X44S1Z%Y5{eT^mp?pe)Q&%ZOtHc-Z`O?av2*|v% zQJF3cSy_nlU#?GsPrZio!qDMiL0{;FtZ`U0rb>CprFtfG$ZMPRM?NtS2rWqESCiLx z9li_skKloS$934=Lu)ef4WB~KUiID+n~_tHIHXvr;3ChIWAK)B5)77RBBP=aLyPgM zlVTsL5E2s_2Q&H*Y!Y|f<1zsaN05p_iHSnhFuK(!hywDK5CGRTX5zR(25u+$M{^E9 z5E|Z};SgtgN}Kgx-QOZJx+cD)5uj1M>oTH{!SgDt>XmyPa8oHOpQbk0r`JkW*PWf= z^5mq;AYEAj%o>OMlD8+R2J`*d^?1{}A7jBt>?x#3DiYf!@phDKG9F#S|2Ap;i$T1R z$W6w6C^#gYgjm`5QD}{XeEqj!Phtv6Mxa9)vA*w=->}Bn&h$Jp)X|gfT<9X-NjqCn zd%pfG_-=nEu!j4lC)A6(-Pd4;gcs(QH(iVN(9f1x`STtNZy6zTg)@SXm>iiu@@&$0 z+xl}yv)crYLC}h6$1al#l^&0BObZ2z&I3jjJ6rDcBMI7@FFoxSBs?F|{9#T<;;taa zI1F2qf7^eBS^RS~`COwLjNP_!s=Hl}j=`6j((1n}riui2tG? z?euL6_=q0fXF?e8z3Q52yvc0lP~$xlAm^R{KY#rmfKaGpuXtF|si8};XmEAbAUa1y ze+3ty89Ta#xT!tk z21_YC{o|bm8N?}^SXPdPhbr3$#D7nu{{s9EGN}anPDt~m-{%ShPqn!@JU%{}B6_U7 z??&_d#9cIinCB9uTuDesngVI5m$X$-KY8F+$~Ow^pXouc`m$0l_l%+*DlBvSroJ$5fdoorj0o2Vh%qUzJYoa#u&qt730YNc%7Vk=#;8 z`V77p9F8ZO{+XyST2|{`@_96vT6tAMOOO5xZ~6BM?aKJ$?d2g~BAI4mEx=vv;pF#f z17mx0iZx*!*2h85Sy37vl>Ax%1wXHR1&*MaR9RdBxzkh`NHT1n(#bZS1Z@Ci&sp&Q zXC%p5K+R#zrmG8l7Wy9{6Q6K>ZlX4F<>YNzgR%d-C~IN>3rHh`{96O*eozYVHkEB{ zd4UObY8|z!rYP3r^u0VMS&aRmvdI+0Qov(+hzr84oDD~2)`b5xY(BLk0iz{oh9G7CSJcQqJNg9vGk-3<@*wD+r-lDo zXV3v%esQqKJGcLo_$RUdA`Ndl;b*@4?EISS-%b8^2W|0#smj_D@_T0e?*^8zf?+K< zN`!}p+r2*8WpI08Ik&bKg&*F0)>9G;=E#nV#cCaqM6HphR%d)41H_v8UwVF=pp?k* z4NvEb$SEsB#19ioDPu9|1}2?2qYnN-q#5W89v?h@Q45xIyMr;zdb8Ps8OGg&|2AjN z41}4q6e%8+kQf>onlJqSQTG;3actY-aF7HD3GU7?Sa5fDcXx;2?(PnQI|K{v?qqOx zm!JWHyMN@|bKbk}{qFk%zN)USo~qu{doP#0*2bXe76fs6>)3Cn@>c+e`f(Xf!p_B_ zgbca2{+ssxVVpDJ+1fj^6tfHcHI*+%{!r1KXX{m9>@Mu8lorI7(v!u;2NgZ!{U7vr5|Q1)y8 zCqn#Ok-swtgu5F2T>d{WdL93##LKA4G2=g%ctOOzVQdQ-p3wL|Yw$yoKO{4tyU+SR z`0yWC=tB~`m56~!Fn9<54~`Lod`knzc8pv99}1ZpMPDFXjM^*ie_{G>qWb=4eu{*i zSu20>&;O#=H&D9)y8}>S)$fS@51t|XQ^Ll3!`bw|N$KwooQeCrCncyk6Zp>*oy&`2 zu1<(M_GkK=%Sdjg9k)a;rKl%euRdXX|1YZj(}A1b0U$=E>8@u2jV?U?__2?HyzhFv z4Ut#)kUjuXx=7w*!}$69Ffy37l+PaQYn^@VwKL)ayRb=+OClKS&n#FBj?sO1S|%|> z+MOYnmsQpcqA6>7*Kx|9sE3f;*?|!3)ISM8f(iu_ANIeK+2fz8IuKuKe$PSvU6w`= ziHjBCnC9Sa-AYhfI#ro1K6jY$!0V+E%{U2$gqHIiwq-)i$q4n8rw6T}46AX0wVrm+3jwDS z>{td{=v&$4P4&Pr-^*S8viTIMGTe`5E%ERA>)&7{Ami>%JPJ++g@;4y4yY|c;wFvyvQhk;tfRhOyuhhn zH)!ilU#TCM565^NENI64H6nK>sgV`Vff`vv?v+BhSUO_wlpHW32>K2eF8*ML{<2r6 zg#oIM9`KktIi5XnPY@O^;7$-c-s^^LkK{M$jT?^fR6A;J{NKXJjR~R(CGpNRN>u%I zDwV;22=ZxgvVXv@+lDyqO7zLtKZw2}9F?b*2D_ycx+l}WK${bT2?x1gIsSF+W66Z* zgr0x19qOk7Zd5xXYB*A3VyWqePY3N!dT6R0+&KO;I~RbE4RSbThiL~OM4$ihkYfEJ zhZKY6&`6gNG)jt0LV{F4Y$Oe8So#Yx1}|P{7%tRQeY|28iD_bHWBl*nWqf?OUXUc?T>uKGfZUvM^>UP3=f38Us`vNu-;_CC$|_$!$7-z0DM z5v*HME;y4F^GDGL4qkwh`h>c4I!ag+8)#6y4?6%R`h&PU=*b-eKZm#mNxV%%9^l;Tc`n-W@4 zykLKTbw*r`Tr3)68(b<j z09tU?Z1^9Erp1YSL~tw`g|DW}i_vz!W{#^ijY>vPGmtcOM^tyk2%$ZX70vmKwph6B zZZO6B7{jsd#{2;G)mV{ooEiL47~Lkw;%S(%iRDY;8K|Br%xLBBjR9$gP8#?qUWCSS z(kUv(nrU}m8(3VAsli-9z;6c+W#o&cNyaUT|HhebW@P(-Sa<_$?c*%P6^S0v*Fia* zj}ikxor03GN`=7ZMB-`R z(lSger~j6$Z&-~0p^{QCX2dsGKTxlWwLM0&j6=iFmeGFeD>YGV{1|v0o4SvJ2n~g;k_(Wy=MN;`ZV%Hwd zx?!(U@apcpTKUIJFNC04{E zjqEYDB;*0%pPwu!H-8!z)iuH@BpB@`+2b9v68p@3xtovx2h37a6Z?`WnoA{w?3)du z`Z@3fIeV$@n_}M8O1N7~3v9M)q_!~Pv!aym#4*j^9ZZSmh>-~#4s(4MO^bOSZ9z&n z7Fm~Pi8nt%C(vsIA19=T;Mhp{IqzXSn++E#>m%zh+{<4vX5~=+w+c4pWG^NaSf7_L ztZcvf$}D6Vsane)0dh=3X5r;&#XPjuE0X%Gn0fN$(;}UsRs|OOa=qFKlyNVR1uFgZ z7Ujm06sq)f;piRA#7D0YyU6k5xZ;uHN)#Lhq6z}Uqar(=l4u3Dp}tzEkX-3V@`W1| z9Bfqg-`{qM>|PZgU?n*+9Ei}8Ch`{hElV!rvreNie1Hb*O!yBgo;q+GzNXBmvLFsr zWvE7M-?6L_(O^#74Hdu8QRZ1nIY}7#*0VJfce1G%3woD5QxHX&eOCF7BJnhPGsUv4 zkpYrcLd4_$`HJ2vxR97#8SWS34~vkf)~uA!_Vo48AlEC;+(Pr55Fh zz>*!9`p_7`S$dzW9`=KmlxD7Hkrm0HM-rcTH{5c=kt;Ftm(TD<3e+WXPr}!!#jx&f zq}G0_SN^RuRQr3D$V!#SS&Y2TxQl`nG|wRYS!r)Iiib+=_U2zdPd5mT!!w4|-8Itj z+!Fq_fBCZjxo^3&#$S_pLgwr399~|uRuks~gucpLCvR5ORGX`szcHdBmb*jMMY6tN8YW%?#q$p0jI+rMy5uu3=tnWLmfR%*-6X=0VRc5 zCgg+DftKZPJ<&A9m65(j?xk!sMtAwL{;ogvG}+nZ1mAWDuFaX3qGSDkn@7xIJhr8O zGIpCBf;8-!_H!BZUiH?L0X%S$%-3Uj9O(IbaK(#XVSh~57sAer=L|>2)mlNAb{<_Z zed~95`Jg`y@5pdoWpI(Io*WteJkZL%?b7dT(>JCO3&u*=ezRjK)#=TOc6^8JC#^|x zUxB0EhJapa^a1CeB*s7C!^PJNIeDC=q}zxYX6TPL3as<3^T{-aI%(W?mx3gZkXQ^@ zO`n+N56mA?R!S+SP3jEwS~FE$XeYZGy{O%NATFN8{X_upmKsc89&U7Gf>ih6HTTho z)mik^YbTIW#>-m14=G-nEl_OlkoS47m_`7= zfvFT4^ZGZpab1X!c3Xpdy^q!Hjjb6eY3zsr+!4=OwJL9igXVDV^ToSFah^ zAcns(|1GEbY{-mTPb-o2XGKb$9tT`q5+VVo4qy3VYwi}0cyEMlaz_Am(yCnR(Kq^| zLSeAW!kuWoX6C&K$HTLCo+2Usi(uy(#)i+QnGbwBR~bb!#6AZYOHCRYysDi%@R!^T zDr2NTgeq>f&rofu4ovKt6S)7#;X?$7({qJy1~x?gVRwQh&mT#S)wZc($#C73yaWo` zX(hx3In)uY1bdl`oA}Hz7(f0hBZFg*9Mwo=Ne%)!@t)`+mI-VBp_%7k{_k5OzQK*> zfB6I5=tM|ZOfgqG^~CTR%?p0`>Cgo;>RBafyxuZu zf$GoHE?#qjC?y5fQuOxfc#Ww#&KQz6lPE(!wt3`?=LCPTkvl_(ipb5Gzvq7{}{7!ij>;y`WrI!BjRk+e$_gWDP->Y<4<-KqN0SZMUzKBYoh;&zhx`Jm)L zT%!%)XugPulm#2UtNfb+x??Vhs#O|hXbmP3D69Y_;im-sjH4p7(vCS}{9K5!F`nHq z-F3P90LDRD=?RSR2g@L!YQbn^-*?GiARx)>_&Vd@Fhe?%!5ljHW+UPI#y1{#31Q<$ z25NT?>Y@r|uaIyfN%qSXGT}a6<@*K^i+$d5SPAnv9*#-Rz}Au%&0C|B>R*5UEB*P_ zX*AOg24$i3Iwi6w9zU2XSs$b-{w61lqe6*C1jyB z*ds!zBJ{)Thm3$4BXRoN-@3|LbJV4GEOC?CC|B?Xd>qVdF2A)!tPqR2VQsH4DT6Qr z%Aiw{Ty`7;ACz(?bILlQvPgV&nbfERKfLNkC1>Z1w^l6gv7V>MYQ)zp&%Ny@_}Ocj zhR28@2j~fDbCHMr24=|;g@`HDRI^WcEDwJ)h(Ww<)n; zW0!7arE;(nWnpKN@KA`_MHM5_XcsaM94ziCQx69i%|vd~yJmO5lYDoSlz36I;!c z7LFPt+MqO!wW^6jRVV3vxDrx!ee3Kquemglu&fW9(b{)NML(H~_LDh%lrtJodohZ&#)2i~YAnf1Ea@XdwqM|gj~y(d5mC5p zVffvgFbwscOPhSe95=M^l)O20Au&!vmfIqeU2=Hr8~TtaiM%;pGJ3Bw4nbtWb-1ij z0*CSki^yhJL6-_48*C1klx17d=|G7X&WLDwly+(_JEEt;#&OZ$3kmwO;glNnyM;*0 zGAUv;`~8a`HdSM5yW<4EpLI1?3XB{M+H}3tW^cQFfn1vL4J4TJZBW5tC=zWjJIv~z zIcy8^!yeX5zUqO3RoZ5;w%8D$0?~DVDA|2oN58BorwiQ6=ovJ3mHSwwC>_HLH<|S16U@tX=1)M0CDtczL;dC6fOfMk| zAy>G{w1mhPd5bzS7TbTqZQmWC)$?~gI+q;u!-5eAqwN#6k@?b+7mSIA&;cV$Z*ela zV>qm{6fNy8Q}~uZvo=-tVGgYaG0GeI4U3EHuOS4H<~~6v%3} z+EK{)l#a-Qi$<8Xbl!Gpq`gK@VPR04;Vf+ZJcwKuZero$$Bo zU`!^O8G9-+S4)@b3g#9!p`d2sO)uL4zJft~8Ez`#0Q_$kMkv+8WA}E`Ul3o!W-|kd zi7i^+W`US)9^AIX@D+Mjtt1c$!>0g!9+r?uVn~)a94+f4ug!ET3+{xIHl2Hj+3eYJ zoJv~kepK@^Mo1jcH`~;YFGt-!n*G-Mq(FZzwv_#cyY?DNZ*svb8gTNXZ%@`xjkT+T zxRlxsLnC^d&m zAC@F$zQG{E3kq5!)(}r+L_q#o4+^Vqg{i1!^?l#pVk+RNYFw%JjRPm3z;}T2Vm{N4 zekgOzm)4Xs2=*w>B0Ef-Eia07jAdya25?Ryv!P=}>J=4M+!^ayz(mB~28wW4&CEUl z{6Y%F4`9vV2gjcgnWQOE0o_+1z%HtVI^Zm?V)Gx(0uhsy+=P^x2^o#&sd@GfWiqI4 zx6H!vws*wvCnktdEveUzt@=ZsEhDcvaPk(Wq z@X2RnwaXl1UoTUI(YIz@Fc6Cqsh*&>dD9hvhQ@v!%!nTW@v^ug&`ZB}ZkrkPxi!_d zkNh1i&Lu$77m(ojWo!fZBS$wcVB?nF$$;wx=3tSeE2XyAM>)80fQs?+N34uAjcB!*~GdrpoO;(Gj-Xa}2J@pgIf)&j_7(pl&@R z!L~0zyWx`75K6O<<&y3X0cQrkPM!4q2yB-K0n=@ozbx z42i1%Tp!yV2beu(b~3}X3NA)FY21^+?amCt{eGmFjPOR^kAx~c&8UJ7da8P50_w0I4TfFE(x&%bDk`m?`*0$Yt z8f+9q@`uWg!Fi5oWbxq%LKy*1t;QH}A7sU#?!E5UOCW^Pgk@r!zfvc0 z$hgfu&8X4ZqlSGq`|_g7dya_`A7M6xA2y(Wua`Y?UW&hU$g@LDPFM5v6BN5B;iFd8 zr~LCO81d@2wC)V|d;Heb>yNtk8^)vZ&sohPBTGq;=j30BMqN#5ybF6Bz%~+YDgP`u zi+D13ygmr`?=+uUXm@z#N2#Cbkcr{I3Sa_rc|@VV1$uOK>Qt(5I$jEHgiBnBG`bX2 z=;Sa_K4E(|N{g`#%BupWY6lN)LdXo}b!l&_ZkXKr-x-GG;4Cagwmic-?q?$I1}pil;B}AbHL0 zoIq_ydgX8NTR3IC***Ky(6gJ_AXpv1Hf^tb zjFj(l7V@Uyv;eQ9VhT}tP1rUua{-GEnpuu2qXeV&PHh{3L%DNkIm|qql_R=xd&Cp+xm{h zaW0vNko0IlHsCxHMhjixyFhsz2~3Ned7Hz1C`ug;pA8wup7(v?U>*N}4HL=OTX{?2 zWRrO*rF7^#>Uz&UB8V?pGGp8Pvq=1ki)ez7GutzlnEus|ExP#8;!&jQ*V7mp^)9Qd zBX7E7SRWHq(F&~NP4zWKc7lH*KeixP-BO`6c zVa2j5$MO$l8%KSED`$mX<$*JZutZ>j!>Tv9YQGi_W3@n(SRobrNQKw-9g1`(R5&B| z*u4Ce0)jwN(16rOvV8AT!EgE*ucdcob01ORBmslAVO^AQJ_l7@NSTw0{g*l^jN?mL zh*WTr+W2xi-O{qe0A^m!`Z+2N{*eI;N+#{Do3Q2@Lz#y24*Qi0Us|33zn}0mTNY|# zNF_R?BGua8{rh31fgAXaD#X3<%)qLKDG%ClB(}~ROH6j1-r@KddA_OS9yxR(_L+!^ zCm!s$)&e~9c?Rg7h>6sZc88qP$MBf)=#-g|!T*MR02p?^o77HY}h59^mK7~tS zh_FaM*>C{_P#t5PK6)?vS2<5j_ldE>7}m0g6=1c*k~l*0fo^UF#4mBG+o|d97aHlE zdetY9_)Q=L2QH@JYTeNIRf}ilh&5O2e|IqA6#J8xrO|3EAjKFnpD)L@Oqy*O3Bv_L zw+H%7k|A%)za@Fv^Ly1gl3%_nPvw=vVwXsS<>Wi#P^y_Pr`i>ol2WWz+;7Q|q5U+- zeh*nmhBjxODugZ)V@X z)6$xIs(PT4NnY@7h9eyo(Qi0lu-h?*R=xBT9fD9J?|`y}yHPi}bh&WOhKKsJduyOX_GijGUgqN7Ay&rWzyIX;9`c#y`BUK0JZbQ;`fP@hpdV=FUt<*-Z2eI zLy4ixu)i!@6;Vb#73pp6q%r*?*o)`;XV+v_3`i@!fYO6e#0b!Cg?T|6dR04=uR*IQ zfHa)cZ~Z-_p*oHXhX>9D8sC!n4`^D{FU}~U(ZLhu^#%3rpB#fE%K=OD{jhsa#J)?8l2pChX2)H zml`-VP5UkU0`l0uw8_ZS2>qVX?!&_to-As;a&+ZD<9jTYunQ|({s+=}>PpTjXEIQu z!+L7iSyIiN`JB~+V9+XQ;sgq%&Eia1wUc@^uwe36AkjgMg7`Nq2xZkNWEp(z;o)BJ z%g?YvZd1e~v9hvJ=kpTK)0HrgPo|S4K*$_!126U(U$h8Tk?3;>w&RvI*^5X?9evab z3mf-80e_@q4ORIeM_$d>gvO0WtklVuUYi0smiNBr6Olh zOjMD~q33k<_j)-8Od?LN_b7Ziq0N=0lhL4i7$c`oa50LztM#vPtz5(T`adRFFzSp< z4T{KQhTGjx#uajI3LcKX@lKfvue3HI8h(w+aEZ{$j9jypll3j8)e8+ye`(sU6zUDM z5d^Rpg%(A5@IOsUGXE$7!~_w=DBl>RK5o*Fk`@{8KERYbc zK5L880q%hC4%(>yX$tE`Js9*QC(iPMQObQXg6)(}m{Ue{jeLTm2?T`aDH5filW;}jb)t;&klQ`$-{DyRvgU&KrlzVO)m!V@#4l}J5I zwJKAf!i+0n5RVE#!M!dUK{w%_wVOsFPM}*r3SNA3kMLPSAZi>H<-IsD9Ggl8b~f-( zK+P~&F{(EA#wg+VnLh=iG8xKpMKnooX>?##y0+p99yIL9oUDRn#QDLm$skr`QdhAb zw0FKY>oByXN8^vL(lVys_{1uZqRmTp!Ua)D=Z4drDKy-#$ot8WmctGrY|t}uQj4d4 zt9oUNP8a(-sXehI6}(^hXc1)t#Y~#YvLy%q`Ew;@C2PKfK;5_Kt#m&Xa+T1K@l(%} zEI!u|2vL6HO~(t!6Q0{A?;KBC?wm)SjXDcoVomS^nBwCX-J5*;%Ty3s-l$yrmFnD> zKOCGKCdnmRiBE6d@GM|LFfQHBY}pj;gU0-X z0Tp88Gc^YaRdh30Swm7OXssbM9#t4PHTfx0@TO;NP=X2P;!!A4CpB2-@vD3_J9YitD~+ZyOXO)Fb`;ZG`2PEHeCQ6Ap4Kzth=jH#>o6jo=vSCm z6bFW&&JW3$)A!c?+f?HmZTEQ70zULuZb6F0)lIe!n29MYe3Iv892EdD6(O@YY(kww5V?u*A&F??v- zIAt(mHX>~N^1J#sMnddp@Nn-Ss&U2+*lDMu9hcNHML&SO>G(@3?<*SxdoyN>Wunuf z1QucFZ_HtZoc&Xn_ZLx*he_=^Gzl%%fZChc+%vA1UIqPVGM12)FEzJmz=?dU)S&%; zK_5u}>n)vsAGz_6QfD?{_|^{`i&eTs@sv}$-HlMC z>w+w1i|Otoao+}UFC6CZy47SUHR082B8Mo=0OADaAEPtp@mApydVeZ{LQobktG%x$cD(35O}+R7P1YQfmnGrp`twB*w<;?8Sb_&6Ze zV)cCH{A-ZVaQtUg6Ocs`Bjm~|I&ZOh3I$9LjoMs&S7a+E6)>pNCE1z3Pl_*{4+VjS z#*oywhXVWY`+2QMwZV$1nI#iW#&}N&*`*NxiFEsPNw9_PaVyRvJ!7sT&n6~AE2U}8 z;goH}yC7f*a4TQ^sHx+mBVaFz5`i-penEHfE@C6ux`+#vImj|{Rd388=U_q@b0S*T z7}0lxb*Z8v-8tEXu54fJ2~tG#F4h1M-i#H62;$EL%LR!h*=sYnsEs$^F2qHj($;FJ?>D{iz=Yrm;H)($u=FgRD3!6$EmTjr7N*2{p;!`A|VPG$frWS zzYwiLRZb~G$WSeET9Qkke4jxOdBFIY4)o8vt2mJL6fG>P8dU#1nAmOr{2EiMW^B2J z^k@_zBX<6RC+vEPKnq4mi~6tG(!ouBE1)?2*jUF8S}~>Yl#`B7J~1S3vm?2qyclWdvdS8(=K8YFgu1!_|e< zwfy}iKjf7{ujjwO`~Tcmp(zs2RR4wN|L4vI@sYG0{cp_tuc6&Ceu8ke@Bdl%zYy`y z-3~QZzE{itA29vTq5uE-wV^u@3krM#=tUD)FKbRgJYTgcsSicEYwZ$FJu?}{Zh6aePN2rF*OBMnC zLHmCbkiWlV?nV%biNrTyko|VQ^T;20-0bt*YU=HfFBsl*WB>BK2sUiZC9%jL)JXuKV!SA?>q%p{(JzzP2dSH94a@_w&DflTbac_zERZ| zULv>6Z@)}~>}HeOAT9Z~68R7Ko44WTQ_$En>9UUEQ##y?qjU2n0`vC$gyG-m3{ZU}J+IrJe zUk0<7lYzbcTg!OQ^(S=Ee%bCTcSM7Lw&qI*Z{K6&%$C&;mpV!{`acav)2*B_x4QG# z5WC%9y||fA05|O~RPAf}eF+;{(L-6x`(8g*7Q0U45@Dj+Eg1r23P%vq`>uXHwOD!9?avPRAVY)n&ejA;*BO$I4<|R$3=yplE z3H}EN3Z?!9!7F)L?Ka1qLu~k@lPcfmvi+-&SItqKdjSif<7BI+vmIt>+0~c>n=+IN zkmW#)mri9NiDc_dHvZ z(N0@NjeBvi&VWL*$nYq&a0M*s+HTgIK{%*Mli+V1@Q;B1^RxReR7v?hz{p`6;(f8OjDsnTvtsZ~-Wtsr1jAn{M?@>qxh~0#x zrKcIGu}#gcPzP0(v*I7|niUwjz8s@r%G6&v{uK}o3&fo#Ie)Q8HAFL7rC%QZZ666l zR(}*E?&MSo!l-d_KVI5hv|&TC8t~(c9GA1%9xGO6JXAM?b z4l}P{#GmyCrwb&R@b^MGkkK@>aFl9*6fQ#2u>!;3^MUB-^emG8^3&Yn%Mh~tlLy{o zZ00~Yj5oY#_R9f6L7xk)U?%VPVJHl%#fSm3HZ9Ul1=V&U>l6oX&s+64^Ng6s{mKEM z+h0-^^bU+gGD${l>hXiq#Fye_u>4B74IXaLWZy|eO3xZkE=!F+{X1v=*Ylq_tL|8f zEh|$kL#}4JWj2Ly-s$R*TNj_7rYDI}Ib^FJH|39qCwzs$-yG!#y-`D@Dyr;zq7_CV zZEx2rmf}F{e=p7kaHFmsO73&kwEq?m=5{d=Y|i5d{rJ}Un&gylAP*{ZQ^R~)mee=1 zQ)ohA(47bSF6BSyrVv_x0jfk{>GS~D*xR{IEInjx-nrp$BzV*%Q+2#5kKX!{nLdwg zZn7w4AB9!JK0El<3((e38MSh`(NhX6C3*c`jm-#hQuQ-;Bb`nJK4F{V(EI>=C)v0` z-=6W~5&p5Mm&q+-m7W0i--gS-3r_zYIsM6xq`FdZoj5;!qMmKCZ{7_k)m#_fr&_I2 z7FVE?%VvkFBp6=r?S_-{uj&JS43d)cgu#?kC`O_Hr-?eP;4W6+tn(LXlxn zMJpf`S)dM~SDZYZZ`xX*0$HINp~$DLayyzFCC(L%er&j(i%$me+-Rzs&~%|i&q(1= zw7xqCCVM%23!Nd0_2FSi5$NR|$xm^(xF3CJc4PLX?ANsr?K&&bR(R$~K)vTf*feY99EctwDD^`p zoP6bzTOC|aZsod_96T;GdHZvcTXcV`(dHItJeuM)^m_MKJ!eNtJgmaDmsP*t^=Jiy za?_|uLZzorM$jJfANLC}kR?2DmM1SfUDx+mHJrxY*6?;A(f(1}##`Xy+1Z@P}>|_ zngb-NpHHTve~&wk(Bk9uPr%FyQ^)dHKhYdH`h!_JOIY?Pb)~=%DOvS?a4+jj)S(WS z!gJ0=ma7}k>T)KYldgYaw(CBSv)yqrroYH>d0}&q0TmgQ4L5Rc;74gknU;J<8v?=* zI?q7JU~H*Edm9eTLV4<4A+#}fcGUN>Xo?k;5Y7^E2SMsB)P#6$@?}K-Z4$1Vld^#4 zKu5)7bbCio^{;rK@aMhoYJdKw%+D6j2rHaETCQH|v9%u!+&kaThpAI*rbi5#a^Yz9 zX)2MW4Z&}3va3e7A|?%@gx}pWm~+a9cXTya{x%Bs{+eE`hPraoiLJ+;uJAmstK3z# zz;NExN6bNkZch+gEK_+}a=R`zk62dYn9~|t5d1n8GCM$O9rT`N`I+Jtgd1=qPT-=d zj>I+-a!0xLYS|N;^$0}M&Gv<7fp6+ind?+Z>kDF9YJt}Y`__|Mn1=Gd8?KT<%#rs`!iI;`#r9Vl^s}`x1fSk*^+ggFTie<$B(J|&lD_BY zlYQ|hQswiqFI6idoiDAkWUqlvrLSG-g;_s5FI#%n3@In3blflaG(*)(^;2g#rge&k z7i`#1Kk?gMxTunCOX$a;%AeAhtYJi$A4zaoOcw~q?y5RXgx8v|?y$M&y8c!oU2G8~ z6Gb^}suG-MZ35w^ns{N9-WUTEh2x^YCg!m1>tij)X%1)w2MJ9@O>evXmxhTr3>B(v z$*o##2zMSf!#)N(3L_DcMsp<_Ek#CnQA>Vx1;`2)?kxifo{a2^^`%`a#ICzcHdm>z z2i;086`1-YTeGmSC`YuD`4a5|w=LgxB$_N95^PYB-vXYGIPg<+!d}Bi2~_}=vS^iE zuU}AJ@^UX-G6?wXuU%55Fo}({HX#vErKutnUJHCSTr|bw;P=;Q1rPb0Cq}-YK6XqL zlN1B0ZO+q>GlGZJ7?D{>TZlVzv`_xfmi)Kd$OXFC6V&JAAorZZtUR8RJCmla!bf~K z)jaV110?jNf?|5SAI-(d#p;hHw&T8hsen~AO^pMJvXOqYl!+#}$*)O>i74m(j6w}9 zY(}e0;{q#S@xMsH_)V~jg`?;uzC*>v#-5(w$B>xi(I>D8R-tBp5C$r|4^hlsDqlE2 zmf*gR+W$hU{!37#_@j{-zJ$qJPZ?L2S}39Rmt`em7|_1fsur4* zZ#>Yty{!gw*uXZ~sHXU8hM|8YE}QJJ7AB~<-U&EyB{FYam0UG*@%h22PyiS%{Gh}! zC>iNYZq?n2&eh=5nHl(-LU~-E)wrHUB zJ69z_Rs`=FI60~A*BZMMC>Yzn5Zr3$?WHrWG{_JJY)m?;F_0@HfR{US1blb}ea9KOc;Un@KoS*M`teC@qH9h^qYY#^P()AF4fc5`R5;4N7w4>-@kE1-l~?d+YDaNT|Q<# zW}bJp)q5@m&ou1XoR0S6SV}LKys8MSO0$kLdc;P(iJf8d-DFOTx6-=W@oFp>RT|eslyhV5UFEx@Ji1 zVuCE09hG8&C#9cO2fgfi4)1K# zuuOQHjG;-b0eK^>%3%OJTtcS!nlh=_=kHI}sHW1_v)`ycFxK2|)YfZR4nZl14}VeA zuLhmM(HvAjt7uH_MmD$GAA+LqVJO&!u<-%!rrZGTZI!)XW8_(7n#IJ28jJL zoYaNa?jS8Y%gWlm;d9(`#3QynO(LoF11)_s(YN`70s65NsnS<~gQQQ`?Bfo^@p|=A zYTb_-+f{#)*yT7QCGTXrw*w^gB+oG=xpoi;eyZ(#!yc5@q*6=`T3$16Pe0s9*%YA= zGPX5$8EpG?S$FsexE1ScY4vQkK&hv2Oh}D7=s`{gTWM5Bk!{v+5Wo{mb*#P&agwnR z-{4Yqo?jOvJi&k7<|5Je%G$~hMx<@8Gr=~+y@H`xr}68iN)+dbH1)h@yTreeLb2rLEmv&~?wcZu5FiEqF=b3!48qQ}@a;ZAG{L+J_Ny-`z42T z-JVV3Tl{$iyK;x|f^cQODa_uwy!#h>{a6z|i)6N>df<%@_# z+>UlQDP7fj@B-+rQ$j{7;I56v4%;^N+?V`CNf`$&S-}T#;+O|}n|HUIEwW4E4=(6Y za^)GZ#FD)KgrfWfq`IRN_Gmd5G-IQJHC{U3P7SJd$jguYAV;}3sF3}`uPX~4KW~t5 zzT4y-L}BQ)1tNRswBG*bFsWo@oi*6bWe>*AuVUFJ0dt3XzWdisYKjw8u0v8U!3*AW z-}IB5BJSDiAf0_vkr@Pk`-(gNiGCBI?v~@cgO+EC|8cCmR zcQcB%pp%&xIGxDJdU3e1b}fbvaV+9v$8Pzqg%4}ShOGp&Mi|~xPCe~Bof!xvQ&{e| z?Oqv2J*L*>6>2DH}Kjv8WM(^WdRLXB%?0?(}-4~;0YIpbgQzZy@(L(IE0IOdkrXp}8+ zlYP9a%QIn9j9pFOfsaV34Mx&6EHT)*9%@s0X$LEU*WeFC$x4sv^i{m$NNHmB$TR|q z?$Y|w%Gk}XEu~?#MKn0v%CQe_zZ}6@NNT|&=$%nPXPbeITTz1_Z(Sauv~Nc+1lN2H zxcF*bE0M+WzkJH#10Q!5v~MpC_fghn7&#kDL_`I6<-Q8>1rU$$6<1@z`ktvH)r7h#WvnpoZHF4i zw_pkkHduFl&t%ZjDkBqmhich@*jf7TNw;>E{2i}N+-_cvh2>QwOtki&K2lzmLUmD% zxju?1?#iBD@_aK4_^^Q9e%VzE{%MQBm>f2d7`u$*Y|9Pm3yn4tAQp8p5I~VP--xy6 zf6x5~wEo1>ei)=eZf8r*f7CE6CS-r?brybEr~0g#&sxVfR$?lI+TUc#OpoJ>-ye(= z=Si;bImaNrcQ~OcN$OG;lSkCM3DLQ zm*ZQ3WG7^b(Wm%I3Go@pyzgn}pCmLC>rs-U4 zZLZBs2vSS>Np|RJ@T3ULQVW@@$w!C4#`z#m#d%_t%puh;dU*KR$f$rWh3`BhS#$XH zi@4!v5Cy-NR9?I>Uhx`F%LVJhgeoWGu9Ej2su;^9&k2oAMY^C;*e7&I`9j2hrh;-x zk`8R~jl{P(m^BQvGNJ-bBdBy1$QQ2`xveg=m3#}!cdGh+Tr8n?AuBW`n4TJ9@F{8vmKNZ|(F+Z9)cIf_?`dYk-#8hZ6QgZh@}QS4~*$iMmQ%DGov zxoH43A>iy`ZXBWgq|x+H&PJv3Fnh+T}uinubfrpSf@yvOX_ z5=Y4hVd9?l5nXU5=h zW&R0wzJq43FA`Ho*0MZs;17zB5TKV=R_yODOrr3)8dvr_re)KaOIGToClR5SjVYs+ zJseZt&ogww-OH4;j1f!W%+`PZY??Nx-uk++FJsY9Ls?J9u4fG{1)EflfX^bCE~|Ou zHV78oTR%1qT%8^l?Rd@ZA81Y8c=D~xbpVa1wwGB)KbDEX{*n=5_9ZuL1KjRMe^|)D zjk}i*IRnwenC*GE>)0++X!(Eank2 zv&AE3i^*b(nVFfvVwNmsX0{kDW@cuVZY;mI`*#1mi@1o6iJ0l>>aMEns?7Yp%w&-` zmYZ|SlTL$HasOpK3>~79pxm@4%)>=EBOM1=J1`Cb%<&0R#RmTr4%+wvlX7&9i?CA~ z2fyz}q;ONd4OCu?>ubtNPBZMc2Mv{# zDZ4mND7k9zRH#cW))0PSHtQ+H zXf;!bk;$ZKo_kR5j{4Grj25fd8_g}aKZ#@z^s^6iTpvW~9bG_D05K*PB z*fdO2l$B;6^0}qHCE-!48GuC|#eU@A{da-*c;!Jy{wn2Qy1%cNhQ4&(8_t)_wp=h{ zlGxjOLx%@KINFI%=M2)<2EJ3OJ2P4a1X5$^L0}IL8%F&=qOK%1*3%=(Iu6HF6;Cv` z{M=9ZCIJ*m^;O8HRh0xq22%RBA_Y<{-g$i`#}>nvJvjf)gB;_y|Lr%Z=heZ_+hFnK zg!My*k3MiN!V+IA49TG7JiBQDHUM>Ho+Vo8jYo|{A*ToVTNTH@p|}pHOXIy^9EU}( zgPF2HR0H>CEuX0_w*7*{>c4XVye|8cVEZk(%NF}wy|0VXpQY*dC!H`wi{@-ylVM4Zpz zcXN8WoRAKHXTOdG>5F4XGJ|IRAMvE3^v1&JIE7yQxPRX~6?wNtCM#G`Q~hqL#-^|N zf8k<82)Gc=HJ2ox8~YUhg}?tbIe%QMyoSHw;GUp@-^RlKIsD&%pmhPQ$T`7R`}0-J z_y>AA26Y(}5e>?eO!0c!OHFWfvOun`(0KaQd?iBghd6H7Nux7mPJSgHxe0jki>_Ge zk-v^w2J|UjGq|(kEZaXC_j(J=koJwPt!2qS^5Ovj%Wo%{S^R!KnzInE*+*B96W)@w zENxAf<{uY<_GA;V7F4m)uPwp9@zdW>awZAdE0jZr4yE2?FNy3S9Ewhl-q`iGZ2#&0 z8)#pV45b18N+MZ6(41+{4)+cF5ox#cAMV6EDzCQZt1`Mo37HeNtL$Z~{|1Kye0a-z zk!luubVV6VXX(sz=$XnZ;z7OhN%S1t;&*Z3oYcHZ%a&nC5KeX@{Ey-D0Bb=Kik1GEA{xl@eH9GQE2uBI4lPEe{qJFZy$qcL!nwpeAKK6A3%%`FMc(T@-mIAUIN8pz z{>M=4rtqdi5vQV!QvM!ggjNVLuz-`@qdro->>)!LWayQo)ndT5(xhFA6|6O+5cpJ{8Rca zKZ3;TsVlMO&ySbHUbRBSNnBV}O;0M24?l#8<@Q=t-Wh1tdg;SCgP@d5;f>D$b};Iw&?EA9*EYC7 z&fqZ6n4(ktwvOYX^mu;vQ%eMqj?mea2%xKjSo8$MbjI5Yi7}a8fQ@$qVV7eD5GiOQ znS$T9O%JLV9$N5wQCh^}VHErnoIN<0Iw2p_nmD@QeW7L)-tW_jh?jC8_GHr`$W+4p z9_LkI&llIru8vo4ExuPdzE-%mHUAyl+OYc9jVm;IcCWIj+`k(TBb!1m8BnJ^G3+SuA@!Jxv%IArEYebPtIN zS?k!w-!#53G9jK_5RazpdO?yZo2a+fa@pr_W1KilS=r*jRu-=?)93N&nuRT<+cRlK z|8)BXlXX(l-(q;t%9vzaq-7Dox8E!>sno}of745Nq1|BLv^de<>Z1CcN*t2%rse&h z8?;Co;*Tkm+Rxx3XP`ye6QVQdjbF4SCUx!i*A+BF4b0yt&0~JvHD~f(SRoEo`)QE5 zFCo({MsPw6LgTHFcZz&jN=G#3P)@ir6nV8dU6dQ~v1UXK?>1tQKz9`g~WD zY}6aEUWZojS0S}~d?7{f(oW^jKB5L$gS9nnbZgp1JbXUzOq@h7UY>A?D=jnE=4sEN zPrY0bf>tyC%SLHx(y1pcM`*aZA$ukA9qnAyOS4Cn!piwmc6C*BdUI&!lS|FRqTLo( zvGl+v$`Vf*Rd3Bw^6sLdr=Jkgg>niFA}gCOunLN?8CrXa%@rLiyy=L@rqWyivn$&f zn>$Tom&1-g7YOzlyUFkUT!z72xrejc;9>LkJqbEx1-D*imX>A& zS8KOxxPAOi_PY{MzpFdi zK0L0_l9#m}aiN}F-~6h5oZ)mH35d(E?4N=bEb}$0G`TGRG34#cbtb|ruJTOj0gka2(*r&L)59m(~ znw!ks!*LO$rvqY-mq=Q#DYD9tfKUL|PcY{&YmvTc;FUNr6h$MEUU{ zrMwY4-)Vwoa-;l^avaJet#I&l(?jU_ttXtVR_y)RL|FNGi}|04!N+yGxAhVr&x{83 zIl!1EnG9oEC*BWMcdmor`eHx&${}7Vpq`V|cAT|g^uRa(+njmYKtR;#?HA;&gNvnO z=z=qb2#Y|^s*101tO=fePJQAb0Sae$%!qqVck^scADWhL!)L?$-ao5gm0$Ji0mCED zu&qdu7`DWl167T))ZFtSL6Waw25eBqOq2+bsVByfReXA`CpAJDXf2U+;!+6M(L@wQ zbt{9#u({O79>2hwAUP+A33N5ln+r(lRwL2rzqgz3ewsD1i%Hgc>ipbIOv86QK$KeX znQ{E4mpA5vP=ZgfxlQI?-TJBgzW7T=kw_{I3w*!5?~Vt{|Seg_+3TikTj&n z0Sht`%OQV9Ol32u9xrf2jJNQMnDOBF?sSCu@D-V{{AfE;w^~THNtXtElIRzkLT+IW#LGoVJ95b z+C^x@1hE~7S9n;bU4`;q(5q|`*mO?m_i!i$}iJ9AqT2d8zam z@?0`>8{f6}y$|>%8H*iRnRU3RTiK&MEP<9*M%}(9-d`SO-qEU~uSA&DV@jEl_vnW- zh!!1r!-$mxA5t@X-Bs?Pg?50|QkI2w2N^?-I*7~CtR^9=d=7H#K8u`Vo1w}YgC#95 zm2iQZ;3`bZW}aV$m1z3?#d6t20VyLboxMYU1bj`P-6I-#)_l+sg-{JX1TVT>tHwTM zKJlj!p}-2Fq0N5!RQ6>29gX+TmJ}k2N?ndBmlX5($IP4w;M)o!8G`fDz&9{&$h%CZ zsL3vgv>%#EB<+4VwB3huocwCocg^{Bpr}ZpusEcr=T3=vMT@egJZ5TU*%+S$3>Fj| zBwjg3>0?jWJy(X? z%*(Aw@$`Gc@Vq#+zV%!<^|>WDo@%#kdlrLhnoDyKC-NWQr5!BMnz%Dcm{vJzIjkV+ZVsI zvQI-jd|Y;7dboQ7eW5@1Xg6v8e*{`fL5W( zkl-kqLBs0RdkA>q*g*WO95iAPC!hY{-3A7KQp}3|-tQvmIiO>^uOx`l#y|%E&nM&*;Y@2(g3unj8*>g7T@?IWc>C4IG~z-0lFh$P0ot+5BShRC^MLm1ae;2aV-$ zg3QB(m|TI%oKaHs_&0-q~Y836Eh znuX^!*UraBU{orJL6VF6?s7q4Imo1Nto$YaX?3h&1yK4+N(vXft(>I zI^*j2NBzMcg1XHeIrjH>=k{y+`2()$K=v0Ql2ZQZTZT^>WL?n>_BkQh;zbh9!8dy` zO_S7#Ng#7~D*z+??ZP4yR+<_{Pz^0BKIgE%vPzFut8qZf_=JuXJjIJKyX3M*8M$$gXaxKeTN1vc5EQE~Wo3>XGQFadIdtUFWv7SrfgnokEB=iFBI2huV-JtdQd$le~=Qfp`!MJW-9x*Jn2I|-?F0q*5JA@i5FGE*jjv_)$Tp9Vb4tvZc58g?XP_2>NE%G+X7$&nFVUhxf zL>?v@w@CHiH$Sb!uZt4=b&&!fO86yxz|JE633?#p=vH1ssUw>^i3Cto40`}n?ttVB zCQe5ZwTy>L4yITFi%ZjQf4aWp!?f>h5e3{ry|Zd>G;Y1VKD8)~Q#|gf@#~vBmb`i3 z2S(3UU-c=dDTtT1Rlp5@wFBD2GEAhWf=S5@K1-DA570=Z!R%YGT`*n$<*oF8 z<<8ir|BE~0j++-M+T4pq`xTbGgf#}cn&mK_`qsMQC5K)yyq7C5<;1Mp`+*RQX7O=? zvCKf%se_;-D~yN7^XCl&sAg;v#?H-_&fdktmMKT=31v6a@Y~g43tedwsOja}L4Z`j zN69WBolc0G;KN$vzO*(>Ouza(t5sp6B?$`WdB8TI*D3zk@^biKJgx5GY{e4GY>fS{ z9MPp*eQ!Gav2EXtLa5uWq4L5b9gKS~&s*<;0K-JK_hE_T3=j!E{U#rfL;&sc#9w0Ub%2mkKAgjpavt0=5*xm+|QPYB?mhWN!` zApWsvN9JN(2vM|~20%TfNhB-pPfprQAORGRB+W(q)bnV;8iE8|jPV#nIY7^j+zNub z<@8M>2ni(E??tB)Gh`IHymo{-JEW%ACjH%wR{XIte$j=wr?-H9+v4R&|G-+te6rcM zZu9VmbFn^<7UsRh<8I?W(_+W3Ugk-LR6I} zK)JoiRRk_F!&RAn=`oeYY0X`mcfy{#IhnmkCR~3r7QAPJMtHQQQjQ4;sjssKZMJiE z-AcIJSdwRaHeaT�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 z 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/combine_publishers_superheroes.png b/radiant.data/inst/app/tools/help/figures/combine_publishers_superheroes.png new file mode 100644 index 0000000000000000000000000000000000000000..2c649924b58a704fada01f09ee499ec967104f1d GIT binary patch literal 137460 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

    #8#Iu6el_dOCG)}MJSF7>bB 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 z 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

    wGkU=rEy>+>~`zZ{C|D+H9vpQ(+Xk3mZcsE4MT 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 z Q^~q|)oo3WnEt!$qTI$p!P>Zt&ncp727@lmQSWu6pN}>{1eNdaP-g~1J$?>%6 z2AHehGWJ}mP|hcBm>;@t-YPY&+{%(uHFu|YF6sn*M!K?HMJrlcDmqFb+;Q2?&8FtU z0}0V1rE%CrQ+)lr^Mx|VZlyu-uo0wygWu z#|5T5jv6k4uavM6rm}l&cb!ff-30mpEKthhVsDg=eal~RmNu)95wM}ZxK36ztKAiCMr=l)D*rO5?;ZEg3rkqjxY>X&A1 zm2uNyv@nQ@ z+$-0Q2y$-w!i=PT+4n7R(orY3522&#@i9l|aQB>>;Sf^Kw1&V_uN}{X6?d2##Gm<< zS}3+|t#6O}=nRVJaJlOHm|i_A*oQP-!uq*pyAvh$epdlz2_xoYMeg-HavqKpUv_)v z?Ope+76_Z+zfnauAdjBLw|^VPJG29O$8-oSRONEGGNy#qCUfh*g}|d6?c1Q&4^=Qr z0cC;KHX91oi&KQy0)7xq99g{?_Z$j7$nGf&n>tcuM@yi^Me!tYIHj?Z8vNrcqPKjb!xegDMk^Nn0NeIzF&VDX^(VYH z_}}F`!=0;8R&ugA{OAM2;@qt?nMKy(CPV6VE4#AB+U3sY+7&<;oUs*=hM(8zhg52N zCR3UvJs-{sZOPO2Nn~>-(aojL@Tcy3#N~gyffd~~PFHbiypOrgiffy*?9%Tn59n!SLw;(-jGgoCPQND+wKKSb@k>P|i*(eLhYrKkMHJvy)y-&^HI>gsFz z(9sNw%bVXS>25?5*#UV|{;T%+-wS%pK;uGxwudn09$mTdd#%)`5-v=m_YfI}uq>Cg z0*KTH1zE~WPU&(74=i=QrO|~dpruk39F_Ei!%)*a1XruyGT}J2{5jUw#N_bn_5`G$ zV7HL=UXvK@5A$u!Iz!1n*414JSZRhE=+22~3)X(*ztjS}{Cl`$NQTRQMVLsmyfNqA zqm;?+R8i5m_UGu@(9y5VKhI{`DO`9?_7Ih6T!XE>x+4a|={{y}MB&fcPqzG?v^V+t z(UH@J22w!{5N&!UJiHu&Uh7$O`E9rpB!q*y7xPX|d?Yi7XhR3Zja?^3W-S(LrMYA) z``Ha*JnDu1D%!gDOqM)8QB3lO8F<~KvUlM~wY$fbq_c-N+8cjf29BxDWmtTciW#1E_{s_`FZ{n7{tPTHP}pxTH~K(3n=zbU~-|{#%p$`s~dlVTwYHJ zwL?Y{dyi(FcUey258i5|>=FEhmTWo9ZaN5F+Pz&w9n;F*z1ETOej=`L0#g(BP}j+d z_Una1yC+96nz_b$dxQS(f3iR9p9uj^i`#mq{(AZN>@<;C=4Km9RD0#4QFb(8hc@T^ zma)S?xy5{&eTnrXgT;@*bM%@-rUqtYHqxU2eM)v91*gl9)ErQ)j-Pol(=fDr_Y-1^ zobue3l*tT$Z2_v}s0C2>lpuX$GP`q9T8kPv9e8MKh`;`j5jEbt?6gqfp2m76W3gO} ztWg$^Lni;NU1y{u2X5PEb=XBARgHX&cfv12tV}6f`NI<``g6ie|KH_({~Df2q!$z8 zi5ZxqgM&iXd!v&-!!oZn%cyMs$LXX_S=UriQPCqrpN1h=s^LYE$Pqbwd52D8$efQi zr}f@BgDrO_wZf}UpRV-_VlzLECvq}Ri6P5i=g1)6ByQ2G9CP@2$sIktx*@?X;s|$p z0jt11Ooqy@E$xgN1!WCgU0t?WjQVcK648yF!GwdA#%sRgl~ylo(9tNczCM&d-JvSc zX0}AN7wY)n;LrI%g3qZQbgML@4(_xUYr^yIiE3U!aHRvXkh|l2nH*1~c$oY#`zoDO z7P%6xQI@a;b&LzX?dP|HGkI4LOjvzkQ74sHNfk#^8)pHdGDjV>2iabA2Q^5EbE5u% zlA5vIL^!j*l*#^PF6ZpQ%*Z5nq^0|+YEAukZpc+Rq}zMDM8>(eTr6SVK-*=s!42!I zWHjK2D&T=KbEC*<>=E?%8^wY@!%Q%bOaa6eSw5FN-lqlATRm+zpGVn0tB&&O{GQvN zFayJSZNkWU<93F{=v@4ddrpT73@Ae&oj2KG&EAZ_cFwM|p(9XB6P61d)!rNtsh6Q8 z_n#;Z1@t0ph5%bz+au;{R|t}h{W`Er*(|uf<3a*(Nfa0%OF@}b$o7X`#*R5oHs?8= zoKFr6yHPb(|nM!8I!{v6VZkQG5KPHM`cXoDI zj~=gg{u_-6fR@kkdA>8@F6IbSO^tKP%a_RsqoU`MhA+8rP^7Qg&A zkKrPmquT&E2m9&lKeE)aIdU){3gLD_1bMSC+qWcP(6R8Z=79%uz(<=W{kyi>@C4x* z6_!gi)PInXdD2c0E&-xDP*LWI9r(8XZp|;3$eDvG1<@l!9308N%Czn1FG4}xO-xi) z+T$Xr9mDxI2MGUT)FPM8BM@#PR&6?J|Mud6fr(jZzw2ogDA5CnO9w`*5_TNj@D_R; z+d$y(cj)0fsRE@uto345{tlKo6OR4kmB}Ais$3!%^Z_Y?-$;oJ)nGXUK^5j$rMN4L zyRiTJDJEiJX2SHzKfn!ttg|(jlnLAaPZ&`^8nMDLLjcpFaNlxw`d+OXQ zjV$cH8&ZF|?dXqt_R(S3w!y!8@qdoi|6hH`1nW%LWy?R-g&YTz34t{{ZbEtU5mOwy zPxgnUvN*W?GakVI^#eNpv_fZ=W){w$R><*$1c&Y=J#)aAfQHOZ>%Aa)b3BE6hLmmm`jH>8JKwo%De-Cpdh=&UC*zp7yZ^^jsfdfk zPn1xcrF}5p@1w-wH4CZrjAsDpD=6sps^E=!XPrl*c=jj4V2G30ad{MmSJkf@rTID_ zDyF3tw^5U$u$z&dMr=o>8YS#^CEeu*1zj%X4}GoNNC6S)FJd647}Au`nIr28Ad5-x8F z`d(1$PVnmNdHu^HomzhWNrA#8q8thLbC?G{>tG4Rj}hN$12UeAzJO!1 z%l9wTM-RTf$J>5*^C4JX&kQpiRteMxWMF_L&Zp$!BmrIfs068 z2erx)GDh@LEQYSC`(z`~iUX)I$7FGo`AOVR57#?T0nLwlmNNzuTVV<0;m|tkIEi&~0I(9`Ktg8e$xy8XJp z8{m==sT*Kxf6O`77D?r|L!`z_iG6&tVq9Z%TmtRRa-L^l#0``(Ok&(4r#aSN$K@qY zYpDR&YG(&7KOD*fB@I;z6@PDUB4eY&L2i*fiE^zB%m6GV?Tft_&|8D0G#$KDnk}tX;4+CQtUMk;~1#m92mpvqPUO!dkyY2`)6)}e%Y(QN{ zT?48$&V*cWNJX@Un|l`lEmM>Dlm7UG6kUFDyv~}4nr&Uj|s@oM3JD zOi5j)k(%GcHYbEgEf9WfE=KZG3Pg5$GK zhFND?|Ij#vjb8Ec1&u!;`wSsiTy2FsvuygF+PYCMaU7i8LV`u*ss}?~N>e3QD6$hK zgd9T6A%6an4YGAc;I6;Sb4dy?G5(~ksH5|H6G!y)=%<}5u5)x$h@S(Pl0coFOkLas z7J5-TB*V!v38L?g05B)JSFHaFO2WD)zCcSWUIXp;=;-wH8q%IE`&w#K8j@>oIC7SR zAiClhVwUdR9813Xo&J?3H^vj3nk-_yorucj4jQCmJ3o~M?_;!PXs!;%^2guhDPMo= z5O9w#-)Hshtc!7fvZ98I=!q&|ERgqs%bMc;0DgnNTZPS#6FV0RAPh3&h+Vc2bM=%< z+b`p$1VJ23WwDBXl%i+ObK_p2yxT`aQv4`gcEoWUo{<9SwJbn#q#<4d{xLCFdi zza4PyOVy{(@nv54->s|4mnzgTK%TmV;+nt8!J*~)j+1>mY0UdK!5D z+C5NF1~^@zCdmMe30gUA$w;5{04v}&Xa2!<)1lw9_Q}mI z6N-_b>6<_PB={;(lpPF7rh${o!`w6Ot7$o}1ZPh<->J|uY7wMkw`AzT_m#Ow7{dHR z$<7)b%xm9xknKIL^`msfgu%{C*g;u?xU`tXT4uJpW^sPXThWraWO_H{cma+njX0|t zG9%*w#i(e+txTM7m#+H>20{UwadKLi<13SnR-j4xH0nYd+e@gyO)2^&Lyu5g(ManN z0aF-Te#3VqOgBAz=b31F3Cpl|rht!vIT-7o`MzF<_9!@xQs+E)W0!wYT?aNqGthXy@De#-N6DXe|YGu!-?f* zui)^e#!k_#*@W>{Bdg$gZQviUrw_gB)6Gps`9)>A4z;Y9>!*!cgYmq!6ICx80Ht|P zaB;$*@E0^I{)|9+`Iw|t@TBeh#&yA`@18D@;8Z|E&yPAGl0UCrOo+15o|>$|ENx0X z@qo|4N3(mH|2Sw&Fv0Ge3cD&&aeKujDVbGODnZhg@(@8ajs09udws*9j8GLw+E|&y z_{?V~-V^IPQGXRE@eJcQ$m35BWaPuuD5Dt~?yFtleW*c}_)trTgZouYftsa17Dh~k zrXXk6vY7#@`ZtODtIGEXq{>?7QwXU*rKx;`pE^}1A122oXiw7|PMvX)3Nl4XFQ{%{ z;lGO?ha5=Blltr;L5hE^30D>4O69bV75%bqe{)O-$5^#+^cfT4RlQV!H?%B(&Y`7h zs^VFnf|pyNk+Mh|;@ucAGQ2(ga1zdg^ES}#G0^?8tk-gwyXiZ zG{z4CG@fKTAQNujZ=vXXnb8W#tzeeDv(lbnbqVJtfw|U6x=Vo?UHPTkbh2m4y2hkW zl^fX+Re*KySU&o5Hz%?T>7DP`YMT{K1RQR_x3i1eS9u^J{np|0;TiH%=8|BG+*$5#o)HSKWgft* z-O$MbascqQ!>T(#>2=}P-I78Q~W0535?j zO-hA@6?;UpwCB+1E|YL|cn|YOaHeA+|2(P+gCFi-EpUM(VC!odp)^;(WXko38--%1 ze;J2SJ#QFVKMLEPRnMk&sCb4G!Ey&Y`TF+`gdy!`uLbNb8xu=o&mvv&4Q7tDLo5p9 zOB#yU`B)8t4|~7<*s?uf5{o3BA}acISn#Gm+E>l3U)E7Zc?FU2TyRfS|L&(k73VZ@BHdW{@^GNElrA?= zD@!~@V%L!^g-2J<^fU01^}Cx7w8xpL#aZ(X_2f!D>$R{p8LU4+8%z%y26l2z&>ls! zcZ&#WJi-9OfmC3Ux&{K7{}~Z2hlk0*e_>CKI`oKBY{*WKidC}Knr3$f9WE)l%Z zt(SH@5wmqjZR7Jik-{y}LH^E_nH1C~uL_-8F9jh6G3q1xY_~*U-(zbutcs7#0&)Y! zVHlZXJ8eX2^&S%a`;&oQ+`V>|;Ou;`JvJdRKk3J|=&;p8T%l|UAZ<{7?Fz!x&m1y> z4*}64l{@cIB83!-fL9tmjGc8arpxh7&bv*8bShm$IXZwU1g^TlpV%6N+$;_zE64^W zh3sHSI+V3lG(f~BO>vN^)DX)32$Utc7;H>={vH*+E9HTUoWv>gLo|&9D=a>E#(78J zjrFC>He^R>UYx=2bO%YxXsnLF*0Q=FJ~~}d7`0(Fs28a>V=6WxjV*3BiFeE}L;aR9 z+Dtj)*9#N#N92c~gG1EKtMBDfXVG(5AJB{$unx#k$GXqmcIGIOn>}tbN>FU#W8>|n zXe*OWkl7;n&=N3`N4!HC@sP+3FNv4ws*_FPc@Fizw{b$fw(xGs?ThwQIs(JT3X99~ zsQOefkEBmEe8F7jIQRd|T|uK)pU-hl_3><~Ijrd&4IT?e8sVrBclywL;l9Sui=#51 z=~`V8WWEz!4iDA=B$Vi%1sX%zM?iXH`;`d*u_-lzkbzGM~225EU0v^!#Y?J_Man%PcwOX_-zA8VY7?iSM zW4+c{26eot>fTPNHS8U$0Xj_@-^#71U4LX`b2Q7=7 zAAbpkDt&5+bwByDiU&YTZ+y_`5tSr~iXQ0_V$hkI1`FcZP_M!Jar8nNm5E~jBv=>k zY)EpGk$N7G`vl6VA-^tp<=h&1ZlHyU3!AZgvRA1&XQig+Jqa2!K1{R?`{m++4P;O% z^C`-*Rp8wsoFAlLVHcU1idCH(Ww9CR-#Ibt6&sD*0vAb*C%^la9G#3&(%lZr_7cyaP#oYp}|NYlxznPQ-v) zF+Sca#~+&uq0Sn24k2mztQ3QAD~i-sD_HTDdn}9J(;XUshj($3i60^}5-7ZTERZEl z?9z-rU>;(z4#pDx`&_OnLW;+BE2lQNp81cihih9XbaKGoU9-!lx8|8q%=LzNt6iPfLQJ)`F#jt+DRSIKaK-MN9z zAg=#y;E7f_G5~0W;kgnmh+n$zyHF6o&_gHhb^4fDnAcx5S;*Ho@#xwyP$WU7&W(Cq zq)ol!$X$*Z5|087=^FE6K{HGacaE4w6t%QxvIR{e)UyF9uxmi+B(VfeLr>A#m20)Y zG2T|#p_w2Luk#DA@N;;#XN?kFgg%2XYO#_pSziszPe;At;acH{D$mF%ArW_4apu+e z2Mg8-s3{M={3}{myy(Sm2ij@nn=r(2Jv7vHiwxFWWWR7WE;&aCjs2$Sl`AtK(eR%C zP+5qez$E~7C8EOv16Ky@7X59chEb_mLKWA8VO2YHW2NojUd!x#{wMCuz;9>k*fU=7 zA67hdWr{@&cj-T5GRKCsN6SY@h(r%cpe)FjacE zw^iC<|FBnOPWKFCm6kjRtK9%V7KW|F>6_ZF7x7FmiN1kYO9>{Z69vd=m&gV zSxC}{8li4bpfAIWOU35ec5LY4e;2aAc+?O14Kt7ZcI5d-O;-mbE)kfBB}Mr6bbKfZ z+EHm1&=M!ut>=I;I0%`%?r-#b!8u({8Nq_AsfRC9*qW{+YHa_J&cS`Ly4%b zhw8FG8bPvImKj)%Ed$*e_^fa5CBrp=4)O=E^(Aje^u?GjPo~=SBw1QlWAOBrUxXV4 z&UVyQ#W{(jdKJP@pCy|Fb~n2f;ONz;Yx|Q#Segy>D@FjscD6ku^p6uy=t_3zhV|B^ z=gCX?Wyt@4k3fICCM2wOeF(qTjT~nYBKg@+zTsra^td>D8xB~paJErK38I$3XSwZs z`1sJt!$wNX2)stsx8o*Aa6b-7+?A|%-6-qBYV{M~)@!Y;=- zg!p~7WN*cR(H}kS()09$t9Py?L>r{kuU@e~{QI(H4c+!;0{;-*@?5WSKmPPd$JB)3R zhDp1XmN6=trZB=u4Eh${6K(WeaRkYiE0VoCGLt7l%7kg4~+-j+Y}?CnjJFK0O2`3>aKWepN~n$Uw2zjn8SuJW2I)^fIO z5e(K)nws#4h-sCQN1{t-X=f}~Syh#iP*mW>@x_pr{WnRDcmi?PF8rV{rxr^GxIXk~DNAZM;yp0)K@J!4G!-pxD`l zdp=7ZFc+6HiwbZI04Kg5?A=j+CU#rrk^XR7j^Bk`grdBX1Q{*WP@E0h_Djxr#-B4A#kkRB%H3? zj7}>;70-?XFsp~@{p9aiz76>c!m>IjP+gV@qh9{QVTlR}%BOjo*pfw0n$2{Xk;ci* zCwG`G0xDf&RC10>w^7ZhOI3=G@U#G`NjS+Mfql>chy}d4t(BtJA8neUDV`dZ2Mh9} z)c_Oq0hn4q^x z9wfjhqcYd=Z3$Fw^W|y~-{G>KdWZ-~f04b4DFIwf@x4t&E>x9VOj>6dfVZNy#z43B z73fBhmZ~rB1S+BEyqaMk3vV#gBPSs(luT>t%QQ?twTlYI*~3kA`pOUlMrKZ3{7|5+ zw)9JQHNqIv3=7Nu#zs8PW}+rALsGM|Q8Bp)=mtv8V=J1)IQyW2 zZtuj$biT3W^+3w_J7uB#PbO za*Wl|+Ir3HfOLMi_S_i}Zw052VP#-{?dqFN`#Q4}=8E4f8@m!mxw z)^oMl)cU44&nBDHX8lCD$RVqqEkXu<0TpTu6wC%(@G6l!4x>%!#~ zNm@xRN3M7PB1*uUJ(X&ftl~B_ul`F5ATMhqCPc#r9NE)mMYWufRrvBou-S_Vhi=Rj!dZSB{HkUM(Ebsxqwt~&^2U@L#tQT=7BfCIJKxW@J)I;WG%%r|dx)A~qlm3{lNW_v4T$pNG z-$0Xj#ti&v{YJD09W@>xHWn;tR$0QIEl2Q2b>PpT`JZ{eB1Lc)I>0A~hi#h@*!->P z8{t{s*9E$lw4Rc7a*|>0m56&R^D+~{o?uv>!lyyXgE6mC-Q*{6VT+7p*RLh*KRKFxLkmqg3GnD1|H&5%e_kbHb$X}=y8kBi?;)D z&V36z-$fZ3tBnod9UzzQ%bOL`-}D=n-?E%9p?N!Vd>wjc+f<1cE5{9_4BY9+x-TJQ z(Z{JUV8-P6X48)V^NA?tR`>RS6Vw>D3H||rnT+oxzR{Ty|E6T{R|9o?BUdO4oK1bj zQWRkuoF?3y`9*v%sXf@N724e_my_bkw-iF0(i174AlG5v4@3CQB>HLq)3rns7&_?R z?Io|MLBA9n{9zy2X!%V!C!|bdz7{&TUo@Bgki#Sab{(H5@(aiJ=L~311YdCe@ByPH zhmXbmZ3$2{YBPF8(xQ!4J;mQ7Vx>vaGrV&|h^ydyP%uUN?+5|{(r(PxA>?@rdhCDP zxze0ki1G6sbaS`oFnu>~@2>l)Vk{LCj4Ynr*=_BTq$?Xt_p{)0XYsYh)e5-CMNbD9 zO9-Cx$pR`JZvjRhY)iWV-VcJj%7jo8CF^!+u?{&^8eTu}VhN;emAZTUx;(Ye@KN- z5W&poOx!kqr1N#eaFxapVWRuE0Ho_@IJ!LYqzkj4g(z4MXGHK8+O<^&daVesZwIX( z>T|zSf9zpo)apn>k0j6b`%Z9^!-(2#`NBfX8nltudcLtNfY`AdUOS(t`g~zcxhQ%x zQ)1w5@(snopV-c}??f_5-(?>m7%@W_Ey>6eY+22MS@x66#Wmq(p1{x*R?|7oHbk6)r+VZvlYq)XJ@S36vs6}_k6iuhd0I)$-voDnO z%tW;dT5r?zvO^BL(M!ODNgZ)%_Srr$VCMBPI(JFmup=Dbj|yrD`&ur-yOT>r1}!bi zoU*ZPPMdwyZ#1SCFAEjR=o03W13>}E@gJad{9>IO|KMoanV>)1Zol+w8~t;ZgDyB{ zG!SUFA5}mEWCb&$zNL3Y(nVN|vQ5`Vjr|1y$u($)1T!Lrsk@oR9)WgxXs&tghQ`{H z0P5+&90?hjX^oWIbskJSQkg9GdBYB4t@rd8K%j4eSS*QJfVE#1qI#IB5*uOht3gTS z4Gss?m%ZQ#BSRabTuS8Scq8A`M<}C(YX`FVg(=4>D$;F|jX7#r#V}Rk%9;7=E($3* zO39N&yR*{ni_qN^Jf9Mj3NIF(X)2`?GXt;f=3-KGjQmz5o{UR|t6oEjXx({D4xzv>3w9s`ZUBk8u{RKo6&aes32|DrQ{ zMqr>peOP_@H9AYHuDD#}5%J$k;Qw3?;R3iFVaZCf$kH(qu`ZTqwX6wGJ3z}iB| zGE`SJKBn78vq_*R)wGF5i(-lT)u<_0@B&i{(*x#W)k(8qq7r;CX||?VcI+RD!VfK8bXKpypVN%wFrnROpYodpDc zhT#1LROpZh_saQ&VFMLco2be*wG}2HS4qI{pjbCiX$&bKFhap(v1~YF95JhaRfRy7 z!bw4MZCxhTw-lz#g)x65qXCH~HmfEPt!hJ|MMfu8pkN}c!jNY|$ZLwaT0`IpH0hEX zv`+;WkfO$M@T(YsHs`S?xI0}6@$sTBk314mVWkMKPby?xyn;diMe!a2bZOu@$q9jZ z-DQEs5wfl8leJ9 z=CFPgFm_&X9Nw;3f7dWf=Stkt`Fk2JXA`9ey>rOkx==^9q&K18XeQ+nPzHH~=0?@VWT$h`t zUet=;#@y#@R7pqI`uO8W-=4`e6B!G@r3i&G9-W!d7sr%by`SXkEQZ~GfVmKZ1@U3j z#DCgWYA__p$7gA}HBG!-94b#K-_xZAVcS&3^L{p@%Y5V>HhmDqtYWcN6F7QM0@n33 zyIbmI81A~5b}viv(i5Iu_EVLL#Wi^cEq}G%iX)cb-L60j%W6>fy%L@H5TQB?vI{V; zMne}Gd%ig&ZN&nj`tnjmt8o2dzZBGR>`t7zMSqZ+ZNFSbzu^_<(#WDKI)OuOgNw%^ zmcOeYU{uQzf57jpWkKmRU~G*dg}yhqZgOMt%J{VsHa>k27Gf-RXOmW2Zqh9(|DAO$ zUatV|xo&3TKj>wF2yYN%G?eHBPDm}kowt8x@VL)Y`9-6pP6)t8pKS|Il4TCdZcCmK z9z;vkh7pGS5pJpN!j65Dwxn4^@Wu%K@@?%46Bb@v?Kvr3O%stg@yL;yxeZ|PLTHB2 zh9o@W@Y`k_yBm8y?(V6Ti;x<8e%H@k$=A6LMq|`1tp}%9B`aU_<|#%rO&?!&ImODO z`tZyy-n52)J@N^gAhGN0lT68Fbh)Y2Szn3TyG8U)e;Voy>p50%-Ptd)Fr8X)Eib}E zChqG~f_78}v4i*@hO`iB(QVGLnX645I6^_;NRaz-^H~r=j{m`MVj-l`#)UEmmez1Y zRN2oUoFwC9DABP#bdrx#CeJT65e0y61zOQJ?rd^!;ksE6n#%*57aqso*&4W-+WeVh zw5erCF#2BDiSHZHOA`KKChR%C}P9~q{g=7@ftb&ho zt?Q@~IVZ*um&Z^k+yMJh@pwy26ClpDltky)^i&ivHGQ(ydCVL=CyaEN(gM1z(Xp8g zjyhAUvspF>p+{ELz%MAzhJOC^L}dGfQM#L?lJfl*lT3vNnt53~n#O01>tBIUl)E9$yrycyE1WbdFuM>Q+RaLiQ~*WjRKr2JiMo_{95* zG#h0j2lC*R)Y@F#%;E}pP@Cvrp>m4LTG(LKvgvX_b)~m$28hv9N$jgoPd2*yP=)Zt zCuHWQ@S~(LhO@NS+z%BsiR+EO!~Fi-H&}xszse3SVmLWEPPBM9v06CVB>+KgE-FoB z)onB*UrY?9Hw_|aF~Q#8{t#i2!@T8l}_@6 zQ_d_mrGyr0O(0QR#z7_%kzc4h!TgUG3ZZDMi=j(lqe{BHBS%S}Zr^C)$Pl1>kX98vLl!UTr%f-Z>EwW`U?K(b zVimK9RkBiJpi|feKTMfk`y0QdlPYMP!6gmga@u3&X((|QXc##4&FsCI`L4}jMav+&;m?=z|V5g zj;+0ZhJbQsHFvr{Q8E^Yp|p%(z5g$bvz$w`3GPcGCm(oPhc=qyw>iU z^0=Y3u@cAI1{E$y8n3m)quoY0;54_{f1ocB69wr7$SVSrb}arkEBdeMh8dhc-;Y4f z@gJrLC{9;E2id@tz=p5<2m84{Fmx2iak->V!BOPjLi_)5uGI%;69Ng~rR5CR{8#Az zzh3{-82=wWjG!`lluBU~q3;722dGRxlgI7idR#!g5VriUo+v^K2qEx<`I^oy1`-*( zILM1pD`vp{3xWQh&mXV^0(S#vZ;$64p6_fRAt5C>qL2kff^}=%h8ig;Cfs3PZl>i? z3_WaZ8KkA9C#p<_`{2Ks{hw~F_6Fd!DV>#9qI0C`cU|ISQ7Q34F_w zw4CSvT@U@F^PIrqv0#!8LADU9*uy87hrw|?fL z@auw2NJRC0H+$|XlFvE*Mfk$= z09VD;TE($_WS=w0iT$wy${ni^9M7|24DS~Uv}m(kaA%#P#qE0>KK75NJLJxK)wJij zJ8ihTL;si{6ZSAEqo&Ko1apESb&YAJzA#Z?5aC!x{U*zsnyYY^-;y6Np2PZ-OYxn| z%7p}DF4j;lycQ5*ejs?e_OXfg=7HwZS0Xnnw0Nls8pgxr1bt9BzpcEunnw_o0H)6(bG9M<_(cN%%-} zGEZ%!%nxB>_Jw|#&&U*=mg+8=ZSUM>3|mFzI1iT;S7+^Pwz+GlR5|C6tmaMq?ASBS zo!9=Ug5(!NXGHm`zM-${qE@6}QiS;in!f?&-}?2>%K^_zw$A5|mx8h~ z7=dQITI!3_4w)Npn^9_9HF(*0`5KGR8O zHVz~zrXUfdZXd7~s3+S|!pUcD@xl4j{~@CiV5syAk5Os4S7O`~9INj_iJkuTf`HbR zdpuo88TX>ZQKImw!U#$0u>F?({!;iN+)6^mZ6@2`lx>RVx2H9e~`l| zS_3wvRv^s5{V{X-A?_hDz@*eI_eax~Hu4Wwmw2JjkC{f>n|j**D%^gHcilUD6bkRK zthe9Ily6yOB|Wr4RXb`_VMAlzNd=D&E$m2L?%~$Z4KZ&dB~$!AIOGWxU#y6iEvJ#6 zU#xqI5Z%uZOX=SbPfDSc_6)S%q%>NCYNmK83$utjX}SizWp}`-)FO}zTFD|*e<%n_ zR%o-+!b3Sj;QpmRcld*5e_HQfB6O?HON6yp+fm#Uf56v$I3%g$K)?&gW3ETE=HPB+ z9o5gBNX;aFb0`ybf@8N%zuj2x?V?flQ ziBKhJrfx)L{HI183A}idtNT!I>FxX_|4+>*-UI2bsuF%OW;qGk(kB*I_046#C+@N4 z++TS8kBvi~+YTzx{zJqQnnHPRbGTEuzg}N+E~ENZn9wK^mCiP)SRd`MaQrnYl@NzeJxM3d9u8aF#q~L5@_-&68 z@ufIrah#Cba=7eLSv@do%NcU&VMLQ_eY~CR#hVR>S9g|lw7)fz;PP6ESDF0Y^z7n@ z>$8z9rvA3N%ctKmY*g3_pZPu5Z|J2Cs>!(Z2y}HPzNUp?9Ve3nt%!CT73woJ+ANW8 z9d6DdPuG$I>bUR&PIsM9L0WeW9Lj1)Nsa2O5EPYr*6e#{ZQKV38B2~Qp1b&e)N*zR zbi<*F$pj)LI}T#6>>!X{eQ@I~_9|u81UXbIH_X&GC+xWe+hdcnmcIvF!Xk#ti)6}P zx@Z`GM#r?~5F3|U1%a+1BTnl2qTdtnMCiSpf5>66ztW4$*)9FWKB#qd^wchd%~AblEt`}t37TQwCauv z9XvL{?AgO=IGGSNJ0PIFJi~UNrzZ-b6EiuT_w53jlYX> z_XuRabV=v&lbLNh1Jw!ll+=x!`-U}ib)wFNZjU)7`d^`E?QCk7C-#)JKx#RJQosvJ zA^(rY{yd%%ykQp~G|HH;6J*wG9=qZGg}3rf*;LS}y{ZH{NhsUjw0uGpc@kP5f+sj7 zWnww`P*>EBl6ntA7nI=qu?%?tzfFnlNr3aJeGTXU~qsh3qFwNd+^mL&c@mN zn;}3d8x0r(w^T2K^k_PJ>HTzTzYNkf*4?mbx_Z0x;~sRHaz`V9O`4&{-s$o@mMra?s=9H_N}W#ChR1QaI~lv?9LBZC{DM#w!x)tF zX%Td3c_vTbsuzp#lBrBj-+eNw&DsULExCzFha+Q+e$vZ1=kW=Y_D~bKNutkLrA;%c zeJy5FPm$G{_}r$?!&^U{{h>=p);OX(29wEF6c-HwW>|Y7^Jv$NK=#)7pa)B`(MJm2 zqAoO7DPLvVikAXyaXF^O5dTPrNm?3ZKK%HY$PQ(m9bGIQ!%^3DBW09SRw%D^Z>(=_ zcm3zfSo$(oAiL5GkJrrT4DS0yJk5?TSB>+Nc>wGxtPu_dVujr{1M`UFyR%-IUQGvv zM|y924cB0S$U5LSTr=+po+}Q+TiuY4$lkjNfk1xk**A4vnzlo_so7O`nE2iYtW3D8^57Pe+z&QSjO(WBlrla4uG~Q{(reDhBvn6$`Zn0M(!M zw3Qy&x1Y za~Jz3sg!OsXAW=<^N50tV-Lvs;?sA+=n}Jc`v2AmK zOrza$HJf?Y#^pTVQ}uiG&OY>WFlp+twQ8N+&XCBbtC~4P;O!_y&tOeQpwq*<3HOuM z`p#y4zd(nN7o~X~D?W^I?p=&t>}_ey`~5qC9|7*6eFF_10zg$PYG1)09K&1?d`x^` zHC|EjeFgZPkEX&Y=95Su(lclzFU{+MBR#!UtT{2yzmTEUO3?THZXLSew`%gi#I7NV zYugvTQ-uYvb*p~*Ws*(zE&t?R^|tkL3TnC7F|)Kjk62w4sKa-Yt5s+1P1#BIi8y~M ziEw7fpf2%R6%EVRWO+=}6Cn;6N%-bV!X#yfo~g&tF<{YgVNHjpaopB9vCKg=%&AuC zq%d_S zg}b{GBv^2V;O=%-_TJxq-<_TF{TFAPyZ>&DG3V;pU0q%ERQ1!d2nb`WIqfv zAUoa-RhXFZK@R=mKl}FSt%!F7SIsWU!|h|MyZwwW$;D*(_(}^_ zYS+-y9T|PQwnghjhXs`RWyN+H15ua3lNVx}B3TJJGV>1qdDm0#{9v0Ba*qjT!0A-5 z@2X=82OggB6ZbkXgSAR)*nz||QilH1i;z*lyojnQR8w>BQ1gPlSMEaRo$l8G-0+N- z*tCh&L%wDm#olDwnc#&n?f~{e(x67ZKT z^068j6Q7P5ukI3f>ot`YbN%`eaoV2|=aa|bGK6yVTH4(M6!HMMhkJsjYq2?Gq2}9l z3kW#Ky>FjzFE|#VKSyRUZ6_0}vLGL~J#dNCEMF^yhgFFIS98tdu z={o%GO|4-|`{u;|{i=$(2loEfwLn#9b zB5fNZ+f3X3mwq1fv?b=tB;L7zV}f9Kt(@RN6zJl4&Rokm%W|m-tFV?hB{g3!?11LL z#AU;)h;O#Kmy&At!HfGzeR2?eK7mQWH7*u<`toHaH(m=O21$iB~^^!=5;AE$@5wLt9_1Ma_FV zZPT90aKLxBo6mGyi0uHG*C3pp89BRy~|(%J4T>0hTHb=ORYIHLM!(gPOC zD8U|%WM8S3*#M@5^mHbX-VCmU9Q!`FWa;*7Uj_VZj6iMjUAyKD-pe9l{%up9XBd6y zq4-is(E%pD$!D7h;*(S2*A-jm-0Vak<)p3W%aI%JtUufuFT_1Hz_oeU%li49*({K* z<`_SiH%-F$Y4NHd);`cTlg_ZrtSQK(*%T-8s)nmo_1<~7IkI{~OM+qj3X0^cqDviz z)f~3$!5d%B3}}D9`*C!XwynJBl1e|l!1h=+rhrCZLG8$d^&*86TkovAO9w0On)Mm$ zxT_MGfEC6fZ2H|%?_{<4sugfC>_sE?dtLk8*RO;165hfk%J%!v6^=I^1DfC(VFJeK zI`Cr<&L=EaVQlnU=J_u3OdA*9LDXY4q=W#@wuJk7-V}z9nXAa>Uzt({hVT&EZp^@= zw4Bj<8H#hAcy436XWPG|l=a2o=3QZ7%q03`^lA?%JK4xs<6^4naK6MS7|mX2`n8&Q zEt%AS#lZ8y$eY<4lGNMz#PS;!U{mb|BcyiJiRG2$cqfT43c+GTszGnt#M&YW-~*9q z)`6LCSO1Jqp;a?lU#5|}4AG+D)9K4A6wbZZV3K^Ly(sJ>5o0eTV;*65d}q7F^O^#Q zYP#}0&_ne7=7+~l;uP@ZndR}-uk63_y!3EwV8@MUgeN{jf8SGEdsH%nU;p6i@$`xR zdz_ijN`u8`dA$(dgLde4At>z-!H+=4CDb2kn4vs8Z=a#-^1k%9Is%La<^x=Go~hd( znKH!+;FvaJ(&1ZtUQqkB_yvRLfRF$ZnjjIl0aQJ|L`M-RLn6 zIvZGr@FmF;b^ya)->gZusrwjO@Lq%;hPkfi#@^#$txC=l>7H2u+W^_6#F@o%Fa=ku z!>?g1R&p45>Z4tkTLPh02s%EE5J%gio4tE8Pd!FddU=lM(~)Gkk_9*rg5D+;K1)>n z+!2uctg8^>q&8O;BYU%^vwI(+u=>r#QXvk@0(%(+Ky0(4XfT<_dgIj3;Z6JaZtGTW zMCgOH@vYJZ9=#F$qR^Y`#JXkoJRiwqL;^@u?iKPi))i))3qR=6mSfTC?QJE_`tr5= zi?7>nAydnp@3G3bO_-xnom>lh+GKPp?@e_scBvF9SqI{vYaw*&9mTL5?D1&seI~{l z%#=;~Oi@Z9%{5vMy}!7eH&T?%p}KuM@3M6>wlYXLvpf+Os<=f6b$V4Dc_jLclRG;$ zkSs<8ZAsZ*)orMC+^)3=TVs_N4^qpAkik(l@Try_Um)i=& zplf<(Box@vf-H$Zq8HA<;A+GzMAcGzob&MQ*z*cbTl>M1z-zbf{cUR`U&p zBMm6Hd2iQy!z{k#BDAy&MLliq>}YTuU$6K^-5)iN%~8lKxgDl1`I=J9rd*Dhtlz&i zMMIfuP(G+}RXMrkeW&=k@4t40mG|`ajgU`(O-AVK(g!Ot zSpMrWK%&!1ly(Dz$uZK@*<;1I3*TdsEyXB;tUIQ4#(w_veoua*`_my5#o3F)iknF{ z)TN#XlrV<1T8Ny}yqcqF6y9+;^BDTqb#lakvr!PvPi>fhw9lQ35*Z;XK?PVFUnV9h z7Q;qQ0gj|%35DM@z1vJw+3%wel6=^*dY4>VD0p{NrEgl!zjxmlo(IdN) zd_6GA4{P4nx9+mS={(axD9*(_ABuf`VD?BXO!9;6VTA7O zR#^9ITDnx?qZC#IyqqA zlcF&ePP=f)x_t23H{5|ZqPo6@}#cEW?d;xKx}y&OEn*4Ic<099t$o5lCF{i)PTvSv$fjI zoGtutU$!jTpo=($evl@Q8m542iiF=D+mG7{7(|$psiB!Wi05k;Zq@~}R9W4y7WZ~+ zzZ0}5pErP6A<+V8SY6XKE!lRY#G7eX6raC7uQUpCw_6FF{$x@MGH>I~d8NU&f<&)5 z4Z?p<&d|5lt|9o{!}RhT=P^WLtKMLHkOAFv;if=>*|W#uAST9HO`6kJs0!SLuwHAy z+4*YWy9mn4b9QexJ!$qwzuB*y#cg9!EAvfIymdAm4+R%Ks(Jf7yhU|Swp`6v*B;?Q zGpA$&H|FAm&?OjJSdjy@EI6Rz%cnS#wsQFZwY|NhDhFAt_Zt1Bz;2oT8ZVXi6~#?E zGoHg95QyNw=aOo5|JC!0Ta_ZigyM4H`>vwV+Iwl`D3rB4Yu(HtKu(`^7o?tCW-*{! zMu4+sENvb|J)v(a5rS66q)E;oVvPlJ^v#68yD*DzPk8{K9>$FBw)kQXKhUcdO?Us~ z;@p04s*)Xt-z!3Ws^f%1jpo~0E)ff~nam=-o z@>3;o&5Pkz_Z(JY$Wq>LP-dx_R&ItNZ8!T1Dm9PRbtMJtxZ~9l=Ex~ee4fEDdmKKc z6J=jKOh0}$$yl7ISbEo8OG$8Z;pdWmkY{fentO1_n_a-cGjx2E{$tSuKHXP0U+ZqD zJZh6zd;jHOCiOtw24j4a(cGQ}bA<$(_Ci!>RY-BqeddW*?cyL~M4t|ell9jO@eMuO zRbkGWO1d-UPiGgPL_F*_&z=yn-_kpn8n2JrL#Zcsaw5umN~%op3Ww+b*5dvb^e&I-T!wb9MiktK$5{ z*(CwRldH@-1bO)w5=;9pb05iWyC+x`ZR+02EXRkQc}OKaZt}=*k^O5e_n9# zlsn4(r<{a|kq z6gf5r{)~t7mJrw~thh=PlVdaCL=i5DwXLbO?^XgUE$B_`XKcPf>0fEMD7+K=fX|O= z-&%uG6vB|T^X~S0gM#+73D*%jBfiUST0PSp1!m7Tm7Re$oJ(120uSE^I?z!vGB~yZ zP*v!8Nsd*PWli6;rVQHcv?_#xf|MP)&R0u&T+X3;$CY{-YO*N*$$8>a|FAUBGGIuEi)-_jlse7CAcd zhT9dNlG{CTJ?qMD-$=|Ip1#|MGu4a<&&R8EpbzHKHAp9N6A{;9w~TlwUzzq-0|N35 z=PpPrjEJ~ZD;QTSJBkmi)vqlMaqAlFGi8$&gQ0X@t;!k#IS3u5n7~z2CCBZ)V1W>O z;@cUzQTJ7_&XqDD)zNQCzA6^%_CwuF5^wJTD_y^!xr_VD5Rdfq?4MVHiWT0(i!Jza zktuY?cPwCdAg;&HQDW%Ex->6)pjcmh>1@(7KS^3CMx8_OzAiua^N8^oCL9sG{<39@ z(lWCQC^?i!K{J`AM z{X9bLiAE{joonBTKo#k9Wj&LUjt+?N&XpsIj%Dke#*bjT8AHsI?opR<3~7*&T3iI@ z+OR0UCT3y!^7SYS=<%Mw_7KFHrZ0Y0R7~Gw7aM}W_qZq;u78uad~MoPxUw{X^K^sS zdd4D6SJ4f1=OW;V?X^iAlxP~;dzS<-Oy{tg(~6kYZY`fK#8$}rMb9C|&>X;JWA3I3 z=37vLD@feUT_Hy6@%`J3?ktMa$LPBsDDlzQ+$C-0Md@m_fGoups?{!<^~WxJcQ+j2 zo;7cg=e#N?#WFTIb|$>g+^Mxk1%Zs%k+3ZN*?Ms@H)jF1^YG+qCrxI@*^e?RreDdf zIm3Nau?$vj%eFC-QQ`J8Sy!;eG3$&jL|^w^*@Zl87?5g-lUnY6$7@OZ20LaI^?lN9 zdT|97`C*@T;Q4_sIQ*#OIJkC}gL1+mfU z%ha|s)%AGdiq&>}pDsDIA;#Tx*@B*FeJ&#cSw512Jl8ju+~uRjrdm|I2EF)*}}c6MeUY5Rf9to10V8haQvQn*;_q^JavV6?4nkx zQ2MY?Xl3S3^bZdL7LNPp4#IY6r;ukOGFG}2=0Ci#6Sx0zMF$PaEfSkQalu5_)=F1_THviyUMyZKq3b!JKa{%U$j zZMf}Q*1M4LB9($F*1?JFY*O8JA3`9I1*P`0>EHsGlj7twGq#pw;M3^CFj4}}(%8{5 znU50Gm-5oe|25}+UhrHxZ3A)z&`oger8COe^gd={x}OP?-b6eWW@wjYgkhAy7xe;=5ov;ICHtkJd6_VHQaZw+;`9WNf)h3aSC@?$3N>ROb4lS038kVfB?a zbdysZ$6=$cXjxG|VKBIfPHW@l>`RO#fBg1oTp2hm5dUfvj zVfM50LHmV<3f2mQm8UGf^brr_r-Q6_SMPhz`EcL<%!`PG^phNv)U0K7@$pWiY)^}? z(Q_$mw!WbVL60R1I;*r64d{Z_!B$`~)d4@`#8Aw5w|D;W z)2|}eRrvXKTU*=B?M{ZCf14BJWNUN_j>?ll3OwpY* zQO(UZsDDfQ4=5-Fd5K=3>}O>PCBf;gtYQ395dTtUp|9{$xA7gRMI17J=Hz~T<3tq# z7Q}ZsTBY}^IDWR)AqRs~;WUZgZ>91V0{zD~6fg}thE$H}7R3JjFguNMA){cy*E-2T@;`z&OOSo0$ackIG%#U8xNRZzZOysz=J$2z`4B&f^%fSYK~t$qvX9xQ?M0ni|ry4>c^*v7p+acH{1r?{#OD}J38 zC?O!#|It+-!OF02Xd?N8A=kGRV#xiJd>fEn3*sE?K2Zn@QaL8+`*petOEUqx5%Ik{ zHO*#P!p2#@)tAifo)6>~y95UgM4Y;EnWzP>wml)ldFzI*4E|6eXzYe;=|t0To%(rG zwXp!Q>mGTKem#~%`&V&0Ats&&hL>>}M3FDSynl6Sjjbad>_U+hDkTXraHc*YC(5Sh zTZ|D!!|aEqUuKu)WFmq_}?<|3r6b4wmT3yke1eRGY=qmAd0xk6 zx_er7H&UVCv5g52)^3FSQ9@SZP0NutJc~}5gu(RQum}vp`&x4KxROb8K&~M1&&3Bt znBU#Uf3(bF9^s4IB$vaLtZ$cf3-98?y*lV>fuKQlML(Z0<6_M4+BX1)?eDDglaqk8 z_KaOqH}}jBy`}}W)Gg6gFV$UovVD{9myaTFW`)fZ`eNhh3U(X|klNOS?}~c}o7%`k<)3$$r(> zBT7mxBrfpigx_b4U2z=EZKW7a?zswoVKIyN6tOAsm9gI8a^2GA)}7Yr;OtTgCm@nO zt?PP}cP(O}!KM2n(zA58`O1l)psOsyZQcIr+wseE)SDG*x1$+)93&?Pax*9vhPh(= z+Y`l$28}zvruH-1ss&22vIhrbskAGLlx(<2;i#F8Hn&OCvm3(?R!hkB&QXTD#idmH zi_vf)#+mW>*^g0!_+NtMgu?uFa~~gBD|Ws=+>X{lpUH!Ii!Zm)5EF{DjTmOys)rme z;^U~f1fHHEO=?4{DmEL{obsqZ?&bs{)A7u>dbO_2O*im#?hJi*_-7RmaTTj0W8b$) z+d+!#rcM|G0u3_zP@QD2nRBZ>Y~BfByq8gAQ9E)zyUI!a;2XXnwOxvM8DWDVjU!9Ea{x z=jY=ErH#kzh~2r*)h`AS7~eb+<1$eOY6&U~(S^h9t7d8gx|LN@x}Gj%cga|aUkh?S z4dtGQz(y8(pEY94j(+0=p9^2K)MS5;FgiG8rh2Xt06{w(u}b@gU5}?mJ?ntyA<5JaI%X3Qx2$Huj&~G;9a4qiE_HWkd#$CRfB8OUR zYtD(&7!b>{FLr&q#D#Azz)Xel%6T3s*ji4z_ur&GUi^};ZZX}(!MQcMiW(@%UB@4p zw1owuE1cO~s3!T$SoA6Cl`MM89>1$pZ}Bu0Vu|biB)zwHxF#>Q@9DTs_K;bV(4)4=$@OqP_Gvu0X6cyR=v6|bcQV;I9`c< zmk$k9zB~66m#Wge_P$)b!Tv~^vE zh8i_>ymz?^RtTApT;V4;xr*^~g{2&v_sq*{xL@EQLPY!~;hiomb`^p4W0gGm$Q`nN zPdk$b@UFb%VZ_5Oc5w#>=kxw<;_po(`u`pvgZoOoc6YwXA0%*MO1}$C?dc1p`#nwBKhS%xH zx*|UrLK2#poDcpwQVT4GDQ876C9<>8E?1BYW=pXwLju>|>z3df<`MObr`Xkq=R=Nt zMn8VZL-HI5>KNW{NL8=Fta~LM3g2Nmv%F8N% z5!2GtY(94_H`+Dhj1Qw7wYvUBh371!Xi9*NE8NWt3^a1$DXo6*U8I7^=eed z#Cd7>%2Li&IDKvF)m8$-E(dzx$198c$B-?oNRU<}<4bdroo~!GPxs0MjW&XH(&958 zlsn-wR}bV{>YtEI^@cjr&b zh!JPDJra^hez!0xP^IFf7Uq)EjY_9ojg}UNWi+5?Wg#XU6!)?h)nER2jdUFAibdrvPk%?c;tSe|i% zc7|04B;S&pPn=`7>7&OwsHRJI_w_JcC(ZPO2#&R(l4xXwQ)OAt-p^dBgBWn20_#py zXi|-!S|>+x`to}t?MFKz<1$xr?E!eagomTufJSGplF$Jw1 ztFGK4i+Rm-X)0^*t)@+Whfn&qYhEEk+ujL*K?ZZKX7v2Q18{I8cPWEEUavA2}Qnf@!itQ0k>BZSt6Q-~uSB)m5uU9xm zYz^ugCD&V$A^Hju6iLK7?)9OHp032t4OZ(9?ct|SE7#?V!-#BD7_Y;6h-@j@B=br? z#nZLIuA@^RZKdD6j;7v_dESR%n4W43}Guzt+%}-L17{f3hHaD?TFp2dYoZz{>YW57S<0vc$#8OK!2X)*Ymx zK3>t3kAHV2$!SZM=xIAatdg+{d@;;rpw;oH-pP*ZMq#aaJNM4!D#la*4V`2|!mzO!8Lw(x#*z&=hG9F|~3m>LkrmRfgI1R&|C$#vK*+ zoH*u1Bi{+|*@ZT$LO)8Q&K@KE78bt-?=9ISA+hZv5AkFaSKbw&R8MYW0h8yt>IDJ| zsf^Ei==wOZ>#dxDf|v^!EjPzSUi_FPTdr6$K(+Ior z7EF*5YvDA~0kPfEdRe|}1egD!zpw??Y6LA@T!nWUK#>eRAh} zD7N68PrErShqsID*i{G42(d*wQ^A(ag0F-K(UIPuGrieK0wl(Zs;%K(DImOf#tQd+ zeLnuy`yES_=Ys(JAn`}dio2Q4O;5<}1t&IEe6r2qEDFr`#0jXmxy^XIgqMbc8g?s+ zVRkY+oEDas!ioH5l_TeIL7hE8n?#Qgf z6wHSMV7lui-hAonng#9XFl)K5IfbUcC;mi3Oj73jg0?nX0&&$jOj7#*TJN$Y3xR&p z1~G_hOez-XjyHPwYNl^y=SWGmY7ge4?#TL%@gmEzC|K_YpwOpqXl;BUip*`m_Z%wZ zk}4rd_hh{*TuO?J6?0JFM+jUhFDHw?Tc2jq+J?{_s0zmGb6pqSdn>9HGQk5kMBqRXuD|lBY$CkT~rMt7ftq(S9uQ(|!`k zWk@RkS9W2!Zgm=3TWi8Dv|2f_+c^o(^r7T5n-}e)_o9oE)E~D3iT7ei~5WtalIy85k3>^e2jbuoMYwb zv}k%QXI7lN6{1{Sn1ypUDRGCxlKvd3<0UyexY9DC4d zLF#957{Tz%QgVtqwh1aQAB%2t!k2@}El;+ua66Zj#c@?jC(vXeysyj@*=f7pCEB-W z8wkAp!FB@4!KjaNu2~ifa8;G!`bzsHE(+Knl;C-}mJ zk|lW96DoH%NnQ}~P2>v$d^b&2DjQlqEQG1@#4!oslbh zH2tV?U-;O5Hne`qgHhY`K+phHj5^CI?T$O6Y z-WC0(X_|z($9VXwOf?@Ca z+r7MCYq|SMU%~-_R)H)^MUlk7GYK4aG6nrehveRZcL-%GnIr2(0H@eZWjCy5l=}?qs%bDOx{F#l9 ztUyH6XlRt!m?!-ouQ`pi%OjQBb2KZz6M&j%<$bn?213vQqyv?&R5R^A;50(YyzR3* zRPZtX#I1=LE@f}iXHjOoo&6}HR+0+nE;HM!M5b8BP=0Dq$UR1hZo7`#^9s8#R0~1V ztT%y>Sf0CWTwX}s$CqEAY=_or0i_9J>oXA*(-K1zjg8h5^U`ws90OZ9G) z*C%1~;G{PUdm>lrwYx{c<)pG8tDsg}Ax%@#gdDys43gp_bE7VA3D_yunVc^qm(-Y5=S0cS%Lz^SefV*smEr6l34l{QZYCz z9C@Kd5o$KWgW6yeA2aAg$O!fDXq^?Mc^B-BGIb|T$o46zkOVk?gui_@9k_1j0m&4H zk1*x5LKS}|S9{XftC3mMgYSco&J8<%`nBftr^6CkPPRTkD zgikM1!1@y~gVUpUWqxLj(Vm!0n42WW+CaY0=@)`p4YY*_#H@Pt0EVqUTM+8TDxCFGTOMSiGx+?mX0q2#ouB$HRkHS@F`JOt6-QW&lst(SaJt@AjFTlv6m zfTZ525TT{=XAl2q=5lHnMf*DAKp=`C zU?KTDEjs0i-Sv1WYQ&rD0T3|WrbB1!d}9HU zaY8_b-pu|^%+;;=cV8AbamNV4hvb^}Eb+PuTTfdEGTDL5dC66D3i6HzO<--Y}!5MSzz=HQmaMk)&x`PEePJPV{ag z(3^U_BLgy;#!BnE>`t5aSkr6+P>|NtCd*P>g=9QKKT^_h&Vtq%s|CLUZ@iEP9^Co* z$_MBkd#>VQs`i)*!Yoop?L^uOmgydKML!NYi59+@{Ce&x%-^rlCBfJ^grHaR#RD!b z`lLT05*MViW?ZMt%BuH(N0u=@J61*H>i*hDuY1Uy1H~j=`U4NZaRh&#`RNHYSw3<7 zyAO}@(+trhoNREJDL7tX7(hX6h<}lR{zJJwAOXDdu&3##fB-Ua(2x9|EgHGZqXOvE zsmT}g)L3hgQ2sSgPuG3MS0lU048CB`a(y6f2{U@?4cmCIRJSw&@GyhEs6BV z&Xn{(DiFghuUM>Tc2zDP_!62-ZbQN@l$5*gvLc{m6H6vkk~B!SHci|Qi0D-=pF>kZ zF3WqR{f0lHHug!M50o+6gW{D$(Jyc*RZh~!3pm~ralOj%P>tK_5@z{k8RuajdVZQ* zCrzvpuc1h#HH0w5MjRmbj8hI%f}SmcDyT+Gkq~D9&yGjKyyTsbJSXW%ua94exkBHg zosnRDy-^8+22YIjDggS^LjX~1M~cASkgp*ld7k|@M6Smi=sE_X*~c1w1QvehCRYU_ z{BfvHkLjYRx5|4I<{GhA7h;!f%~O^WO#I2Sk9M!c+p?YBlZyFUp&hEd)CtXKCYZbz z`%%geOP#KSb`mG-4AWL=VS++Ae|G*S?EH@j{b~77bbjvc1xGvBvPEOHaeESYh@Dad zs8f=S8pOjS)zn5jjQ2&8Z3JClu-!4A#|zXRMuj}RfhfVILux27RQ#IDOxBdvEiC|F z1*=9b=~C_ysC@2#@MUm-(S@7)h>HVB@`qK}JoGJhWD8As@Yd9&ERBDL z;Q!DXKMABMj}F8(AJ>gAWd}ZU4w2AOql9X&PkdtIe0An0qz68Wrbsn6T#@pKR(4v^ ztrz#EX@TbLL+-n`(=l&W)=3K2Zx10^t%R?Q2NjQQd*v$@*r3%~(p?MYmN}A&+{8R2 zQ=<(Dar22)jhODE6Kv+46FCybw4H7*&(57cg#B4KQ@Y>jO+l{%rscdoWMsF=x38fR?H{L@_RpwN^9NVD!l!)w))y@L5e3I!}a zub1Mb0Q6*@FYl4m#UlDc%E>e3G6jdU7awmrWs`$zncMP>I5W%)?PSv4crdY>X*u3+s8b=j zVFq0_rYM-cG=^FR;>=2@=P@y8?A&zilx-7ZbM2(Se*J5X>)hgIX_g$eElsxil7a^5 zVKYH;D7j(H{p)aV>2zf-;im_^peq})FI_oZwT76cQ))x_kqV@$TfN%z>FFOi>j|)R z$XM#zBZ9Uwv$q@;?CM}GXCvBMymv~BV8fuN` z-?I{?Y(dx46`X>h)-SX}Az(0>;x!qlXJ(udi+Gej{H;MPh~I^P7Q5t4mREK;LuchR zHqsH5R%;5sUGaX^^)^36x(hbB3p=eEXsqIm?2#hNVtlmYW`>u^7l00!;E<+wKBT+Q z)*1RBq@`jtvZ$HcTD+s6#fMAXYeP?gfAp!hr4uQp@Il_btLE)R?*e^4Nmy^xF$F|l z^$frK%6IjP_3tzVLW}?58vM_Oxy35vB~zC)wmqvMhw^e-$oDInXl1(Eq>ceN>buFC zk&p*o$~Rj99zX1GEzS5T2sW_2KZ*r>0hyUahCug*_w#uaX8;gGaRUZt02H(Dt0EMt z1Zkn4=0#4f?oIoQ`-N=z;@YurCZpyu4Ca0Mm2Gsc_Jwd$Lo~4s>qovI?Q-H1w{d9c zv@E+OwpbHK^?=i-9eOedh;7M+ZkiF^h$0Uan${lNRz_Y@wy-1JXDQ$tZs$k0m(Yk` zm$kys3BdM@%65`!eQtF}Jm$nD_Q@2S8-Gd$=p0;IAE(tzpqi*tXf_1=YgWg{VUBLp zVp#+K<^egOXHmO~{J{gl;#FH$lbkebMI*ThAf`uKNXBeZbS@eQ$V({`@v`y{zEFYx|XD3uu~ z)GCWWr;ii>tt_&sAQm@N9#rE!{L%)Kacq@#$3xSw7rla3O~hZ}N$zvFF>Pc{9ZD=` zg}+Cw(`5-bU1>hMD)2XS{x5H=7%9{$hd@`L&nNpkLIc&f5SR{OmC2d@HUFRR`_DGY zXgd57N|teF!u};|@C$5;V5SA$j|lVXUx)KE;P5L!WHQ_;b_>4z>qzh~t`5wlD1r6d zn6vp^zgLSPku@9lz8JOsk4pdd0v3Y$87Tpm-8s^J*RO`+7f|YDp5~g2ziaycIOJ75 z1I&9cyT3|&#Eb4AbX$ZlFfd@VoyUj(S1%KyH&^*(^bJWu z;B&(a25sTs=Wp29RPVptq^&q)CV9Ew&m=+~QJ)MmwhO@wS65d%?$6MJt9LK*<9BKQ z!bdp)gQzHsBE~Qp&FM-L32?C^zfPK0$3`|pFuIaLfaSt5!pqwnfsm;kwAa7d^@enz zFL0nKHX-(^P$13hJ~EhogBR*|_n`E@k&3|NoHD`Duz@_UG#inS_y297eom*NAb66eqj<}uf2*5{q2OuE z>u})wb$EX$lF%bOlcAd6Q47uQA5(+dPJrxQ`j_SZ<6DG|(0e_f81a{}C{fG|*eDQv_p;TX=oRCE`&P7bor#@DR7z$v?xT4O$kUIm^g6lz75hw$qQD5_e zeb427s9`{(oQFir=h&b^iS<=yO3Y!wd4wC-97j!zVDg@<0KGJ6ja4+nhIBuQ7i#+B zp`A3d&2B##Z2x6gg@8?{4#$28Q501hpJ|QO}a z|NTUsMg3Sif=cIMxRTCJsiPNW2uYh+b8DS5dirNd^uIc<7zSzg7~gR~XkE!Mcsf>G zuR-!oT(ZdY1mT;$tw~AESM+-T-tN6KT1ejW_n-i{m&WJ3)tT!3JWWqj;d>5BSXkg1 z8O&phy=AR%jt<8Rba*BHT8-{&395mSiyyyc(8X42$MS@Ci{pN(9VR&Vwl19oTZpQ& z7NlxjVYOJYAI)Hvcl`aMRO{5I-DEaaTx}%eL_b{y<8*^81Ly1aBY2t9$hbQ-sYP+g zRI7=Qc`$j>3&)8Org^_uTE)z7kamO>LkX5{GN#b6j~STO>Z^wOb1E=0Dyi3ld_6S@ z5++_1rJ4MP!L$m%zmgmdeV1fGc%uPRFVe>-tpDHnDlfJt)K&??{7qn z&)mV&up!3o`gVG@8DsO+y9Ly}-Me*3W)sRMkk%4_Fv6*K&j}nMCseYn;4PZvYkaTK z3KGx4VY#wAG`x$kX_obtfw;z?BKl0zc9>pjT>7tW^FZ41Q&enx7t_4Zl<;85AOk+@ zsinNd4u~uz>^Ih`o3g&j`fy0f{75ic6FZJ2-d>57L$Ah^fK5l+GYG|^rr2j6kyu3# ztAQiVM;tU|R<%5>Aiii%WQaLUKV(EmAL85~4Dkw8QJ6-i%GZ9b|6iP73(cQ`V}TAK zVWYwrH-Az)A051CT2Kz;mQ-zFiW6W)RVtnO(6UECY~bR<m^h%s{O@_VspxRZ5?>Q5FcNvsc zFAH7_-?e2Ae>J?;7E0N-(F>rjAEM_M(O|yLac0c*A4C9hjZ+@p?G3DdsO?`Ge4-0+ z{Zcc*&0r)aLH;pH&yR+ekan3{YdM7?GQ{;q@geW+D7vX`H6cg(_u!sG3A4G&m(lFg zwcv_pID5eedA;R4ANF%FD~z8IL*8gy9ZgFvmcB&k3@}PW_@u4=^jqd9Ubvr*0s`GJ zLy&m!8F}JO1Yg2IfV-^ zOM|t-xK)7Eswa;5jz^`6%5y~T>_exD3=^M#8kU(t56CA{4CdMsFYajG4^z;#<79=n z_v0tWlQHSu;zQ3jwgc;q@CiXH!=NaWn8n|MDI&7fbTW`P-acpMXJJW!(qO}0*~3OJ zNrQGs8P$s7SuVO{Zc*NqDqXdWZ7Y@Zqa8MHb1ju2ILGp%F8@mASWfIgmT%Ipz|1%{ zkERuneqwFu<{)q^Dh{)ld{*JDBg^a@SBYWxLJe*;dN%p2ludNig<(ScWuN%SKK;H^ zk*S^e552_Hz2;Kiq)8uZfwtdLbM43-`paWKPhbCi;MKHHft&h|?SS^@C$B}f6~I=! zW_O5O5YrF_zdP>gu>q7)Iw|#7AzU^x#M88wzk%FrY4ENl0Suqk>Uh?>A5%ptjdFA} zG+p4DkZ3qKnrkiKN&0Va`X5tU*Z{@}nDxf;zbuhIF$0hX z6%1luMtdOq{&6T07=t*{ZvT1^>`zqj|Mk;_=YG>*C<`?3xy^f-+9&fE-=za21c!E?hhUZ*6lhuEF&X4@#qK_N^uvqC3bBQMKrQ1-pK3 z0M#Oo^X>VX4)AR_pZUG8{($VN0kdG);U)WNS4+!5AtNK3Rulu5yf}UVsf<8R1WjsE z_9|cw{$fdWMcr>8onj^f^q#l0p&nc4?CdC+i$=OlbW-=Rf`R+_v|D;?U%>vrB zzPs)tcWjfpdEGh26ZQ^#>u?`{?UMxTm6L%r8h0d)A@P{(guG9QFW$*v=m1${%{jAH zRP3#|-?k_D_w&r?)6yyuzW=S!XLzgliVP$>zd~LXe6AQ#u4*f{ho5acR(10_CFW<9H-|9G4`7^B4_xLfsftz=*+ggKK#QI zL6W@0VK*F!s7Yx3ZpT9N8vQZOlkm?S@E3R(VIfB-m5ktAT69W!aC~b>OkDX{&>PY_ zl8b%%N#s@=Ejh~9hI6B1qS|+s+>?GB6KG6;w>!fw;qW3!AtubK`BYfx4`BbC`{q1f zP^4>qBg^OXhf~yJynxG6dF6BS2A40j1Oo zF|u0suI=IB0dYsIGbR4{C?sf`+Jj=&k;Qn@w|_(K{PaYMw({)MVRhSsj^Kn``LimS z_XRrW^SGFxa(ux5Q`}d_MbY(r>k3Lp2%@4Aih{JXGzf@vvouI|cY`7d0!p)_Ahk;@ zEnNcA4Fa+t-M!Qj@2uDT+|NZkf4}~*AI6zEbIz~hduG02Qx$9#M|}Fw)RwzVxMtFj zVRyWd(bn(Ds(7+_&r{ah-x?`F3k^yYs@nWf-ihRetjwBv(qUJuuxlyy%hh16Kf>q{)+Hfc@wOnH8uid#% zuN(Kd`kok4UyJhWL_zi!lt6f)#Mj=Y8vfb4*G|GPf8&w28t5@Y{8oioi=7oc4S%ci z_%60uvHsKO4l*i(oSn$>U5hLh@YB9dY0E+k7^LO#W;H>9XT71tn4*qE!@*OZ|WW#*&w03R~-E509VL+r>g|CKdY}ME#xI2F6s2C9bR3{+r`3dzL?nuGY1c zpf-QC|JgUpHTtFq0MWJIF?rkXE0B5(q9m}v5y4KsyGNa z=0c+G`P9BkdEcrmy6wb9kPxWw%7yfP0F^iVs_=E}@BG~4+5e{R9 zTZXsXq^`6(d+|TXw9@5lc;ePz@LnJBK=?%-WQyb+A;-_oc7pLSsVr%bm2fqc`6hNy zDP;4q_SNkyf~zq%)n*fh#2M9vrJaQ{b^=C;F>+fNY?$t*$Pc*{c3|ARPc2MElB3uP z!<)03@H5*QYH6qRd&bcW-C;Ktb+O8R)*3?D{+fXlJh-gm@IBk@#lXGijNhnR27fV} zqKKbY8sP7)3w~;Z5fyCByis>(BjW4NH@XWc)YbxNSs6;%Yr!(x`8Lw zpojfF`?r;TfvHN4d&`9lZ)h&@Y1Cm}Q!TVT0FSC=wbgTRO@_A5=g5)XG*h=^h{*ri zkQVOmNtSsdI_LFQtC&w86lvG>h=@+UD^5H=B^%J%wMc_Kbmq1G30f*D%NLL77OX!c ziT`XS0C8~_43CBi7VO)i_=*dzcRiGwzdWO1_j3p0t6%w@PpFbv%c{)cPiRK5`Nu$* zfmUn(^oFJ~hn%*;GnW(jZ=~ISK1(k*W091W%bfm-o@}Cmp!tnehcKPGq4pj3;k))R zS9(H6O1BcK=-=VI<|ZSUeNr}R)L^Y%)E3^%uuo`EQRY{#=cC=;tDlcKZ?|tq{?f2B zCxADj@ic=EZ$me5v$ZhbS3YKC-v)BT?4CnD!KYzHKURu;u59V!Anl0wOC>u1bBSLM zIhSMhYglJ)jTG1RaKUaFi?&mGDBL|OUHVVuNE0XKdVkdGWg66MLc)%W>lUU%N|x?p z=h}OrOsvqw?>IXNI-yTB8(6G_JQ5~K`VI$#ca}priI!~TEkN$vEqIemjQ}B})PK4?VEF;Zc*$A08d zub5&(zhT>$ulL`P6B*TC%|+(777D1SD4EggX4}bm6Fuu!qBiCq#U+8@Kcl&~=7v@9 znKGfO8|6rT=w%LUmLUpTqib+RSVL0zMm}HI+=-5%U7>Y0TDfojC=|r zcjwz8^fOh>`d!DdC`cWZ)t*>zAD9`y6QT|1o}0rIvXOa5@dGj+S{(barez|ev3Hn@ zth?wf!yRx-Ozs_`4lVj|66dCYf1Y`i| z);H)yF1?`6mjrbtC;0EmeWkF0F3W!~DgXW7|GiePF39WBDz$uFItH*4HhZkT?R>8M z&)v`Ungsq;GyK<|lZrqITO~f(=Y$lTuhY~S&$YRnUpoZmaMcEwbrt)!T?^R;5-HZ7 zA=CTaZubZ z{zz3RbL-ZHA{q{QbF(593@C6IwMTF4?l#+ar*%sj_CRr5!ZLwHk=%iQnqj|pbMzSu zXb8UaBDedd5`Z1|tWV4dbX67Ojl`0wn*%o$vAJzRqnzpz<~(qo#}F znsh}lkZ(PyQ0$C6`p#nk)NOOv|3!3pX#sKvs61qdsb6@J!rx~Jl>mYPy+a{)X-n{S zmKl)gnrlSPUYg3{C`$o-J@d^?!~Y+TuB+5A8J=%FMNyS{CcH}wtZ9rowR&gl68LqV zD(sDE82m7YB>(^D%g9{ayQy}(Zr4GM!YS+s;i`K_aXODB;I@sWSR4O#uUQ-%5s-Pg zO&Eyr)s)5NJK1FAS3{0{-5)!(Shr3|qa!#9JAL_cCb6tX8S8N`M-PYn{Q>^~{f~Mp zk1O{5zvEQi8xl+bU=C{d%z4z&LCm*e{KZUnF>*dc=cFscIdha%)o*pZNeckF(Jw!P z{2vKXzduTzmo?sc`BEoVnzeP0{C!;cUU|3I+Pv`^_cm|$b_eW1v328hqfQBjn{qYP zio9~ABs48zSFU0Z3Z4D=uIxv7GeXZmS1~ylQ#Yq`(C*A;Rmbip8Djjv++T=CE>$+F7y-S5f*35#nI{d8pcZzs&G$^I$y_ zt#dO%ANq??VqJsbngt_tVchER33wm((&@Q(8(4FM&rbjE zy;%5ullVE3!Nn&dZln7JCeQV@yn;(yJ?(9O_Dfz^vCtJicT9gyI344!Z>MFpxd~Zx zkHy$1lCy7tS#HA-u#QV^q5Od1&kCnI)rV!o!rPc=_d16Srj>5r5nW&>xkyu?lsA8g zT0(0P;_%AMA)5ZUdH;QPDC2n&qA4m&L+I(JV)pe!dB(2mbkzZ}HwKxr_HxQgCT~Cb z7=DjTjrjfW#T$isurS`}IVq;AREZ_u8NywS^RGt8T{fr%7NJ_ndpf7bXGQL>1Qx6L)7eh0>aM{)e^7ap%eM^r?L z7#3wuHpYtAPehp7IrSP%Mh~0B@392*`jy4R#8CZzFQ>&=Ic`A&t{i{BJS#pa$JiKr z@TH;L_|()?WqJ9O{F=j{N$ByhOwVHso*Z91=!#bh!sq{b*l?+-qNit74FFXjHN@B_l$dT=>tH5TO`ZvU9WU2=TprnB$6;N?grK=vgMSENx$p+_a3f3oIT@Y+z!xs2JRcIaE^WjfvfEBxfX{l$l zZnG=U;(vB^g!iu2VyH63v@d$eD=I!N8UcDkxEomj0O!+sj zdg3sT?x?AYj$QN9!Ad;n{^%fnQKy-->zGAA%+;g=7YPRp<}2=77gURJk>XeUoSy<} zo5yq`TQ8>d$k_u;zeYw_BUwZI1R!~vq7ht({Vi;Y?g86`kk9Z__{qnfL zjAh*Yr|`nYE7kn4mm(sG%&xf;j-hDE73T>V8Ku+F(HSPMdWF_OovO3R&M55$4*E_9 zRe)D*?^Q|zN&YiY%XPYS{cH4h&P?%&UmeyyqjsV0in(_=uJkrH4tiA;pxUH3zmRWN?Z+csJUcN-n)QPn!o#D z?h^BsD3fBLnQYsdt)D2c82wT^Xz^C&uX|uku8-6I7J~nwVewa?cudu%O8cly)99_` zq@zKD$O64m>k8IV^I*-Uz);?NgQ>%3oP}%nRhQTc!iCo$E7m7)SC8nmT;`m@!W$=aG)T||0ZAgSVBZ6xc8^W zUAIzl+Ws$I6bq-$)&n;XTOP?nhcZl03CJ@ZfnDF1Y2}0 zu-vyd(i+sUCb9GZ-;j-~Q6KLt{o_@Psiw zAw3jpXAt!}v*4gudYl(Ac!OeodGd?CL)D8Wts!v{>w9VOiifV6j4F}Od;-m;lRQZ% zSQ;OAAbUx`)XN#YT#G?#Nd~vq*~aKPm@?wL@?=$$W0%I=0{(|h|LZv&sr^1n77e&G z1mcq^?yZfJ++X@8fh5_?<+Ym~M*V54KuRd#W|G<*G~7`mQmXB1Pu* z*WR|>=a(4tYBN_Q$`q^hmN7V#SY9X3B@yQz%gFnk(>m-5Du<-Ig#b>AN?t(${c`4P zFte^t_w@%;jAQx92YN;SyW+op6~9I^Sz7|)8B?|w;piC{=jk=19C8}idp}MhbnR3Ywg8l(@w&I2BMRPxHKoqEQBx@|*&wUF+Mk}8{M%qS{ zrm9>xo<~0Cn~^daz=FN!m#+*>5Wj1-XQmrfqH}xwXEr`8k32t}z7yVz8R2EcsJ549 znM}WDvW{wie(z-~o)R2}Y$Hpzzq5L8=CLt@_l*VzxrXv#6;JXnF<_xIg!_;Dnr(kk z!AhQOnHlA5xG{^UCSy+3y%;H<`I7BQ4Rl#!;R`E*~@g?W0Qwhgbf$x3$@8 zBvE``C91z;W(HW?Z7D($OGe$Q-4A#n-ubOgUjZ`Udj~y{t z)K21g|Ma`ldW6q&O`Kx47GXSz%2cQ_GJ>8?!l0%6_I%LbX9*>aAI??Zc~q%%yA<;J zm6m)%lS|%WG?#??Ow>BxmBr6hoXVa{P8DgVpU|}mzc$4!@0aICJKgl=$H1Y zb!c+1+(2%95#!q7CWI?XjlvT?hG9;sQEgMUMKD0FW*RoNq+`Get>%XCx3axsG22%Q zIqr20$%QPNcQ8yVc&X`JW<6CYC;e15^EyYXP~ZDuS=~Q3@3ZxF=o*nL-Tm%l+ih&b z2QfP27@7T!6C~9!vxwAwP}T-5qL08CWFSuaR^K;QZJbDoqc&dK8ZE&YQ8LV+MI{YY z7Yi9?VJWfLu;!_u7oVm;?#yiE1qXBG=0O76DrLQz7ZQi3itWbTbDuYoRZG=}b{aSA zcDCKGdA-g+s)V{-72x{nV)(@K6`d!<%Co5-R6sxW;Z8gD6Lk{`22?l(ES5N~FEAKY z_18sx*m*C*gj_VC5h>$`;3#jzVV71#L?-j3Jba)!GHW@4$)CgbfbTS>97dCM|MbYX zvm9}=si=0q#G8I&(oY|FtJK==3#YqfrSaUbs`ixtC*S{t~&r8270@>K|&PS$IR|7tk1Do>&2`Z}$Af%+{M zB;iDq#^yfGs(|w2z3jJb$8N~qsuENYhUTWWq|b}pyG)2XxyqGfCfO3?Hb*?OS#?YrKhK)I6F9W=HjoKsI}x9P5t>H|fnuu+4TZ3x&e~r6`(^Bxp&k?vrju732NM zK}0p`S*hy1nZDR$>!H5ILH^t-af$oh6?(vD0bY0Tl1dQP> z1Z6>Tkd0OhN8lZ)W@`NN5YJ)0S*GvV6-4t0Ao95Ih}=(E*&*_nGva-Gs9i;=c`nYpe;aH6b6o|a zUDFR}m>av99Vp5DXu)7xVHCD}`!5@V(7VPPldXOG! z5fCpqmC3t{fdSH1|h|KWjtc_+{h?u0^hf*@U=Hk!uG&}==}QMq?8lJ52ABc76_8i#2QybM zDgk;>6mmHeczNn!P3#ys4Fi_r^{ea81!LN0Zz}LQE_^0V`t`=Q)P&@X%JK<`n(nfe zmR3hk-B5al^O@07n$V-I#B3p|J$V1-rw8_kDXEswdM3TVtdVZtW4>QWsz7ze{Rm?Y zsxjX!fMR%lWBS>@mkF@B^A47)o>6UN%a0%X?%>`c=*aLVGM*2<$75v#C^vX@j%7E! zI~a3rO2foPuB`6i7ohHOhF0w2l#^^cW6U2BUwz-Hbe1beu9|{&*C(#i>~0IW_Vwm5 z&7UK#EiHQHmIl~RrrGcU8*$>v?VjGeXBRHZMi-y7&C^CG&NBM1t4x_j*MNRow8vfI z=7nj6^hhFOLS9{#PJn^rby`QW>*mE#u_S>!Go{Ls{r<&s3*Ui^jcjk!-uN5^fkPpA z97nu1)qYc;gcM$9lI)cMbe$GgMv4xH%4*VqS6tBZ@l{En4slc>vuE0;dFGguzSFA~ zRC~}5&5pI03a)+DkN9l_ zK@D6dgDKhWM@kzBc*69(mfIco^IK+@Ze=10I&c2)blSKOyM+nectE6;#52e za)R+s176WrbWtNp39f=MA|925(f10`*LZ~~dcBFtl-{4sc7HAdsYJ%^9+!w-BUm2{ zwX!H~vPNuY=yXRNo{Zb3>x_*RiAa1cJraslfp^%yKOZ6{JPpo5w4YET-CH zjM7F?rF)}d5uU3~vtC575y9j<(d~IV*Wo+WC95JNN$ehbWQM!dB3w5&uA3%_YzUq) zJHA3KL|9XGQ00TMQuF20H5Yf4CK~+S@0%hdWN(;0=f^}z>3UUY2Ha|ud<`ELTG8Jf zOUg{7xVx}0Y~4DmSbJ3@%6SZ{DR5+UHUl9;Ctuj?#jFu;Z(qD^TJA3T!(ze8g$@Zx zGDg{S*x}A_vZ#6L7ao8TGu}Zy#vb_BAanUvnHX400%&XG3KeatRV0$G4G1)2IeZ#K z7>HU-?)9--D;JKy+-VPA$Y~-F*{S*I3;W)Z)yJ}8fg>p`#S>+bu#Ggn*<+g;2c10Y zP05FbUF`!ZMP@Zqcij{Y7s;(gqca;Gvq^U+xNN=d&v-zb$ln$=XVD%Cii&^!d^I|9 zsiN~Rgm+8kTF4mVwUUW@b20aeB3((2dNm%ZxQP~rD=IoIchWB1a{qE2o-GFApi$dX zwVnBSYh7yoV8kR@MOylkjrLpO0v{!nnf54+Shm-}Yvg$dg_`lm!vTCN6jzy6hRNXk z2x;5T-7fnQFf*T#yRi%^$~mqMI>W5VZa&qpM3xA)G4Bkf-e^N)U=Kqk7p1?d3X~|L z6nD)xk{An*D=fS7c5KK8qD|I%8nkT2osaKS#~u4q^POsTl8p@K>76T)F8G2T8HdKZ z)0A@q=DosYJ+G&yIU<0VMwY#N1^CLh2_8A08oKQH`t@sEi7@lk1o7hREWdH$HD%`^ zQL&hLi>_li=rjF

    4IqqX_olJLDosW6l-C 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

    mD1}8*(=s-tuq1 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 KC2G@tm;V8$>{9Ij literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize-5.png b/radiant.data/docs/reference/visualize-5.png new file mode 100644 index 0000000000000000000000000000000000000000..4236918291663a028702fe6b127768b0cfb16afe GIT binary patch literal 262369 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize-6.png b/radiant.data/docs/reference/visualize-6.png new file mode 100644 index 0000000000000000000000000000000000000000..052fc839c31cd02fca21e4dba8e5c61acd112774 GIT binary patch literal 239914 zcmdSBhd-D7`v$CqTPjM(PLhU^>{&t?8D*56%1ZW5l#vyRBncr2AxZXLNk|f9?_`sZ z^&D5--QVAT@H|hiy6djbxUTp6Jdg7@j`Mt90ct9zwox!pkdTmUQ#dVqmV{)B3kk_4 zV{%gbO~-@yY5YcNtaM5izvIW!$wE*3_K(f!3-%-=%znhL4WUCbS4c?MNEBpGXt+Ec z?{c-#9V(Vy%l+B#fZO`sfaDB=_&+MjGUo?2Q*2OV+jgy;BB|_t#{-!TbL(W~NOApd z8;g@BXbQ@PJ}O-oS0fiz+sSbHp zk>Fo*Gty-K-QmpRRGXI)OG{Z>TU+~h4zn-1ONqV}h*Az>u}}HOS7x@Y#rMrlL&JaH zrgMRQ`r{oAg^F{kl7d4&N8&uCC|hNp1@tX0-HERr82h^rk^H1Z0*R@qhbXsiSIJ*p zC|#G_c7oF_I7#$ zm%c4aEB8*ZlzZ=x;);`=dw)#HO;Vl4cDnaOr*qGZ^VufbC`mVkg@@aY#5ng?(;52I z4qW)4x4u{_J>BcQgI!Q?H>vlA{QP{E>2fmL#pyoRYdc5m@~1y4@m^e*>^fiUCg>o> zeD>Tq+j{QY-u#i+%IWFpC5f)N&n+$9tZUPLdEZmhsCMu6_3_!<={geQvNROg=Tt~1 znA|Z@gL}L2Lcfq!C!JPOQZhTlIbUyasmU|sOtet>W&XX#j_opBn~hXAG%S5Srg|!j zuXAHCkItAFE4jw8T~!E?Ezhl6A%$>^I7 zt8j#C2&*(t59#q&9TQ4+>5Yvl2M-)D{n$C;@m%B3XnJnFgPX%w{u=VEKJRBO^^$-#d7f zKl#yqDYRipXZ2TG=>u8y$1{$S^Dp0qGCyPJ@hc%Y%BwRL}}FhlUHi$d7b zg&t4Cj}|${K2Lv33{@;QviW*ddTB6xHV^;cS;OGx=aVU8|1dT`JF&blB|SAJ5~D&xOPi3AV*c4SUX47r z({5|G$MVFUS^+`9ixXdS>>FFZehsXskP%@DIk>ReOD0{GTQZ;S+PW4Vx3W1@>esjX z9dhbEY~L$~Q#M|GpTGIUadY#7u{VBxxiCiIE3^19vc#uws)R9&qd~-E zMdyIZ=&(+;}1Uw?yGjvaX*r>eR`B}Qxu$p?#^yx~VzNk|SwP#7*&&<)zE zO3r_BH5|*TWeNAL{`m3ir%#{QsK}4g$lVDJj(_upw$OR%LG4sWuJu===8?HRq-zxt zf`skh!GETT7g*e-SY_3H5QL1@MYq0vGb6d#HdY;3x-z6-FT%9leMG$HUK6Y9Aoc6q z+>=zB{S(MbdqRhYO;(mm*9#?volBRQb#!%`mK`64dM@XBR+6#0laTO5H!Sw7uNq?M z{S*9;v)#lSBvz&?XBY9gyo(dop5h}#3!U~miVS$2COZSZe%0B$al`2_A6&b6t)b`Y zJjqRB9n35(W%=ldpXbi)l3E>Atsm%i8{=N-+u?bBdX94Q#=O~ghletQK7G<)5_2F= zOiZMbqn3)>L9D%kLcq#HA}x|t;|!*A{(>^QL0%+P%j{et>*{F_rR7VZl0u^;fq{Vv z)~?pp)`mYE-KF9rLhCMv)zs8HV?Gd=;LvhLxb9NV^{L{6mpp#8#HqM-l++JBa?1Gn z^{c|Xc#O(Y$tJSxZ*!%m%Qj_yUhA6j&}La)nQKxNH*s)qINRY<9deIDLCk*mjs%aS z6@h2izKu%+mvn{H+uIl;Mz`-)5||6qH~hG)&dU1KC~TgEBPtt`ncKb zzPnVS5fS_IyC%&ucTxC06`#yI$)bDyyvUH~`-S=a|0YDBhF-Z+ zIMzLGb=-7z>EsScfzh>Xj6!9WLiHmfC4wG%#l*#j24cjWWs+OYh^xe__0}DTyWfQuZM z7h;_U!6&^`r)pBPo{}6ZV`s;IGy8DT4pu3NOxIi4+%zRK!Paj_GK+sQBqSs}V@}gJ zG=sP;yUf3V#Nz5zbzNQYEAJg@|5nUM3QiV*x|DOtM!6juNVL*+%gM=wPih~EAaar; zZhd7$+R!1cb;gN;#Adub>%ww^fn%%YU5l@lR%eoMp(^`wv-sspo5os+pY4}sXW~!#nJ_N{ zuRUt09L0Lpe&)tEo0$|DrfaEE46e^cmcG9}IXi2&G{%1509kc)b#_SG*nGHDoagG8 z;m8f{|KS*F)gUr2$$e!$)APnx%^0LesQb8$h?=^3*7K`L$;tJ#`}XZ?M@B#Gbtvg} z9bsNtELon6w%`9fgjsx$Z6Ug6W!NiYHzg@*g>*{Wgs;==pu*DPXI<-Zp(8r!%Kt8~L(0W6 zCH~M_Z*2otIjPdIjKXKk+G=VyQOcH9mPX+QwYg;8^{UTSJ;e3x`@Z|!>@ zb!>Jf)Z@oKvz)J@(x`BQwIBeEV(V2+L+&pOirpHI9z1w(*4ET?q)6LU)iUbn(WkLz zw6q?$OB|&<@b6;k{6jw-Hr^oIb3ZgFD9Ds@mWE;ri|2~%(n_f3%Dxqk^@NNi!}WQ? zb6!Q>WIOt^<5rLG^Yc?NG6o%pb=fE=D0u94@viG5DwNB#`{*hAN0Z~^9UKGz6Vp*m z?xa2IYYQ{O(bfs2rG_lYXHy!-#I_O(KB`CMBPz}LCYYXq;gRFo($8*Y;ViN_<;H7E zROFk71)ViDBitq8*!Gk?^{8hFHErfT`5!D%Z!!p5o%WNyAA0!EArt+*zhb7`Pq7>h zWbX#@$myR;Zs{{z|3%mBK6ggX>C2UKlLSX-T3=CpVOYu%6%`fkHXOo8Pk%R*?xWIA zJ%dcTXkqJ`w$inEh1FZN`#Csz?c{dr3n zRm{xH5urIc+?)QRlj;wBsBUJb?`*8?tMqHSo^+6ejr ze7!Mg9~b@O;p^7|ODkK0~ysl2^y&W-Z#f+cxv;N43@ z(HCVJd#}mRZ8XU>oib+8$&JKib-pd~HBXLCaDTtC#PWD{xE7tZmR7~s{JW88p=)8G zW8c5iI;NjXR;jDS=Ed%0kE^%J<^3)ebkw%;^`+Vn{nulSgPl#w4xCmp&Y+J?*C+8w zOD_GxcG*$wZ!Xn8;GQd?{qH(%Zs6^!+#!w9{-6nXeJr!Ky0&)U*H~s`ljm%B+!5Dn z1G95;>Sxcg#}(@FEV*D4W@iv%ZK5M$F4Ipsl@@_T`$?YUfvQI1g6f#UPmdLorzofk?bltOl)MRGeTnOKTfJo z0deCo6J+?dcA?9;$4ltY@^|ghL#)Drf@dfcN9>4ddt%JJJ4E`ZPwe@DVBu~qR#w#Z zlP6DRH_ok2c^Xdccb{+7-Xv1!+V0R671AN{pZhGu8z59 zQ>r4g4MYdpm)y7imz~=-b?iYFJDwf_v^uNzj z{5&vYG}0IoUQrSCYevOgADsCUsqx-RG!)fOTbl_A`l8(QS3h1Aj|3$e@612<8?C7*Nt2lwDM@Xy;`JjC z4psN1Ro;*Mk1<@PbkWXhGq`?6>Wxl%xZ9IPKb7Rl5$Sc;r4@v6)KNXjwkn%R-JV~x zC9@HkPm+?hc(IX)Fh2e{Ki>xi*!5H@gJ7Ze^Z$r3@b21cxm~xhp!u|ZmA44-60Q}# z1}*hKd(!I5t1Td}Wnb0`l9H01r=^82Z(I2Bqj!hr;wI=PbuBH@wAMpS=hW5rhKeub z)V+Hb*2G)7V#h@jsBmkwL7f<1%w=_s* z4OIX^vaWRqJr;9R+#bB;#BoT0TZ9nVYfo}l<*~@osamPE#er}Z@wVEWHiN?f2_h4Ez~jsj$)?Zgx=BWS zBBL`+k_(+hEQR<=b0Z_8cM}AofA;Cecy^P@p2(P(;@+cS918mS`ez*+eiX$GG{%T0 zsc{KRT%8{bSA93o?YX`xDy_;8EYGsex<11?SFkn^DqZsJ>iSHmr{0IQYRjgJC7FM1 z26c{pitgPnQd0hDXlR&S(s%C4dF~n*6m&7`{NNnHTIM{)n>^R-38Fs70FGe*PHk4R zJKk`mpN^nk??szRZYKIRPuc$Xrp~c{e_x~c)Z;mw z-|t8>T%`~d6&(>I73nB>lAgYe0JXUS!{x7S(|DP(h5Abkg6H-6Nw4(1xa2YI&Dx7- zyYNGh*sh|vM)7dBeX0kfq*ydHHN%BW#oOHf^AHkFKfU{O4}jv9WfGf>25N%yW@;F1 zu?KA8;@3ad#)&ynlrC2D+Q1Wl^uZgq=k|DrORX<8fpwi^8JTgJp03<6(5h|dTWwqp z1ssgpyijD|w*)Q;_^edoE%qTu?zgeAlX`kgLROvr9ae?g;4dtMN$o}X5u^k0qYV+e~TU`SFMJ%qB_Jmu1(aWDp=4kIOZs7CqU>-_!M zX*L=BOPb)QkXPS~{6B9y2*030fAha31;24KY5)Jx(fXUPva-~Q%#$0rB!HCeQigf; zY+}}cBDZ1|h(^NcVoJDjCb{KAy3}%_r==w&#LD~K)ZEr$G28JngG}MhBr5LfoZd9*@J|f)O&h)^deU;TvVG-$^T90E&CLz!@#yO}Zz=|6jwhYn%fqvsQOL3kvg%38XoWsI zHFY}Qf2lPbUsS|oT|7?Ek#KoLaXRp>KNH@||z`seb@w&OL6rR&SmaODU$($&?~ZknEa^M{Wg zy>=Z?Ii9XHu(mwqrOhhRl*c>DJ4%~p$;*Qpw5t?a_Wbg)&Pr>4pPh3V6RkAOR& z8uNGGSkNb~goa|Tm>2`H1D7XaH%M;aHoE`E&!4voHP{ob1Reg1G$u!3Z-s=jcDj0e33s2FCg=k*>HmDZdlmHxF$cM@Fbn>Bb1nfm_Gd>!)^qJQTCU+4CT-yY=;g}G&eVsuvu@XWo8cU?9}_z)|OaO!gA%x6~aBM z)LeTtG~?2{uuQ#sx8RsavB3^hsL)#bdx!S12Ojwo&t}!I@rf!s-F%9*+$4MNzI~fu zg{yJV*yQVd`~KalW8yYfU>-_#{%nYuZ}#~kZ{NR{#jcW)k{V^5$1Ott-o1O5q<36= z<71Tr?@h8hlZEjij*gBXfS1a|x8Zw(<-L!y@r~sjXCukcY48jR@HhE;|Bv6jQ$%&I z?6Wa~+6wPxV1iVC_>f*eSeRH77y?|}+}keY$kJF*_-+(;o|IKp4PCK5#YS~^)2S0w z@P*=AE$%&h$VFBJb^sHiva%9Zq2m7B@+dAOQ&v`%nYsB13ybe}25$TLffB)2pYHQx zt?08kp4ePwk%L5tEa#<8clo;_DH$2^+S+t>c6QGumY=I}-HnOiCM$2#cV_n9ldziy zmqQfv`-=N5EG+m$MEs5TxH6>#qZ>{uD$1NVQT`fjio$D2N-8SyR#rT~mJi+CA@AS6 zKX^%AULMyAw2)ft-PAtegl-CI12F07vuFLc8Lf`1t2bABZj_a+-~6X^>!`zuHZ)|F ziU0882CJhOGa4C|LX1q?$@=^Id5j}uUo*j2-j1Xv5)_G6P*{ky@PGcC>xE7ZMVfYI z?2lSDWC%9k=~E8Uq84myd(Krl?4FvwelW5Iiuz<`8~k5r=5j1a7zbf4$H#Ag*@n-B zGyd|6<+sVn+m(Gcd!}lK8=@;$@B8~#KnoLvDxC{U9Yx04}jfzo#)BC4fp zsG9?;{!J{JVuMhu1GyKU>4&iymnUsw7lopEjeTYBouHAs9}&?vSQm~Mr`o&${^il5 zN84Xr*$U3gJNlUu;>GOh)sw&&;DUuk>dI6=&(tXdy~d&45Y}1dEzkJ03yUtKYf1e0 zaMH}o>^S~S{?w_9eDp6ZS`QU1bYFk|{CQbTFyjH=!U3T3#T=dH)>hwFulPG{Dz{y9 zAw~W9myc=D_{!XR{Fv!eYioRFrgcs54N@{P;)6^Y80aZ)2kGr^p5-LpXyCc(h>MOd zE@qZbr2a!|fS>S8aHW+Kxjj~ng!_1L#>H|vMIzF5Z23o0Y7 z9UTS5#KanxMX9Le5|ri+a1)!~e1wotkEL!fL_|b@5Fr5`Ih1x;ozm51#8TR}YHItY zC?*VzP4`ubc&v#0`t|E>TwG{Xl`M&A$4($~BI3-8jg6CYILtsj3MI^s#f_ZRV{tD7 z14FM~k-@D!0u_%!%}He>0z?5IASLp!+-<989;{>=pi1uty}Y7QPge1>xuUZbX| z=?in29_^`@=Z{=W{aFE^%o}>3`|@fVk4v!un8&yIUst;P@*uEJg|f(*njXM)0Yb3& z6kE620)W|tgq*tVzgP+pE?Q00F;hN1zMJUUJa4sdkzf%J5=uacM6U;GM4Wcz5j`a- zsHI3urQB_^N7x-1^ zG*N-*yqMcjseh>X)kn~l^70es(?9R&5t1(9_pq@c76TbkFPAaff9_BO>N17%9(yrt zBH>K~ocDnqpa7xmhF6+dTNAnZbE3mB4hg9kb&vtq z;o-6R+_0Tj2*nn6LKI>L2O8u?N=gbB50AW_o?c$PI4>BI3wp$Ay1GGvS3k2!Ng0&z z(on=>-O(WdcW@cJcWT%&Snb?7@0uEUa<7{e6%_{$J6r<&ij4Go_KcHB(v1ckimku& zaAlTXU;l%iFVX2jRk&X(&b0li&EC8*j9t)Jf1v z8T{>fgKUC#%TR5m50*!M5-tPY?<_$DH>dd z4#}Y7i6V~V4+{%>Y1Ji0vwQa$ooz+;W!0<7y~)sS*nvP!Ss!-^x=j!v0fAoN=iB;v z?=O}HvtnN5Z20LQ))khy^G(OZ9L1$=q?>?nuhRt^lQa&+YaH4e*#9D(u14Elb-byN z3blfuE6_5x5uxbYnh7wRPuCh89=?5JNSInZ@2`W9;2IPXQUgP4D~vq^&dH>+C-9R- z4%GxZgSI1v7WxXtGQ7);%9f`}L-BFQcI6B4Y0YMLkpRecf`f}VjnkvJKoP-^tGg_N zG75;xGHr_8`jNG;u#gdYf`o5i*cjv$U~nA$ZxAV)p$KiBx}1~oREG{9RtGo1UVu%= zo;tM;y|s=v*K}W%ltPSv1SW7bim8M>b@j_i(@GE1wr~18Tw|3BmQM%5vNhv6JC@IM z$`m2!|9jW;`Jil&q-aFgTYZv|mA#kv^yy}@9V|W|G-YKZxJ<<)87>+x7{sZXX-0hX zYI=G{77R4gT93Uk1VLa4B}1XbA8;Aob(g(36hIt+d48ynAjc^8bj3RzIFTekIs4lw zGcz;azI_96>j~3CL$DufS_v{wPyi!7a%AQSDm86wKR895P94{{xVS{7uA+35TM8w@ zlHWd%Jm4S(k%9P16&*Qp>`{p3_G&%VaD*D^Hx`4M0=KlWQ)?L?E7ciefy=&JdxUspk z05<%bb}P0Ki&=y*^-o$WMQH7@t4iKTCCFwB1_V`a46obVJAT^=MCp8~hvc7DZ4kKo z{rmTijLuPS-jKkh!l`EVAlrM+dP)kTwS|q4wf`@7=q13vFW25zyx<)Ddt3+h0G- zFJHN`S4fB!q2R^#BsrN(C>ls;Sq9s;DQ;a>mX7>)?a<-Bb(|!#bWQBgp+lgU+k3}{ zxex`YLZ^^{8TrEuYhkBkX|U>yFm-R?W^pfX<42&W9mHaaHs(Nn)P}M~t~bP`2*S3Z zXJW$S(5+^($3I8B5h{-auM&E{C0Ui%wd|@;bbQ-b-;9e1^T@m#{s@e_(cSg}Uk2&~ z!Y*Xl&Sx%{jzH7VVSr|bdYwT7un$dM@u|2NbRCXgzb=kT1+;zq_;Jv=9jW>{C+Dvh z0R$g@tcs34x|493s^A>j0EF}Ocut3LEWGV{ZNBU0WY_iX4T1pNJHO+eI|@R(Z*gYe z+tk!4E33(;QUOkd%=7c}FtYpu0tlR{IDZhJphxsRO9py#08=lTHLqGN_xtp$kx_&@x7_kCbZB%2Z%Wr z8j2HP96(nhejyC=R)2PkpewaF;{KQ`5URwEahtEq(UEs%?CfIFzm=Pr0)jpfoEJs6 zJT;0z)Aj5M|}}F9wW_jrpKl%FE05f3ZQW-WDn`OHM=`#%B=kZ_}=| zWg3QpPPqCNk`ONS${ZpYszRA_7bU58XZQuG&G#cC0m*%^f<{Qq{}<&uQDCq&wO~`G zdMTISO+Y}et$CoTCcJz(&91E=D?6eTuZAuJ32rxm%eXaFlNh2}g?=Dh6}MuznrbN; z?fLcxpjM#^x1qJ#nx0$K$PRq?&)GH?nMDo*st@qT z@3&X$qmq0Q=?LEf3g}MT#N?#Bu`xTgkN5OxP-2c>lmaWU2!@`>*xiRXAaP)(1nXd@nzLF8+fw6ib(irY7?t{-4^CV2a|VW|~$X z+CcJvFUS+@3a*79AxzR9Oqhjwu&Lj6pxFAF5F^6UrW$Sfmm|+Gf1#rjcsR3YCtNSs zOW66-3JMoq89D0#a=~IgeEAZ9z%%#c`D!Wjdr(UQ?H=yY`N#@Fgouc6WtPM)<~-3j zL?i~dR$t#maFQpPnV~?L<}H7WoCmV*?h=6NUI(!Q*D{=Vl3N16T{t*6^s2u5bA7xM z64H%f8H;2Id|Nkf#9!P3pnmv31+6?J^$OMje1kq4FmM*yAi3`2 z+e8X29NRMVi6sNI_+*j8L{U>+4TKRs)!WMkvaELgyg$(P%93MGS648AjTl3zd9xdX5191u zsvoLA-IdF@>u+}DkE~KM?kaFRpJTBbl!Y+&Mk7Dj!bL^t#5dHUBvh#Fr{;DJ zak42OENo{LI{R<$?ZaCzy|;w~a7geWI27lE%z`c>p0EELzr{u_Vn0j?;xyFo9Vi72 z3{gsGPw+FJ!cOxo-X~6n37D$(&os<nzx^UAoX^j7b3 zs!2QTr-)Hh)RXC2fR;@_VsK)+LQ-{__?A&9lRI!^fOkfgmX-$VlcuQSn1Dr5LIqb$ zI=elbSB^Gl%MOWY5~-ExlY}j3k_`g-ZQkw0g=|u7!yAH7gO&QjcYwoBn$3XMrYjy8 z7DPegqo;IV*p7It`0f8Zc)v}!lO(e(2wVtN^aRyrsO7~~4^$NROhy=GfC#hCQ`(o`EfUg@iA4ZBS{$C|dDj0*&MhLx&FPw(n)z_Z{CIPqiW~K_!Q@-q& z0Gp^qC}Ee;3ZR0T#WY8JZZ4g0kNYuv+Q?%=C_5gWNv~^%-gM$VFr>DLa1sGIn@`;Q zVj1EuZG;)ter)mdk~^$6_y^%S3TRls9)bA6DtiA;v%j~s*m1_*-X5*=+pvP6J7QG) zUc5L$_#=>Vg!TU*1w7or+4<7^_tut-c8x<3*v1ne;RLVN(Rt^*$p;*U=%L~ozK@OF z3k&mFTy()=C*rz6kO0Bv=H|rMG$=gobwh4P@Qvl4dwF?zJ5?`UIGdtDO=pn_qbO3} zX%7J8i5l03wl=aD6|$tW|D2$rqVOd|7F;dDq=N;y-MLOyHWKC|qV4rlSSz1V>gLDV z_EC|Sjm!Z&(X#a^6kyjGhOGjBG|OZ4*PdFyZ&g)QnN@Bg2;SAUjAH-YAM+qU_F@1w zvH1yXZuls^Am9LU3~)hS0%W(M{|eZts;NoH$k&|hA%7Znj9_b$JgmnQ2H*fFF#8 z?F;7~3S&7jOArqy2-E`}1eT}?Uq(O;3hv*ein3|`HTPr?fTl(y8N|k+?dD$ zIAf>a)}tQ5gN6JAI|4BUH;1eSy+I7KbM{`du&7vDT}I`+4WLJWq0IqH1+IxDraOeY z9Cm&B9-a9|`Ehzsx(j$Lpc z4|TI#)$TvXOkN+sE_d41a|1F607BtJKLCd$FiSw#7~pP+d3p5O`i`1;_4-+;bLi6$ zM1kb)^$&_+0ta7f9*Tg3#oOUD5$unP=6Om=c@S@j|KW_hjl$h71FqIZ7&dJNIY8$M zRu{A`KTqvNom z-dJ@7Ud=3aQr}?b=_!r)2l;z3fNa1WH23tBwkIEt#AegFWBP?q`8`tvTf`fMu6^~v zVTH_Z1`Vn(3SKAu* z-6au0IeG6f8$yJYEgC zlKA8a3E=^Ps8#CsZ^3vkVRik^c9{`agxygm*DN_ot>CVPD(1b$T5a4!0hl>OoqjS)56@6QBi61irb{mu=zw81pfzYQBhG5 zI{Y?H)z@L~1Dyz~EF>g^Pg7Agl0W0mFp$n|VC*!8WS_ixwG&bs4c*z)Otj5#D2Pyz zDH{Fpek@{{+mifgiMBO{$RWT^Ar6oXxH+K3ht}3DgW-4KRpMEQ#*?+qXoY z5p_f3P^(v^HVG1>7C1@R8w2!-%|z9M{SMh|1pYA>Yna&F`#mkQ1{?`}I>IGHOJivb z*MbB?jfV|MFzT%y+a1gSenhiVnX~0-=Dh$y-kdv!d<=!UzHDM*(8(U~Ev)uWch78( znA;DoN72#ftbxGrk4iz9fCmv>FO0#ldafMB>61Or6wUW5Dkzi}FLVdtC(5p{~_}6@H<{wyC zZtm=)jI0;Dy5lP(t%jy%d`U^{23~y!bTVAN#rq9P^TV=3+0OoQBy&7CFp#h|0R~MY z-q0CHPCyRP1{YwUYYo-NY^!I?YoN^_-M9gGD|gKjGl({G4Z8p9nEq&7}lY_D9|4}J`rmjxPy_ZNfGnJ^Bt2>P-1 zCt>j-vQU-(05H)T#5Az}N5&H>r^23!)`B+u?Af2N_1~5OZq!BuwG5qllWm(`>u`g_ zt~^+bpna~kh$b@>ejhN5;BDO8MBpNG@!1>-a7B^nM8xLnAzblaf9R{`9_9a?FQ>P>{N_Ntx-_{vBOfJD}BN!LO*i6TZN_qk}TLYNPx z1sREAgh;LFi)8rh8~WvW$^|f$(8KtkF<_`c1%b zEpU18q&%El0&G_3Pi~1s?-7Csww0=DZnZ4n1LgIc+mD^p+*_<($rCX3`aM^K>3XzO z-0q8E9JZSDzM5#&0H$y!1j`16!j)!!q4X|?*x8C^h(Z`t5o}c4K@flw_5^q84H;Y8 zqma2oQfIb_4|%B5AdK!1J$E{~xCK_}`-(|LQ9APSHH7{20cYk22l?kuV=xl`prG*5 z(0MmWC_{AT{C@p%!>ssXQD!a;`gOLL&BW9R;k^SSaXjP{;)^&c`Q=I^+W*9q58AmG ziGDMb8zD77m2n!+ycU#Va?%RZ2ibDP`t z>)G3^cx+8_SIGLYs0I@>E|B8KlUo`VX&rF4DD|+0{7m<4^hhFS(84qA%j0pUjB1oRVZ1}7N_5-Ai-7+lXYd#+~WlftAi;v?L5tlS^h zZqJ@QXm3?8J9lPTdM=EPj}s&u3Tg9+hqij?s)H1LfUH0T3p(GYfyxX=T~G*--nq>X={bY z8G9by^?xS3CN8}u{d4k1TKcAjxy6O=7KV2>`^$|71#gJ%QrVv&5^zpIOksb-(=dg& zrz)C`strFzh3Ci`iXI-bAN~|Invvq5sqJ{>Rc6FZI!bz~&|B^O-tsBdzH*KO2xnCh%!G~PKa^;F=@;da);GM#6xD;?Vz z;Nzny(}@|h<&E9Ct49y|MXNV4KR*hG*%0ng%A}F?)o2|N0j7Tc(sHMN?Z9RJJ+Houb2IL?%V$c_2t0p8 zYx?S!?rzQ)l|=Ke+@7J3aO0DcJ1Kktt&$ZKTay8Bp|zEeO%3DYM`m1@FjdnwmQ+|6 zjgh}sUo6+In`ND!tta!P@>?EGcu%$}YJWgUe1Gq58S=e8RQ>dJ=%k=0$Q4-e=@Sk3 z8Wv#Xy*^GzVo%YVDLA6NYfCGzsBLTr1KiJm7jo)mR#rGuxRZSI>ExEBY72D6o}N8e zQ(KFh?CV!m|F-AvEI@ToUe~1fuV0uVl)yl~^Qc8gNd3^eCayPMEd65Xf~ukGMIG)` zs^db@3geG@&n?~%R>y(YW7c8ci;QWMXjdHGnLCkza~o}@d#mo7=u$l`KJ`9XO!| zP|hwX!BIlV>BpD(>lz!k!`zjk6{Pb@O?CbhaKMMECvtPq?**1&x+D}GoE+;GNc?gT z3r^tLQT>tK)-&IxZ(~PC2OK9X942e3LEYQNvUJkX7C38Q(6}#DLI!*fhxqVqbOqyH zU}yawlax@4j){vaK{{jH##4f6`!P{b1(X~*9=&$w7ix{MlJ!uRdl(ohta5u^zZMLy z<2!ov1U?CReO70`57jAIgKNH2#Kq;QVtz>`lCA0%ja;9p^zt461u+_RgqJs5nG+BP zD%#T4b_$$2HI=sD)1^u?fmyUY9y^FNEG~*@XXurWIwYhX$~u3?Qb-BcfP*MBSP347 zd=gmwv97~=u$Q}b?LumRl8VKIoIi5AXDT@%!3#VW2WqlpA`kme?b!B@%byFPlIc7u zr%tE~I2KjLM~$=SO|ti(*`2`U%QJO8_4)H&9IF$IbDt#~2V@>{1RMwRJH!D)$hnZ# z(jF`vn%eysQUwh`JNGnCWTkNy`im+cIhfXbT(p;1h0_}ih$tdL$vL9Iq;RO8Z)QDT zkH^4uXm{-O$^4bGVxXF}1EN~xlfvlWG=Kb9F*wL^>-bG&PVf4m1Z456SFdCuvDrJA z|91oa8!=b}G^Z=LGxZ){`{m1pZ~XWkwhftozO0`dxk5`v_YbKzSD*|`KAg#X<)hH4 zEpSHsjeZU;h{a&GZ<*s){oD>JpqDk@+yUX^`sS<_Nejjvyio|&=L&`c^QK#6#?QR{G(2V!Lf zPbIi?`LYjA(Ls0}We7HVRP*^WEiSBT0IwdxQy`8w1;HxwZy04?6E0`^o)xHf#0DA0|}1hR2T!( z49kVF1q=`eb_B|@6B&gZ;*XMT5kOyt2tQ;Uf4Cm`jCWm{-@iMNp~SKCeN$8TX$}Ij zen|2Ww2Ab)nAUpgrTL7 zZoJZNnNGjKR=wXSNN(FEm#B_3qYWB*Fmf;uq0i0|nq63U-6%OTuM~@kSPQ5&K7WK3 zP&ySfmG;b>$Z?!qqth#N3Z9>LgdG>J=HJk82CfbM@aD}McfRjVg>b7c-nda**4p#+ z#}5HR_n9p?&dag$AH3WuHyR1t7$@!7F_MyZ46*ZjJE6KF>*atJn6SdC;N!Bhvt<+2 z@eWMmKPYP6@3YwbzkqRsaae4iDi%{Rkw5CdfVx$8Ssys;!NG#9-$quE4M@c+gaB0#5@E* z3kZf4TVT%an7{z#BlwZnv_?2Nm^9gvszGjB8uo7`!XA8?a6-WVcf8{4OqbT`*6WI` z1-2s>)|tijKy#9|{9D<_I@;RzbnLj~{pbKL3=j=gYIe ziDw`*NiE+Q9W@82q4X^ATqc2TuN{E74xu~aR*cyLCnu+uI_b5uk4PW^7xADJ&_VS5 z#u+2SRFZKlxo>u;9^Dk;bezJ-H%Y2s`KZT_FPoYYv+yh~Au7ojMUSnnmLtGR+W&98 z@-I|Tr-9S_Fec^-*5&8VpV1YG0DQy%P!Mg4p4pkRDKz2X;V)jixT~0iff_iigvpV> zwJ>|O%9%Ji6{Qr(15X^|=@>2^48^&DqsNX_!eYa#S8ys{!l@@4u?`LdhaJZNs*N$9 zmYtI$Cl*r!&I;pEgbDbMF)D--%F)2Q+m3CM6bB>gXYjlPK4h!C{oI+ougi^aAkr6O z1F-)?uDyJynB*^?hd0FDk{^Rp9tq7{D#>#Xa_DyNrVgqOSQ&g}eoju#5Y4i}yu7y<)6+IFHC5o)`8-we!i7CuU0onRlh=3kiPR6-nLTpq zFw#+{p^@7gSKn=sy@7lF)C1c)}NH2g2>|Bf=z`-}pI`8pj zwwv4=&O9m!@>SGn!&G-u+%xl~P}gDuCue7M8eiB=uo~5Auv=TVZiVIivAer5EwjY! z$SFq4Yu9chSNm@F^X}@>2Rem3f7P)J%gO~9@i02No_DPNGCweqA0bv%wb>eUHa^iX z1nC^yU~RD?+#~5>2QiElUqZ})#S`ZQz!)MD^EhU3997)X+B*BytBT=a z&So=#o?vp}f*d@m1Iiom4HikEH`9RUK0r2DT3MY{SHHLJVsC$ph;bgCox$?p`89nu zHW;8Ho_1o_SK)h!kv}!{SB#j9eLhoQ0@E+fdUZxt))9E-4boE`U%$@Q{_Jl5vh`$- z`&`2%=~v|wPUm!W>yfL#WEY9pO-;IbdQX9m4<0<&m!U>J!}fn_C@LaYB&Lme#^zvE zpV!l?nsA!h>bw9Z4&yH0ZT=7p5#m%YhL{UAauzeN=Xg>H=H2er4`D>d?9pv(T8n_d znSId>{L<2@7cP9s`e$cp3UCDnduVBC$^9yqJwkwtT!#Y0{kDXjIvCwBi-RthVk?I*vSQ$dj{+|oXG1sH_dgW?4@8632DZGAlj_67*y)3Yfn zmfZt2W&(CI{c?zyKML_I9)mHpy{o(11Q!PDl*gdRWxP^9uQ{Ug!-ulYP9~31Peaq$ zSY^)2{(g2`IcA*cp1fPt($YGA;Q}5t#VjU#UQ-iO3uyNs6p7iRXXcPL(|F1UY(C%&S{E2bT=f)MM4EN_gXJ3Mm$2QYG7txsXeFyU^4$6eGZ987MVRC>+s$Z`6mc61a}cL@p$*Oso0mGTP-$qO*-k5EKQQcZKWocinl zgN9~HfG z9eZ9C;!rQ1d)Ejp2Z&~!ev^|kGk^yXyp<<|Sq~mV*eEDy@FJrd>rAqj^2;HM@faMC zD%-*?KPf9{Hqid1D<%u}M!Y^$WcU7~fk$xQh(PXFg@yI7{ZQml^nMpgCJgLBG$tl` zC&zgdd>E3_7#sIqjQ=N?GyJL3 zoCglL;+Y=LU%V(9X-jAsB_t%&EbLy;IjHERua~muTUuI(4Q+152wz>(=@P6ptSzwq z{+Yb@1-oS=Z2sf#OuC>aMf0C^i{O_NNnBifMku=aGC!2E4000vxr!St=1XiaiB>vF zR~b=55oUMmE#U6vllKXApC$8A1^FP z28V{u;Xws^*NguUN~Fe@_I3>E-M`Eq0I839Q9L>)EF?sn4S{6|NW;8KNK zerfg!3=ZMarG|U&^Raz>5SOyaEk~uLn*hZCFlEk7M2{7!uV`hqeo1(DNqu{$#vxyf z(O>588dHMVwC})wl=1vk3yXf~wc7Q!sI#bt(DNu_Xg1*hgG}VYhp5{$aRW6fn)8YycgB4JP$u_b^>rizmd*EfGgOCzr3d_7pu+ zQo@TDcVHXcs6`B-;y{`63ku2s)=()2^;1@z;1&hJ*aOirM%4nn!V3`!VEHYW zw)+kLXc_HcWZXv^#4O@X$HufB^Q$=8{2;`3Z`CG+|G^SWH4F6vOG>xOtgterv7BZC|BttY+TPF=!Pg9>BzHGa+%W0fqSeyy#V zFw~ZsLp|hWay#a7 zKLBk2K>@N}4q|7p&tvn(LeV(A3;PRn7}$zD($K87%5C}dsS4i!c15f-$aHU-#KULi zWVf3hJG{0A)D7ya)>=>pW#)mq-2auFL#@OOTkQknzN)ZDZE?$Fq`?{ctyM3t;pD?S`6q zz*ig{BQW}n3J#tnp85*6c>4d|V)hryC0|XnzR*SOm@vU&>hYXHA;(n($btp7PyAe2 z8Pqrg34_cXHk}`~6Qz+u>)~Zlk@BI4{;9Resmbpm-r`xs#SIv?0mR6%Q)40uR0bpc z#B^5E$N-+`k%Xt1#x+G6QohN{JB`^sOdW#4w~Ss!qC?^x6A^ivZ$C2mJOgGUPh{al zr?I9cU~p;Ao9iB@BY)VAztGZ*z>{>grM13;1v<053X;7M{Uze;Au-NPJoPT*%Bl>x zt?=ppvxisB%pkpdmX=&WRAIL~mT(O_e?*>*3cXJnCxQ@l8_EvqXGgBwHq=qo?wv!U2qUq|Bs^IHLZHcZelqP zkBscI0TILP``sSJ^^knu>uby4`Gm*hc=J#o&hgh6XYol&p25=r*6d66$ci(ee{)1vR~JSL&asf+ zEp2oVyK!nmX3OYcXTCj7e1YSOI)1024chN15utb#*bZh01O8b-!LMhvE-+)G9zE*E zxdX&4E_+tL08AcxB5-B^eT~PG*ME|=9YPbR`>!JMKMCU$5+CsJB0c?{GAFvE&){@t zn>O{^h*0SF|36Hf2{_m3*TyTYGi}ponG)^$HYzHjeW#TcMM(-}Ng+g&DMc|YGLjU< zAV~^EC?rWLNwSk9*)mzOy`Sf&=KsFe`@gQ4ru6%Lzt3~deeQFg`$+9RbjYKvQMGNX zinlB82yhh`D5@sdXS-NA&dkqKqlXPQ>DYhZz}gg@*0cEU3?yAm8Zffo$@fbq0$w_i zo0A?t?usb8@m@6a98D2F1CWlgEV1~C!C-=jR6f!vk_ZjU*PNO#Xa>3I$uH-JRaoFwO5cF% zdZc;T87pNMKLc1QMj@(1h%@QNf&!&LP7g((U==#e2_x14;)jI=BO7Yd%E&n0(IyllkS zcK%FA38qlm-U2$)=B~)vTX(@ZiJC7)MJ@eF$$q#~R70F3u5^ZB7vrtI+9A6SANHCz zY#xzHIKgcTB8JEw{&y{AVE9`M8{o_|QUFE*+o#$3C(&9j!ga5huQ*!Pl~~TPc{O@! z<$XF1*o7UY(yu#R0C&X6cNnN`H9v1n-=c0m2$>Tmg0g+;Hj#_Rutcbdc{JUEt5^R3 z6Z6awX$;5U)uLn2VbfKsSBHg$&W8eJ7OuhqhJv#L@{%fba`JUwalN6cttHmH?A2%> zf9=RYbr%8>i_Hkg@JyVg=I%n04zxAA`$6@l!C+J0@{Bz*D$9Mqrx29Hl+8LiOVej? zwE_4@^KDHZb52|UJONp9d+}A;y&H}B(g|)D(=bUa zvaWEek##M-`MOapFtF&Wb=Ak;V}4s@uLaove+E0d|K8S^U+?|%&qtRSKP#)PF}5D6 z2svmzF~K7g@PUD(zu)BKcJJKj0QD-&3v*uD8V;9T@?QX-40IMziMw~Wuu>69kq-yR zARZuNa*cf2EiG?ft4&0N+++Q)UtE(;E*i0PgGZ#7sHJHA{MxrwEv=o@ z^N=SHj@%+z4a1qEkXfQ<&!6*6ApV+Mf&!hAigy?r)0bGee0dMk;)4$f z{9Jj!8#-nG^knoWv-wPdMuB&*+?v1k)r`~J2yxCeH*N%x%uk=eR3w=~H0-uUn$Evp zmN@y?g5eA-3Q0Aur0KFh(Sa6U^Rp)4ogKE5(zmt@uT=ftgX7dJ8%3#R(`r#;vR=9i z-EmNPd3kxi>O7&|1YYUMJ9aHMEv`GHp{HY!qeb^THz2=^&bR@=y0ry{zuPe9SpYVd=%R ztA>I`a*dP94y=PFncyZ0ZbVGt*ud&q>$oU4z?U_sww1QgL^uiPDcKK5KCx&71-?jQ z;30fcpB_GRxM+_^8?;B5`0Q=_>kl+v!z0XR|ZjS z+O};pUsm0Jt;S4M^Gu}H3^_}WRt?-?l68?O=#u>}b8}OLs5nt~2bD5Pq0pEZyY#ox z?kR3MPZZ|Nc`BF`VD#an%nW95;Dwxg;M^RrlQg`0Hd&9(h+ugjr>+K00D*$!#My?{ zk?BpILk;vE4Zvo*D!)0BoJl%r8#ZYI3rj!)V9zE(rmRYfA)P+3y)@is9OC2s74K#eE3Ar6j;)N0*IFx$ zjr?X%SR*H66Xdz&5G+~gNsAxyvivJ8Zvm{vNn^srYeY?3iZ4z5!HwnAGO*2Xca?DF zhzTgJ_-XV?#7f%`10TEY?XMVGO{t)PxEk|v zPlDlHuE4>RDb-bUVi@j*uH4D%g!|(^7T0{Xsr6^3FeWBOsnt3O!d6`5-j22AfAyhE zTC33?^hdie=8DdVxnOpOhw~=5-QV@Z6BIdN!khzH-hGSyqi1Ub*}|MzHBd=B-km#( zW4a(C(?TqWtD4}n%(B<^E{Z~lQMyL@7~`^nD2EP4uXA?`O?@I`%{!xz|o=<%gm1}ejIsk* z4lx3<94CW6ybcqy9ph`fj^>fPvi9ah^i^w~#;=8Ctr~M~e)=6P7wu(Z&M{L^c3;}@ zQ(4&#E;DfilNl51k;B@BLKH}R!rR-`PE`HJ?!@e%sSSu9)epI-lj*Ee^r5}f&!y@I zP~h-jVNa6)Xo1k0rogzW*ftd|0c~5@^K&}ZijvBx1dj!!TkAJSAJ+~k^;c~fPlt-T zRd`?y0P0EFs~i|T$~ZbFqJV{%T1h8k@M*|~|H>zk2@3c8JzqwbkUO&d-k)*g5&_`hsjGGLX zScJmG>}pE?qL`6C*u9*;6%Um>?Jop39Jsf+xm}D8gt}1yb0}F@u!Mwd9HBL!NA5_W z^AIw2`juQyP8}_Uu>+h#xt=g=6k4=pGy7yzd`a4dG)mYJF7Z8+;y!iy@4ug^`jn$J zs}7QmZgC0$4Q>ds3kCt3CW>|0w=EvYdLr2nr^$-s{LPy-T?q|6Bl7u2>V#*M=Fs++ zRP9^;ncDV81|<~_fx-fu&#+8PF`PZo8^Q~4b0d0+lNRrrCQ}W=>0vNTKn+Rhz6zoi zmQ_5Y(+8@4s*(CZjC8KXU-=7jQ1ax->T>m3GH)Yh8cCbUEF0KA9MUh325&P_!p0m(-S>UXj;5tZX|+3s7J)|Ae_ z=C9_el%{!)bz5PET81}_yc}60kcLA;F-JdJHgdFiQ64eepQ4uM!;liW1knn^0Pvp2 zrmQ~Ebm9ALF1i|lF2hmI?g>q0z7ONhup5Lqt`jXN*laKZFk|Y_qxDZ1u%O}9o(p2J zr*mOuP+mpl`Sa&4IZpPgaG9vpX-%;&q!#Z0=T|z=WZ&Msreq?dNPiM(+*1m_S`*bM zW?&Gdq@*Y{lh@E#0H{be%yq@%kvx8SXqEip zwW1YAt4nBnIP09Amop&6R`9O5+rs|5X~5c_%qCJt^U6>_dn|Atks$S>wyk*)h3=J; z$E=^sph1Isb_E15UN7_{%^#Plo}E@KOQNKooBsB#)yLUPNJeC#JA$}JP4d212UvBrc8=kM z;}JgtO1;uj&&tWFU#uTMP1BgEdC^)EWH9*U9%(Oi%j}z5DRN1(D+#!)A!{# zueADQ+(^nBK@Py`Nu?3C2^5rGz@w#Gug-dscQ!2kQJ5sTCvKlcONd&f+vVN#wEfe0 z?fdWLSPpjZ2{dfIH&IrdXx#QSwsj!g!4V#-)@|JA-lr+Pa2jWVdq!nUWnH(hv2FJ7 z1c%k%pMJL-p)kX7o_3BOkr%|;917#bIVOn`W|>So)=6{AENDhV&LX#t>c>Y^mhD5u zdt##PEc(Ub;4|rkv;y6qetvL0aA=H;MZ_tkf!SX z+$VWM#v!t!Kpb&q7^)p>OHTPnS=XImS=Xl54zEK6>qg@adJwiRul^$aa)G_uiE?wG z2e;=85tmnT{KqS~1p?gdefTjCABPRa+`7v48Xb7K_5J~ds`4E7?@*_#L$?Dm>!7%# z!{=iflN3*a zR&N@?$X%%4{RJagOcQ~7_vMQ`a!B`-g9XLpHWZimn=$J{UVKQt`opz{;)O2=aS=e6 zW#3CJdU!sigy^#aF)ykIsolTBv(b;C1cXgp36F0zEV-?VL_jRNokR+Mf_YLOF9X9F zg9C2d7=>c4wo&%!kqG2mLOMa%S84e--8S=z&p4`2-ae#`GQV<3$?_%;<^@b?15031 zS*H|7=s&aUPu>Hi9LG_7H*Bvq2Oc~{+z_28f-6k>mGE$j{Q9LD8o)XU$H)+LblL9; zii+S805`K@3*|lZcwR&avYn5QZvM`1Eq3G|vaiVE%WkfhQRS~f2$i)LZHcV)Tuan-zzEQI3y>bn?8r9{6nP#H0GhB@Q(-C&mcZs%{ zzVO$Roy!hvx!>;%;f#TH4fl#g<2Z;3v=Vx_Y@KP6#IBa?ES2D4qm)SAv^NV-m@t zL?SjvG7XzVNSUGLi+C5Y%VlcEg-MDzMgR~BR@wq+&hT*2 z=InrA4#x+<8&268Ic%qn-4!PFV56~GL!7r~xBV3Nl&PK0kM=;CcjmwA$}0m%5u-0` zGlp@E%2j6)=NC;&TOr$}>B%fLbQ1g@4G&5T*QAd0jxdAz3%&Sd>rdme5~d_XAj4&v zB*xX?V%MDRZ_!m>ch@drUD-|^E5`->B)0|AAzI&$&ON%Ie6fxO;czsxj;Bt{p{? z+3(~n_#Lcg2vMo^cGIakK8E}1SKg%v78;W;BBs(Cp_R}3Y8SkcABZMm-4F(xPk`Ls z_N}uy42qNQ(a7*)j)ArUe$xhY5J50UHd?mLv2RsIE=mBs5;%d@Tayd3m=Ka&b3xU0 z30&8Gc;)2p`a{|61Pitv9pzez@tHk)-VVG$Mnb&7v}hqsp8CW|DN$LHo5fVrGYH+c0;LPIGwD_n_n*ub7G`zqdXj7TeVzk{NdRv z8zGm4ZXU8hOnIS?k>j%Nr09a6<`A_txVAlk)F7r1?d2LiTtpkm3j%{opEhk+$ErRI zWT$fHnWzx*M*wrPXGdlZXgV@{){vEEXR*FP40Jd(Rka1ScgStZ%FAi}Fd7C9pk1#J zo2sp$0X@W?hT^fRjmxjDoZNl!TG}H_Lm*2l`FIR{8qv15V{!M1(nVHq0>ylAt~w1h zDm#f<7;1@D0$A^t+HU+cMhJx+sM9RI}oVY+nk8QYyi`b+*=gKITZW+oV_;jC zwVRTW8i68PNOs=7jWjXXNcm1-g3tpEJwp`{52kOg>J>q5?qO9Ws091Adi&MH?;o9E z$!yUKMuAGd>w2t~aZN$V=lk>{LX9~W@M71{pK*rV#dRXrBWN%gtN|%s05S zQr-iQ`uS(4#6DpIKRq4Sb$CMjk{`(V6bN?Di~;vg?M$q&sD<)`MdpyOn~|YqK9d;# zBBIgv zL=$|Uljreh4X(pAty}K^138y}eCK9WB$Lfe_H9+0w{0sCL9LGYa-bMY!%P`$}=V9Ixx*Q#;p+SO2M*g<= zmSQ=INx4}YwL&t@d1o|t1T2Cl`d!_By1gyemKG^244wZDASJG>5IR}DpCjYaoCGR? z5vFCvc=uxZKJ4fj1V#|^2{l$!zm04A^C{ZJHXlEKjxKE*EvZbd{)jV|4N8KbtqUUU*F=k+m^c@n&oEgXp4PNbz1w#<0UuLjtqg4(NlW0Y3K6dQ|=d6$es-x)n~l_m%d}CswXC|SwbvKcaGp$)0~>TIBTV?1yz4HvVXb`IlE`y#B}3zCJI%OOsDjT2+p@Q#QSJ3VR%s ziqb$pJsjh?T>~6q4ewq=N03%ZkwjchLpzSeN5=wC81)rAh|VnrC5Y{Kz)-*ZA=OQo z;0hUB_{@8k5J{k@M}OqaAswr!KU% zMeG=S+UMmSC)aB$i({H}RJ==ZiT6Vl&N7N*JybwU%F{^0gM(4I&6crlL0kT2# zDi9SqHDMhrHkBA2^I15I?$P+Po;^i>DIs(_b5(#`M9XGdq0Ok; z5nv_i7P5Wz?a`pOw&-;QBK<%y1{f5!IkRNAnuJus0>5HcZ)xw2;oH9Y1Bu(@Q4HZW zTe81n{_DN$xJW$P6%HzKmo-qL&$IB<+xo3=I|Lgl`R zK`|UHW(*!bb!sVJ1eoIY_HBjnx}Xg17BrMv5`xGL6Es2%E=O9TPC&oHY#nqqGglz~ zf)`g8GTBve`EuW)DQ7x-pAybrhsC`_lXtV}<9<{ulrJ{*#DPp0G$jk_&dmEkjCr-A75PD#b8Lcl#~?G2HviTzOE|wdrj|e z>G^Pb(N-38fX&s_HGeG|#ekJ>aPa9WtopRhb~IG*JOsBa239x% z3__7_xpm7%In^p#RTtdfCCutn+4RUe5UEH(Av|!@axJYPWI~JHh2MT?0R}O!(J(o! z9LlcvCuD4jtxX-|4KMVs*X4^JQL+Ihl_M>1;n}y-~ zRJ?aHSOnIGY35g8gj%zdLfud=n9Y(Qdkmbu5$|E-pmGOSWKi+_FP;E(9y&e?gOecig=d9L+iYqhtUepEFCF!mY zqs-RGIuE1GN1=FQ$O#=&j%Gna6qZn!03m7YA!;w&%K??@>E0|raEk7;l9y;@XHyGv^&rPDOFxDZG#22#Z167TO zw|A0pgn2<+N7#`bqJ72%MI2$$_wE*^14h#yV`zSsOx`Vzmk%ZlaL!%Vq9#$a z<=wIfeVYY<;=3c+6cuoAaF>{XL>smnG7l{b*g`VH@cY%ashEisWWtrpwDOFfu9+y#EwO7OF<> z3@s_~8U^KaUjNX7oZbIDu)!{JsxHZTBivTtG?m6#A^AbsbJP)7jKdCu{yknwsLtq6 z$@ESN>}rI`i|@-P?JVi_bwsKB#}k{35ln9hzOZM;{lZ8+`OVS#X7=kQxQUT{J|o{B zc{+O-dh;wtoQXqt9+o9`VTirACP9sFb8&{5ZP(lo{=DOMm>Q`^F;eThBXQm!!n<-nW=#@o{&?j`g6^|k}Q zF_(jCn{+S=o||wwapFQ|G|&cY+m?GDIf{25|MbnzK1nNS&GFJl0fW(xZk-Wa6uVM{ zfqyaRNuN0gs6N0w&q}!WOJ;wX!@F5l^(Si67GD>zHO%g-NxI=(%JH+w?=L({g}(Ha zYdL{UB|R(TqJ(X#F9avP*RPlOnGeV=w~mkT%*cG8J@)X99rH=@|Ns38-JvL5pdoPW zDJ7aG_UpyL7o0kxc(G0UQQ1*sDa^?pq10P#sWsH3lLKafHFnBe=!h+u3YLObCm??d2`<03*Xg+oM&e>DQuvi zsc9ka$JeM;%vlnK5otI(cVv13QEiW(S_kkXs8_wy1{#@%>{hy6FmrG(>~%k|!$QkK zJ@gPM<=)mxztKxEc%zNHS0QTg^j{b3b!$?HYhtmelcbZ$&hCx6mBMfUs^-GM)w|4E}>_rBvhS`Jn1x+)i4b+4@ z;%PFoPx!}B$169=l0^?|$4S4hJ%lT>#p<@pNRH4EaKqMVXx#nqH**4Wy!;rj#qwhE z<*RQ4SUiGycGINr9l_;@ZL{{qTs8ZruWo77R4Ji#hL~(!T@znw%{Nz&340SxRBtVb zZFWywT3g_0tq6xt-hL9yT} zW!c!V4&Jph1;9B^fk$YQAUgm%;Hqelxue|rVufYjJCV}*+M z)R+MnieYkx2K6^QESOi}E#YM-#>i>fd8Ybk2070!B)rhwqQ#K?VPf=4q!0WpRIvv= z;}{ww5I_d89QxP94`#^FsZrSGetL;-R*{Eu>KppVjG8HU?n|At?)tjrP>TY^VDZGG zm7&ftDE0R6xOa8HUWTi={+<>t6$Sh63D$?EDAWzC9XE!!2II-?q424Bv9QnbfX-%G zb)T~qGJ*~*0hKM@e3zr7m#w$N+nDiCx=7_ferKz;V*6%S#JMasq-^!QdbRMv(Wnm0 z)0t3KQX!qkkJh)r9OY_kTYcN*joOEfq5F52{AxGzpt|itgsl~(HPdZnqw4kSfgheZODlmP)J89}Bq zFP0-+U)NtspmJJ!co9Mz)$7&0rr1BTtg~Z$Xklcz>)-zA1~F`<-uLozf+mZH#tiCd z{Pq?g2mKLqJ>vE-VPSi&#fFGQp+~zJofLIZ*~gEO!*_norevv#uI&wtPoAbA!d?>f zGYa&v>X!=eq{z8tSMi_{(@qR8s%w(ugoK|I4w&ZhF#Lfxdnv!{{&}037IAgzgMa&B znZ*B}oiELSL=% z_&y{EG+_P)!?BBOjdJDpaG~VBY*Yj5lA*5j*!2)}^cP|h$*pMQCvm>XG-rdYyl-y_ z20K8x(M|x?@#L!2rhC#^LIS>af*Uq|Oc)6rGF=7KC$!D*!XuCX>`2BBw8chhVGv<5 z`{DM9yTY8sRar`@JtLX^)Gy z671=5F;%}YajM;X02q@cL>@5r5t9`kVANsysk_Cr%H?QB;|%^*;2W7R;W5zp)gj`g2CQX032-qRpP=ssF^-o#j)y=PsZAU^RE*`c7->r~1C+d?36ti9F$^?oYhngo-IM z`YvJ{CPnuZ4w#VS1H;0Zl_~?jm}jj8#yQHGRDH~Q=H^L&qv zEM*weR9J*$y--Axedo?1DpU%EsFF;31y8{!)Ahtr2GeaE(8BE7>?jXM`+k-c|0tg8 zEE(;H%6)Xfkp1w?Mb%?h7v}wv69@AOCJuT$$4i|PEQW!K5}k#Oa9GyX99&}f718^_ zTexS}_+F*c2cL#6{vBZ(Wjj8lIXTV)bcbx!8J4w|qgAgre%SEJ^V%UgikcRxXngYz zInkvO$*k_KRrfi!mR*;uLqIj5=7)q+((5 z#Hu7Q8;gk9@b0(c1(gRgtNbCWC`W`Ph?y4in&n@aYgg!Lfg2N1hBhp?EnvNv)@}Cf zrVyv3sMsxT{pz`iee9~GNVxzzE{cdrVmzmnaB#}I<@0WsRo%V~nzw(xY5y@l@bDYT zGbWz3%{^1~&)qjDioukar35@n4debt&PSnDN{-KiGzKKX_P?(2jnL(hjz`y za`|^Y1icl872;mQq>x^b(7)VHfoR8pNi(-pzCk0Nq?BAM0U^$PqS`Kjcrsc zH(q&t-Jc7t_NpJKJNCt%8Hfv*>l*cBM1tDisUM2m3-`>hUh3K*Hw5C2EyO#>2tgV5 z^({6r5DEl?<=#5QT|9k?2!bQ>5`Yd#mnQ>CCtlE0TX0nr%c$4KNdrarWm^6O#s1!% zvke&XLQ?mhaDYsS{4a=TvNMLdf-y(eKY7AVzxwL#%Z#m!R}8&TeqF6< zDaI8_nJISLrJ@yUbIjAsAS+2VN7`a1Etudo;pPQBHlee{pHo8! z!)hb5oPQSTD$7vLs*B9PWiUO-#-2R zC?KrJF{H8Y4X=C0l}?{J#A6iYGOL;Az+>CwF=YmlL=I#as&fvuW2l_8wZq0`L9N8{A3)ccCfBD=Ky4trp>ZtN4f`P3Rs! zG)w?GS?iC(dGQEFq6+hWcTW-P>=7=ZJ`mkH7s03s4_yjGdT!M3NU9TXvnPXbrK!1u z>$=!Wg+fQ@_agGFo#8YzgkW_+&Njkj;;)1mpLT+7SArL!a2368yB|0gsD z#f-M7DQ`TZY&Q5*+kq4yJU6gg6CnBY+?#Dc&fk%X6V~af06y1iYpc`mIIi|hmhtW` z)DX(DqOI06?l3haM5ltMbIH?$=k(2fZ^w}{+3vv=n6gN9B8gX{~*aR`(-FQy5@mHWJ*n~DGF|X`^bw<RcP-a_ei;#FGT4xNw!mBw^r@4!0GWq!lAtdgv!yghbXwr)*9s6(o_SPx+ zuF!ToQ%XbBAisO8qG|?8#~74od}&ms%@2Rq0T4mk$Nl0%pJf+s^e{8Bi%Q-i?-5<) zdE;=V-q~*Q4g~C)2bV`T2}?893$6>e*4{=s53;sS?el?s1cf23pF+e_Zp710)YEYG zLYDvj$(fn?x4s`G0(72jtr}nlxCY9gYe}nw%Y#1HZN(X;`x13w`f6=r>uqF|t^Q)? zt4ydo4Y8T zgf9&ftGdqyxZ4U$5hs?Y-Zm;IMJ;DtW8KmId-w$084&eK;{8*aia}p&N%C zz#>t@xtx&47e#KoYZsR6PwiVm+T2Pn+ZYeoZCl0lF4`FTtv^;O_^{~yT8!|NE)eWM zexq0Z4o*?F@_I9|Tn1fIAJyi+KsTot=w^gISo1sJ5h{SmU3QE-)7`$&-9DKiBR1RT zn=<7xm5Qv{*}i5fwjD!UD&Q~NW1BfB-Dpxsd2C4&D0L`4>AkIqFsaWM(wVq5h5Xt>3-^GSv)z+P_KV>)F=jX-SR6STq%Rb7oDrR`W zXX=3Rau#92yUss!sBzy=9TLYT*Ul1?=g?vTyGR0q2ao96ot=f_nTIDDr=id21*{8zkuHDp`hj*Jd)D$ShJBoWjSU~O zWLUvaarvnf4Kw1#mc4Zv?32r`$a}rzC1sQlmcTDvo@*mSZHx^k>(T6^Q;)uoaRu7* z;`1_7c|1v(0aFMIMC(BIULDh^9cXxqc0R~V(W{u|6~M`Fa~OIrfHAIQCgm~e*Vl=* zfpa3f$u`TaaK9qKkUtYU(9rL0=HK4lIx!T$QtPbKEbP1~d&Jr!-B9WBAugv*3G<&Z z=L(SyUzqy5NQv#agBWI_!OAmV8?Zs~6zx{gXh})AZg(THltUqkKJ?LXBq$+ZNW4Xk zlC^KHQ8UU@mN-By4cM@s(L7`jjPrr7RJ@n6AH25l)|Oz@p76FT zczExG-dP9XsO z=$-*?<$g1jt6tZpsirZ3@CZj9Dztt{U9;t`1k<_N>-4m@yc3 z5@!rQg5#tKZlC;iVV1t&gx2Ve61()z-5YH$Gf|IyBMs!Zi&^(jAJ7AZcOh5yE66Pb zCJO^)7=98YH-*JZQMu1Wkx!{qwWUrAQq5#iVE9izv;Y{d2!6Q_M{nc7IU6Uqfdo(^ z3om(wgq&U<9#DTC>JUH8C)ECot_0m)!O#*3k9GqUC}Kd-@qXDzge5KW5CBK$!l-+R z2;?w!v=RSMyiFU#2vUUYXO?Ke;6KaB*&6DBr|)>=Ax8RdLhwq#H&fW(z>FE?;d?be zvIZerZThL$RO$=}eWF~z2E$zW`I#v{X>8aaITHzf-(?#Xe`4S=tS^3jCYy9nVF?>% zZ*Ru_b2U56%TYp$CjpcUVzP4lz#NoGoH)cb{3a3hv978JpI%{%oCJ^OEGmoL&o33? zDlFu@E3O}b2>#Bmf!lMbjC$FF0>XI4WKY zyKpxT*7V&lLE?`SpnI}2TBvNb9vTz+V;n-i+pcsrBOqZMU)o;?mkInf8BGhvoZG=p z71A9PHiQ(h?%0Bd4;{KuSnWi&#NV5DtFH$GI{cT?@39+lt(EUhkqPLriJz0Q8tw-ul40KdS~XaPU}#CoJmN5&63VBYG*eSM zt-Ou#%0=z!u(!WZ%0k0fDaRC2S}#Qey;s5H@3M)N+o;^~@`QVdu%7E&=C)!qh(QQ= zYOI8rUrbD^OPbP*83}DIv2E_)ZvF~RDjViF`Opc-3Mj}pGiR0tCC;4)1F!Cnfx!?L zG)>f*x-T+xLv2gVZxVwyOdtjmez~lu4Tz=WsIGRbWS-y#yVUHJc5p1^K?5dw3AC6H z4E2!+Y!(8%A^l|L95}&(%)_NkT0t3KAf0?)?t$#vPHT~U@Ve$vET9!7r*LZD?WdIo3wyQB*HWtYGGaZwD){%w7Q3yKZ$Y@rg|1wU@v0t8%Ge<1(D6gVj4tL z;2cOT`HdF;2pPhoP27G*qj#t3iBQzv6 z3fmKsx!bVQksx6)Un5=^rzdyGpY(N+ji5*weENgSa|39ctV$ef=t*!qXkdZ*nJC#a zgH#Le>8Y*Q6vb2eoEuetQ${Ob!>f1iRv?GjHajM=4N_EhOmwo|{j#Q&vt&Lv^ihc` zt`U{KM#(0~HNqFi7D2k0tE98^IX9;B@C1c(?W#A6o+J{ggT<(_^z=Hz&Se;~?hNNW z5Om_>O?=wyx!Y=nZcDqAsvkDQB}!ZIUv-D|9nhpg<3c8}tMexn?~u3M*;Gtlk7|%3 zPFjIyDc3*qbEp^h1m(mIboM-W=539~%|0ARxIAqMx1`Q}+ zHBIPpzhpfhhSy!v#wWCpO2o29dHe|Z3p@07bP$5tOS3|aKUCoKg}dqFlKsJ(jl{FT z=#gJy3EKzJBfRh~bHRz=k>6A4I3W+`Pm2NxPDj#IJPLdjlm$cscsr-kz)5M1hK5*E z3iRH8@6FJG-8&2CEygKbo^Ko{4JP2TqWxfl49^F%3n|;$#dy&WD!1$%b2mDAQb%pG zG(!`U-Gpn@kX&U-XV4Xe5``c-0!LZv6MR`E6&$D?QyIFL}Ei@n!O9a*}y=oa8U6^rUKx?7(yUEZS#k`V>U6|*)ib$mf*)&pZCUh z(nGA*vaH?zXW#5q-(#T}Larn-4eFth|5XFGZ?BW}jO_#Q#gq8k!(+4J6P$m*i^7Y_ z?8qnUumGBrBhGZEy^B$FoD&i3kqN+Vv<=qZK7K4xi+>hP9)b1LMkrgX;Z`kMz#X+t%najjS_R>^`8@@ruOY#t!Q7X z$oxIRW~79sp&x9KBI)W1_{-mA-{5F(wb1J`Trh)71`FqLt8ijQ6?@m{mjyXPet>4W z&ddanL@F#+FWxJEcS|Z7V(i2OeTAfeF-y_|?z5EIgL-nip0c__x96oZ$)O1(WO_Q5v!#6)$DcDUYrk=T`DYn5Ou7&wb#X7cwqqjvonBa6Nd9<##{GgEvk!}V7Epm9AmPDVk9ivG;^UQh-;OTKg)iF<(^=~B~fBHaQ8E?>U<_u}zj{^;ma zE3V@Ov4*lbtu(6mUF?FK)q=``vLLDQPK2&o3on6y4PPLxUE|Ie(HXsLV zxT(Y(AC#+TUi$fD9z1YB42s9Jelr3a0JDPXnDk&6cJh2N536?RLEj?n?^Qzgnt5OjF$}t4f)MURN6XNwm-px#6EO9YWPO6z zWd1-qHXtj0!RG_u9;kolI)XE$TE}S^GgBi0IS5z`4fC>@$0T(MmD;g^+JE^SQ(7bu zfp>__C-@{4n!X@3t)8AU21P1c*H8i4s>D`C^2f>HckUcWwYdhL&U$*c`h0sqLlZqf zO!)tRK|ou=6GL%d!k9lJRewBXxM@K-f|T4=Xnab?uUtehroE+qMg9H z?T_|4j=>aIUM@eXVKH8@ez3Mmcm4o}lu8mKuQ20eF}qHQuXtl-{_EF^5Vn*0_O>i`@=2R%PnQ`8CQL4yi8ATU`Id)$>~00B-`JFos$a;qg&zapoaHequ6K$ta8ZD^ zz^n;spN6ur)g<6MZ8egT*6#<0C(K>Z`c1OM;6%5}xyGePai>}+*0T#orgwV=9L+#Y zW;rDeAs#?CB-zZ>TX?=ybYANH@zu&&R7* zT<=GvxWsn{--d3eWaKr^<~4Mn7~`YM@;N)gL?dhp5=AZ>Dq+g~m$WxnDHJWFZE%dS zZB4P*l*Sj=m_k&*(NZjP2HSlqo6p&QS$%E(#lA%sp7_s$G6L;3_+6&``d(}$VxSiA zPnKc?68y|q1x@EMlD!(jKa{qBSktGq#X-K`$!Z1|SR*bp!WNczL;0R5ZuBN)&v4|$lLm1_co<$=|0@p ztsQy~|FdB-L?SFPVi2^GsPtwg!N1*Rf(&wiebDh8p6E08@gX=OuZZ?A#9MDUm90JJ zlk}aTms3Q>F-VbjILa6nxB12(h%W@eaI%?um|&kf|gmeis}Jj0^@07u{rrRW_^#}jxB(B9m#Wol%&pjBQx;y66dz(lzo=g z?Hh-OoL)jLV>#DG zae(tLc)nkB^JfHbP*0Ap&&z+5zf7!j!VHE31+rJvJ2=5@1p$E%Py3T!1RshyTJN-t zwnLc@UrT3^q(`Vm@JZ_pR2JR(t$dxszXMQF3H6QWosk>Fjpw+j`!k^`I1M_WHJBN< zDNSw=l21+=-6%9Hik<3PPm0-}9CrPmwSaL@mxQGQpu2f!`pQr%(DCL~4}Zh9h= z9gG2sULOdS?jQPOQDxnHUS<8_y{7!J5ZA2Ac`G?+)GiFr&^-f5FhH#tl>6q;NhKaE z!a&7Id%5`S61=f={ausjMsa~qY_uDca^ERu5pEB3aG?~v4)nl2oUSx1c(%*RY%?TX zPsQjz5-j8z6t)poRgUpHD0ArO6Fo2EFqW-iM|qUrlvj@o3xLX81lPM=Qj44sWj){h zIdi27OSI|-7Q7@ z$IlJjL>dvr=lOXrdIQ0oPQSXDQd*0wl6?ycAuEYJEORQYrEva{xI_7B!$7`lA`7(YCMjW@v(+>+}9*6fUghvQv(%jP0DaE1Xv>U=`K(vj5Mw!qH9OGB8OyE~BI*#lo^7jA2^lPD$+q z>7UTuA{>HF=H>BV+K2lf_aJsdH}O)q%_M)3o;-G6mXw-@U4A-t6fa)3K*9%J3kWbs zHDkdfQ5I+iLCsI(&~Y&ln*?huG!Nspv#g-ig(rBHihx_hJLVUGro?X22NW(s-q;}X zUo2O19QdQ1JN=;>XUh5HEdjkTwWglq<3V-Mm*d%>q!j~qZ{CD|FoRqWyq3em;OI+3 zjfgYHjvebY@BkNi z-Ql~}E{xuMd)JV^%%(lISkUS3d5`pd8+7*G&F01Cf5|*wbvC){pOdzB?zDVbfm(Ro z;ruP1jK9WA)rggf36#4%`jFeC_}V!KG=eT0YSiyK{OM+sUqC?F8C#Q|j}Ggub@Ir@ zzMbdu|8LFF{|JYX?HIKY(|7C`PGf|0%n+}H<$8h-z|Fdd+|{HWfR4R=?BGh2yimDZ zJq{^(%l9R7f@KvI!g&S?(=PvwSlh^~)l&=$iKOgZ*W70bgcXJ_vaUfp-U-GLbN36o zz|A~iU{+14iQTW9gRw@@hib=w&xG)jqWjbm-}}LcGuZhEOrvV1w4K}M(y<3(1r3Cj zuxo+HplQq-p>IaA(%Y<=J^g)Y>H1BZgmn=_Jib4Hf$uB^x%-S;c6QW+`Bi7>=+Zzj zyX6sI2vjC=*3U~~5Rh|&qq9_t43DO;@YjwZ!@Bddj^6Sot=PAe>%fV#QPFN?K5iqn zoE?0jgmhRK>6+L#(JED0eillJv@o+LA**VcZK8E{l=R|zL9%%~hDXKAJ4cJh!9QNU z&s!qxNDmm0r*OUpA;uKZoN-?Ca=wf(`iN2eGBHJ-9aj?Y7P~JhQFpklN?k3qv zV`?1X4buawW#M%^Z&-(U^XGRI6D2)+PE%1)U%4{nfe;-8yXgjhrVW)4p5wd0Y)@Hvq z`2I9*!M-8TrTmtoM~@!fRy>9i3<;FN;3ySk2dEn=wz>3c@HflpS82=^Nul4!&tHvw z8$y70W}C8G;4skjDuvs>Fuco`h2Egz4c2UW@n+cP5FyGnGNJ*9U=8ItFO?q(kPB}% z#=Zn7MW+#6$C+Kfon9hkYgWP6=EjIY2I^7QPv+$qgFzIY6?LF0bxP%TyH6 z41dhLlQR_?f3}=YnZi0U#Mqm*Z4)c9U+&=vfEH;_Ft&vfX2I1LBY(D1Tz>Y?MBTM% zJ7D8@tdRaM_xu}vmGQb$WFQ2gbU?w35J7V9tQGP-89ywyyFKY#N(ub_h@6(6P^HO=eREb?U<00KSvSc+9 zIptn2$9OagL$Un;|4a2>MdPO$8%Hk@kSIXt%@Q%Aqm^MLOy*OiZd4&i2Nz4AT>a9OxcYZc2{Ac2iqhmTBQWwyO$>a(k}8B=fwcDJcbMMjOo- zthX5z!Yv7zT3qJu?Z>JJM(K3dX5N#@5u|F`=W+V%lf^I8<#40YN(F%oIIFaN~~pt zU;+{m0>xA|t}T+aaH_90hufe>!tw=WOED!)w&rilJD|6xoIp}raJ6$Zk4r3P1+xkh znprXgezY{GfCOG=9D*Zp7_+74^fHjk0lnym!+X(pl>1n)6%=4)`oHtH0jnlqfdB1l zIU1ycA7A<5nE@JrwB!#|Z7GS`h&&dyM-S|W-ksP&6}W8FBO*27OtSGo21T!AUI7IP zOxIQG0j@u^0N>7Z8A}2Z!()_d5J+NTAMUKZl0~-&!HHoiM%kPp0y5W|oGvJ31PIlO zzZTM)leJQV3(@1kLwo%`ZQ4BO7cRr%wN%6?283)A=HF#UY;^;ZGAx^90}6aKCK6ae zxlBq~c9uzfAC5EY9N_V)>KOseNc+YPUa%u|3IsdfHgfCD?02V>R}j*uOyUdQex0tf zX%pL?l<78dDHgA75Zj+l4^jMUmxRokZP9L+i5bxPty?A33bz5PF~q02#;Ug}rf|jo zbX@trqk5Z=#C$hR4H|f8^_fuxDRSDdwfpJkpM_yR_BMw{8KG43hnnXp!>*tJSavpn zN}kVQD3`|`moHzwpq&*Bq_5U;E54Su2!aAVD(M+dCw0k^7;FUm>J%Ufs2TM(gS`j= zhYlUW)R5^ZoQoi%&6rLQ*#6;mt1C0hzFMPJn2GL%LYJp1cEsmqX1-=Adi?Mam?HAG+Z|VrX;w(;ix#zXfzhL-6Cbqhb zxVB1&2<~MEzB0K^n%u<#pRaLAm*^(JOp-Qs?=Ia}MKpkm=10Uql?iA6Cn+gP(^d}> z>7{Au{~oCl#|Z>0yt{zgboo&Ykod^LlrIGkius`?<=W|##Egq}FdSXQ*kz&Vriz2? za}w%!;|NjBq25J{jkP|6M^u#&W~Z!r+mBB{fwOiJu!-W6=K+Ok=y@_V#*60&SO{=+ z;b!tKs;wWOQOW)Kf(i71IxV6!H?U*m*|Ex_dmV;{AG zVR9nP958gao4WuAK`TC@%ULHMy1##dS6hfV2kF#@xqj47(+$>)y6$6Yewt%R9d|aRa94iP*JrW&je)wbFWA-6~LyL0i)3_}=bPL*uK-vS5!KS&(IPZGXh zZ{F1X<9>TGcpE6CXp$#pg~4K@malWXk$hX&*6D`@%$;&rMOZTmJMru}iVpY^S!Rbb z{?jgF1$T^E4kSU2RBWo#M-9eW5LEU3F^m=hi@VA@L~Jv^{(e7z16_**{I1rJUKHmJA4+U zFro^vya|w*-}v0Ju1PuqY$+B*ljEpW{$O7nT9&NcVXIB(Gm}IJgp5Qp#$0FKy312> zzpUeqgW}2L_5D#j4a*t9gzu^`XGWcb!-DiA2Vomnc7XYCzHW_`jBAoZepP{iWWF7h6HJorrAzDU>GiH)Xrnqe8vgQi4ed7Ts1V@?yHek zIe?Ty6yZXS2^K~0RcETcY1SH&33KG$EF2rIs_Km!5amiT{5k~!51xbx5kpUd0uv@) zEYRA256?=vsqCI)-jlO|HyYKVnOvIjZoWDAd02`(e-SSV{SrM1!-;1pS&^|dtoc>| zyLisqI}HnRi>Skt3OnEEw%ateR%2BV#~7yE z7NfIhC-@6t2z`k*o~ahuDliL#Es(2#mnD&soAh4{KWggC)GY6VK_6-^q8yN%&p^L* ztu&CJlrdm^#B0*J`{#vJY*b7 zy%$EwF(ZkWlyF1?JHhNq_wO$hjFMePXv9P>6oF`V_yQ ztQr$`y%Tqr4#_HV7RL$V7uJLC3*rY8(JAt7YcA!-qVz%KVR*3Fg3=boyW4Gf5D8Mv z=+Y#yCOsTE%Bc`*BD&-n+i1w|;Rtv%)F9`MxMVL#H< z{K!OZ8(@@3&KH4B0a$VCDdc!>l1;zu0#Rrlx(R|M5Q70OS2N<7ENIB9|39YA1TN>a zZU2@bV;@5dDobNRSsH|pEo9FUin3)%n`qI>paw&hkug~_q?&}ZkcvV>PojnPMMFe| zq`m&%^N#ty@8|Qr&%E!yz za`eQi-UAJ~HOuTkco=4+6mNFA!R$EuN<5k}{QRl&iW0obp9ka`a^!>3C#B8K&7F0W zExN;H0_#RrZh$sN#4Oq>Yg}I$l)OK|ycNObtYVEV;BXcJOZD~bJ-dUT z3h4kTCw#_qGJ9232Nlu(L?W)VH!ilv4m!YU9uJ+u6F>~3qqJS-wB6vmsK+O7-TJ}( zbXGVmwSY$yp#QmCbD0Hg`SG3B;K8!M%fvAHSnP5Nx4kIJPw^sRx zGT*TKUetW_S8A_ac}naCged;98-^A(@iV;`0gjw`BJpD9wb|=O^_KpL2gPs>fC|nok zB-q}5Kg{u>F9u_Ch-q!#6+U9+4WH_58}>`TzR2453;k))A#nPDmOJPBU$}bpFxbHR zTy|QX?-W))i)i!$R_D6TJWlXw`j!yLl_(Z3!!z*ZzywA ztDe}k^DwArw49UsbzRLDMU+U(OliTpq3UBpAia@HL6zDEJ>4W@4dqqaKK^R}U7Geb znhXKkq&3l9jquY(#>XKTNCJiQ-#qB<`nW8Ngj|7uVNMR=<)oA_)$UN&LKw~+6w#1t zqNxnm$Oy~}R;tJyOz>~{&6H|q4w*bSY7-XRPJ@!C(X@yH* z{D&*XX{j3wz}iT$)`J?n;J~AMNiEmzd-LiCClH0Dr{MtfEz7Q`UkD2 zGVUs+Z&TllBA6Q-O-l&ho3NN{!LT|u=oRoeC(+LV>!L!ouqgqt=8|!F2=zG*tFlTR z;QxrjE-4$ANdX=cGNuL2+IN-IWO~KkzS76H|528djAhk}5Ri1v_!ipt^SWCa0o%gQ zA}i{;cR|lunFU|Uj=a)}A#J9N{fBqRKw|=H;Bk3;x@k!)xvzr=Y2dP$vg8?eF?Fwb zIrH|5-BZ3chZGi;V}d##<}t(PQ%Ml@NKkmz`6dN=t0ol5-a%qG9P{fKXU`$~-j&gl796XXF12PJ54q@eW8*%e?|6=KRotRd9Crbs9eH!>vz>F zcsEd^q4Wgr-(PL#RP(~%7pDpC33qK6pHetu=lCE0_LujOoYu9lE(qPM3Up4Z_&{!~00Pf`PP?mBF_1~^Htr0c2kOFvh);E<5~4|U6+UMb6% z)MoScvkr}KXSw=*VGH84IDj`-&M$R=`v;}s;w=jJ-FQbY?}YUB`GB6Z5l&`nj??2X zi4Jtjda~)q53>@a8Zcv)6&E`tJ?VP}a1-vL!W;lZa zi>YeJn`00EvQAvD&5jSMo$H!3jQ_~2R^sqjHe^JG6xFy+q8c85+B#v3QVY-v$|!AJ zT^Ex(Lk*6OfBlA{i&G>EMb!%rpdyD=x^V;6{c$v{5U+`RS1!tkcW&4moD)d~g z%>uwRX3u_{uo57VqMP5()FxMx!EoXUAQj30vg@GJ^D%%T$l*bW^W1%g0LnMFzlGi! zzIZL#G34BS8YNd_IiD2IV1qd+`73C6v5{q(8dfB>si9mHWKo_FuKaO{OeMOF)ej_(g8S_x5V_^$uP5xwZVbw3A>>eZ3mQL<%= zmFxHL+b2+S=gv>_0$k7Vx#~O|-7fe2eO&|Y`tKsm2q!w$IZ)X3G1(^Vyq~>z;g_|$ zmdr~rWIuKddcE>09xmyh(t@)N>?o_78tZGKCNYZCQJx%JF55`xqP*1&c-NP;dce** z)NA5ND_dT8pQa&>&n@cU{DJaB&faaGrArY#DLD>)+3)7fnk&ggL4U(pFgo)cipU>+ z5dS@h6;3D>6X&0e240rgeAF5?Og6Ewe)6DBUe^V^ z+r_EsVgmyQigW~LlJizoqy?fb;slD5y4!KP|D$ESchO1;3P!OOBQ zPX7R|Ame(#v*_%_jiM5!auV=UZE&JCk}H{A1Ne}E`~0nuPw+3=ofToHb6vCbyWT0Y zk4~qM4d0znwyas5-K<0gJ;Av_t6_;v4|==l1MqEGHLWj`9g2ZGY-80Tb*^63>8?M; z$DH|8tL!me9dG4YL#P98;PgzB3FrrFfG(s3Ka8qXyliMUoS*MtNJhg)tCVFoO^cxg7UX7HUJ47V zyi!~1zKTEbCq*<_9rg6uHEUX~@Bz4^7_@trF;b}W)<6Fa99toVxnsu6V8YgC$SPn6 zwtRA*p;#)YUPLE0Auhdr+%hvzFhIV4nU&{C<4YfF?n1>$S3R?!tvDGpZop2AK#Ao@%>$j750_8W3iEuIN}p##+r+g3Pv?7TioGgB zfM{e$JCp3ns_J%N09(G}&uvs?JPQ&b!>)&RdvVezOJMZ8w*JXMps=2CVQYfkVGgSk zHNF&6#T9gsWK~)dNzdRQ3Hblmxa8)3O3waEqy3#-0k6J~VcQR*(AZ_sEFp>>G<>)> zQYZxB--c;ny1CxXZB_98+`g0l0MYer37&v@3wZ;}Qz1}Xj1ylbo}drBkDPw#Qu}O& zp!7hacEg!-%FMi3noNPJvEOdl#BHFh85tRqkE+YCB)*VvbV(bq=mP*0;T^S{`PNc* zVp$;$B+X2CNawuJ>{4`%yqC}|L;q|T137>Sgw`}Wd^NeB)`{9lB#!{bJr*Q$m9%}6 zT&tq;e}uWCN`y%e@;NA7XoB_H;AI~%(%I*`#caSAOkq!JOu10s31O~=mpFYdM zmOtKDU#yqP=0zs5uPvV&Y^+8JxO(+Y&=&D8vu}chMJ~-w7l@3`1DW&{O0XZ}88O9` z@M=glt)m`~p*%-6!cnDP8+0r)d?^Fj=h@YJ#rf6jqxY~!LB#McL&{5c&!*l6BI3&d zi1%mFkgNT?b{;*LOwTL4C&KkIW>%g&m3 z1lO~GV?D`_QZsDyZt_xOWG{N_@a{y)R}?=a%lH5LIXP$B*#|goFq1zMY#h)R#Di_< zWHSx}#UMZ?)`Pz=ky1B4BRd<>Z#G6ST5=PV^Uy`XP?{UFq3GYz|ox`TfSz-;mh z?(@jjxgl~UIUE0w=)!OKQ%rs_jsrUch$|UGWJ6KkY|?5JBo0_jwINL}Xv=}f=1#Dy z`8B$!v5v{_pNQh@E%nB_`=~lGp2~xYj(?!yr}cZdo}Qd0;;{J-D}1KB?@!mm++9+zM7!htmp>Rc{gITYw zYgCB05j?J}$N+<24cOYm&j3G^E<$BNHpBnCsB})Z_#c~1XrJC}2M7^QG1N;Oe-Ss= zjZaVlbmvDbiob^iamdSJbMRC;Ww|j>qdoRD+jvjJQCb5Jl*eK|;sZn>a zEyFH+?KL#oWq}jpPB8pQ8om-Tlo3NJ6)@jl?w-pEaZcTk`~XfQ=EFf7%j`MT^I;?> zF0-ZwCJBk0AF@iu2KDbUCC>=GEYYCPjCFXPG39z@9)n_~<28R~P%JdFEGYR_zjjqN z+sDbr0{Km7I(_gg!ov)(6XIqiAb!Whkv3=XdIISE7s$Wr)7IT}f zj&K6APv(=66R^2@_t@IV>zEg!^a{3dn=@gpb5G(Nlbuiugi$ztr0HUP2N8N*lcnjz zTu59tOsCC0R%f_y;hjDCdB7@jCFh(SfZ;S#I1g?&+2l{7Lmf6PN}Ocq z!tjJv@n77tM~`cWb*WdavS~s@BTRlF5{a(3q$F^>YcK#92MNsQs&Oz63Vec#Mcb{H zHf3uRupTdL8*KuHU!rar)jMqCYlf$hA?2M2>-!DnHgaWA4X<0uIlkuHIv_G~dBg6g z8#k5&|C(c&$9b#B6+-04wu>MJ#We4`kCO&Ko=^>4XX(H?Ur)p{ zif-)HosM4LgI{TXMWy<#rUbz&8cmFE(xN3x{xa${ct2dDIpu&#%*CghsLkuEJeqU} zl{^j_rZih~JG*Wa2Xr*~O%3_wfn6@XzkkOYA_&bO5*A2LygwCsbo_crVf5;>{#`z0 zgdxIWH1N#Oo#pF6%_Fjd+dj>P-DRbyU?K(v`^Kwpp?N!m>DM~5bo3(bwW(*tNyNP_ zJD=lp`SRs+C`zayLAugs<}xV3Jpn8FfFPiJ&K+5AO4lKER(%TV|d1p)8#CmnKZxs{(sHs!!|(? zSd61i4`1SBaP%+FTPR1s1E>xaHb%XBv-#{Pc<;;6;B7LCM%#tRt*2Dt2Li7}Eks0u zdbH@nLU=(4X`fOsK2&JbrThh@>sjo-0iU$)Fx)!qhb(jLA23-_shc;b+qcxJLVvoU zbwn20k=g_)$srZp@S+P($jZC|F=y3O&aN0C`{!h?3@0hAiN{-t!ik`cHw9bClQCa) zDGRP2`{<=z$<7{j-^l{na_ug3OM> zfK~za8Pbo_zTXd6f21I6%vjR&kd6SK2JToZ%de$|U%WW9)P5a~!tB}vXTcESz|N}g zfRDrqh+|3Gh7#e95UXKJ`97R(QReaC-(4`h0@D)yC4I%MLotS#onN>b+8H=(MB+2p z%dkxQ>XPo}33tr5{c%LyfI@-#L0|hM)3+7j4L=(AA*@6kMVgSc!r=a~^NX$_jUkM1 z!mUOGJl#ZbK-M01A}XZCmXL?nU7w#y$uwLa4#@=MTD*qFeU{YPQb`HA5gMYSx!`9#qAQ44eyLz z#@6g%KF}Z8p21NjWdL>7XrD}TkMeDBBpHwKEscq}5N52!O&Nmtk8+g4jV&ZfF_EU6 zN~xsC@`fg3sao^%`@HY^&vmR>`W~6J{&}E)Y4p}Cj;OPnHZ8*xyG#L>F`!Z;$B@cx{MaO+rB+ne%MPh z-6%aG5(L|^XxPWvraSqb&)v|JeHzUT`JKsQN*JIq@fipUv!649fPw_Bg+Nswo;p(B zF-v{yA*~dJ0{4dC42#YF5lv0BG!Uq}8UC&qasO>4ao5u{BtNXxP4E$LQ`(_e<(B1C zgeVuyNp8r6tzzc@BC#l!<^kXssi{3E}38l9YEA7N*R+J9*_Dh53+HBesS-!;x zEl}*Q%`*dg5&$3-f&^6hBqa9I@5bHSusZ<}megYSKjLx|bLlU&QAgF;C5!ZJBMk(p z=D`Ec-n}UCfFa;6Nmd}BSnWL5o3ZZNA6YtMy6t=SJYd2zfB>pQ6t@fshj?;GDP5?O zOUeiPCaM1OZ8A9lu@%L<{+cy~;b*y7LFIP!qJ!W zEf?V8KACjfI=7yP;F5Bob`5g}c(SRuEcT$ULJ57K2AM zfM?4p%JHYmCdZs$c!-;ZAV=&jnWHqR{j2TnDd7CL$4XmLGOqshOg%r`qag>Iwa1k0 z^j}P%zeL*LIPvcgj0*J_KtXU=n5ccn zr|NCcT;>gM@uv@@Z~~g(Zz2%3SU^v+L6%kkV-W9!zCzrF%$T=rVy&&u+TBZ+WLS#n zR&KLi;Nol@U!76SXqoQk7Km3!llHwX$&f=%moK%>`{iQT*|DQYoe?yL-}R;(AwmPS zpdyIv)-r@;1vp;QLE@sDw))@1=q0GTIQ)wj$1`m&!Zn)PB0SFgY^woYYPi0OScaD8y1eP`4h^n_8~-L)+G&MosR^^u$BR=_w%VKdkJTqZC#0dFBTvZv5fT>%D=OjWNWJW0K zp+ngBIe5qr%=}wj-t`{gBT+7XL+A(QHz&OaoivuQNtR-`%l<;JF3d@&fSK8BzZbtN zNk1vu!4w&!0xLc9dCTwSC(&|(_R)DxW=&Ry4lrOa{-b&)9SRxknx0{Lqrk^mQAAqKNqke*JAh^DjHlASTU8Is#r>c z9Gf;Meae=IGcJI%3?yUURt|hiLr55A4Ql1_$o_-5FcZdmmzz!C z{lI?(gL$wRZ&jOc>VcKRsxrP78y`VGJ5a!T?x(+_$Lb1e&!gv2M&-^&FiCWqKxy8> zwOBX5KTZo60q2)5^T4rQy?grr@76jxI{rCH(zju!2;uRctf0JGs+Jh@d^1{(P z%DTxmR+?#QiUcI$GEx~BD66eC6X77Jk7WHfK%QB4%qcn-I{T=s2p%*=KWYg?*`mHCNm+I++^5Loq`YVPJ zjE{7`WUf_J*&Q899qQKUUVR0X^g^r%fR6Y@_8IAvVU$@gH{@bjq(%@2nX}&fEshOI zve`;z%>_jzhcbwYjw;jg0cIR2DSn?_(k#O0u9>t*n{?95k=mY%4MfBoJ_0b*e zB>Ee4qq!ps0~fHQuq&p#IiV%FtcFA@qRVa+cEu5vXQ)iYfLJ0^ua4j-H6Oe^ToWeU zIjUZ|!>QIBqO{Y!!UOvYPER!tHaei0SkfXqdVQF24U>z%Vh6HzZ7c3D6B9?(`Q9w{ z67Ne{XEtG~M;F#G?0Tmkolo##_Wc}QFbW-Nh_QWsN{U^-?3=n~Sb05hAJDpadt*ut;1&OQq*mq^$0b0bY~ zPa0*@kY!3wd-Uv?|M`y_NVAdZSJhR0s#onvoharxi7z=g7QHC#r8?cxS~05f5^oEc zS#mKRnFmUX_MfVcp$o0p_@w?ebcUq;ZKYYGnaQfM)T%ZjUY!({T}Q<%rx<)Dwn#WgsD!3@ZD$+KreVswtGWs8lb*UcA(u4+;K;qP!}s zJr_D9FHcOiV^kJ5bHZ!>%Nz%>6hck5Q!^19`x=%%iW=75*#%dF;W5=O&UC(+#h05y zquyC%{EebX6gHiDO;qhdzpq|cf#?7bPJ3hfP4s=))9TqCP(;hnZx8jlW}O~?IL$tRs_^w3%w7P?J&!Asg&7S zblW^!;sPzYR{tB=a5ay^!YI9&8M#Pt#rGt5eF4>+{+7K`6lb!Q2w3p%&YOk+?=j#) zRxP_$+CQph(=Bxa$5W$hpjg*ys~>x~s%i@pU5MzxI7pSuABVdU0ubgRqLUfe)A2>K z4ZAmf^4F71I|U9=lz-H2sBCx%3<8hs3tiE8$DTz=56<`3A zQTbqRzjjS(E{@7M&vv}3X>z$*{>|i_buk9rbxMsaSNQzPJxjE=cvF?ZDrI|Na|cztznJpcPVLA+Kg+9Iq)soVt#{Nm5srl`1tOwKkrhC%8Py-=I+r6e{<|LKi)UYWI^nvlL;mxDxL3K}a2*0i9g$5>G@15b}Ud%IqbQi-^nJg=F zj3u(sKMSr$b3y-%lN#<@NSyK;a`SW3-(SVSmWYj^h;QeH_TRL!_~V^JRQa3HH<<_Q zLkB7PxXxaN-P?F4R4h5;vY@xY(R;-mr$lx-s?M<3{W|@w;UAJ>x1Ie|^*;xXR2%(o zZZEiIqOE9RKf5!qR-9l zT*6kO*?4kLs;xuHLCebPRzA=_QJV%v=zqJL;vk5m%q?d(b$0(~#md}L*{1F@AnUA1iY%($f4#oGqo==RN;E%|-(2DgiQ6;q=M zkiFnjc`tp#vf3^Bcj|se!${-j<<{#L+hoW!np?_}{)r#sC-t4;^cT*Abec$1>yNxk z9-Ol&z!u-BW*n2=pQ45M!T32zpB@T?ot}w)C?eVh;WwI>an7GKgw>keuWLWVwHobd z;aTC5mew5>8aW3}`i&OTeyvs?viHVy&7g@a(A1$3r+>+`G*YX3rIyFPRnz9(Bd)>N zfuw&PJD)Aj@o{3&2ckh);p~{>Nt6=h=Fz!>WM3|0QC{)qKZj^3ACL<#4jC{RuXDQY zaan3=dPvBj{4sRn3LX2NY=Ud3l1~Oi*1mErX@sTS1ADyYG#P zIrtW~o2`71jFXwtowxK3wK2dgv;(eBg$&R?wCeQP`FBq9&nyYoRF=Wg6)RXDn0o2$ zVfAlMB<@u=u;|bh85C&^ZDPA`(%y$JsTr22jn!G?*23EhH7M8+2=Wv1KepPhZUAUO z2XykxnV6tSq2i^&{Ss6bWUzADd`fi`SR%j$70}Hqk6#q{t5Nqh7oKVi$vo2v99ki6 zim+~@-8 zTv5dkLnh|5c5B5W@Pgj~Re%=2MuE*2BIfYiew?yZ?8I|&ay)H&TIbY0OG$~N+lSo2 z%ZE)EE+L6K`e6?(Cd=&T5*^@Ik3!UePH!%rpi*Qd7+i-~eF6@ncWOaejzCQG>ES31-dllB2_2;j%NZF5JhVqE^tTN%$!pTomP3|?1Vx6Ffc{u zvx{vd09yCgeuvhDcYy!h4!^p$6O%-)nBY-AlmBFvi-QX34OS=5Pc&ThUQO@S$^w+m zOFK2;;8#4^iu>6&#r#U%LfIl5o$G}r?0}yO1T?Dn)>k;ue-v%5lH_DOM zXk9SFyo5&s%*wA4OxDVZ{WF!}yC>qWhd%M8omFOR1d>nSFYb;i@y*9v)@+C=HzTiX zL{RiDh>*mWo=M^_yAu1vG_q9|c*GVg4MZJ2K-5#w_C53sgB<6$eP1}EpJ_>$Z{kZ0 zKjyri7&?}zN4N&`2sv}y{-vJ4GNnL4@OInNy!7*VLxp4Eu1 z^UdKYg-;n9WVZ~GV@!+E!?h98p~kb10(xQVWTQN67|OSmfx&AypCVK=YkX-2V$$^K zY-8%Ql}8j$)BV4vDY^^#NWL=_v`tAD^HIG)rp(#i#xHIx&2K!Y*6?~}mk*oHYLYSG ze1$Ix#Uu<(+I3A?oP7E6YSu5_u6gBa;c;EEN>Km*8BrvGr;!Fv8$WQfZ>--zW?;(h zQb{Ih9oZnKxDr+W}BHTNkrmKYdS&9=#YznUHEBe?DsP&^J$g4s83rQ zweGG47z`|JJEqT3E-4Bk_~X3v@f9@_&brqQ#%d2)?uy`V!WDCTTQQhHxO&m|Sr?th zxIa%PqT;lTzng`{t>SYv^WkaSKO8WVGK?Y`MQHRB7IC7!DS{`|*dG_$RMpfN{&;g? zAswA-b)grLhuWdWRh7yEYXf*!5oMqTYSCD8w&^4s6xpygzu>`M%>(zR!YI&M%HI=Z z1eL;szs>2rSA>j3Nsz;yHFNS6t! z0ER%+5>Q!@wl#jt7~grp|C{HZN+4k*+CPMUl= zXhQ5koC9f`XQFS3`cKdkaRHSWW^W&s6}lY|nS)3L$4hj~+c7ivw@z($iz)-&m0XTV ze{+Q_lN;b2w{Mlzl@gv9Q0s4S)cB++@SU7OT1=j(>`Y)8Q>BvK%DB_MR8dWh`Avyj zW%42dCsHkIeHkC1^afEu!U=Sj&@3FIQ8XzFSyI!7#XhB!=XYA?t-baSwHjzkXy$L( zrOLqrq}WaH{8H>jY7rke!>KI6c{2uK{`T<@T!g{z-k0r!RTujYC_iqUPURq0x6lrP zCI5i11ubnc9cG4|2SOM@=f{oPvA9RBnenPsl0aY{RZJ2a*v?ErhKIY>&_%#UH;1~q zDSy=hpogHu?W2lFSB5${1uT}D#TkN+gSw#t=FPz*7tH9oA}|F99JU5x6p!)nzUf?W zqyp@)KtHIkdr&_)HwD6IOGvcCvfXd#7p(*Rnl>D^3Nz-;$e=saFwJU4tcRY|lXB1* z`9>86(Rs)yh?N|4=VTkcItbC}I@OQL2lNRL+o3}r#i+k>)aJrQ z&WuE6f|@|JOrtt)eP}s`7$NEpEN(=*M9+zImkQs+^Abf12r^ksEo~8B0DTUj7JHZ_ zN?Hib#p{|vK{aa1F}X6SGwUyPQ)JC>GN7MEw$Ugg?jovuskD9lf^cDjIe)Ca&{A4p za8$NkiiZO;>_S>vbl4?mu^6P1#+8+otuu>9VS!K0%}{1Yh|SFB+w^EUP!5Kdw&hV{ zmbYH}X5ls2LNab#fYA}t7+2)}xCD@15J1pn^AALOG8QiAo%h+HCfzN z5D+D(I;a=GZ3WCbf9=|bE6+0X^OIrw0AqcPjKDhCeDa8Kcmtf<(5;5xDsivWAvH5| zM=CMQ2eov;jA}P3=&12mvX3VhqcXziM5|5@QjZ`D7 zP7h#5VYZtQa5_>u*lGc@I1LJ_6`d8n4vBOdBDr<6_@QbkyeAhDbPRjZOA(7h{{9)et$fw@3XzC=?z+*mdTs*j14@XL$4tD?N+CGBz|@ zc?^4rTl}R<%S}xmyxG1M+0c4zvKRjCzDam-Qm`z{cSJ%Ml^bK;!TU6;j2Q1}MWXK0 z_UE{R9cE(LzXl-&;Yh}L@riKL8zyj5WS=iW|H5$W6HoBpi(Z(v41J!(0_=$>m?6O_ zFF2rzWQUCo{gsHx_1?vMSkf1AXn8A%$})Jx@84`+X@)?fK(8^O=^wnGA$}c_A)oE;iVAsH@D3w|A_uSKH07s0H4=9p7xJ{mJ^)Ej&yU$0^RK9?HB-KfL zVZW1e7qJl}(~^VFy+*pSV#T+U0o7#A>Zxtdg{}X!$-8xi%TD0$+72)w%}5Y#_)#z^ z&^G$x398AL)&$&ND-r`_V3 zYJCq~LQ{=ilNXf$c)n>!Pc-Dsx_L${xOE;4&pouJ=GC!`4XX+;Ti-LwNOfGx7F&K&Ta$YGd~J@ydjJ&x_RyX#^+5uic314#O|O~>d7u9yFp!_oYv zR9F1>#(+=q-0Q43vtY*3Z^gu1X&XiGh8_YdW%UZ9J$Oi-V64isH;u9b+2MTLUhGx(gz3gpGQYU;W*je(cLz7oU4IR#I%-bB z8yjp}LBQ&`1=C$3#?w9tRR&1QbRV+`5U$8L$t*-nZW?Il3ZL}w7Pu^8`~jR{6I1g_ zE4zQrP_hZ*lK8W6hiFHfeO&|E)ASjc2Hv9srQTHU29Ii;TD6*$Awzu}(dN5dG%WzU z;CJzP5E){>HsDAL>pdm(uqC!Ss76<=Tn`jN&z<`*?yzQJJ$6`P{K7YID9y58{D&!% zJcK7~_7S4X+*#>Af9~<6#xbN&$S+3`vo^lX!T{tjK4pL#JIUehSR0wXIt2jlgA=?H^cW)?NDn%IapXKvbNoq#3`JK3 z7mAb$eh9^!@x+xSyGk)*3ksr=AQI9E6WAaQJu5DxonhHs?V(|vEjNIeA*uKs)dRG* zP5UTt6*3yJf(o5dg;+!}KodN75S9XXczZ|WyVv>L^-V5bhvYEwJMG3F(VcS?X)h!N zi|<;0t16bieNQDKEiK>)gzY@yXj}yJTY1*daO-F*E98Zs%Wx3DEfMLchgTr(H(d*I(bgJ zA(o-dDahF$T?B z1CaRuu>|0ZTn^6WK#ICZ{l5oE^NOj1iGGJkI5s z;pRPTpveHF(JHW0aid<{4;1z#J0I27I+F*uqWlI$(|ZOAJiltRyu7LVzBWul>ABWk zn?>>DQ)m=mvw3Xan85|d%}X0oNMzMXhn&l!tSu}SDV@fm6b6S0 zAgp1)=m2Oe@(WzTny1}rT-_5F^3Oh0b!dq^svJEMINSUE*y|Ktn!FPX7ymjhJF5ql zW5_2l7u@#l^}U&E-T2w2$ww4D^s|VS(Qx8xA@3PH(9dsbsfuc6FUHYjjA3%H!|+Z@ zrvMzp-=;;=%h>u8o!qWP98*;KbQmm$3h%!a*#kF-?`mk3^zp>(*r?8Z$KD|bjb%44 zZ)y@UO%l1AB0}pwx9*!lNTfE zY^E1^IZR7+>Ms}wCZ)6iR2Rh+0q3`KQlTpZ57kZ4*^VY^`*^oRi$)vmUL7gxNH7u2Z&)$XseH^gN8NkCBBEfm}*9X0Mf7S}$K?Ky1!vr=JJqW}b!uNlxYmT*A1Czf@-rrU9|7GP(&re|_7 zuDGg@A_|`^vN)|e3813cS%S4PXgBbYjxlMJg@hz1u#!8FUrsW*_VT4TU+&2s^rgEh z+Yjl1?=+z7%k>}dd7u(OW+Av{O`=&!e!jOt@UxD}wzvYAfWG$**+{SUsW-%Z7u(U^ zO2I}h%hCfD9GgDiu1xP^6@=PpL@$(IwA)@FQI;k>E~ma3>-4^#An@z8KY-sv^G8Tv6KW-a5H;O-!0pod3FG>lmYIEVKoizlneK9hCxuZ zp6QI0!~9MALg?gOdt`%L0WLSf8F_W;=HLJ@Dk-x|v7S zanWOt+i3W&R1f^FdCU>o*&XGRkdkPSkj?|<2X$r)S20yfdjLdH|7L;5t>B%GlriG5 zLvUu8jk1^AP1vF(Mp##Yc*%PFEIUp(VUiY&a-S#^Xf=>`FZ+ozuC1ei{DzoK1JacA(==`qb>k1mE0HR&Pl_mNlOE1_>lbcH&M%8Kd)V+EI1PIcHPj0^DLD8?^MFi+7JxnzkUT!df^-yC)Xm`&-gm z@%*QJm4G^m_>huSrjk*F;Gu4j3>`X4qr1q}Io-DSn1FP`#INRG5SlwhkLlF5HL%^v zXy@ZJB&13u1ZXGY6l(L@f(osjV$^7nqf%hLk5YCvI%xpoH!Y~Uv=1}ZGa&%!`W z)(`Re)~=oU&FwfV%EV+*lA{c#KJZoL6|qd|1gtJL{j)$Aq^h#>5P%O2Ee({q0f-MC z|HMCjDWkp${Ene|*^0|$K!Gh5Tn+CwmRP+8Bc)9NUz~+`_#sc=&f~GQL9uI@l;CJk z_>;Fmt{>WXRL84X2VTanh<1at3_lqCc8oG7OZH9wD>lCb z4Lava`_E1j7}FI)pc4eT)5bow@}Frwx`YiXcW7wPIJSRxD&M;(>Kp&mo24;y*Eqv6 zlr=8`y*^3@1mFv>FD!MiiONqJl1#|u-xEz>@pMYd`?4nwux0b*%fjm9*nI7FuV85H z&Ii4|<@qqwLwLdh0Wbm1${`fNM#1}`PNiB@{+I-gLu|da{M{7IDNe2Eaeu~o9JKJl zg(9D9A}H!5X%RPVdL7;>52-00Vhp-qS*?74l8JU2{E(Y>ZTWhx3~80Bj9N|M1qDb?y7nesX#kXzaXdhzV`PCDcwr&lL8@^~oJka30;t~FOsn6~c=?q;iY`$idz(tQQ#iw9@n(Z9t&F4}aTK@rgLK#xkcrosnG(EG_HHHq&)*fp=Ubd5e z-+pg+ZZRApLZpMV~(;o2zonX@6o(~8R& zq>EYgKrtjIQKP3~*#NT)1PCBFjMg+0xdiS_b@>%ITzxuYy-vqBNj8|W&!)7X{hm6? zi4W|rfc<9X-!Cw*+ zs0!``ctFEM*k*|7x+Xq4fuC=?7ai0IkN!h+ukCaVTKx9G~tZZ+4#4W=pB}unfXihFT(9R z!8k=T>u34)T~2+KO7){^7C|)|O5=mC^R~h0 zh$pn_$SDIFmSksV-#@3mW)9d6<|ODeeX@_oUCO>WFT2zMgcz!c18eV;sdKz>mFyib zj5l53L;uoe>JVNs&cR*Vu@{P}tw80Dx^3DA=G25ZINpjm5P4>X{_Esop*-zt7q zQo47Y%G5OLjB7%gDr3c0h1n+ly)>?!9#L^9HsG>0e49yfI+PI-5q>HpPtM0y$pGDS zi3B8-sB?bQi#tB5y6V5p&cI}r0a8>22f^;&4!~E0Z^+BY7egXV} zu<@u;@uBkb1Wr`-7Wp|K?N}H<_GJCJDYKvDqqmhbXNfp%;|X;l(LS*hjU?T8hMmS@ z1A;zGC%TsgU);9D#~iykt)Q;#%!Xf^KHx~ys9H5sC2=d_ek=5IJhp^ljThYb!}ITn<={FRSKtV@%P#BU3q4u2?Qo=2`uhx}1=> z)}lZVf*ZG|Kj`*QwNg71Cb;q9<$#KTeM(4M5vP&8fHJ}ED%YsRy#Mv6`aUrupse5{ zBU*?Kn2j)jNx$owsW@cBxYZF`STBmZ=sJuG08ED*Uo0(TFL}{G(l0FS=?_KrPi0n6^oi2x5y!_b1PG|}l_n$a1`uy54 zm@<$T5bzL3B%#roxHwNbI3pgpx&F1~|AH7IA{GB9hWrlbhgnp!Hp~x4Hq#S|DC#}x zzmri4cFsc;RYkH#<2EFr)Nd$gky{6Qwn852oAdyTJCglf=&AWHCj3i`UrNS*g`>uu zgQ_9)R-`Sg2UWe9IFn9NmVxS&e%~-pN_m`_nD29)bT;dk^WFPl3`>m$!UU2?<#T@F ztmq$e5e3(^_lhUMVuwC|RBt>cKcaYFWN0YQv&^N%~kb=2LD;?9}l(VMyAv%bNPZ_xVeva$E z@HHF*1p_vPao+EHS}tf-B%?#5`P7;hL&0pgY8496d&L!{8Ohs7#k{DD2%EFDdEK?# zqLeYjM-WjUl1P_wyVrL=-UCtj}mYUb}GXvpms4vkh#Ciu=En&ggj^Z>V8n zuhvxL!K;KPq6Z6$o;vsx+oSk3<_l2hQ|x_GDETqt zXB_HmrByHguUdfQRM^V}3zEOjj~#V<_6N?U9U^y%t7gqjaIma)V_SIL8nqXPz}8vR zO*0&k^O!SPRmUJx)hAbq6nYq_1sXI)0~m}m3R?PUyRsau*k2~_U%)hy(>Ra^{;Y0oZ`xHEH1N}i=&QMr z9}?}N1I59^!Fw;p<%%ojJOZ~!6AYU|cfMS6k*2c3ZSh|lRt{yyRH z8{3ipQiyVf`0d+nE53%5}_nAj@CCR>4~@WfKJ{$oPXCP3q&a*W(&f5Vv3m1JDH;!Tk0B zsAmeS4WUeCkw2zN6iHullX#n+Zk_c4FE(N5{5-MGf$ zruwrYprY9&dN;$s*Ovdq#`FXC$y?}e=s|$CDMx6h(H0ge=~cI+z9Nf=y&X~uk~q&| zUVLVX)>|5=5)bSGiw+Er5sRv35))tx!Np9sJ&Y~9+1}eXDg31aAb{e}OmvYol4`zdmZO-m8d+d>bBwEvmzNg{ zvj+Mm0cJ(_-?aVaN|}>k2_=VhBV~nZ-OeZ!q7-lBbF>^06Y_sP*^w8DMG72fdG$C% zO=n#{eoKYI-y~dLnq&k{&+$Mtjot+6lDr?~KUyIxE1K>)q*=y(p4L)KqaoehS2u0A z!*GrG{aS?aMQhTO7%3Km1JW$b9S@V(Awys6qsR=ex_C7VeL@AI0vy~x)=Pq4UA${? z(PP-s-({8oE^qmACi!R^Wq%IaDrxk>9yvxm%8tE#u>k?5NLr}|0vdLhuRyjoa^l1! zs`K)gx-y@oM}I_ii;hn-(WLFK7Z0?la=zP-0Y^kIl$yj%(hleSB&*%lr2=*JUmIHVD_(Awy@T=L-h+jzW+HKyjef?1SC#ZJ zE{TdlEr-t?urzyHFroqug|`}=!#Yvu9n9sBbNQZ$Z#eWc;!z4INMZJQSNq1+^kFPk?c;ZP?)&fi^?u?rb@74w zer=C{nK3GUcPD9;7fN>HMKUibjnm?D%S!a4VqzZOyLV4(=#ydl!n-&yLka-kK(8y)4UM?QIKaQ(` zpAqPHeBtUfYo@q?f-f?Aj%^HF{y8LV;4buW518vzy?J09ZhDG+vV0#?)5kP^>HSSF zj;^YzYW@D$+4|`!W5aX18YnvaYc|OX@$tux%O7Zn69|xrQxLsxLBZYKe1yF8DjoU- zg-2d?=Y?Xh7P`XzYO^G}(|U6(L`S7);)v*r^;nN}LLW(xO;3I0_I8 z0|jIRfNFBG{+t_Z4(FZ$9v)%jo004lz;=sRi=2TefMBEfjInFQp15d{W@BWb_bsF% z<7OBTvz`dqK&3NNxQ=dzm@;Vc9e_01>k!`hDK*l~m1URCTbk^k z#s>!!vV#JI-^l;N)4_lbPU&B10J-RoO>da+7%i4Zq0XFic9~cD!|QWdSiexCh0ZUA z!c5zf5%dkgfV`K84Ut0MQaCR*S(aFEDe<6G3^niV(390{2?~QS9ZR$E9$+mI9e1gT zzmj4J%E5yHtv^$$qhdq!Y+I5x7>L&?VM>U)0fgJOhT2Lkj|V8eDHs?)walWVfQv9 zk#vhT3xh6_B$W@CCmb^W2}G6>Y{rGHiRGc_=PbwIDaVoOJJxn53)p0`o82FO|J{)m zEPM!-AA~3&W%Wk(sA6KIzPza+R`jPELb2Xt%9&*sIJ}Ad8AVYu_*w4M#8F`v9y^l| zOk_T}g@i%2RdUXS<0-BB_5G&7onFpS?*_C&J9+kxF@s2&RsXr4sjh(wzzynR_s%|9 z?IyG*n^Z@5)ak&P0KQ?O0^Em`t)Z@}LWITFhrf$wLG)u9O$DSM;2DJ!QDxJzl9LwN zCmBP8L56Nc^%Ie^adXC>cUKo+Z7VtxP>JJH^Z4PlTjvWNlO1931I>=JD%b7fdqiavUg6qWgeuQfYz<%xW%=k zO66QrP9r0i-G8+FeTHe$9<0RyW_QEz{DJfV0=shZcw+&K4s+z6Zi3juB?*LL3NZ={ z&b{ATWrz9XMu1t$HIQA3d}5vq34&0QoFi0E=J({;dk^?}#&ZS%%wtp7;x(zo#T>YX zim;n^f=&B*jf(>8-W%T3s*(DQdK*NXj7|Ft2LKHQ4)RmCebn6ImSwY}LmgDs(eZ~7 zfXWz(L#vCcG5W@(2464uEEWz4GC+yS10%@U4*Uy{y&3QVo+HI$QF4&ubK^QN1v?1t zLSN%O5z(fYM<&+gfiJI&15)bl&BpJ8q2l$#INFESZP$*AcU8+T39$1`>^Xj{sBPqAMB!Pdrm)*DPb|LjM6!gxTFf!nE~1HmQR(X6!qhaBhfS?sK-&fuD87}C@4(_e(Ny?gQeDLM=s zoBl)?OuIoSpe%rNpfE2A!_?%p-r_yF7c|3k`|0{wqjf zw|@icAvslhd?{z9WFU_r`fV$WYh&MaNr2ZIqDNZ)6;<(Mdde^9Yp-0n;ya}MoTk19 zXOQN=Q*sT>iyLquQ>?k*1t4_NX|sZ72QY=|j2-9a*ry>Y81G$(KF_kC-AY~T*q6(L z0>vq@y}IZst01U8NP5t|yei%qE|B6ojX)puSy=fMKMkG%&@ZM-oLUq~PH%%Ftarqq zglI*fNwnaiBJ&@;aIShc@w5R|Wb0d0RNa)=>Dl{HikGK0Q#i1Dq$A){sLQ#7F0{=d z%L?(&oImoWnt#GdclJ5I7GXSuS#?9>Jd=xz-!MqQZl6WZe=_I>>9*a$Auzpi0WAsw zY5GXqE~)4-6Ee9H#*gP!le}A?XZq5UAo9TU12zm{93VDjn7BLGcRg(s^pemG`GQwj z9LO(0sz(7AwafP0xX0CS=d%7gy(&Y;%g86IUY1t?;CF!y{OMBgJ^GrShAP-!qZ<>7vF`({2Idr&26^UtXV>N`YlvUbjY!-lKPZw>sdKZYKA zW^`)b_vQNs8g|e>@*>8j#gun-?(RK%pZVkI+RXm?TKUgUA8cLVGP%V7z2cfl3;M}A zDu5GS8|>JO3nHl+bWF|xOHlH9cvPD*t;ZunZeqRsBJz-oo7;Z+!m&=Me;;q6d^rD# zOlLAX5>{dq@*E;)zb4}<7@hRJxM=gV1%)ibWgbV+y=Tve3=Dn@04PDSKj;`dfo!T^ z>k50BxXdI=tk+_!MfoG+5x|in=oAsqqK+GKoJb-v8DMjG1p8%e_kw&e?i?JTdb&a4Z=rvzAN#fpb`V?Tt1oxf^TuEX%AOJCN6Nl(Xb1%tBhx)NtYE)Ns6 z(zCxl?`2)x>uqqKG93zg8S@0<6q9;RI7fap_B*mLE$O3oAs}BbQ)?fnqy+30P34T zL-q%!onN_kYD;PZ>&)`kuQP1(7X{p-xVg6No9 z4ig1LdECqvvUcl>cAnZRevK1KV1>gEgohBJ`=&z>0HlkV9h^mZ*14<5)zKpOX^5sC zl4I)m!?m@Da)Bhk9#E!MpasARKP2aKk=NAzJh}A7Q-Cx4Le%dO+vmjK3lo*!Fif#Y z{4PL}=WOjD1gv+R!)q{%frt_j3Yz@ ziy{`dtB3gqLKf)(E?FjQZf{~q$ct|iDhnIsfHH7@@7^8-0cbt>>z)-I zW)nr>#~a{lRo!a8iaL-n)f2$o|6RF#%)M|$5U<_dT-Sy+9fXZ=y>H*Xd0m`-`spXi zVibH^nd66cIz2x~t2Y-xa_070p@+#@A92w>#Y32Vu^SLF36v{C#V8lFvzNS%2=#xl zyMpCLc%@}B{O>C57+=p<1Q^vF|9&TCoJ?9z`#>vfs1g_67>dhcKl~0@Ht3u5`|KY% zuQW#Qa&8`j5wC1yKUr+PM|S`FxyHdRKf{xeXhqS9x{qLG@g6QmEazE&N&x*_p6`*E z@CdCSLO5|n@Yic#P5S~EM=AuuD7^(G_qO84q{khlVb90hekPx^S)`#xt6Q*3<<-kd zXYqCb*&qc#+KXhJYApQ^;x})Gau$gyJURU#H7yV^?cxbf=MAANIvvDC)&vw%2%Jq-{=BHs9xwuITHSyLLlww6N+i`l&H#G+yn^KZ z_oEjcsk28{5a#_J5dsO)Fuo6sZ20%G6j&?12@Y2UA|j(i&F>?Ob5>l0Dl7uJ6bx*ZzO_IxmYmp066tC z8KDs0s|w%zB_>I(D=sTtj_R?eZZVtKoeP65U3zsXVQ>5z%Q4xWrb$wfoc*d>%)V}_ zzf@D15drq0l$xgapk({!di}-z(*u^&8XwmOct)p-V1Wz_bi}VpAJKI+!XDaTJcP8= zf|z7=nsCKv{*e84t0JSWAj9J|(D`HIC&TnZgX?YKRmum};21h| zDC`c{E;_kFj4b#o>fP|<&a*SAjecD8;XQU!RTgT@QvAlW4XK7o9j?&&hr^vaby6$~ zppNC4D(J>th>Xjt0JxA8Ad-W0eoIS>Z!vDVoxr6Rj~eVR9kj@6*3sZ4ewbBxED!({}9b z!u(i!a6>j$vX@9iY@SPjA#xhNKxwVWNt_K)4gk zfAg3Zz4e zC>B0cTaVXyPjr|$M7t$X3hk;gtpVV4z|vd1`sJFJjJjEj`m@vVNKmKXA2?m8J5cbV z0y#b#43>tJAjrQ)w@7@eICLu2fgXKAV|9`IuZ8Y`?0`5D*KP8Fm|6hUlNqV3{Zsd0 z7_ZPtqrZ;Fk`1Asx&bXG83(oIfP(1O3VG%pu*E^gkS~knclN*|?O2ru$A(-}2D9?3 zALyiI2OA9~7K#c4qY}t9`($cRlp2eJVhCRI{fn@G!k0~Kso>p-@Fi82=oQ)bO;M@p zUcKf+4a92Xx6Q3~T6S*xo?dC+*%Je{i8XDV!wWwB+h=j8QE` zOw@d18oDl_Gh7v{1sj;H+KqVj<1qso7-T0AJ+c6T(U8UqAu9q?q}-^eY3T2-#b1Rf zMrv$PqZ6bE!I;l@Cda~32KBcXc4D!TaV}e)`t|K>lesgLN`^iu{qAxy9P>P|76_q` z6f;kPND^sBryhm>kEk;N%Q&g88$MMc_%sZBz=li|yYdO#JIxh$Xnd2r{OzcMq z*~W{Y16N>R zYZ!jvCc$MazJfpIKJfT~p=Wch^^CWOL~%^54T=25A&POI%o}qoyw{WJWoQgV_GFPzOWM`lI%8(t@FvKe)a>W|ASiy;828a?Tvd&?t1DMBS%p2(=s3JvLfX4}i zV}gk4$%mrn`N!$|3>h`T=H^1`7AAKJVdRl?B0Xd|^}$X^K0~t>pvw>6`Yn2@ETuO7 z`gt?+3h{Ubf)#uikO%K9u?{U09TkHCG8@0?Cn$K-x@?%>JBTxG(DDdPt^yB@EXflh znqh&xv%xCvpH1T`AW$)4f+u8z;4H(JTsr@hU0G}Y(*o!p1z2F79GQ$vXLz^#7|F1^ z9i|$jh;)L;;k~zcru<39nP~4wGMK*oOIIS~9){Y7Q?C^cr%y>WCFzlke zSSyhkmXR{+d^d1NrW<(#6yYFAITh3JyPT({q#w4XxXO9_YKx{u3UA7*@e3U%p8<*B zjkkU}`JK%T^Lu*(rW0|NO`E&yWU);!Q(VZ^XEt}0ckk}|nsqI8i$r4FN?dTP=yfne zMQ#>-saH?XyNQ$Ub9j&yFkUnGPH<$J0`y$zw3zi_VAs$QTo_?H8XaVM# z@$F~U*u1*E17JFx2#svw0N2Mdr8;F#hcIghEE#@cAxLLyF`z>BcH?!Iyt%Mb3$XdR z@?4fH+`oU|wNDyxEIs`pavuEK|FI4flVCjJS*q?3|K!=GakmH&u%JdVjEIM%m03<`cJJG{MZCjH93D}+*^(FsWJB7*MMRmU|=gM{K9_XL-2J5`c?)EOfJ<>!98bLamfOR3Qh~NeX@1yv-RF?*p>dd_{wW6>Se=?vKVo?cRe|&x$g@NK_iZ-g%J^mf+^0Fb$&xcmPQS^1t7o;X^SYwEi zkSgt0xVq}dz)na=mfaLrOsE2`asf^irmSqtw&VIJOsLsV!x!y*@EM1m0S*~%11d~>6S2Oh4dXt{D7Fa? zJik%3w(7 zseUl5K#A3CcE+TF0wQAH%>p0>*<%T(^6w3O|D7B_vMj;V6fa!G1z7aA@HK$-0C$j2vkm37!C^ zSw+wHtY+$wqJsnpT23gT-zFD?R7o2R1o7TJvak8T=;OXCKX>Hf9kAQl+<5=oe(9J~ zE1J5+ovN}verV=T4R2x?FHu83*9BmSI*VMX>sk8fTsh<2AMRe(IviC@8sZ~~oecdd zN~-f2*ZO>oEZj1|H}zaq67)2sz0A5W7)DzM`QS0_%MSp#TiRwFYxNZ%+Fd3Mks6m4wt z<2lKkk6+50%35%I=;?e1*>r+_3(>3y1M(NNXGd3c=FaeR#Vf z0!ZBv@wD1Kc|-i0Pcp~{L>t_3*KTKL0r~Chy3zMxmP_Gco1XX7#ZT^iUN@qlE82+#;fNXEGbT)S7MO}za4IJj@%Fx`~0wha#wb> zz~6Fb-_OaAGL&zW=13BW?CZwhT1@msy&qy3K#E4JK4n+CFy<7zk)L6#vd9Bu0+NrF zM6Z<{0{Ay7*B|=#&$^LSuLVR!X-`*(u>=54YV18qX7Pgj@ZzdTmz_*w=QGE^UuMu* zIeEianl7TH?bd-gPoIjoi6hHkUEg*)=-LTgV&hW1lFjRkAfcksQ|%s6wA<+7Q&c^v zDJirhU}!ui%#g@aJ^w;>NXX&}0KciZ9Z0a0+Hpj$)Rt>7*5zQ0IhFZrM|2Nb4!Veg z_w15>+QMs*y~*0zj#<|5CCq=GZtjDyZnq8))(xZ$%7`ay?(%64;Nl#U!`6trM8D24 z%FD|uK3vGAR?#2e{Ez;?F{`wTV!S=)+u8_~8DTxf87rhUfYxCdF>BlzTGeko0*b&O zAZGo!+h*O5KJYQnh!6Q4$uPWJn9HJXYI}$Z#3aETuK?9hfnW{_aF1pKS3m%%pI&bb&bs9jJR(UF10L$BSE{^F$$}N$GQyL7 z%&AvsK1JV62<)3Z_Wl`1a5e&sp!PuDl=WPCI3ijU+!Xkjl)?5oF`Bmo?h&L6s(WD7nq$S-B=)Ts-doFa^mvWZGibpRnFZ>stg7KV!T&rnceSAo4K zLcODtx7C|hV)%l_{s)YpSsWkU%X!0?-k|W%RsCp8$gtVRs{|!Mq6uxHgO3YA$WrDryVXp<+xMlr1PKM0?kg{dhtK+5nJ8y%Q z%W8LEX&LpV;8jq_=eRa>z)vWe5?>-udqjdpcV-%~y)9GlVr8MqE8s1IQDl@b)rB(L zrgkrI6#0JPuoIK_-B_W4gzcJvH{1VcOug5GzKHuEJ+n*M?wpJGeEoK&ZUglr#VL~{ zi&+*~)K;3__`I5DFHvh8f_SyLr*|kBuV6+N?kVh|sbRt3S(!0w!2&&38hL@U`-rbN#rr`$1O;AA>*%MT0myp+kChQEjlTmUxC}?rX*wcFcp#@XL zVpFD!DT%>x03CqSMqQ^3$M15(ZL_qw^r&1I{K+jbQMQN-ak)(ojKBab$3_SRZpR~PB6_S*^Cj3tWp0wUN?q^N7SaohxHAqkjmic zCUh@+3ycn#wr7Bx;ol}q3X*i{<8?B3+>05ZKpzSIh!I6dKKYDI{AdRL_%F;DYTnPN z+m}-Kh6!FykL{+T5Q^M{#LzA~n)`rnrWScE$8({Xl$<;4MBdRK&mvI0HYgCcQ=SMB zhU6^`B9otZAMWeC(n#T-5T|(%PO+PKxJAJHlI{SrmYexrPy@83JMdK9hCL_>O-fIN zXBI#=Zq-oZ`FsXPmj)nxBX2on$7D41ABMDW?m%M(8-Hvr+yoUFwf41@9*iO|ae01e z_?zNvCX}2q>Ly|aCv6{|hzcWAX#`H_Ruy6ggFIA340LpK+cnrmClT-YJ3p)??_&fF zAIZ`P+A#n#x@k(|$!8Y#e`TPiL=6X7!4IwhK!l1D8$BEvtX<~BMiRMr3Y4iJPps@? z+bxd*u!k0ijDmEwG`(Yw`{N-M#K@SzS|;3?w|;=P9Hj87RWd``%!xU*e}gG%&hAnvyo|`^(~vek*ZvN&Rk!c6RJnC8K-H>A4*)k6JNbl&Ya^UbMi&h=(rqc*p@m&r6;695frLOjw}C0i;DfO6tSV zwsZTp-&>?0pRkQOd7ok9dk=>5%7tC3F7eIokQgYL{;?;E+wt;?+Z((j^l*iT^pl1v*mZ|Ld{B-w*fGA`tw19j8 zMh(w}4q#&kB6g$~GC51u%ZOQ#7ffq0Y0uYjAgug8po$kA$KjTN*$K*GC^8{Nkepa& z?7kzF_Wg$co@&D1nQ1S*_<3Tu*xTh71Xc-bIt6K-P9R6g|T(3a8IWlE~LgZmtl zxH;V~5#*w>R(y&D?*y--w}Aqp@&vOO|Go|2F?~6P>g*j1%Yb0`P-qSR%!{O-W<(~V zw!&p7&>#R4Zpb3#!*m5`0Ky1+ln=Wbeqzj6CY~^lU?!9eZQk0m#wh;SKu6qlf zvdylA^gBFsWbG7*^8h5ym|hUQ$JC|Yp!=@pC{#!KWZdwt*J7j@ke--K8Vr%BlJ!ipjLMssMGeGfM~P!H-D0|5 z&eE$L(^_q2pA#M6r(LF_9ZlD6}9!69$VRF${|JR2(rY`k^a@60jn_*5_KT5 z0CVm6MT=MEXv9q)SZctn2Zv0xNe-S4)++L18bl_~==q6bv|ix*QX0@$6qkl&AFOi! zDH!7=jsbn*&VP`{b5{ZVW!#;IDW#h18JXnQ{wY;oGws<@IG`0!6d9g0q!^cDb0BK~Wq+SkBq%#UG(kIPOE_Y9IRUe1b}5B%_M`l9%*1$V z@s%@x&m|Z^8utMQBOY|6)&*`F5AZBogX@?)#1`#ek0+0UlC_0lO&1Wb;f$`0L=r zbz>O7qT~*nY7;YfPn7eYis*U}vkK1c0Xx6tN{49Cc#)JV6ik50&1PVNcj{yH#Z^QJ zvt{XN#T*XnT238NasEYocq&g>sp@t|nux2zC`Kue_u0G(T1}hH$>8p2TmQ3Uq|Y1L zrCgLFqF)5#rF7z30v1XJ7-Yj6AQ1x!)IRmtixw)Ud{x(JpG7hOl_^w@W(tQ7u?ta} zgeDDvs1`5?nBQsm>vgQ1VV9*_W=3Eq3)eU=y`iASuu6OnB(lhJ;BNq;;DpgIW4^go z+_z-d+&Sh$;kK9qCZ4L?E=5@*Euv2nlaR6F=JzO7A^L!obAoMGMFcj4P`iUx5>Q(swk8&sgl?w3p-&|dm*su{q2Le?X+Ff^9&;`(Yb7@3U%Ec;2}XnrBM%DGndmD_``lmc9b~8Tbu; zt6PELTe5b}TevTjVj`|7tlW~rjN>n0PVhDG`gWta0IBLSPU& zVC9&l`GhA&;n|wC(P%Ejf=E;eXj3WG?E=Sy@|zhkHcji5SB#{VU(2m>7Tq^JC^T&6 zS?{=#{5u*gD)<-WHhcEHOve1K0wpVTDE1HF;7G~%td7=q_v$bhkcS!(DJS0yPXZD_ zh;o^7yjjhTSHpF?)0<%4%A7o+2ZtyWMl`Cz{ljrBG&J<-Q}a-~m9JdAsvB5?$SJMi z&$Jw^TO)FInA8kdXYp~#?tqR9sQ-?{Z%b*kBG<^|2zDIf5Q-9I5GgccOUxo61|f}( zrhY~`ld6)hz2(XfsSoa_{rD{!bX|Yjh?mEo5d4$koUB5*1pP^h;2qM7GH|Bifra~G zAY@|99}6!}>0Zip2O6Gx@l$YzNi_Hr)FQ+CE_*`8*C)3TRdJ7~?Tx%qq4fRjHYnV4g4qT*e9AzNm2veI`yMNX?93zFu7BDfs z93M)cPiEiKvfDF3P5A~Ie^}!qoCwW2q6@MpL%Rw&E}qe(KcX(Ii|NQjYI@t~PwfaG zl&qW(DxcEQ(!O2hD}{RCKTxop^2YY{?ohNTU5-dq_vTY(UQe5|$R8CRgv2eLRISVy zkLx3jIY51+1M)lajBV&VLvA_UHhw41_ki88ZvfA9CgX7#=c4jN0KpHN9A=S6pYm28 zO5ocqZ-x)O_w?(NFy4|t+Y@{_6M|WA@TpxJ0yGT55Fn^{h{?pL*Bfrr{eV5=H+_xK zoyqiQU~&6^LY@~z|EO_cz&Z?8(BU5@-ip;D1KlPxss!U%0jaFMVH0OVI(-4<6Z+p# zKOp{rwO<>bz#Ps`gO4Mnu%2}{%6yRNvSs_J5g{BYT+c6kHOdN2*sn0u)KZv=W-R@* zo9t35GBYT zf1HE9f=kT0-7~tF+63v7II{AV7`vPB=ku?-Q5T4KT_+uL7VaX-(_Wpme8 z$+(UvzA2ZS)3N->L{^`HjVzf~r9{UbIb>@@Uk;$Glp?yq27m%&+Jt@G0~RMo09yCQ zv%4&#e4=Ck0TBTvc4$Wk=xO~$CC*L~8aiV0vIIqU;rp$-up5ANInRrbVHc>Mwt5ux zymp&K#Xr4u?sk$bKt=X^JsaJeG^z&ihNpRxH8Iz(FO0#g<*!-Kxa26WUwtlY+M4?E zCB(DrPXUVxpRj0eO!c~f-R|0i$+%>36--pKUyDCgE<};_^wxO+*prEK8-bW@JHKEW zxoQLeJE#D~-)eyMz`&JdOo|{Zl}$Ygc$!EoOK8B4q1#|1ks?7ZfGLsG$jO()f4P$3 zPCTY~Vd7yJ_$4JS5e^dR~HpV?2O*tadnFLF_n*A?svDNnL!^h9Ed274jG z9Jr1wZym-xNKXuds-oXjvk9x)|2{5qV~PqflYyo(v`PAobNEyarI`TOx#JGMv_R5^zroIE1En zZFYr5S(==Zt~yhT^M|$BMoJ)-z&uSkwd4_b~c7{O%>J?yJgfJtYJbylm4|6&AO)xGh3jn+6Qi0PL)nv-$!-RS! zQWR@!acclv;01kiD09%VsF5`&!gYTB%~ncM@=C)1qM~ zSh7lE1ZBZh6~1VEu9=b1GFJxbwXspfF*D!V8WL z;g6&%0;cuX)1pdtj-h5SQ!Wj9&S1xj7hGfv{-TOonUhCLBMLb!`K)GT>F~Ave>+#L z8|j0xk6J?(JJ7Bi8L)TP0*woYrm#fuYRh-dDeobgfIEr*T!rSo3kDOa2NVl;A!sr| zeHPA&m$ovkQ|*Yjzv5eo`pDHL1SDF zDzsV0KF88hbSS%{d~W#z4M2_Un!49)=vQU5eN`7O$aDS9cVkj3^i=mcyY~CgEC?t1 zT^%dOs$RW{9#-mdfyq z0JuNwHs^)gO_cnAv>cQIz#??_Lq+{#k?y$<+VxsSH$N^?W0ggdmx5iz9m)2Gx8m2z zinIGm_Ez*@8PQH|MO);}1|t-6*(&(*R8nU7Qb(eizS6~Ri>#fpqX35LvgtX;PYV{@OLYk{G7&m=sF8@<_pI59){`Aif53BbVucsBuxQp!lW$@Y(i7BN62rS?*TLmjBZoT$R zFWCM+_kU_#>ru^T0dXk!YDDh2t=}-lZvSo z{naXLG`EE8ExK{Ggu+iW5t95|AW=)Iuvldb-0tYBO?xU}^3~qM0 zPAX^tOsgoa(#xk7=Zq~@_8|1j$RXAnj&tr}{GVDj_cjBt_gxmz{SQ>&V2sXiJ4v5( zS*#~i7&vkM9&8<<2tro81@YnE=UVII8d0)$M^lYQ(?3gGzbV~@WRPw{GcougusbH0n5i^EclMc_^vyzm! zLgP?^CA%m@*vCW=6rg(o>QFG>s*polt^3jOQ^V52@X0_BQJGtBz8jV8xRc_Zhmv4< z9wg)PG}A*m7%N9ty)^k##}zLI@dA7O+YrcR=2UnNsL^EcVlyJSzPHS07_JHqN-eJH zt6|!6PRpRS!NA!37@{Vbdn)m^uS(_9c>~r{LU6xSbzj@9VeX!k!qd8S>z0YZ>>$Gy zwhn(8@CCV9^sZ=}D1U2R8Y9hG@OF_Hgi1rmL;~&Bsu9`8J1*4bPu>@A)5nj0eZ3?K zw49W<4S&(74chTB5Gm!jQ?|T;xQ9Tmu)f>}#2p!l3DI0i8oZ>zj|(ryylT$VA3{}g zxnE0Kf=or1)LrkoXVrigH|Rj*Da8m@yX?|E7&2{Qr#A$A+kb)8op z0j8oN;lUzXDc1~e2|Im3jqoff4akU_jQ#+al)(R?O!MlB50RQ5TF{^|RA4aSwbcY_ z?a({Hb_2WR##CoZsl_YgI4KRGf3MyEqgf6Pl_|59xS!sA4}E#YSaQl(nBY$iod-mtvy@F0F9z*|-v+>=qTv2OeaT)_x7hTs&5Ui(MH7ONLI9CT<0OhWQp{QB59&~+HeWjyX1NTIa_p5JGZt!(7B%%hjW9ijHHFef&s(#2H zl%4jt{15jXIf<2@yRJFw_HNL_?mJ(_DX$)wH#OyPS?}cE$L18)xx|Kq&@ah)X*OA~ z)E3{N9XNo)E&*f^B^7tryr_QUyQgTtsSO>X%+y1#tUgnbJOg}$e0q@yd-fo4q(p?T$4)h;ys!jc6n;0_?s~_TPkFw+KeruDgj(?sawyizbn}Y}meF&Jm?DhN z{m{8Wx66@(`|?U(KfImlS+c^#rHzCQD*Nw(b^4{sr!8`t&_!i3yTYp6j&6W5Rt z=g%I4rjLFNw|81RlIj2c{R;-LBece`sWd0B&XQ%&3S?~x?iK4v0y5vr~7n1 z2ps}21v<>XR%l>21(i%1D2{ZSE6f;O^lAb+=cwS;_I-Ry@ff6%Jel;IH4?|?uglt_ zq@^3SY6P7>I4(?7kxgdMY9;psXENE6v{ z1zzL0ZczqRw*(Q8hDC1{ki0=Ik#uN8q=zjqeOxj^!M6m}G$0gbK;~pXUm;I^3Louo zX{NXf`pV3>@L0ro+wgJLW1GHOG;M7mj?zo2{z&+#2j959!Y2;$(>iJoOp`@plIzhC zNkWy1jY>0GB3oM`=x?Oyt;y@^x@+FY=EF1S`22GC$Weg7gj{@LLX3~;`CCG~&>8Rs zHbdwLp%&j&M^(kc*7y&cCe~8WG13yTqp;?p&etJ~LrDLy@Nz)u$WDi5ig!J=kjB9` zx%!>%BZJ|8T`dqI>7{xpAdqEo@XGE>)IiSwPQ&8&@ccd{4pTr4vr^cJ&_M(l zP<1UHy-4U7X-u`bSm?^}Z+6ZD0U$4O?=badT#p^Q`}glR z(Vtl5ELG+{&7AfL=Z}KDlil1~m913M)MPxE%Kzk`gT7n=5FKh-oBU?(?Y1p}#zUuZ zBC<@f{$U6c#iHD%hHBf%Gq8m$-{|^fV|{(04*Mc2a0ISiKJ8sxLs*kH6^KRE7ik|U zHV7iJ9#mb&abmyv0N1KuY4yb~L=+t-TUC`rdngj;CO)?CGE8GZ@v{1L<;Vy?XGZzB zmRtzonM4~yuivR%{AIH%8eReb6YbI35W7GQoEKSqeqJ4bVnDAl9J6)6c+NBK>2gGawbPWR|CPE0 zO*Vk`TAbUIcIo`&uaED}$yLXf%xzE23nBo1!fhb@LM?&AvUADao;Wv?WbK=b^mxCX zKbD%qv$9|h6o!0jcpO zuht*Ctbdid@eFM_rB zxXI?rMqR)&SP_v5^Kur2sdw3Lg{@RzV9BuHr2_R$&v3YOHz0M36LFrZkj2`c@Ws7g z5YX(L-({butH*BqS8d~yJbjx|ujy7oIyuV(K0~NgNuvl(PQCfs>SB- z=f2hyv1AmgWCW8&hQG?7TSy2G{SE>ALo490SfAA2CWMBp;AGjh|CCVE;e^ljk ziT?inq;_fnzLVfaRnBD8Il*a_2M5&8P`~7-<0`xhh)Y^ex-eBALBr zo!=KfsES_h@)1c3wG7`ln{8z`4|4`qeouV@FbTN_rDvh*me}E@)P60R{=^my@ zrWdkFfBo|rneB$l#!3NKJMJQ`64n+Cn0N8%6YM!Cy=dOjOmk!Uu+kZ9&~ytcZ91BM*z!doC!jrJ zwg7$^it4sa3j@|ucOSl!aZRu)s^W?Lep}QriLL+{HPwUL%r7hC|0rW>@Cz^pjo6Esuoflo@uYfkfr;6FvDO)H)ndRF#{?U9-Oo z3J>sc>x^PEw|rhe?#|*$H>*%XhGHBn(%`vRg>vJ3arCOU23J?Go!8g=J^ok`C>wV%75{uyNk5v=Pg4l@*u8YTgz5l?DdeaYdCR zAss|TX;hiWKsjCXOmbwzKj1C;l-Tpj_XL05fBsbjL|ACO=kgIj&N0~;d;J3Izox|* z+L}(1-&r0X=#p(}K6{L~AKoblrGxKsgtrG_1L;h2ux`xvrXPN| z!wU8lE1(<6l3W}L7aEvZi{BSi`|A0tsjII6olmnb+C^!m;<4P=SWj2?d*+((rC=s# z@&pE~SB(P_7hsAu^5DcyNlzCo^V|7qh$s$<3N_t2x~n}T_pIZ>oKqa~Tmel@R7@uJyUbjNSZQs4*mwr# zVIXdpEz%)DADEuiP7kz+jH&HLYa?Q%!6{~v;R!uOM%;mO5Z%rkmsANN7pgf&bz5yKkMbAAp51jp9& zc1ffBMaO?U+9t0uSI=y3LXTmnn86BoGR=cRBV-Y=Vx0-P6u=rL#bwJYlPFY^eWH{E z)fESi(#YbGB<_{CXiXHBLztojOTGFNj0YENfBNLfIi+`QbHV~bz(K^2i>^vW8V>J4 ztVUA;r%Te|%@=Rq+woAVb_ZMDPG3m!FRLa}gy#wMPAP>fosEO5N11LrLpMP0%IHaC zW_Y}hzHe_+xW?(YhX1f&); z)@VSGDFKP_T1k=k7Xe;VzU7Pi6g?agM?_;(bu^mXO1hHM=Dv<&P^U|!?T(!Tr3O%0 z#9%xKPg7XNRt4I!{?T#y%gP5mmM|LngNh2C3>aj1RnOM&vfQ#oPyJCDM%+pkLHo^v z3(;k`06H>X%t#PIY(4YHf!`JPY;u6K-#NXw>{NdB=_P9uJ4T~I$zc(KK%y2H_7~gK zozSW6!2wwoTj3RqoXNpi-7VkeWq{K%r74?j3dJ_RP2Sw$4r#S6)A>e`eR;U-=|!I2 zY*_y6R27{WU(-{SsYKK}dV`F-*CT>P>dR@TrhiN;6tsC!!hu)t)yy`j+oK&M5@T>N z`3zOmHVQ_I9W7;DD_$plOVu90#sO`cIzCG+*v=G%-um?ghkw-#|6FZ?1w-3=^Hpzc z-XDh6-yndmiWma7oStdJbh~c}agN{E2HT&sxW=6r;getK+IaF_`S~=>6p&m7?7jxO zMVZJrC9oOQ`0%C;3H$dDK_6ymIs~%>2x~#6NRYo;-drUSeoXJ7J`u0dvokZVM=Nu# z5dx;we~nv?fr=o#+kp{i(jw|gqr6gXP!IrD2{D}e%<-V_)2wtRbD7kpFBa#B@bJGn zEf}HHfl;>GXncjeUY6MauiOK9Uzl@mMMjOdxwhwh4wsZ_ISpAk>N<7n_E&2)RcO_^ z$JKNs`p6PU<-MOT4#+yG)jvUNcf!@bebvnm7(dR6Jkzhgd#C@j0M+S_{OTY2mCtki zJkK{9RF*`aQL6QwBa@(PNE+J9-E8Il+1;k6Jl=3y|98e%-&WRIhiUcFJMmDJ6i>3{ zxOYFwlU5%-9FY^|KVC^^Q}CDByjgw!j2XQ(h9-?6HGApJAvCkMBA;1^@O&>dS-{R= zU!l>H+*&+cn^?&iS$t)A#Ow7@aaT;_X`vBnp%;1s&k2xc)|{*wAxW4OAEr*rFQpZ8 zU3j-N)C|C-&-GqUu}oi2@#9~!Wn3R5IBgEz(;RD$Zx5r~OzIj3W|wP6gPb7UQ%ls* z*1mFGuvE}9Uikrnk!w?!aJ;Cr#ef8*6^XcD8VQY4i%NmZE_-<}lR)C7nDGI=Vw9!X zXPC};`SOczM_qZo861mH0+fM%L7+kYICL*-@z_fkyWT7Y$PG&bXk*a5Z&uYH{-M8` zMtBl6Wz<~&U7CVTHa5fjQiAKUZnK1oQazl3{U+S(2Z;2$@6P!dAKt&uWnsWuygxWR zsDL;{utcLrjk;^*n1zU?Tba*RS9&w2prxMoKv01K2pmylX1J#L#fhN_g>qhMVG zB;xSBg+~^Q9qKmzX3B-(ofl>Q`qA`E(o`!^W76{bkAEOH2y_1=NurSA@H?VPqIDp2E z=~q@U*o+d_IPlAIodJIBk=GNyRdt0h3o#Cyt;M-6crX)A2kuQuIE%tcC&mkKgMPT~ zWJ}A0{2+?;>2W35F}_^ll)YcZV%D>L%w0TlDOzRbefg9DJak4G#eW~L8U~1PiH5z| z9aubV#1rmxX(dC=605~ig)j>Y!Ue|I1W$ytgkO;$NVx|7%6i-o;}l_dA=JAt~?8om!5v9)a6LCsj2#$aLei;rXME0R2c4|c&DI5 zS3ZWQPDA~W+b%6-lsaz&R_zW@(gMwO?S19g8zqs)<_-Z>MOkfLIodUQ(wW6v zLM*?bH}GQe(&|Q)0aiGQ4V$2f)Uf*c7wi*??I!~_d#a)&2Gu!7$Rg=6qRh91koVtF z&07aFBHIJPV;n9^3IH4^5QQIq{(Q&s-|EO+(Y5bqgD|7jAC+N0ei8#HF!yoz$vLNe?!-PP=12RD8=dR3@aFk-NR^W+J^PNR0wmD8%B`V=u7qd;&e zqz2MELtCQ01(m0sz)?pFG3LR0SQJ@8sc}V^S{I!eDjJ3prwN#<9aCQAv>hM<;Q@Dz z3+)4-dIaLyq}G>$|44AG&e0vnk zKqfvL%3SfbqkDdf6*iNO&v7H?Sy1+J&-jMOoyoK`=4o^O{Ke}16yFg^^A}zXSv+D#msh$Gc>A)v52cFHvRp$7|KK_qy)At3z`8 z)3xS^YqPJO8839$qG{jJcdqw zoXnOy7;;ZlhX0w2oL8}M0FRuqPDbMZXviN!Z;4)9|LQBm($eeG{M3KGqLWZqiN(%b z2x%T@afc8-46av`zJP0u z5{WcUVX*!mq*lyA7hL)qfErmnp@mZAR_V1nD8&_XXn(*22fDZX%smIg`0jZ{Je@vF+ZX(;^RHWOB!UVd9Qa>Uh!a9xlVS&nE(}`$Q#WaUlAlNr4 z=UhoBeFwY3gFr^=o9tkgzTU#EzkVYV63uY$r>NyLIDXuz(5w2* zo1&kq*=13Lx7OeUt;yUHZup`BWugI4%zrd8(|J0su{h4$u@2-dWr)Yr?TO8NfVMGD zC=O3~Y`mBQrsp_mwK&8WN!%JTEUgs65znJ5`<1Tjceq@a*C&AfpA+xFD&oxmy2;6d z)5;m+$K`%TMnwbHY<`F*h2_ob8UHHQG$M1!I36?u3ugBC%;%+n%*#5IE=MFLB)$;` zV77K6cI43w(Zv#bX3@TERz*bS-%j3u^D{I>GJc_2k-crl7c*Zw-vmW98WLLyMYTW-<35ewLFa=^7fQ9Uicvm^Z^4reGBSFL)xh$C4+QMHYu$U>{vi;B1?q5Q2`XmPR!dzL|lH0 zp3SyT4Jz&lSYOQ^e2?CiMjw4%|2-)krVPiH_2D|mfgFb^7oUa~)y<&{Om9Cccb{&0U=ub(*R!H&s4h@6PBoE5d)giR31sgt`R`eZ&n$go<7=G`C2hEklC>PyIa&K{mdJ3YtcEIa7(S;2)*Gtp zx4#Eeu;WUYX3)nV4L>aABrVAw4$*IfIzP)Bk2L!q`~DEh=n2U@nR? zk3=L+@rN_;srFRGM~31LZA>Ri#GBM6gelw{Zl^ycp&|CxHy^;S$CwA3MxISkn2hvt z4=i?mtPo{VIdHKkA?eE)%6vmF6Ma6>l&%O<_2cucdOvO9?S4+B7(%H}@fUweoF$por`SW{kv!?qcDVxS!NGlHhlLu~5zGvr2fn|_9( zcrOMHZ&DgRrigC>Be1zzjrm%k(VvI2&fL(o%23R#Tjl!IpK!g^V}WAjZC;;1O5KO+ z!jTU^7)valuL=T8HW=!Tpb!BNrdV;FSBysdV!qf@Rj{pQGZ|Q@0yb;TV;Yh+P9)&? z0hE>+L~3YN7ihWmhR|t0z~wGq3iAeXBqLB{BC!_3bHqID=9Dvw8<~q^Mg1Hi31Oaq z6`ywwI1_3AmglV)Dwh6&Km+nm@j^*1J8mYQF>uRIFr^4uDH5w)Q$fKsJHEO9?-VS` zL@`T+%0cw+!A3Wxvn$F#KUoAp2BgcU_c}UA&EclWh+c$&?+(qJ`sLMHO5|rRUdT`= zs0`->9FvFtL#M+#Z+7#;|I^Trf%xB&3L^6oGqbZ7bGQ)y(Cb?FSwg2MxFIzizLVBv zDO*B>Zui%x{n60T?sE(ud7}5p3>Ius`-v-xOI}BdSD|-Dn8J214M+_u@NxkhrjC`F zQ1L;@0L{V`FftAEKI%`Z*bdQDhtef6G;lyvVe$`EW^8?d7S^a&IvL>GmCs73mH&Qj zeB)a0Atc_>p|Vr$fL&*WIBrU55?J+&}|%EbL!!$b)Tf_MZ?CLq%{;hy2iq zKg`pmVfkgj3)?}s1W01U|9<;+pu}0cF9v97QIRCsUF|sj#6z$kFV||zG;35{mN(g! za)fLNv(Bs%x;v&WFt53V<2h{=m6>`6WgL&l61*8bt5aY-u&&!SXzP>25h)Oms77gm zW?Xr$9){~U?GpwuYwhgH-F$N9DJpM@OTBEnn?Jy@qricmr&dF7CiC4a&dT;~o0M^= z*|7sn1ioANlyfp}xi&TSPwL$?j`IuFN9-D_qZ7Az$C7Qo=i>DEPY%AFP=;2#_!gwS zcO_vtqD{j;c(g)R|H3zP<^Ucdt~@~&qQXBpcn36h`YlfE;VtRl8RuW=(mV4VRNp# z>-pywTQp4ufn(ndTcPHnGNpoSp4>RK5S>N5A&WP*_W4^;#@_cTS+!p|7ZRA-UY4I% z-u7$w6%O)xRMxjG#ySnpbymjKNR&8Wx7I1foKkc@nh`F-(@oNZg@ySjw8&bo88m2K zE{YjtN5<)4ZJ`4@wc}%warmAA0n6P^fb+`IT^J5VsIhaR5g#%?+|rHVN@*ISYk8LLo2ohCyaJTYE*UcEC>wjjAj4x zq7{+j^7Kd7?QgG=3w?Ll-@oAUfZ!WY3d)?IXuwzMD6%fTNX((2Bf;U(OV2<03!Vk- z{zrHi`V0x}_ZX%zy-aRoijPrxnKXfL6I!3vPSzS?uDm4#SB=eEw=#>NUMz3W$EWPo z#`Vp0_dlQBBu+vVL$OPINZxP}iZ`k>(wz@rYqqh>0JWUDrsm4SBiglU2_6BJ!l!uf zCozo>&yVu`d**kt3ls6k6#RN*_$f$9;Wa8%KXoY9Y%3G0ea|ChasBMk_&@PGKBdkFtamwrx2Na%d# zC`JZYn*-+%-hm8b**8;x0mBldQ8r_VpSz}Z5fGX2;teQfo6SEfBGtPjGJFFmOT901 z#K_$FC}aV$BN`~i(Jo$W&AWxssLfZ7lc5Qj)#9|DJ$tru+Z2RFtj%HQ*5vQgnZj|4 z;7V&xkt{h->;0O~WVrH`=B-sD2zeyqBQ#GJF0{g^a;nO_Km(RS&4tB-NPAWCrTE`R zjn}yif|1hn4^4_9$pM+29GQ*k=nvA2P2H5L4cAz7JWuEA{}{M`P-IVCg>w<{pVB2H z@8^63XTi}G9pLfx!lF@d1sd?Ui n24;&R#UwB8*kcXCn5b9-Cr?0W79n>BUz?Q zsg+>_E{ZbbCDk@(N2U~bcKl*S-;tG?Fw}T@d^5Wqx?lymoyAvZ^Vm#0Rjr2N*>-d3#XrqBV@Oq#Vm913EGGi9iHteOG z<}NH8#+)Z`A_11>jljg&gu6lZ9_{M(<8`<^{DQ&W1G<%1mz%3(l;aGw11)>s z+vO=gP`L0yhMm}Kwyk|Z%JI?8fDz!Wqf zeJ8h}MkJB2%U$EpBg^)|@p%*;cu~+#lIfVf2`M>EWh6$t971GpYz7Dk8a^D0KS%>O zFT~SnW}7tNF{0}$lK2f6%(($4U3?0-1WY48JpM>m**pp3%vWSVFmD6|9uUena0A*D zUIT^!ekrYeB2#c|!z;8?J8EaC*(nLwSBcky|M~MRx%okxmN89EXYhV?^s%0Al%dlw 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 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/visualize.html b/radiant.data/docs/reference/visualize.html new file mode 100644 index 0000000..bd0cb4c --- /dev/null +++ b/radiant.data/docs/reference/visualize.html @@ -0,0 +1,357 @@ + +Visualize data using ggplot2 https://ggplot2.tidyverse.org/ — visualize • radiant.data + + +

    +
    + + + +
    +
    + + +
    +

    Plot method for the pivotr function

    +
    + +
    +
    # S3 method for pivotr
    +plot(
    +  x,
    +  type = "dodge",
    +  perc = FALSE,
    +  flip = FALSE,
    +  fillcol = "blue",
    +  opacity = 0.5,
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    x
    +

    Return value from pivotr

    + + +
    type
    +

    Plot type to use ("fill" or "dodge" (default))

    + + +
    perc
    +

    Use percentage on the y-axis

    + + +
    flip
    +

    Flip the axes in a plot (FALSE or TRUE)

    + + +
    fillcol
    +

    Fill color for bar-plot when only one categorical variable has been selected (default is "blue")

    + + +
    opacity
    +

    Opacity for plot elements (0 to 1)

    + + +
    ...
    +

    further arguments passed to or from other methods

    + +
    +
    +

    Details

    +

    See https://radiant-rstats.github.io/docs/data/pivotr for an example in Radiant

    +
    +
    +

    See also

    +

    pivotr to generate summaries

    +

    summary.pivotr to show summaries

    +
    + +
    +

    Examples

    +
    pivotr(diamonds, cvars = "cut") %>% plot()
    +
    +pivotr(diamonds, cvars = c("cut", "clarity")) %>% plot()
    +
    +pivotr(diamonds, cvars = c("cut", "clarity", "color")) %>% plot()
    +
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +

    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%0AixuR$(lEEPu8<=`j=3nf4h~O$E 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 AjQ{`u literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/Rplot006.png b/radiant.data/docs/reference/Rplot006.png new file mode 100644 index 0000000000000000000000000000000000000000..4538d9d120cb695ad1b78fabcc61e5518da8e2ce GIT binary patch literal 66457 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 rdk}@3^*w(5zstqrCGP5Jd~55ufB2! literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/Rplot007.png b/radiant.data/docs/reference/Rplot007.png new file mode 100644 index 0000000000000000000000000000000000000000..4e587045a2a7075fcca8b73ae53bd6c7a706c14d GIT binary patch literal 13238 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 Jlw7xZ_#Xn~`e6V7 literal 0 HcmV?d00001 diff --git a/radiant.data/docs/reference/Rplot008.png b/radiant.data/docs/reference/Rplot008.png new file mode 100644 index 0000000000000000000000000000000000000000..28502aaf39dd50e49a16bcda02fc1db3ca3c2a0e GIT binary patch literal 24179 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 +Convenience function to add a class — add_class • radiant.data + + +

  • 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 s01#4XW;pXl?-@Ua~)ryLWjGd7` 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/inner_join.png b/radiant.data/inst/app/tools/help/figures/inner_join.png new file mode 100644 index 0000000000000000000000000000000000000000..cb775f49c47a437781cc7505c891d0adfdcf0e33 GIT binary patch literal 29570 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/left_join.png b/radiant.data/inst/app/tools/help/figures/left_join.png new file mode 100644 index 0000000000000000000000000000000000000000..d20c1b1cbbbf7ed9d280a1683442235b430c0c01 GIT binary patch literal 30655 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/tools/help/figures/pivotr.png b/radiant.data/inst/app/tools/help/figures/pivotr.png new file mode 100644 index 0000000000000000000000000000000000000000..423fec5631d07476feba0bbb1d32397f0531fd05 GIT binary patch literal 228659 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%0Dy1qZxuNcchT2{B|*7%Ds^E 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

    hI>`X@p1RZUZT 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�G*1DuZ^{Xq^xM%fq=QMi_20k5w(W6HrZhfv& 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 + + + + + + + + + + + + +manage.utf8.md + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + + + + + + + + diff --git a/radiant.data/inst/app/tools/help/manage.md b/radiant.data/inst/app/tools/help/manage.md new file mode 100644 index 0000000..55a2cc7 --- /dev/null +++ b/radiant.data/inst/app/tools/help/manage.md @@ -0,0 +1,55 @@ +> 数据和状态管理:将数据加载到 Radiant、将数据保存到磁盘、从内存中移除数据集,或保存 / 加载应用状态 + +### 数据集 + +首次启动 Radiant 时,会显示一个包含钻石价格信息的数据集(`diamonds`)。 + +为你使用的每个文件添加数据和变量描述是良好的实践。对于 Radiant 自带的文件,在数据前 10 行的表格下方,你会看到变量等的简要概述。要为自己的数据添加描述,点击 `添加 / 编辑数据描述`复选框。表格下方会打开一个文本输入框,你可以在其中以markdown格式添加文本。Radiant 自带的`diamonds`数据的描述应能作为良好示例。添加或编辑描述后,点击 `更新描述` 按钮。 + +要重命名 Radiant 中已加载的数据集,点击 `重命名数据` 复选框,输入新名称,然后点击 `重命名`按钮。 + +### 加载数据 + +在 Radiant(和 R)中加载和保存数据的最佳方式是使用 R 数据格式(rds 或 rda)。这些是二进制文件,可紧凑存储且能快速读入 R。从 `加载数据类型` 下拉菜单中选择`rds`(或`rda`),点击 `浏览` 找到你要在电脑上加载的文件。 + +有两种方法可将电子表格(如 Excel 或 Google 表格)中的数据导入 Radiant。第一种,你可以将电子表格中的数据保存为 csv 格式,然后在 Radiant 中从`加载数据类型` 下拉菜单中选择`csv`。你的 csv 文件很可能有包含变量名的标题行。如果数据不是用逗号分隔的,你可以选择分号或制表符分隔。要加载 csv 文件,点击 `浏览` 并在电脑上找到该文件。 + +另外,你可以在电子表格中使用 CTRL-C(或 Mac 上的 CMD-C)选择并复制数据,转到 Radiant,从 `加载数据类型` 下拉菜单中选择`剪贴板`,然后点击 `粘贴` 按钮。对于格式清晰的小型数据集,这是个便捷的捷径。 + +如果数据在 R 的全局工作区中可用(例如,你在 RStudio 中打开了一个数据集,然后从 “插件(addins)” 菜单启动了 Radiant),你可以通过选择 “from global workspace”(从全局工作区)将其移动(或复制)到 Radiant。选择你要使用的数据框,然后点击 `加载` 按钮。 + +要访问 Radiant 自带的所有数据文件,从 “加载数据类型” 下拉菜单中选择`examples`(示例),然后点击 “加载” 按钮。这些文件用于演示 Radiant 中各种数据和分析工具。例如,`avengers`和`publishers`数据用于演示如何在 R(adiant)中合并数据(即 “数据> 合并”)。 + +如果 csv 数据在线可用,从下拉菜单中选择`csv (url)`,将网址粘贴到显示的文本输入框中,然后按 `加载`。如果 rda 文件在线可用,从下拉菜单中选择`rda (url)`,将网址粘贴到文本输入框中,然后按 `加载`。 + +### 保存数据 + +如前所述,在 Radiant 中导入和导出数据最便捷的方式是使用 R 数据格式(rds 或 rda)。从 `保存数据类型` 下拉菜单中选择`rds`(或`rda`),点击 `保存` 按钮将所选数据集保存到文件。 + +同样,为你使用的每个文件添加数据和变量描述是良好的实践。要为自己的数据添加描述,点击 `添加 / 编辑数据描述` 复选框,在文本输入窗口中以markdown格式添加文本,然后点击 `更新描述` 按钮。当你将数据保存为 `rds`(或` rda`)文件时,你创建(或编辑)的描述会自动作为`attribute`(属性)添加到文件中。 + +将数据从 Radiant 导入电子表格有两种方法。第一种,你可以将数据保存为 csv 格式,然后将文件加载到电子表格中(即从 “保存数据类型” 下拉菜单中选择`csv`,点击 “保存” 按钮)。另外,你可以通过从下拉菜单中选择`剪贴板`,点击 `复制` 按钮,将数据从 Radiant 复制到剪贴板,打开电子表格,使用 CTRL-V(或 Mac 上的 CMD-V)将 Radiant 中的数据粘贴进去。 + +要将数据从 Radiant 移动或复制到 R(studio)的全局工作区,从 “保存数据类型” 下拉菜单中选择`到全局工作空间`,点击 `保存` 按钮。 + +### 保存和加载状态 + +如果你想在其他时间(可能在另一台电脑上)完成工作,或回顾之前使用 Radiant 完成的工作,使用状态文件会很方便。你可以像保存数据文件一样保存和加载 Radiant 应用的状态。状态文件(扩展名为`.state.rda`)将包含:(1)Radiant 中加载的数据;(2)你正在进行的分析设置;(3)“报告(Report)” 菜单中的所有报告或代码。要将应用的当前状态保存到硬盘,点击导航栏中的图标,然后点击 `保存 Radiant 状态文件`。要加载之前的状态,点击导航栏中的图标,然后点击`加载 Radiant 状态文件`。 + +你也可以与想要复现你分析的人共享状态文件。例如,下载然后按上述方法加载状态文件radiant-example.state.rda。你会自动导航到 “数据> 可视化” 标签页并看到一个图表。也可查看 “数据 > 查看” 标签页,获取从状态文件加载的其他设置。“报告 > Rmd” 中还有一个使用 Radiant 界面创建的报告。html 文件radiant-example.nb.html包含点击`编译报告` 按钮生成的输出。 + +状态的加载和保存也适用于 RStudio。如果你从 RStudio 启动 Radiant,使用然后点击 `停止`,`r_data`环境以及`r_info`和`r_state`列表会放入 RStudio 的全局工作区。如果你从 “插件(Addins)” 菜单再次启动 Radiant,它会使用`r_data`、`r_info`和`r_state`恢复状态。此外,如果你直接在 RStudio 中加载状态文件,启动 Radiant 时会使用该文件。 + +使用导航栏中菜单中的 `刷新` 可返回到干净 / 新状态。 + +### 从内存中移除数据 + +如果内存中加载了当前会话不再需要的数据,勾选 `从内存中移除数据`框。然后选择要移除的数据,点击 `移除数据` 按钮。始终会保留一个数据文件。 + +### 使用命令加载和保存数据 + +在 “报告> Rmd” 或 “报告 > R” 中,可使用 R 代码将数据从文件直接加载到活跃的 Radiant 会话中。使用`register("insert-dataset-name")`将数据集添加到 “数据集(Datasets)” 下拉菜单中。也可使用 R 代码从 Radiant 提取数据并保存到磁盘。 + +### R 函数 + +有关 Radiant 中用于加载和保存数据的相关 R 函数概述,请参见*数据 > 管理* 。 diff --git a/radiant.data/inst/app/tools/help/pivotr.md b/radiant.data/inst/app/tools/help/pivotr.md new file mode 100644 index 0000000..3d6f91a --- /dev/null +++ b/radiant.data/inst/app/tools/help/pivotr.md @@ -0,0 +1,44 @@ +> 创建透视表以探索你的数据 + +如果你使用过 Excel 中的透视表,那么 “数据> 透视表” 标签页提供的功能对你来说会很熟悉。与“数据> 探索”标签页类似,你可以为数据中的变量生成汇总统计量,也可以生成频数表。“数据> 透视” 中最强大的功能或许是,你可以轻松地**按**一个或多个其他变量来描述数据。 + +例如,加载`diamonds`数据后,从 `分类变量` 下拉菜单中选择`clarity`和`cut`。第一个变量的类别将作为列标题,但你可以通过拖放所选变量来更改它们的顺序。选择这两个变量并点击 `生成透视表`按钮后,会显示不同净度和切工等级钻石的频数表。从 `归一化方式` 下拉菜单中选择 `行`、`列` 或 `总计`,可按行、列或总计数对单元格频数进行归一化,或根据汇总统计量创建指数。如果选择了归一化选项,勾选 `百分比` 框将数值表示为百分比会很方便。从 `条件格式化` 下拉菜单中选择 `色条` 或 `热力图`,可突出显示最高频数。 + +I也可以汇总数值变量。从 `数值变量`下拉菜单中选择`price`,将生成下方所示的表格。就像在“数据> 查看”标签页中一样,你可以通过点击列标题对表格排序。你也可以使用滑块(例如,点击`I1`下方的输入框)将视图限制在指定范围内的值。要仅查看切工为 “Very good”“Premium” 或 “Ideal” 的钻石信息,点击`cut`标题下方的输入框。 + +

    + +以下是 “应用函数(Apply function)” 下拉菜单中几个函数的简要说明。不过,大多数函数的含义不言自明。 + +* `n`计算数据中的观测数(或行数);若指定了 “分组依据(Group by)” 变量,则计算每组中的观测数(`n`使用 R 中的`length`函数) +* `n_distinct`计算不同值的数量 +* `n_missing`计算缺失值的数量 +* `cv`是变异系数(即 mean (x) /sd (x)) +* `sd`和`var`计算数值数据的样本标准差和方差 +* `me`使用 95% 置信水平计算数值变量的误差边际 +* `prop`计算比例。对于仅含 0 或 1 值的变量,其结果等同于`mean`。对于其他数值变量,它计算最大值的出现比例。对于`factor`,它计算第一个水平的出现比例。 +* `sdprop`和`varprop`计算比例的样本标准差和方差 +* `meprop`使用 95% 置信水平计算比例的误差边际 +* `sdpop`和`varpop`计算总体标准差和方差 + +你也可以基于生成的表格创建条形图(见上图)。要下载 csv 格式的表格或 png 格式的图表,点击右侧相应的下载图标。 + +> 注意,当分类变量(`factor`)从 `数值变量` 下拉菜单中被选中时,若所选函数需要,该变量将被转换为数值变量。如果因子水平是数值型的,这些数值将用于所有计算。由于均值、标准差等统计量对非二元分类变量不适用,这类变量将被转换为 0-1(二元)变量,其中第一个水平编码为 1,其他所有水平编码为 0。 + +### 过滤数据 + +使用 “过滤数据(Filter data)” 框选择(或排除)数据中要制表的特定行集。详见“数据> 查看(Data > View)”的帮助文件。 + +### 存储 + +生成的透视表可以通过点击 `存储` 按钮存储到 Radiant 中。如果你想对表格进行进一步分析,或在“数据> 可视化”中基于汇总数据创建图表,这会很有用。要将表格下载为 csv 格式,点击右上角的下载图标。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向“报告> Rmd”添加代码以(重新)创建透视表。 + +如果已创建图表,可使用`ggplot2`命令进行自定义(例如,`plot(result) + labs(title = "透视图表")`)。详情请参见“数据> 可视化”。 + +### R 函数 + +有关 Radiant 中用于创建透视表的相关 R 函数概述,请参见“数据> 透视” 。 diff --git a/radiant.data/inst/app/tools/help/report_r.Rmd b/radiant.data/inst/app/tools/help/report_r.Rmd new file mode 100644 index 0000000..ead51ce --- /dev/null +++ b/radiant.data/inst/app/tools/help/report_r.Rmd @@ -0,0 +1,71 @@ +> 使用 R 创建(可重复的)报告 + +“报告> R” 标签页允许你运行 R 代码,且可访问 Radiant 中的所有函数和数据。点击`编译报告(R)`按钮后,代码将被执行,输出结果会显示在 “报告> R” 页面的右侧。要仅执行部分代码,用光标选中该部分并按`CTRL-enter`(Mac 上为`CMD-enter`)。 + +你可以通过点击 “加载报告(Load report)” 按钮并选择.r 或.R 文件,将 R 代码文件加载到 Radiant 中。如果你从 RStudio 启动 Radiant,可以通过从下拉菜单中选择所需格式并点击 “保存报告(Save report)” 按钮,将报告保存为 HTML、Word 或 PDF 格式。要仅保存代码,从下拉菜单中选择`R`并按 “保存报告” 按钮。 + +如果你从 RStudio 启动 Radiant,还可以点击 “读取文件(Read files)” 按钮浏览文件并生成将其读入 Radiant 的代码。例如,读取 rda、rds、xls、yaml 和 feather 格式的文件,并将它们添加到 “数据集(Datasets)” 下拉菜单中。如果你想要加载的文件类型当前不支持,将返回文件路径。使用的文件路径将相对于 RStudio 项目根目录。同步到本地 Dropbox 或 Google Drive 文件夹的文件路径将使用`find_dropbox`和`find_gdrive`函数,以增强可重复性。 + +例如,你可以将下方代码复制粘贴到编辑器中,然后按`Knit report (R)`生成结果。 + +```r +## get the active dataset and show the first few observations +.get_data() %>% + head() + +## access a dataset +diamonds %>% + select(price, clarity) %>% + head() + +## add a variable to the diamonds data +diamonds <- mutate(diamonds, log_price = log(price)) + +## show the first observations in the price and log_price columns +diamonds %>% + select(price, log_price) %>% + head() + +## create a histogram of prices +diamonds %>% + ggplot(aes(x = price)) + + geom_histogram() + +## and a histogram of log-prices using radiant.data::visualize +visualize(diamonds, xvar = "log_price", custom = TRUE) + +## open help in the R-studio viewer from Radiant +help(package = "radiant.data") + +## If you are familiar with Shiny you can call reactives when the code +## is evaluated inside a Shiny app. For example, if you transformed +## some variables in Data > Transform you can call the transform_main +## reacive to see the latest result. Very useful for debugging +# transform_main() %>% head() +head() +``` + +## 选项 + +“报告> Rmd” 和 “报告 > R” 中使用的编辑器有多个选项可在`.Rprofile`中设置。 + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +``` + +说明: + +- `vim.keys`启用一组特殊的键盘快捷键。如果你从未使用过 VIM,可能不需要开启此选项 +- 有关可用的编辑器主题概述,参见:`shinyAce::getAceThemes()` +- 默认情况下,制表符会转换为 2 个空格(即 “软” 制表符)。你可以将使用的空格数从 2 更改为例如 4 +- `showInvisibles`在编辑器中显示制表符和空格 +- 自动完成有 “live”“enabled” 和 “disabled” 三个选项 + +### R 函数 + +有关 Radiant 中用于生成可重复报告的相关 R 函数概述,请参见*报告* 。 diff --git a/radiant.data/inst/app/tools/help/report_r.md b/radiant.data/inst/app/tools/help/report_r.md new file mode 100644 index 0000000..ead51ce --- /dev/null +++ b/radiant.data/inst/app/tools/help/report_r.md @@ -0,0 +1,71 @@ +> 使用 R 创建(可重复的)报告 + +“报告> R” 标签页允许你运行 R 代码,且可访问 Radiant 中的所有函数和数据。点击`编译报告(R)`按钮后,代码将被执行,输出结果会显示在 “报告> R” 页面的右侧。要仅执行部分代码,用光标选中该部分并按`CTRL-enter`(Mac 上为`CMD-enter`)。 + +你可以通过点击 “加载报告(Load report)” 按钮并选择.r 或.R 文件,将 R 代码文件加载到 Radiant 中。如果你从 RStudio 启动 Radiant,可以通过从下拉菜单中选择所需格式并点击 “保存报告(Save report)” 按钮,将报告保存为 HTML、Word 或 PDF 格式。要仅保存代码,从下拉菜单中选择`R`并按 “保存报告” 按钮。 + +如果你从 RStudio 启动 Radiant,还可以点击 “读取文件(Read files)” 按钮浏览文件并生成将其读入 Radiant 的代码。例如,读取 rda、rds、xls、yaml 和 feather 格式的文件,并将它们添加到 “数据集(Datasets)” 下拉菜单中。如果你想要加载的文件类型当前不支持,将返回文件路径。使用的文件路径将相对于 RStudio 项目根目录。同步到本地 Dropbox 或 Google Drive 文件夹的文件路径将使用`find_dropbox`和`find_gdrive`函数,以增强可重复性。 + +例如,你可以将下方代码复制粘贴到编辑器中,然后按`Knit report (R)`生成结果。 + +```r +## get the active dataset and show the first few observations +.get_data() %>% + head() + +## access a dataset +diamonds %>% + select(price, clarity) %>% + head() + +## add a variable to the diamonds data +diamonds <- mutate(diamonds, log_price = log(price)) + +## show the first observations in the price and log_price columns +diamonds %>% + select(price, log_price) %>% + head() + +## create a histogram of prices +diamonds %>% + ggplot(aes(x = price)) + + geom_histogram() + +## and a histogram of log-prices using radiant.data::visualize +visualize(diamonds, xvar = "log_price", custom = TRUE) + +## open help in the R-studio viewer from Radiant +help(package = "radiant.data") + +## If you are familiar with Shiny you can call reactives when the code +## is evaluated inside a Shiny app. For example, if you transformed +## some variables in Data > Transform you can call the transform_main +## reacive to see the latest result. Very useful for debugging +# transform_main() %>% head() +head() +``` + +## 选项 + +“报告> Rmd” 和 “报告 > R” 中使用的编辑器有多个选项可在`.Rprofile`中设置。 + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +``` + +说明: + +- `vim.keys`启用一组特殊的键盘快捷键。如果你从未使用过 VIM,可能不需要开启此选项 +- 有关可用的编辑器主题概述,参见:`shinyAce::getAceThemes()` +- 默认情况下,制表符会转换为 2 个空格(即 “软” 制表符)。你可以将使用的空格数从 2 更改为例如 4 +- `showInvisibles`在编辑器中显示制表符和空格 +- 自动完成有 “live”“enabled” 和 “disabled” 三个选项 + +### R 函数 + +有关 Radiant 中用于生成可重复报告的相关 R 函数概述,请参见*报告* 。 diff --git a/radiant.data/inst/app/tools/help/report_rmd.Rmd b/radiant.data/inst/app/tools/help/report_rmd.Rmd new file mode 100644 index 0000000..84669e0 --- /dev/null +++ b/radiant.data/inst/app/tools/help/report_rmd.Rmd @@ -0,0 +1,61 @@ +> 使用 Rmarkdown 创建(可重复的)报告 + +在 Radiant 中存储工作的最佳方式是使用 “报告> Rmd” 功能,并保存包含所有结果和设置的状态文件。Radiant 的报告功能应与大多数页面左下角显示的图标结合使用。 + +“报告> Rmd” 左侧的编辑器中,以**R 代码块**形式显示过往命令。这些 “代码块” 可包含你输入的 R 代码,或 Radiant 生成的代码(点击图标后添加到报告中)。所有代码块均以````{r}`开头,以`````结尾。 + +默认情况下,Radiant 会将你刚完成的分析所生成的 R 代码添加到报告底部。点击图标后,Radiant 默认会切换到 “报告> Rmd” 标签页。点击左侧编辑器窗口并向下滚动,即可看到生成的命令。 + +如果你想更精确地控制 Radiant 生成的 R 代码在报告中的位置,可在 “报告> Rmd” 标签页的相应下拉菜单中选择 `手动粘贴`而非 `自动粘贴`。选择 `手动粘贴` 后,点击时,代码会被复制到剪贴板,你可将其粘贴到编辑器窗口的任意位置。 + +如果你从 RStudio 启动 Radiant,还可选择将命令发送到 RStudio 中打开的 Rmarkdown(R 代码)文档,方法是在下拉菜单中选择 “> Rmd”(或 “> R”)而非 “自动粘贴” 或 “手动粘贴”。选择 “> Rmd” 后,“报告 > Rmd” 中的编辑器会隐藏(即 “仅预览”),点击 “编译报告(Rmd)” 会直接从 RStudio 获取文本和代码。 + +默认情况下,点击图标后,应用会切换到 “报告> Rmd” 标签页。但如果你不想在点击该图标后切换标签页,可在 “报告 > Rmd” 标签页的相应下拉菜单中选择 `不切换标签页`。当选择 “> Rmd” 时,“不切换标签页” 为默认选项。 + +你可以添加文本或额外命令来创建 Rmarkdown 文档。Rmarkdown 文件(扩展名为.Rmd)是纯文本文件,可在记事本(Windows)、文本编辑(Mac)、RStudio、Sublime Text 或任何其他文本编辑器中打开。请**不要**使用 Word 编辑 Rmarkdown 文件。 + +使用 Rmarkdown 的强大之处在于,你无需重新生成所有必要的 R 代码,就能快速复现整个分析。点击屏幕左上角的 “编译报告(Rmd)” 按钮后,分析输出会被(重新)生成并显示在 “报告 > Rmd” 页面的右侧。要仅执行报告的一部分,用光标选中该部分并按`CTRL-enter`(Mac 上为`CMD-enter`)生成(部分)输出。 + +你可以在代码块周围添加文本、项目符号、标题等,使用markdown格式描述和解释结果。如需交互式 markdown 教程,请访问[commonmark.org](https://commonmark.org)。 + +如果你从 RStudio 启动 Radiant,可将报告保存为多种格式(即笔记本、HTML、Word、PowerPoint 或 PDF)。有关生成 PowerPoint 演示文稿的更多信息,参见https://bookdown.org/yihui/rmarkdown/powerpoint-presentation.html。要保存编辑器中打开的 Rmarkdown 文件,选择 `Rmd`(或 `Rmd + Data(zip)`)并按 `保存报告` 按钮。之前保存的 Rmarkdown 文件可通过 `加载报告` 按钮加载到 Radiant 中。 + +你也可以点击 `读取文件` 按钮浏览文件,并生成将其读入 Radiant 的代码。例如,读取 rda、rds、xls、yaml 和 feather 格式的文件并将它们添加到 “数据集” 下拉菜单中。你还可以读取图像、R 代码和文本(如 Rmd 或 md)以包含在报告中。如果你想要加载的文件类型当前不支持,会返回文件路径。如果 Radiant 从 RStudio 项目启动,使用的文件路径将相对于项目根目录。同步到本地 Dropbox 或 Google Drive 文件夹的文件路径会使用`find_dropbox`和`find_gdrive`函数,以增强可重复性。 + +## 状态 + +保存分析和设置的最佳方式是,通过点击导航栏中的图标,然后点击 `保存 Radiant 状态文件`,将应用程序的 “状态” 保存到文件中。状态文件(扩展名为 rda)将包含:(1)Radiant 中加载的数据;(2)你正在进行的分析设置;(3)“报告 > Rmd” 和 “报告 > R” 中的所有报告或代码。将状态文件保存到硬盘,当你准备继续工作时,只需通过导航栏中的图标,然后点击 `加载 Radiant 状态文件`加载它即可。 + +如果你在课程中使用 Radiant,建议使用 “报告> Rmd” 功能完成作业和案例分析。完成后,点击 `保存报告` 按钮生成(HTML)笔记本(或 Word、PDF)报告。同时提交报告和状态文件。 + +## 选项 + +“报告> Rmd” 和 “报告 > R” 中使用的编辑器有多个选项可在`.Rprofile`中设置。你可以使用`usethis::edit_r_profile()`修改`.Rprofile`中的设置。 + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +options(radiant.powerpoint_style = "~/Dropbox/rmd-styles/style.potx") +options(radiant.word_style = "~/Dropbox/rmd-styles/style.docx") +options(radiant.theme = bslib::bs_theme(version = 4, bootswatch = "darkly")) +``` + +说明: + +* `vim.keys`启用一组特殊的键盘快捷键。如果你从未使用过 VIM,可能不需要开启此选项 +* 有关可用的编辑器主题概述,参见:`shinyAce::getAceThemes()` +* 默认情况下,制表符会转换为 2 个空格(即 “软制表符”)。你可以将使用的空格数从 2 更改为例如 4 +* `showInvisibles`在编辑器中显示制表符和空格 +* 自动完成有 “live”“enabled” 和 “disabled” 三个选项 +* Radiant 对 Word 和 PowerPoint 文件有默认样式。不过,这些样式可替换为你创建的样式文件。点击下方链接将 Radiant 中使用的样式文件下载到你的电脑。编辑这些文件,并使用上述`options`函数告知 Radiant 你想要使用的样式文件位置。 + * Word 样式文件 + * PowerPoint 样式文件 +* `theme`选项可用于更改 Radiant 界面的外观。有关可用主题的概述,参见:https://rstudio.github.io/bslib/articles/theming/index.html#bootswatch + +### R 函数 + +有关 Radiant 中用于生成可重复报告的相关 R 函数概述,请参见*报告* 。 diff --git a/radiant.data/inst/app/tools/help/report_rmd.md b/radiant.data/inst/app/tools/help/report_rmd.md new file mode 100644 index 0000000..84669e0 --- /dev/null +++ b/radiant.data/inst/app/tools/help/report_rmd.md @@ -0,0 +1,61 @@ +> 使用 Rmarkdown 创建(可重复的)报告 + +在 Radiant 中存储工作的最佳方式是使用 “报告> Rmd” 功能,并保存包含所有结果和设置的状态文件。Radiant 的报告功能应与大多数页面左下角显示的图标结合使用。 + +“报告> Rmd” 左侧的编辑器中,以**R 代码块**形式显示过往命令。这些 “代码块” 可包含你输入的 R 代码,或 Radiant 生成的代码(点击图标后添加到报告中)。所有代码块均以````{r}`开头,以`````结尾。 + +默认情况下,Radiant 会将你刚完成的分析所生成的 R 代码添加到报告底部。点击图标后,Radiant 默认会切换到 “报告> Rmd” 标签页。点击左侧编辑器窗口并向下滚动,即可看到生成的命令。 + +如果你想更精确地控制 Radiant 生成的 R 代码在报告中的位置,可在 “报告> Rmd” 标签页的相应下拉菜单中选择 `手动粘贴`而非 `自动粘贴`。选择 `手动粘贴` 后,点击时,代码会被复制到剪贴板,你可将其粘贴到编辑器窗口的任意位置。 + +如果你从 RStudio 启动 Radiant,还可选择将命令发送到 RStudio 中打开的 Rmarkdown(R 代码)文档,方法是在下拉菜单中选择 “> Rmd”(或 “> R”)而非 “自动粘贴” 或 “手动粘贴”。选择 “> Rmd” 后,“报告 > Rmd” 中的编辑器会隐藏(即 “仅预览”),点击 “编译报告(Rmd)” 会直接从 RStudio 获取文本和代码。 + +默认情况下,点击图标后,应用会切换到 “报告> Rmd” 标签页。但如果你不想在点击该图标后切换标签页,可在 “报告 > Rmd” 标签页的相应下拉菜单中选择 `不切换标签页`。当选择 “> Rmd” 时,“不切换标签页” 为默认选项。 + +你可以添加文本或额外命令来创建 Rmarkdown 文档。Rmarkdown 文件(扩展名为.Rmd)是纯文本文件,可在记事本(Windows)、文本编辑(Mac)、RStudio、Sublime Text 或任何其他文本编辑器中打开。请**不要**使用 Word 编辑 Rmarkdown 文件。 + +使用 Rmarkdown 的强大之处在于,你无需重新生成所有必要的 R 代码,就能快速复现整个分析。点击屏幕左上角的 “编译报告(Rmd)” 按钮后,分析输出会被(重新)生成并显示在 “报告 > Rmd” 页面的右侧。要仅执行报告的一部分,用光标选中该部分并按`CTRL-enter`(Mac 上为`CMD-enter`)生成(部分)输出。 + +你可以在代码块周围添加文本、项目符号、标题等,使用markdown格式描述和解释结果。如需交互式 markdown 教程,请访问[commonmark.org](https://commonmark.org)。 + +如果你从 RStudio 启动 Radiant,可将报告保存为多种格式(即笔记本、HTML、Word、PowerPoint 或 PDF)。有关生成 PowerPoint 演示文稿的更多信息,参见https://bookdown.org/yihui/rmarkdown/powerpoint-presentation.html。要保存编辑器中打开的 Rmarkdown 文件,选择 `Rmd`(或 `Rmd + Data(zip)`)并按 `保存报告` 按钮。之前保存的 Rmarkdown 文件可通过 `加载报告` 按钮加载到 Radiant 中。 + +你也可以点击 `读取文件` 按钮浏览文件,并生成将其读入 Radiant 的代码。例如,读取 rda、rds、xls、yaml 和 feather 格式的文件并将它们添加到 “数据集” 下拉菜单中。你还可以读取图像、R 代码和文本(如 Rmd 或 md)以包含在报告中。如果你想要加载的文件类型当前不支持,会返回文件路径。如果 Radiant 从 RStudio 项目启动,使用的文件路径将相对于项目根目录。同步到本地 Dropbox 或 Google Drive 文件夹的文件路径会使用`find_dropbox`和`find_gdrive`函数,以增强可重复性。 + +## 状态 + +保存分析和设置的最佳方式是,通过点击导航栏中的图标,然后点击 `保存 Radiant 状态文件`,将应用程序的 “状态” 保存到文件中。状态文件(扩展名为 rda)将包含:(1)Radiant 中加载的数据;(2)你正在进行的分析设置;(3)“报告 > Rmd” 和 “报告 > R” 中的所有报告或代码。将状态文件保存到硬盘,当你准备继续工作时,只需通过导航栏中的图标,然后点击 `加载 Radiant 状态文件`加载它即可。 + +如果你在课程中使用 Radiant,建议使用 “报告> Rmd” 功能完成作业和案例分析。完成后,点击 `保存报告` 按钮生成(HTML)笔记本(或 Word、PDF)报告。同时提交报告和状态文件。 + +## 选项 + +“报告> Rmd” 和 “报告 > R” 中使用的编辑器有多个选项可在`.Rprofile`中设置。你可以使用`usethis::edit_r_profile()`修改`.Rprofile`中的设置。 + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +options(radiant.powerpoint_style = "~/Dropbox/rmd-styles/style.potx") +options(radiant.word_style = "~/Dropbox/rmd-styles/style.docx") +options(radiant.theme = bslib::bs_theme(version = 4, bootswatch = "darkly")) +``` + +说明: + +* `vim.keys`启用一组特殊的键盘快捷键。如果你从未使用过 VIM,可能不需要开启此选项 +* 有关可用的编辑器主题概述,参见:`shinyAce::getAceThemes()` +* 默认情况下,制表符会转换为 2 个空格(即 “软制表符”)。你可以将使用的空格数从 2 更改为例如 4 +* `showInvisibles`在编辑器中显示制表符和空格 +* 自动完成有 “live”“enabled” 和 “disabled” 三个选项 +* Radiant 对 Word 和 PowerPoint 文件有默认样式。不过,这些样式可替换为你创建的样式文件。点击下方链接将 Radiant 中使用的样式文件下载到你的电脑。编辑这些文件,并使用上述`options`函数告知 Radiant 你想要使用的样式文件位置。 + * Word 样式文件 + * PowerPoint 样式文件 +* `theme`选项可用于更改 Radiant 界面的外观。有关可用主题的概述,参见:https://rstudio.github.io/bslib/articles/theming/index.html#bootswatch + +### R 函数 + +有关 Radiant 中用于生成可重复报告的相关 R 函数概述,请参见*报告* 。 diff --git a/radiant.data/inst/app/tools/help/state.md b/radiant.data/inst/app/tools/help/state.md new file mode 100644 index 0000000..5c0e206 --- /dev/null +++ b/radiant.data/inst/app/tools/help/state.md @@ -0,0 +1,9 @@ +> 保存、加载、共享或查看状态 + +如果你想在其他时间(可能在另一台电脑上)完成工作,或回顾之前使用 Radiant 完成的工作,使用状态文件会很方便。你可以像保存数据文件一样保存和加载 Radiant 应用的状态。状态文件(扩展名为`.rda`)将包含:(1)Radiant 中加载的数据;(2)你正在进行的分析设置;(3)“报告(Report)” 菜单中的所有报告或代码。要将应用的当前状态保存到硬盘,点击导航栏中的图标,然后点击`保存Radiant状态文件`。要加载之前的状态,点击导航栏中的图标,然后点击`加载Radiant状态文件`。 + +你也可以与想要复现你分析的人共享状态文件。例如,按上述方法下载然后加载状态文件radiant-example.state.rda。你会自动导航到 “数据> 可视化” 标签页并看到一个图表。也可查看 “数据 > 查看” 标签页,获取从状态文件加载的其他设置。“报告 > Rmd” 中还有一个使用 Radiant 界面创建的报告。html 文件radiant-example.nb.html包含点击`编译报告`按钮生成的输出。 + +状态的加载和保存也适用于 RStudio。如果你从 RStudio 启动 Radiant,使用然后点击`停止`,`r_data`环境以及`r_info`和`r_state`列表会放入 RStudio 的全局工作区。如果你从 “插件(Addins)” 菜单再次启动 Radiant,它会使用`r_data`、`r_info`和`r_state`恢复状态。此外,如果你直接在 RStudio 中加载状态文件,启动 Radiant 时会使用该文件。 + +使用导航栏中菜单中的`刷新`可返回到干净 / 新状态。 \ No newline at end of file diff --git a/radiant.data/inst/app/tools/help/transform.Rmd b/radiant.data/inst/app/tools/help/transform.Rmd new file mode 100644 index 0000000..a2c07be --- /dev/null +++ b/radiant.data/inst/app/tools/help/transform.Rmd @@ -0,0 +1,312 @@ +> 转换变量 + +### 转换命令日志 + +在 “数据> 转换” 标签页中应用的所有转换都可被记录。例如,如果你对数值变量应用 “自然对数(Ln (natural log))” 转换,点击 `存储` 按钮后,以下代码会生成并显示在屏幕底部的 “转换命令日志” 窗口中。 + +```r +## transform variable +diamonds <- mutate_ext( + diamonds, + .vars = vars(price, carat), + .funs = log, + .ext = "_ln" +) +``` + +如果你想用新的类似数据重新运行报告,这一功能至关重要。更重要的是,它记录了数据转换和结果生成的步骤,即你的工作现在具有可重复性。 + +要将命令日志窗口中的命令添加到“报告> Rmd”中的报告,点击图标。 + +### 过滤数据 + +即使已指定过滤器,它对 “数据> 转换” 中的(大多数)函数也无效。要基于过滤器创建新数据集,请导航至“数据> 查看”标签页并点击 `存储` 按钮。或者,要基于过滤器创建新数据集,从 `转换类型`下拉菜单中选择 `拆分数据 > 留存样本`。 + +### 隐藏汇总 + +对于较大的数据集,或不需要汇总信息时,在选择转换类型并指定数据修改方式前,点击 `隐藏汇总` 会很有用。如果你想查看汇总,请确保未勾选 `隐藏汇总`。 + +### 修改变量 + +#### 分箱 + +当你想创建多个五分位数 / 十分位数 /... 变量时,“分箱(Bin)” 命令是下文讨论的`xtile`命令的便捷功能。要计算五分位数,在 “分箱数量(Nr bins)” 中输入`5`。“反转(reverse)” 选项会将 1 替换为 5、2 替换为 4……5 替换为 1。为新变量选择合适的扩展名。 + +#### 更改类型 + +从 “转换类型” 下拉菜单中选择 `类型` 后,会显示另一个下拉菜单,可用于更改一个或多个变量的类型(或类别)。例如,你可以将整数类型的变量转换为因子类型的变量。点击 “存储” 按钮将更改应用到数据集。以下是转换选项的说明: + +1. 转换为因子(As factor):将变量转换为因子类型(即分类变量) +2. 转换为数值(As number):将变量转换为数值类型 +3. 转换为整数(As integer):将变量转换为整数类型 +4. 转换为字符(As character):将变量转换为字符类型(即字符串) +5. 转换为时间序列(As times series):将变量转换为 ts 类型 +6. 转换为日期(月 - 日 - 年)(As date (mdy)):如果日期格式为月 - 日 - 年,将变量转换为日期类型 +7. 转换为日期(日 - 月 - 年)(As date (dmy)):如果日期格式为日 - 月 - 年,将变量转换为日期类型 +8. 转换为日期(年 - 月 - 日)(As date (ymd)):如果日期格式为年 - 月 - 日,将变量转换为日期类型 +9. 转换为日期 / 时间(月 - 日 - 年 - 时 - 分 - 秒)(As date/time (mdy_hms)):如果日期时间格式为月 - 日 - 年 - 时 - 分 - 秒,将变量转换为日期时间类型 +10. 转换为日期 / 时间(月 - 日 - 年 - 时 - 分)(As date/time (mdy_hm)):如果日期时间格式为月 - 日 - 年 - 时 - 分,将变量转换为日期时间类型 +11. 转换为日期 / 时间(日 - 月 - 年 - 时 - 分 - 秒)(As date/time (dmy_hms)):如果日期时间格式为日 - 月 - 年 - 时 - 分 - 秒,将变量转换为日期时间类型 +12. 转换为日期 / 时间(日 - 月 - 年 - 时 - 分)(As date/time (dmy_hm)):如果日期时间格式为日 - 月 - 年 - 时 - 分,将变量转换为日期时间类型 +13. 转换为日期 / 时间(年 - 月 - 日 - 时 - 分 - 秒)(As date/time (ymd_hms)):如果日期时间格式为年 - 月 - 日 - 时 - 分 - 秒,将变量转换为日期时间类型 +14. 转换为日期 / 时间(年 - 月 - 日 - 时 - 分)(As date/time (ymd_hm)):如果日期时间格式为年 - 月 - 日 - 时 - 分,将变量转换为日期时间类型 + +**注意:** 将变量转换为`ts`类型(即时间序列)时,至少应指定起始周期和数据频率。例如,对于从一年第 4 周开始的周数据,在 “起始周期(Start period)” 中输入`4`,并将 “频率(Frequency)” 设为`52`。 + +#### 标准化 + +从 “转换类型” 下拉菜单中选择 `标准化` 以标准化一个或多个变量。例如,在钻石数据中,我们可能希望按克拉数表示钻石价格。在 `选择变量` 框中选择`price`,并选择`carat`作为 `标准化变量`。主面板中会显示新变量(如`price_carat`)的汇总统计量。点击 “存储” 按钮将更改应用到数据。 + +#### 重编码 + +要使用重编码功能,选择你想要更改的变量,然后从 “转换类型” 下拉菜单中选择 “重编码(Recode)”。提供一个或多个重编码命令(用`;`分隔),按回车查看变量更改信息。注意,你可以在 “重编码变量名称(Recoded variable name)” 输入框中指定重编码后变量的名称(按回车提交更改)。最后,点击 “存储” 将重编码后的变量添加到数据中。以下是一些示例: + +1. 将 20 以下的值设为`低(Low)`,其他设为`高(High)` + + ```r + lo:20 = 'Low'; else = 'High' + ``` + +2. 将 20 以上的值设为`高(High)`,其他设为`低(Low)` + + ```r + 20:hi = 'High'; else = 'Low' + ``` + +3. 将 1-12 的值设为`A`,13-24 的值设为`B`,其余设为`C` + + ```r + 1:12 = 'A'; 13:24 = 'B'; else = 'C' + ``` + +4. 为“基础> 表格 > 交叉表”分析合并年龄类别。在下方示例中,`<25`和`25-34`重编码为`<35`,`35-44`和`45-54`重编码为`35-54`,`55-64`和`>64`重编码为`>54` + + + ```r + '<25' = '<35'; '25-34' = '<35'; '35-44' = '35-54'; '45-54' = '35-54'; '55-64' = '>54'; '>64' = '>54' + ``` + +5. 要在后续分析中排除特定值(如数据中的异常值),可将其重编码为缺失值。例如,如果我们想从名为`sales`的变量中移除等于 400 的最大值,(1)在 `选择变量` 框中选择变量`sales`,在 `重编码` 框中输入以下命令。按回车并点击 “存储” 将重编码后的变量添加到数据中 + + + ```r + 400 = NA + ``` + +5. 要将特定数值(如克拉数)重编码为新值,(1)在 `选择变量` 框中选择变量`carat`,在 `重编码` 框中输入以下命令,将克拉数大于或等于 2 的值设为 2。按回车并点击 `存储` 将重编码后的变量添加到数据中 + + ```r + 2:hi = 2 + ``` + +**注意:** 使用重编码功能时,变量标签中不要使用`=`(例如`50:hi = '>= 50'`),这会导致错误。 + +#### 重新排序或移除水平 + +如果 `选择变量` 中选中了单个因子类型变量,从`转换类型` 下拉菜单中选择 `移除/重新排序级别` 可重新排序和 / 或移除水平。拖放水平可重新排序,点击×可移除水平。注意,默认情况下,移除一个或多个水平会在数据中引入缺失值。如果你希望将移除的水平重编码为新水平(例如 “其他”),只需在`替换水平名称`输入框中输入 “其他” 并按回车。如果生成的因子水平符合预期,点击`存储` 应用更改。要暂时从数据中排除水平,使用 `过滤数据`框(参见“数据> 查看”标签页中的帮助文件)。 + +#### 重命名 + +从`转换类型` 下拉菜单中选择`重命名`,选择一个或多个变量,在 `重命名` 框中输入它们的新名称(用`,`分隔)。按回车在屏幕上查看重命名后变量的汇总,点击 `存储` 更改数据中的变量名称。 + +#### 替换 + +如果想用新变量(例如通过`创建、转换、剪贴板` 等创建的变量)替换数据中的现有变量,从 `转换类型` 下拉菜单中选择 `替换`。选择一个或多个要覆盖的变量和相同数量的替换变量。点击 `存储` 修改数据。 + +#### 转换 + +从`转换类型` 下拉菜单中选择 `转换` 后,会显示另一个下拉菜单,可用于对数据中的一个或多个变量应用常见转换。例如,要对变量取自然对数,选择要转换的变量,从 `应用函数` 下拉菜单中选择 `自然对数`。转换后的变量会带有 `变量名称扩展名` 输入框中指定的扩展名(例如`_ln`)。更改扩展名后请务必按回车。点击 `存储` 按钮将(更改后的)变量添加到数据集。以下是 Radiant 中包含的转换函数说明: + +1. 自然对数(Ln):创建所选变量的自然对数转换版本(即 log (x) 或 ln (x)) +2. 平方(Square):变量自乘(即 x² 或 square (x)) +3. 平方根(Square-root):取变量的平方根(即 x^0.5) +4. 绝对值(Absolute):变量的绝对值(即 abs (x)) +5. 中心化(Center):创建均值为 0 的新变量(即 x - mean (x)) +6. 标准化(Standardize):创建均值为 0、标准差为 1 的新变量(即 (x - mean (x))/sd (x)) +7. 倒数(Inverse):1/x + +### 创建新变量 + +#### 剪贴板 + +尽管不推荐,但你可以在电子表格(如 Excel 或 Google 表格)中处理数据,再将数据复制粘贴回 Radiant。如果原始数据不在电子表格中,使用“数据> 管理”中的剪贴板功能将其粘贴到电子表格,或点击“数据> 查看”标签页右上角的下载图标。在电子表格程序中应用转换,然后将新变量(带标题标签)复制到剪贴板(Windows 用 CTRL-C,Mac 用 CMD-C)。从 “转换类型” 下拉菜单中选择 “剪贴板(Clipboard)”,将新数据粘贴到 “从电子表格粘贴(Paste from spreadsheet)” 框中。关键是新变量的观测数必须与 Radiant 中的数据一致。点击 “存储” 将新变量添加到数据中。 + +> **注意:** 不推荐使用剪贴板功能进行数据转换,因为它不可重复。 + +#### 创建 + +从`转换类型` 下拉菜单中选择 `创建`。这是创建新变量或转换现有变量最灵活的命令,但需要一些基本的 R 语法知识。新变量可以是(活跃)数据集中其他变量的任意函数。以下是一些示例。每个示例中,`=`左侧是新变量的名称,`=`右侧可包含其他变量名称和基本 R 函数。输入命令后按回车查看新变量的汇总统计量。如果结果符合预期,点击`存储` 将其添加到数据集。 + +> **注意:** 如果从 “选择变量” 列表中选中了一个或多个变量,创建新变量前会先按这些变量对数据分组(见下方示例 1)。如果不希望分组,请确保创建新变量时未选中任何变量 + +1. 创建等于价格均值的新变量`z`。要按组(如按净度水平)计算价格均值,在创建`z`前从 “选择变量” 列表中选择`clarity` + + ```r + z = mean(price) + ``` + +2. 创建变量`z`,其值为变量 x 和 y 的差值 + + ```r + z = x - y + ``` + +3. 创建变量`z`,其为变量`x`的转换版本,均值为 0(另见 “转换> 中心化”): + + ```r + z = x - mean(x) + ``` + +4. 创建逻辑变量`z`,当`x > y`时取值为 TRUE,否则为 FALSE + + ```r + z = x > y + ``` + +5. 创建逻辑变量`z`,当`x`等于`y`时取值为 TRUE,否则为 FALSE + + ```r + z = x == y + ``` + +6. 创建变量`z`,其值为变量`x`滞后 3 期的值 + + ```r + z = lag(x,3) + ``` + +7. 创建具有两个水平(即`smaller`和`bigger`)的分类变量 + + ```r + z = ifelse(x < y, 'smaller', 'bigger') + ``` + +8. 创建具有三个水平的分类变量。另一种方法是使用下文描述的 “重编码” 函数 + + ```r + z = ifelse(x < 60, '< 60', ifelse(x > 65, '> 65', '60-65')) + ``` + +9. 将异常值转换为缺失值。例如,如果我们想从名为`sales`的变量中移除等于 400 的最大值,可使用`ifelse`语句,在 “创建” 框中输入以下命令。按回车并点击 “存储” 将`sales_rc`添加到数据中。注意,如果我们在`=`左侧输入`sales`,原始变量将被覆盖 + + ```r + sales_rc = ifelse(sales > 400, NA, sales) + ``` + +10. If a respondent with ID 3 provided information on the wrong scale in a survey (e.g., income in \$1s rather than in \$1000s) we could use an `ifelse` statement and enter the command below in the `Create` box. As before, press `return` and `Store` to add `sales_rc` to the data + + ```r + income_rc = ifelse(ID == 3, income/1000, income) + ``` + +11. 如果 ID 为 3 的受访者在调查中使用了错误的量表(如收入单位为 1 美元而非 1000 美元),可使用`ifelse`语句,在 “创建” 框中输入以下命令。同样,按回车并点击 “存储” 将`income_rc`添加到数据中 + + ```r + income_rc = ifelse(ID %in% c(1, 3, 15), income/1000, income) + ``` + +12. 如果多名受访者出现相同的量表错误(如 ID 为 1、3 和 15 的受访者),再次使用 “创建” 并输入: + + ```r + date = parse_date_time(x, '%m%d%y') + ``` + +13. 计算两个日期 / 时间之间的秒数差 + + ```r + tdiff = as_duration(time2 - time1) + ``` + +14. 从日期变量中提取月份 + + ```r + m = month(date) + ``` + +15. 可从日期或日期时间变量中提取的其他属性包括`minute`(分钟)、`hour`(小时)、`day`(日)、`week`(周)、`quarter`(季度)、`year`(年)、`wday`(星期)。对于`wday`和`month`,在调用中添加`label = TRUE`会很方便。例如,从日期变量中提取星期并使用标签而非数字 + + ```r + wd = wday(date, label = TRUE) + ``` + +16. 使用经纬度信息计算两个地点之间的距离 + + ```r + dist = as_distance(lat1, long1, lat2, long2) + ``` + +17. 使用`xtile`命令计算变量`recency`的五分位数。要创建十分位数,将`5`替换为`10`。 + + ```r + rec_iq = xtile(recency, 5) + ``` + +18. 要反转上述 17 中创建的五分位数顺序,使用`rev = TRUE` + + ```r + rec_iq = xtile(recency, 5, rev = TRUE) + ``` + +19. 要从字符或因子变量的条目中移除文本,使用`sub`移除首个实例,或`gsub`移除所有实例。例如,假设变量`bk_score`的每行在数字前都有字母 “clv”(如 “clv150”)。我们可按如下方式将每个 “clv” 替换为 “”: + + ```r + bk_score = sub("clv", "", bk_score) + ``` + +注意:对于上述示例 7、8 和 15,在进一步分析前,可能需要将新变量更改为因子类型(另见上文 “更改类型”) + +### 清洗数据 + +#### 移除缺失值 + +从 `转换类型` 下拉菜单中选择 `移除缺失值` 以删除含一个或多个缺失值的行。`选择变量` 中存在缺失值的行将被移除。点击 `存储` 修改数据。如果存在缺失值,你会看到数据汇总中的观测数发生变化(即`n`的值变化)。 + +#### 重新排序或移除变量 + +从 `转换类型` 下拉菜单中选择 `移除/重新排序变量`。拖放变量可重新排序数据中的变量。要移除变量,点击标签旁的×符号。点击 `存储` 应用更改。 + +#### 移除重复值 + +数据集中通常有一个或多个变量的值唯一(即无重复)。例如,客户 ID 应唯一,除非数据集包含同一客户的多个订单。要移除重复项,选择一个或多个变量来确定 “唯一性”。从`转换类型` 下拉菜单中选择 `移除重复项`,查看显示的汇总统计量变化。点击 `存储` 修改数据。如果存在重复行,你会看到数据汇总中的观测数发生变化(即`n`和`n_distinct`的值变化)。 + +#### 显示重复值 + +如果数据中存在重复项,使用 `显示重复项`可更好地了解在多行中具有相同值的数据点。如果你想在“数据> 查看”标签页中查看重复项,确保将它们存储在不同的数据集中(即**不要**覆盖你正在处理的数据)。如果基于数据中的所有列显示重复项,只会显示重复行中的一行。这些行完全相同,显示 2 行或 3 行没有意义。但如果基于部分变量查看重复项,Radiant 会生成包含**所有**相关行的数据集。 + +### 扩展数据 + +#### 扩展网格 + +创建包含所选变量所有值组合的数据集。这在生成预测数据集时很有用,例如在“模型> 估计 > 线性回归(OLS)”“模型> 估计 > 逻辑回归(GLM)”中。假设你想创建包含钻石`cut`和`color`所有可能组合的数据集。从`转换类型` 下拉菜单中选择 `扩展网格`,在 `选择变量` 框中选择`cut`和`color`,从下方截图中可看到有 35 种可能的组合(即`cut`有 5 个唯一值,`color`有 7 个唯一值,因此有 5×7 种组合)。为新数据集命名(如 diamonds_expand),点击 `存储` 按钮将其添加到 `数据集(Datasets)` 下拉菜单中。 + +

    + +#### 表格转数据 + +将频数表转换为数据集。行数将等于所有频数之和。 + +### 拆分数据 + +#### 留存样本 + +要基于过滤器创建留存样本,从 `转换类型` 下拉菜单中选择 `留存样本`。默认使用活跃过滤器的 `相反` 条件。例如,如果分析的是`date < '2014-12-13'`的观测,且勾选了`反转过滤器` 框,留存样本将包含`date >= '2014-12-13'`的行。 + +#### 训练变量 + +要创建可用于(随机)过滤数据集以进行模型训练和测试的变量,从 `转换类型` 下拉菜单中选择 `训练变量`。指定用于训练的观测数(如将 `大小` 设为 2000)或选择的观测比例(如将 `大小` 设为 0.7)。新变量在训练数据中取值为`1`,在测试数据中取值为`0`。 + +也可选择一个或多个变量用于训练和测试样本的随机分配 `区组化`。这有助于确保例如感兴趣变量的正负案例比例(如 “购买” vs “未购买”)在训练和测试样本中(几乎)相同。 + +### 整洁数据 + +#### 汇集列 + +将多个变量合并为一列。如果加载了`diamonds`数据集,从`转换类型` 下拉菜单中选择 `汇集列` 后,在 `选择变量` 框中选择`cut`和`color`。这将创建新变量`key`和`value`。`key`有两个水平(即`cut`和`color`),`value`包含`cut`和`color`的所有值。 + +#### 扩展列 + +将一列 `扩展` 为多列。与 `汇集`相反。有关`整洁数据` 的详细讨论,参见整洁数据说明文档。 + +### R 函数 + +有关 Radiant 中用于数据转换的相关 R 函数概述,请参见“数据> 转换” 。 diff --git a/radiant.data/inst/app/tools/help/transform.md b/radiant.data/inst/app/tools/help/transform.md new file mode 100644 index 0000000..a2c07be --- /dev/null +++ b/radiant.data/inst/app/tools/help/transform.md @@ -0,0 +1,312 @@ +> 转换变量 + +### 转换命令日志 + +在 “数据> 转换” 标签页中应用的所有转换都可被记录。例如,如果你对数值变量应用 “自然对数(Ln (natural log))” 转换,点击 `存储` 按钮后,以下代码会生成并显示在屏幕底部的 “转换命令日志” 窗口中。 + +```r +## transform variable +diamonds <- mutate_ext( + diamonds, + .vars = vars(price, carat), + .funs = log, + .ext = "_ln" +) +``` + +如果你想用新的类似数据重新运行报告,这一功能至关重要。更重要的是,它记录了数据转换和结果生成的步骤,即你的工作现在具有可重复性。 + +要将命令日志窗口中的命令添加到“报告> Rmd”中的报告,点击图标。 + +### 过滤数据 + +即使已指定过滤器,它对 “数据> 转换” 中的(大多数)函数也无效。要基于过滤器创建新数据集,请导航至“数据> 查看”标签页并点击 `存储` 按钮。或者,要基于过滤器创建新数据集,从 `转换类型`下拉菜单中选择 `拆分数据 > 留存样本`。 + +### 隐藏汇总 + +对于较大的数据集,或不需要汇总信息时,在选择转换类型并指定数据修改方式前,点击 `隐藏汇总` 会很有用。如果你想查看汇总,请确保未勾选 `隐藏汇总`。 + +### 修改变量 + +#### 分箱 + +当你想创建多个五分位数 / 十分位数 /... 变量时,“分箱(Bin)” 命令是下文讨论的`xtile`命令的便捷功能。要计算五分位数,在 “分箱数量(Nr bins)” 中输入`5`。“反转(reverse)” 选项会将 1 替换为 5、2 替换为 4……5 替换为 1。为新变量选择合适的扩展名。 + +#### 更改类型 + +从 “转换类型” 下拉菜单中选择 `类型` 后,会显示另一个下拉菜单,可用于更改一个或多个变量的类型(或类别)。例如,你可以将整数类型的变量转换为因子类型的变量。点击 “存储” 按钮将更改应用到数据集。以下是转换选项的说明: + +1. 转换为因子(As factor):将变量转换为因子类型(即分类变量) +2. 转换为数值(As number):将变量转换为数值类型 +3. 转换为整数(As integer):将变量转换为整数类型 +4. 转换为字符(As character):将变量转换为字符类型(即字符串) +5. 转换为时间序列(As times series):将变量转换为 ts 类型 +6. 转换为日期(月 - 日 - 年)(As date (mdy)):如果日期格式为月 - 日 - 年,将变量转换为日期类型 +7. 转换为日期(日 - 月 - 年)(As date (dmy)):如果日期格式为日 - 月 - 年,将变量转换为日期类型 +8. 转换为日期(年 - 月 - 日)(As date (ymd)):如果日期格式为年 - 月 - 日,将变量转换为日期类型 +9. 转换为日期 / 时间(月 - 日 - 年 - 时 - 分 - 秒)(As date/time (mdy_hms)):如果日期时间格式为月 - 日 - 年 - 时 - 分 - 秒,将变量转换为日期时间类型 +10. 转换为日期 / 时间(月 - 日 - 年 - 时 - 分)(As date/time (mdy_hm)):如果日期时间格式为月 - 日 - 年 - 时 - 分,将变量转换为日期时间类型 +11. 转换为日期 / 时间(日 - 月 - 年 - 时 - 分 - 秒)(As date/time (dmy_hms)):如果日期时间格式为日 - 月 - 年 - 时 - 分 - 秒,将变量转换为日期时间类型 +12. 转换为日期 / 时间(日 - 月 - 年 - 时 - 分)(As date/time (dmy_hm)):如果日期时间格式为日 - 月 - 年 - 时 - 分,将变量转换为日期时间类型 +13. 转换为日期 / 时间(年 - 月 - 日 - 时 - 分 - 秒)(As date/time (ymd_hms)):如果日期时间格式为年 - 月 - 日 - 时 - 分 - 秒,将变量转换为日期时间类型 +14. 转换为日期 / 时间(年 - 月 - 日 - 时 - 分)(As date/time (ymd_hm)):如果日期时间格式为年 - 月 - 日 - 时 - 分,将变量转换为日期时间类型 + +**注意:** 将变量转换为`ts`类型(即时间序列)时,至少应指定起始周期和数据频率。例如,对于从一年第 4 周开始的周数据,在 “起始周期(Start period)” 中输入`4`,并将 “频率(Frequency)” 设为`52`。 + +#### 标准化 + +从 “转换类型” 下拉菜单中选择 `标准化` 以标准化一个或多个变量。例如,在钻石数据中,我们可能希望按克拉数表示钻石价格。在 `选择变量` 框中选择`price`,并选择`carat`作为 `标准化变量`。主面板中会显示新变量(如`price_carat`)的汇总统计量。点击 “存储” 按钮将更改应用到数据。 + +#### 重编码 + +要使用重编码功能,选择你想要更改的变量,然后从 “转换类型” 下拉菜单中选择 “重编码(Recode)”。提供一个或多个重编码命令(用`;`分隔),按回车查看变量更改信息。注意,你可以在 “重编码变量名称(Recoded variable name)” 输入框中指定重编码后变量的名称(按回车提交更改)。最后,点击 “存储” 将重编码后的变量添加到数据中。以下是一些示例: + +1. 将 20 以下的值设为`低(Low)`,其他设为`高(High)` + + ```r + lo:20 = 'Low'; else = 'High' + ``` + +2. 将 20 以上的值设为`高(High)`,其他设为`低(Low)` + + ```r + 20:hi = 'High'; else = 'Low' + ``` + +3. 将 1-12 的值设为`A`,13-24 的值设为`B`,其余设为`C` + + ```r + 1:12 = 'A'; 13:24 = 'B'; else = 'C' + ``` + +4. 为“基础> 表格 > 交叉表”分析合并年龄类别。在下方示例中,`<25`和`25-34`重编码为`<35`,`35-44`和`45-54`重编码为`35-54`,`55-64`和`>64`重编码为`>54` + + + ```r + '<25' = '<35'; '25-34' = '<35'; '35-44' = '35-54'; '45-54' = '35-54'; '55-64' = '>54'; '>64' = '>54' + ``` + +5. 要在后续分析中排除特定值(如数据中的异常值),可将其重编码为缺失值。例如,如果我们想从名为`sales`的变量中移除等于 400 的最大值,(1)在 `选择变量` 框中选择变量`sales`,在 `重编码` 框中输入以下命令。按回车并点击 “存储” 将重编码后的变量添加到数据中 + + + ```r + 400 = NA + ``` + +5. 要将特定数值(如克拉数)重编码为新值,(1)在 `选择变量` 框中选择变量`carat`,在 `重编码` 框中输入以下命令,将克拉数大于或等于 2 的值设为 2。按回车并点击 `存储` 将重编码后的变量添加到数据中 + + ```r + 2:hi = 2 + ``` + +**注意:** 使用重编码功能时,变量标签中不要使用`=`(例如`50:hi = '>= 50'`),这会导致错误。 + +#### 重新排序或移除水平 + +如果 `选择变量` 中选中了单个因子类型变量,从`转换类型` 下拉菜单中选择 `移除/重新排序级别` 可重新排序和 / 或移除水平。拖放水平可重新排序,点击×可移除水平。注意,默认情况下,移除一个或多个水平会在数据中引入缺失值。如果你希望将移除的水平重编码为新水平(例如 “其他”),只需在`替换水平名称`输入框中输入 “其他” 并按回车。如果生成的因子水平符合预期,点击`存储` 应用更改。要暂时从数据中排除水平,使用 `过滤数据`框(参见“数据> 查看”标签页中的帮助文件)。 + +#### 重命名 + +从`转换类型` 下拉菜单中选择`重命名`,选择一个或多个变量,在 `重命名` 框中输入它们的新名称(用`,`分隔)。按回车在屏幕上查看重命名后变量的汇总,点击 `存储` 更改数据中的变量名称。 + +#### 替换 + +如果想用新变量(例如通过`创建、转换、剪贴板` 等创建的变量)替换数据中的现有变量,从 `转换类型` 下拉菜单中选择 `替换`。选择一个或多个要覆盖的变量和相同数量的替换变量。点击 `存储` 修改数据。 + +#### 转换 + +从`转换类型` 下拉菜单中选择 `转换` 后,会显示另一个下拉菜单,可用于对数据中的一个或多个变量应用常见转换。例如,要对变量取自然对数,选择要转换的变量,从 `应用函数` 下拉菜单中选择 `自然对数`。转换后的变量会带有 `变量名称扩展名` 输入框中指定的扩展名(例如`_ln`)。更改扩展名后请务必按回车。点击 `存储` 按钮将(更改后的)变量添加到数据集。以下是 Radiant 中包含的转换函数说明: + +1. 自然对数(Ln):创建所选变量的自然对数转换版本(即 log (x) 或 ln (x)) +2. 平方(Square):变量自乘(即 x² 或 square (x)) +3. 平方根(Square-root):取变量的平方根(即 x^0.5) +4. 绝对值(Absolute):变量的绝对值(即 abs (x)) +5. 中心化(Center):创建均值为 0 的新变量(即 x - mean (x)) +6. 标准化(Standardize):创建均值为 0、标准差为 1 的新变量(即 (x - mean (x))/sd (x)) +7. 倒数(Inverse):1/x + +### 创建新变量 + +#### 剪贴板 + +尽管不推荐,但你可以在电子表格(如 Excel 或 Google 表格)中处理数据,再将数据复制粘贴回 Radiant。如果原始数据不在电子表格中,使用“数据> 管理”中的剪贴板功能将其粘贴到电子表格,或点击“数据> 查看”标签页右上角的下载图标。在电子表格程序中应用转换,然后将新变量(带标题标签)复制到剪贴板(Windows 用 CTRL-C,Mac 用 CMD-C)。从 “转换类型” 下拉菜单中选择 “剪贴板(Clipboard)”,将新数据粘贴到 “从电子表格粘贴(Paste from spreadsheet)” 框中。关键是新变量的观测数必须与 Radiant 中的数据一致。点击 “存储” 将新变量添加到数据中。 + +> **注意:** 不推荐使用剪贴板功能进行数据转换,因为它不可重复。 + +#### 创建 + +从`转换类型` 下拉菜单中选择 `创建`。这是创建新变量或转换现有变量最灵活的命令,但需要一些基本的 R 语法知识。新变量可以是(活跃)数据集中其他变量的任意函数。以下是一些示例。每个示例中,`=`左侧是新变量的名称,`=`右侧可包含其他变量名称和基本 R 函数。输入命令后按回车查看新变量的汇总统计量。如果结果符合预期,点击`存储` 将其添加到数据集。 + +> **注意:** 如果从 “选择变量” 列表中选中了一个或多个变量,创建新变量前会先按这些变量对数据分组(见下方示例 1)。如果不希望分组,请确保创建新变量时未选中任何变量 + +1. 创建等于价格均值的新变量`z`。要按组(如按净度水平)计算价格均值,在创建`z`前从 “选择变量” 列表中选择`clarity` + + ```r + z = mean(price) + ``` + +2. 创建变量`z`,其值为变量 x 和 y 的差值 + + ```r + z = x - y + ``` + +3. 创建变量`z`,其为变量`x`的转换版本,均值为 0(另见 “转换> 中心化”): + + ```r + z = x - mean(x) + ``` + +4. 创建逻辑变量`z`,当`x > y`时取值为 TRUE,否则为 FALSE + + ```r + z = x > y + ``` + +5. 创建逻辑变量`z`,当`x`等于`y`时取值为 TRUE,否则为 FALSE + + ```r + z = x == y + ``` + +6. 创建变量`z`,其值为变量`x`滞后 3 期的值 + + ```r + z = lag(x,3) + ``` + +7. 创建具有两个水平(即`smaller`和`bigger`)的分类变量 + + ```r + z = ifelse(x < y, 'smaller', 'bigger') + ``` + +8. 创建具有三个水平的分类变量。另一种方法是使用下文描述的 “重编码” 函数 + + ```r + z = ifelse(x < 60, '< 60', ifelse(x > 65, '> 65', '60-65')) + ``` + +9. 将异常值转换为缺失值。例如,如果我们想从名为`sales`的变量中移除等于 400 的最大值,可使用`ifelse`语句,在 “创建” 框中输入以下命令。按回车并点击 “存储” 将`sales_rc`添加到数据中。注意,如果我们在`=`左侧输入`sales`,原始变量将被覆盖 + + ```r + sales_rc = ifelse(sales > 400, NA, sales) + ``` + +10. If a respondent with ID 3 provided information on the wrong scale in a survey (e.g., income in \$1s rather than in \$1000s) we could use an `ifelse` statement and enter the command below in the `Create` box. As before, press `return` and `Store` to add `sales_rc` to the data + + ```r + income_rc = ifelse(ID == 3, income/1000, income) + ``` + +11. 如果 ID 为 3 的受访者在调查中使用了错误的量表(如收入单位为 1 美元而非 1000 美元),可使用`ifelse`语句,在 “创建” 框中输入以下命令。同样,按回车并点击 “存储” 将`income_rc`添加到数据中 + + ```r + income_rc = ifelse(ID %in% c(1, 3, 15), income/1000, income) + ``` + +12. 如果多名受访者出现相同的量表错误(如 ID 为 1、3 和 15 的受访者),再次使用 “创建” 并输入: + + ```r + date = parse_date_time(x, '%m%d%y') + ``` + +13. 计算两个日期 / 时间之间的秒数差 + + ```r + tdiff = as_duration(time2 - time1) + ``` + +14. 从日期变量中提取月份 + + ```r + m = month(date) + ``` + +15. 可从日期或日期时间变量中提取的其他属性包括`minute`(分钟)、`hour`(小时)、`day`(日)、`week`(周)、`quarter`(季度)、`year`(年)、`wday`(星期)。对于`wday`和`month`,在调用中添加`label = TRUE`会很方便。例如,从日期变量中提取星期并使用标签而非数字 + + ```r + wd = wday(date, label = TRUE) + ``` + +16. 使用经纬度信息计算两个地点之间的距离 + + ```r + dist = as_distance(lat1, long1, lat2, long2) + ``` + +17. 使用`xtile`命令计算变量`recency`的五分位数。要创建十分位数,将`5`替换为`10`。 + + ```r + rec_iq = xtile(recency, 5) + ``` + +18. 要反转上述 17 中创建的五分位数顺序,使用`rev = TRUE` + + ```r + rec_iq = xtile(recency, 5, rev = TRUE) + ``` + +19. 要从字符或因子变量的条目中移除文本,使用`sub`移除首个实例,或`gsub`移除所有实例。例如,假设变量`bk_score`的每行在数字前都有字母 “clv”(如 “clv150”)。我们可按如下方式将每个 “clv” 替换为 “”: + + ```r + bk_score = sub("clv", "", bk_score) + ``` + +注意:对于上述示例 7、8 和 15,在进一步分析前,可能需要将新变量更改为因子类型(另见上文 “更改类型”) + +### 清洗数据 + +#### 移除缺失值 + +从 `转换类型` 下拉菜单中选择 `移除缺失值` 以删除含一个或多个缺失值的行。`选择变量` 中存在缺失值的行将被移除。点击 `存储` 修改数据。如果存在缺失值,你会看到数据汇总中的观测数发生变化(即`n`的值变化)。 + +#### 重新排序或移除变量 + +从 `转换类型` 下拉菜单中选择 `移除/重新排序变量`。拖放变量可重新排序数据中的变量。要移除变量,点击标签旁的×符号。点击 `存储` 应用更改。 + +#### 移除重复值 + +数据集中通常有一个或多个变量的值唯一(即无重复)。例如,客户 ID 应唯一,除非数据集包含同一客户的多个订单。要移除重复项,选择一个或多个变量来确定 “唯一性”。从`转换类型` 下拉菜单中选择 `移除重复项`,查看显示的汇总统计量变化。点击 `存储` 修改数据。如果存在重复行,你会看到数据汇总中的观测数发生变化(即`n`和`n_distinct`的值变化)。 + +#### 显示重复值 + +如果数据中存在重复项,使用 `显示重复项`可更好地了解在多行中具有相同值的数据点。如果你想在“数据> 查看”标签页中查看重复项,确保将它们存储在不同的数据集中(即**不要**覆盖你正在处理的数据)。如果基于数据中的所有列显示重复项,只会显示重复行中的一行。这些行完全相同,显示 2 行或 3 行没有意义。但如果基于部分变量查看重复项,Radiant 会生成包含**所有**相关行的数据集。 + +### 扩展数据 + +#### 扩展网格 + +创建包含所选变量所有值组合的数据集。这在生成预测数据集时很有用,例如在“模型> 估计 > 线性回归(OLS)”“模型> 估计 > 逻辑回归(GLM)”中。假设你想创建包含钻石`cut`和`color`所有可能组合的数据集。从`转换类型` 下拉菜单中选择 `扩展网格`,在 `选择变量` 框中选择`cut`和`color`,从下方截图中可看到有 35 种可能的组合(即`cut`有 5 个唯一值,`color`有 7 个唯一值,因此有 5×7 种组合)。为新数据集命名(如 diamonds_expand),点击 `存储` 按钮将其添加到 `数据集(Datasets)` 下拉菜单中。 + +

    + +#### 表格转数据 + +将频数表转换为数据集。行数将等于所有频数之和。 + +### 拆分数据 + +#### 留存样本 + +要基于过滤器创建留存样本,从 `转换类型` 下拉菜单中选择 `留存样本`。默认使用活跃过滤器的 `相反` 条件。例如,如果分析的是`date < '2014-12-13'`的观测,且勾选了`反转过滤器` 框,留存样本将包含`date >= '2014-12-13'`的行。 + +#### 训练变量 + +要创建可用于(随机)过滤数据集以进行模型训练和测试的变量,从 `转换类型` 下拉菜单中选择 `训练变量`。指定用于训练的观测数(如将 `大小` 设为 2000)或选择的观测比例(如将 `大小` 设为 0.7)。新变量在训练数据中取值为`1`,在测试数据中取值为`0`。 + +也可选择一个或多个变量用于训练和测试样本的随机分配 `区组化`。这有助于确保例如感兴趣变量的正负案例比例(如 “购买” vs “未购买”)在训练和测试样本中(几乎)相同。 + +### 整洁数据 + +#### 汇集列 + +将多个变量合并为一列。如果加载了`diamonds`数据集,从`转换类型` 下拉菜单中选择 `汇集列` 后,在 `选择变量` 框中选择`cut`和`color`。这将创建新变量`key`和`value`。`key`有两个水平(即`cut`和`color`),`value`包含`cut`和`color`的所有值。 + +#### 扩展列 + +将一列 `扩展` 为多列。与 `汇集`相反。有关`整洁数据` 的详细讨论,参见整洁数据说明文档。 + +### R 函数 + +有关 Radiant 中用于数据转换的相关 R 函数概述,请参见“数据> 转换” 。 diff --git a/radiant.data/inst/app/tools/help/view.Rmd b/radiant.data/inst/app/tools/help/view.Rmd new file mode 100644 index 0000000..1073847 --- /dev/null +++ b/radiant.data/inst/app/tools/help/view.Rmd @@ -0,0 +1,112 @@ +> 以交互式表格显示数据 + +### 数据集 + +从 `数据集` 下拉菜单中选择一个数据集。文件通过`数据 > 管理` 标签加载到 Radiant 中。 + +### 过滤数据 + +有多种方法可选择数据子集进行查看。左侧的 `过滤数据` 框(点击复选框)可与`>`和`<`等符号配合使用。你也可以组合子集命令,例如,`x > 3 & y == 2`将只显示变量`x`的值大于 3**且**变量`y`等于 2 的行。注意,在 R 和大多数其他编程语言中,`=`用于**赋值**,`==`用于判断值是否**相等**。相反,`!=`用于判断两个值是否**不相等**。你还可以使用包含**或(OR)** 条件的表达式。例如,要选择 “Salary” 小于 100,000 美元**或**大于 20,000 美元的行,使用`Salary > 20000 | Salary < 100000`。`|`是**或(OR)** 的符号,`&`是**且(AND)** 的符号。 + +也可以使用日期进行过滤。例如,要选择 2014 年 6 月 1 日之前的行,在过滤框中输入`date < "2014-6-1"`并按回车。 + +你还可以使用字符串匹配选择行。例如,输入`grepl('ood', cut)`可选择`cut`为 “Good” 或 “Very good” 的行。默认情况下,此搜索区分大小写。如需不区分大小写的搜索,使用`grepl("GOOD", cut, ignore.case = TRUE)`。在 `过滤` 框中输入语句并按回车,屏幕上会显示结果;如果表达式无效,框下方会显示错误信息。 + +重要的是,这些过滤器是**持久的**,将应用于 Radiant 中的所有分析。要停用过滤器,取消勾选 `过滤数据` 复选框。要移除过滤器,直接删除即可。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Operator Description Example
    `<` less than `price < 5000`
    `<=` less than or equal to `carat <= 2`
    `>` greater than `price > 1000`
    `>=` greater than or equal to `carat >= 2`
    `==` exactly equal to `cut == 'Fair'`
    `!=` not equal to `cut != 'Fair'`
    `|` x OR y `price > 10000 | cut == 'Premium'`
    `&` x AND y `carat < 2 & cut == 'Fair'`
    `%in%` x is one of y `cut %in% c('Fair', 'Good')`
    is.na is missing `is.na(price)`
    + +过滤器也可与 R 代码结合使用,快速查看所选数据集的样本。例如,`runif(n()) > .9`可用于抽样数据中约 10% 的行,`1:n() < 101`将只选择数据的前 100 行。 + +### 选择要显示的变量 + +默认情况下,会显示数据中的所有列。点击任意变量可单独聚焦该变量。要选择多个变量,使用键盘上的 SHIFT 键和箭头键。在 Mac 上,可使用 CMD 键选择多个变量;在 Windows 上,使用 CTRL 键可达到相同效果。要选择所有变量,使用 CTRL-A(Mac 上为 CMD-A)。 + +### 浏览数据 + +默认情况下,一次仅显示 10 行数据。你可以通过 “显示…… 条目(Show ... entries)” 下拉菜单更改此设置。点击屏幕右下角的 “下一页(Next)” 和 “上一页(Previous)” 按钮翻阅数据。 + +### 排序 + +点击表格中的列标题可对数据排序。再次点击将在升序和降序排序之间切换。要同时按多列排序,按住 Shift 键,然后点击第 2 列、第 3 列等进行排序。 + +### 列过滤和搜索 + +对于具有有限个不同值的变量(即因子),你可以从变量名下的列过滤器中选择要保留的水平。例如,要过滤出切工为理想(Ideal)的行,点击`cut`列标题下方的框,从显示的下拉菜单中选择`Ideal`。你也可以在这些列过滤器中输入字符串,然后按回车。注意,匹配不区分大小写。实际上,输入`eal`也会得到相同结果,因为搜索会匹配字符串的任意部分。同样,你可以输入字符串来基于字符变量(如街道名称)选择行。 + +对于数值变量,列过滤器框有一些特殊功能,使其几乎与 `过滤数据` 框一样强大。对于数值和整数变量,你可以使用`...`表示范围。例如,要选择价格在 500 美元到 2000 美元之间的`price`值,输入`500 ... 2000`并按回车。该范围包含输入的值。此外,如果我们想过滤`carat`,`0.32 ...`将只显示克拉值大于或等于 0.32 的钻石。数值变量还有一个滑块,可用于定义要保留的值的范围。 + +如果你想更高级地操作,可以使用右上角的搜索框,通过**正则表达式**搜索所有列。例如,要查找**任何**列中条目以数字 72 结尾的所有行,输入`72$`(即`$`符号用于表示条目的结尾)。要查找所有条目以 60 开头的行,使用`^60`(即`^`用于表示条目的第一个字符)。正则表达式的搜索功能非常强大,但这是一个较广的主题。要了解更多关于正则表达式的内容,参见此教程。 + +### 存储过滤器 + +重要的是,列排序、列过滤器和搜索**不具有持久性**。要将这些设置存储用于 Radiant 的其他部分,按 “存储(Store)” 按钮。你可以通过更改 `存储` 按钮左侧文本输入框中的值,将数据和设置存储在不同的数据集名称下。此功能也可用于选择要保留的变量子集:只需选择你想保留的变量,然后按 `存储` 按钮。要更精确地控制要保留或移除的变量,并指定它们在数据集中的顺序,请使用 “数据 > 转换” 标签。 + +要以 csv 格式下载数据,点击屏幕右上角的图标。 + +点击屏幕左下角的报告()图标,或按键盘上的`ALT-enter`,将 Radiant 使用的过滤和排序命令添加到“报告> Rmd”中的(可重复的)报告中。 + +### R 函数 + +有关 Radiant 中用于查看、搜索和过滤数据的相关 R 函数概述,请参见“数据> 查看” 。 diff --git a/radiant.data/inst/app/tools/help/view.md b/radiant.data/inst/app/tools/help/view.md new file mode 100644 index 0000000..1073847 --- /dev/null +++ b/radiant.data/inst/app/tools/help/view.md @@ -0,0 +1,112 @@ +> 以交互式表格显示数据 + +### 数据集 + +从 `数据集` 下拉菜单中选择一个数据集。文件通过`数据 > 管理` 标签加载到 Radiant 中。 + +### 过滤数据 + +有多种方法可选择数据子集进行查看。左侧的 `过滤数据` 框(点击复选框)可与`>`和`<`等符号配合使用。你也可以组合子集命令,例如,`x > 3 & y == 2`将只显示变量`x`的值大于 3**且**变量`y`等于 2 的行。注意,在 R 和大多数其他编程语言中,`=`用于**赋值**,`==`用于判断值是否**相等**。相反,`!=`用于判断两个值是否**不相等**。你还可以使用包含**或(OR)** 条件的表达式。例如,要选择 “Salary” 小于 100,000 美元**或**大于 20,000 美元的行,使用`Salary > 20000 | Salary < 100000`。`|`是**或(OR)** 的符号,`&`是**且(AND)** 的符号。 + +也可以使用日期进行过滤。例如,要选择 2014 年 6 月 1 日之前的行,在过滤框中输入`date < "2014-6-1"`并按回车。 + +你还可以使用字符串匹配选择行。例如,输入`grepl('ood', cut)`可选择`cut`为 “Good” 或 “Very good” 的行。默认情况下,此搜索区分大小写。如需不区分大小写的搜索,使用`grepl("GOOD", cut, ignore.case = TRUE)`。在 `过滤` 框中输入语句并按回车,屏幕上会显示结果;如果表达式无效,框下方会显示错误信息。 + +重要的是,这些过滤器是**持久的**,将应用于 Radiant 中的所有分析。要停用过滤器,取消勾选 `过滤数据` 复选框。要移除过滤器,直接删除即可。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Operator Description Example
    `<` less than `price < 5000`
    `<=` less than or equal to `carat <= 2`
    `>` greater than `price > 1000`
    `>=` greater than or equal to `carat >= 2`
    `==` exactly equal to `cut == 'Fair'`
    `!=` not equal to `cut != 'Fair'`
    `|` x OR y `price > 10000 | cut == 'Premium'`
    `&` x AND y `carat < 2 & cut == 'Fair'`
    `%in%` x is one of y `cut %in% c('Fair', 'Good')`
    is.na is missing `is.na(price)`
    + +过滤器也可与 R 代码结合使用,快速查看所选数据集的样本。例如,`runif(n()) > .9`可用于抽样数据中约 10% 的行,`1:n() < 101`将只选择数据的前 100 行。 + +### 选择要显示的变量 + +默认情况下,会显示数据中的所有列。点击任意变量可单独聚焦该变量。要选择多个变量,使用键盘上的 SHIFT 键和箭头键。在 Mac 上,可使用 CMD 键选择多个变量;在 Windows 上,使用 CTRL 键可达到相同效果。要选择所有变量,使用 CTRL-A(Mac 上为 CMD-A)。 + +### 浏览数据 + +默认情况下,一次仅显示 10 行数据。你可以通过 “显示…… 条目(Show ... entries)” 下拉菜单更改此设置。点击屏幕右下角的 “下一页(Next)” 和 “上一页(Previous)” 按钮翻阅数据。 + +### 排序 + +点击表格中的列标题可对数据排序。再次点击将在升序和降序排序之间切换。要同时按多列排序,按住 Shift 键,然后点击第 2 列、第 3 列等进行排序。 + +### 列过滤和搜索 + +对于具有有限个不同值的变量(即因子),你可以从变量名下的列过滤器中选择要保留的水平。例如,要过滤出切工为理想(Ideal)的行,点击`cut`列标题下方的框,从显示的下拉菜单中选择`Ideal`。你也可以在这些列过滤器中输入字符串,然后按回车。注意,匹配不区分大小写。实际上,输入`eal`也会得到相同结果,因为搜索会匹配字符串的任意部分。同样,你可以输入字符串来基于字符变量(如街道名称)选择行。 + +对于数值变量,列过滤器框有一些特殊功能,使其几乎与 `过滤数据` 框一样强大。对于数值和整数变量,你可以使用`...`表示范围。例如,要选择价格在 500 美元到 2000 美元之间的`price`值,输入`500 ... 2000`并按回车。该范围包含输入的值。此外,如果我们想过滤`carat`,`0.32 ...`将只显示克拉值大于或等于 0.32 的钻石。数值变量还有一个滑块,可用于定义要保留的值的范围。 + +如果你想更高级地操作,可以使用右上角的搜索框,通过**正则表达式**搜索所有列。例如,要查找**任何**列中条目以数字 72 结尾的所有行,输入`72$`(即`$`符号用于表示条目的结尾)。要查找所有条目以 60 开头的行,使用`^60`(即`^`用于表示条目的第一个字符)。正则表达式的搜索功能非常强大,但这是一个较广的主题。要了解更多关于正则表达式的内容,参见此教程。 + +### 存储过滤器 + +重要的是,列排序、列过滤器和搜索**不具有持久性**。要将这些设置存储用于 Radiant 的其他部分,按 “存储(Store)” 按钮。你可以通过更改 `存储` 按钮左侧文本输入框中的值,将数据和设置存储在不同的数据集名称下。此功能也可用于选择要保留的变量子集:只需选择你想保留的变量,然后按 `存储` 按钮。要更精确地控制要保留或移除的变量,并指定它们在数据集中的顺序,请使用 “数据 > 转换” 标签。 + +要以 csv 格式下载数据,点击屏幕右上角的图标。 + +点击屏幕左下角的报告()图标,或按键盘上的`ALT-enter`,将 Radiant 使用的过滤和排序命令添加到“报告> Rmd”中的(可重复的)报告中。 + +### R 函数 + +有关 Radiant 中用于查看、搜索和过滤数据的相关 R 函数概述,请参见“数据> 查看” 。 diff --git a/radiant.data/inst/app/tools/help/visualize.md b/radiant.data/inst/app/tools/help/visualize.md new file mode 100644 index 0000000..a425ee2 --- /dev/null +++ b/radiant.data/inst/app/tools/help/visualize.md @@ -0,0 +1,142 @@ +> 可视化数据 + +### 过滤数据 + +使用 `过滤数据` 框选择(或排除)数据中的特定行集。详见“数据> 查看”的帮助文件。 + +### 图表类型 + +选择你想要的图表类型。例如,加载`diamonds`数据后,选择`分布` 和所有(X)变量(使用 CTRL-a 或 CMD-a)。这将为数据集中的所有数值变量创建直方图,为所有分类变量创建条形图。密度图仅可用于数值变量。散点图用于可视化两个变量之间的关系:选择一个或多个变量作为 Y 轴变量,一个或多个变量作为 X 轴变量。如果其中一个变量是分类变量(即因子 {factor}),应将其指定为 X 轴变量。可通过 “颜色(Color)” 或 “大小(Size)” 下拉菜单添加其他变量的信息。折线图与散点图类似,但会将数据点连接起来,特别适用于时间序列数据。曲面图与 “热力图(Heat maps)” 类似,需要 3 个输入变量:X、Y 和填充色(Fill)。条形图用于展示分类(或整数)变量(X)与数值变量(Y)的(均值)值之间的关系。箱线图也用于 Y 为数值变量、X 为分类变量的情况,它比条形图包含更多信息,但解读起来也稍复杂一些。 + +> 注意,在条形图中,当分类变量(`factor`)被选为 Y 轴变量时,若所选函数需要,该变量将被转换为数值变量。如果因子水平是数值型的,这些数值将用于所有计算。由于均值、标准差等统计量对非二元分类变量不适用,这类变量将被转换为 0-1(二元)变量,其中第一个水平编码为 1,其他所有水平编码为 0。例如,如果我们从`diamonds`数据中选择`color`作为 Y 轴变量,并选择`mean`作为应用函数,那么每个条形将表示取值为`D`的观测比例。 + +### 箱线图 + +箱线的上下 “边缘(hinges)” 对应数据的第一和第三四分位数(第 25 和第 75 百分位数)。中间的边缘是数据的中位数。上须线从上边缘(即箱体顶部)延伸至数据中在上边缘 1.5 倍四分位距范围内的最大值。四分位距(IQR)是第 25 和第 75 百分位数之间的距离。下须线从下边缘延伸至数据中下边缘 1.5 倍四分位距范围内的最小值。须线以外的数据可能是异常值,将以点的形式绘制(如 Tukey 所建议)。 + +总之: + +1. 下须线从 Q1 延伸至数据最小值与(Q1 - 1.5×IQR)中的较大值 +2. 上须线从 Q3 延伸至数据最大值与(Q3 + 1.5×IQR)中的较小值 + +其中 Q1 是第 25 百分位数,Q3 是第 75 百分位数。你可能需要多读几遍上述两点才能理解。下方图表有助于解释箱线图的结构。 + +

    +来源 + +### 子图和热力图 + +`行分面` 和 `列分面` 可用于将数据拆分为不同组,并为每组创建单独的图表。 + +如果选择散点图或折线图,会显示 “颜色(Color)” 下拉菜单。选择 “颜色” 变量将创建一种热力图,其中颜色与 “颜色” 变量的值相关联。在折线图中从 “颜色” 下拉菜单选择分类变量,会将数据拆分为组,并为每组显示不同颜色的线。 + +### 回归线、局部加权回归线和抖动 + +要在散点图中添加线性或非线性回归线,勾选 `线`和 / 或`局部加权回归`框。如果数据取值有限,`抖动` 功能有助于更好地了解大多数数据点的分布位置。`抖动` 会为每个数据点添加一个小的随机值,使它们在图表中不完全重叠。 + +### 坐标轴缩放 + +散点图中变量之间的关系可能是非线性的。我们可以对数据应用多种转换,使这种关系变为(近似)线性(见“数据> 转换”),以便更容易通过例如“模型> 估计 > 线性回归(OLS)”进行估计。对业务数据最常用的数据转换可能是(自然)对数转换。要查看对数转换是否适合你的数据,勾选 “X 轴对数(Log X)” 和 / 或 “Y 轴对数(Log Y)” 框(例如,对于散点图或条形图)。 + +默认情况下,使用 `行分面` 时,所有子图的 Y 轴刻度相同。要使每个子图的 Y 轴刻度独立,点击 `Y 轴缩放` 复选框。 + +### 翻转坐标轴 + +要交换 X 轴和 Y 轴上的变量,勾选 `翻转` 框。 + +### 图表高度和宽度 + +要调整图表大小,修改屏幕左下角的高度和宽度输入框中的值。 + +### 保存图表 + +保存图表的最佳方式是通过点击屏幕左下角的报告()图标或按键盘上的`ALT-enter`生成`visualize`命令。或者,点击屏幕右上角的图标将 png 文件保存到磁盘。 + +### 在 “报告> Rmd” 中定制图表 + +要定制图表,首先通过点击屏幕左下角的报告()图标或按键盘上的`ALT-enter`生成`visualize`命令。下方示例说明了如何在“报告> Rmd”标签中定制命令。注意`custom`被设为`TRUE`。 + +```r +visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) + + labs( + title = "A scatterplot", + y = "Price in $", + x = "Carats" + ) +``` + +图表的默认分辨率为 144 dots per inch(dpi)。你可以在 “报告> Rmd” 中调高或调低此设置。例如,下方代码块标题确保图表宽 7 英寸、高 3.5 英寸,分辨率为 600 dpi。 + +```` ```{r fig.width = 7, fig.height = 3.5, dpi = 600} ```` + +如果你安装了`svglite`包,下方代码块标题将生成高质量的`svg`格式图表。 + +```` ```{r fig.width = 7, fig.height = 3.5, dev = "svglite"} ```` + +**一些常见的定制命令:** + +* 添加标题:`+ labs(title = "我的标题")` +* 添加副标题:`+ labs(subtitle = "我的副标题")` +* 在图表下方添加说明:`+ labs(caption = "基于……的数据")` +* 更改标签:`+ labs(x = "我的X轴标签")`或`+ labs(y = "我的Y轴标签")` +* 移除所有图例:`+ theme(legend.position = "none")` +* 更改图例标题:`+ labs(color = "新图例标题")`或`+ labs(fill = "新图例标题")` +* 旋转刻度标签:`+ theme(axis.text.x = element_text(angle = 90, hjust = 1))` +* 设置图表范围:`+ ylim(5000, 8000)`或`+ xlim("VS1","VS2")` +* 移除大小图例:`+ scale_size(guide = "none")` +* 更改大小范围:`+ scale_size(range=c(1,6))` +* 绘制水平线:`+ geom_hline(yintercept = 0.1)` +* 绘制垂直线:`+ geom_vline(xintercept = 8)` +* 将 Y 轴缩放为百分比:`+ scale_y_continuous(labels = scales::percent)` +* 将 Y 轴以百万为单位:`+ scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6))` +* 以美元显示 Y 轴:`+ scale_y_continuous(labels = scales::dollar_format())` +* 使用逗号作为 Y 轴千位分隔符:`+ scale_y_continuous(labels = scales::comma)` + +有关如何定制图表用于展示的更多内容,参见http://r4ds.had.co.nz/graphics-for-communication.html。 + +另见 ggplot2 文档网站https://ggplot2.tidyverse.org。 + +假设我们在 “数据> 可视化” 中使用钻石数据创建了三组条形图。要在图表组上方添加标题并设置单列布局,可使用`patchwork`如下: + +```r +library(patchwork) +plot_list <- visualize( + diamonds, + xvar = c("clarity", "cut", "color"), + yvar = "price", + type = "bar", + custom = TRUE +) +wrap_plots(plot_list, ncol = 1) + plot_annotation(title = "Three bar plots") +``` + +有关如何定制图表组的更多信息,参见patchwork 文档网站。 + +### 在 “报告> Rmd” 中制作交互式图表 + +使用`plotly`库可将 Radiant 中生成的(大多数)图表转换为交互式图形。设置`custom = TRUE`后,可使用`ggplotly`函数转换单个图表。见下方示例: + +```r +visualize(diamonds, xvar = "price", custom = TRUE) %>% + ggplotly() %>% + render() +``` + +如果创建了多个图表,可使用`plotly`包的`subplot`函数。为`nrows`参数提供值以设置图表布局网格。在下方示例中创建了四个图表,由于`nrow = 2`,图表将以 2×2 网格显示。 + +```r +visualize(diamonds, xvar = c("carat", "clarity", "cut", "color"), custom = TRUE) %>% + subplot(nrows = 2) %>% + render() +``` + +有关`plotly`库的更多信息,参见下方链接: + +* 入门指南:https://plot.ly/r/getting-started/ +* 参考手册:https://plot.ly/r/reference/ +* 书籍:https://cpsievert.github.io/plotly_book +* 代码:https://github.com/ropensci/plotly + +### R 函数 + +有关 Radiant 中用于数据可视化的相关 R 函数概述,请参见“数据> 可视化” 。 diff --git a/radiant.data/inst/app/ui.R b/radiant.data/inst/app/ui.R new file mode 100644 index 0000000..07973f5 --- /dev/null +++ b/radiant.data/inst/app/ui.R @@ -0,0 +1,12 @@ +## ui for data menu in radiant +navbar_proj( + do.call( + navbarPage, + c( + "Radiant for R", + getOption("radiant.nav_ui"), + getOption("radiant.shared_ui"), + help_menu("help_data_ui") + ) + ) +) diff --git a/radiant.data/inst/app/www/imgs/by-nc-sa.png b/radiant.data/inst/app/www/imgs/by-nc-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..76eb5da461b41405c500a557253eec5f65169519 GIT binary patch literal 2374 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/www/imgs/by-sa.png b/radiant.data/inst/app/www/imgs/by-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..2332cc49dd634c62e4013e13e5e4f06747c7e250 GIT binary patch literal 2284 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/www/imgs/icon.png b/radiant.data/inst/app/www/imgs/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e27a5d7ce9c4d0db2495b75f7fd8b4bd091921a7 GIT binary patch literal 82500 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

    2&HFM7>s96$o=Cz~z+=19_qgjJ8Ol}Hi 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%0Dc@J@)CwB0eO=u;UONI9b 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 ^oXd^-we&Ty(DGRsw8Qm;6j?5eH&xQqfSNN_mc3 zDNr<(Vn)R}@C{6{472XQa-5Uxete~@zCMhy-Sp7?`g>;JK?XfLb}__jd4t=Y#VBjv zosYj?WRRb->JZ5qv*_6WP@;M&-)*>|Q+qkNxdR_+tR9}E zYz@ce`*^4+jxd5}hsI~$y!ihY8RUPVfn6}m2WO^OyaQ%o!Vup-I$nE)3oD0+&}71qUqL!=mY_UgA|VKqgLdx$@=O$y()e* z&l->4e7Jw;N28tnrBAVuo68hv3ZL|xclz=3&*y)?$RN*i^>;m&VSc84{`!kAZr!|p zY2&tbylJV3HXojrTcGJpv?AR&7ZnS1Mqgl)lr9yhxFIq7eNxpy@!?@&w^&&!8hX9O zdAE#*n-g}MPpakRB3U8kwA6~&^f-zSvsdi_dP*K%q-p3aB(`~#pXw_>{pp^Q4Dq6t zczz51B7;1?`TB{oA-?!NMLmpjBmX-om7iml{lrB-`-8Rh__-vyV{sgNddsza#lXNI z>FMGa;%CG>arvv}KOY{RFWo=i_RQz!v;Q+r{XXaP0%@sApdtoOS3j3^P6MathJax.Hub.Config({ TeX: { equationNumbers: {autoNumber: 'all'} } });")), +// Use $\setCounter{-10}$ at the top of a file to reset the equation counter for +// each markdown file +// If you do not use this feature, equation number will start with (1) on the +// case that is opened first - probably not what you want + +// from https://groups.google.com/d/msg/mathjax-users/uA-l1L9yVTA/-adeXpevMIkJ +window.MathJax = { + jax: ["input/TeX", "output/HTML-CSS"], //just some defaults + extensions: ["tex2jax.js", "MathMenu.js", "MathZoom.js"], + TeX: { + extensions: ["AMSmath.js", "AMSsymbols.js"], + equationNumbers: { + autoNumber: "all" + } + }, + AuthorInit: function() { + MathJax.Hub.Register.StartupHook("TeX AMSmath Ready", function() { + MathJax.InputJax.TeX.Definitions.Add({ + macros: { + setCounter: "setCounter" + } + }, null, true); + MathJax.InputJax.TeX.Parse.Augment({ + setCounter: function(name) { + var num = parseInt(this.GetArgument(name)); + MathJax.Extension["TeX/AMSmath"].number = num; + } + }); + }); + } +}; diff --git a/radiant.data/inst/app/www/js/message-handler.js b/radiant.data/inst/app/www/js/message-handler.js new file mode 100644 index 0000000..a2808c0 --- /dev/null +++ b/radiant.data/inst/app/www/js/message-handler.js @@ -0,0 +1,9 @@ +// This receives messages of type "testmessage" from the server. +// See https://shiny.posit.co/gallery/server-to-client-custom-messages.html +// for details +// Code copied from https://github.com/rstudio/shiny-examples/tree/master/088-action-pattern1 +Shiny.addCustomMessageHandler("message", + function(message) { + alert(JSON.stringify(message)); + } +); diff --git a/radiant.data/inst/app/www/js/returnTextAreaBinding.js b/radiant.data/inst/app/www/js/returnTextAreaBinding.js new file mode 100644 index 0000000..ccb84ff --- /dev/null +++ b/radiant.data/inst/app/www/js/returnTextAreaBinding.js @@ -0,0 +1,62 @@ +// based on https://gist.github.com/xiaodaigh/7150112 +var returnTextAreaBinding = new Shiny.InputBinding(); +$.extend(returnTextAreaBinding, { + + find: function (scope) { + return $(scope).find('.returnTextArea'); + }, + getId: function (el) { + return $(el).attr('id') + }, + getValue: function (el) { + return el.value; + }, + setValue: function (el, value) { + el.value = value; + }, + subscribe: function (el, callback) { + // callback when if enter key is pressed: http://stackoverflow.com/a/30149302/1974918 + $(el).on('keydown.textInputBinding input.textInputBinding', function (event) { + if (event.keyCode == 13) { + event.preventDefault(); + callback(); + } + // print value using console.log(event.target.value); + if (event.target.value == "") { + callback(); + } + }); + + // callback when updateTextInput is used to reset value to "" + $(el).on('change.textInputBinding', function (event) { + if (event.target.value == "") { + callback(); + } else { + callback(false); + } + }); + }, + unsubscribe: function (el) { + $(el).off('.textInputBinding'); + }, + receiveMessage: function (el, data) { + if (data.hasOwnProperty('value')) + this.setValue(el, data.value); + if (data.hasOwnProperty('label')) + $(el).parent().find('label[for=' + el.id + ']').text(data.label); + $(el).trigger('change'); + }, + getState: function (el) { + return { + label: $(el).parent().find('label[for=' + el.id + ']').text(), + value: el.value + }; + }, + getRatePolicy: function () { + return { + policy: 'debounce', + delay: 250 + }; + } +}); +Shiny.inputBindings.register(returnTextAreaBinding, 'shiny.returnTextArea'); diff --git a/radiant.data/inst/app/www/js/returnTextInputBinding.js b/radiant.data/inst/app/www/js/returnTextInputBinding.js new file mode 100644 index 0000000..f6e2fc9 --- /dev/null +++ b/radiant.data/inst/app/www/js/returnTextInputBinding.js @@ -0,0 +1,64 @@ +// based on https://gist.github.com/xiaodaigh/7150112 +var returnTextInputBinding = new Shiny.InputBinding(); +$.extend(returnTextInputBinding, { + find: function(scope) { + return $(scope).find('input[type="text"]'); + }, + getId: function(el) { + return Shiny.InputBinding.prototype.getId.call(this, el) || el.name; + }, + getValue: function(el) { + return el.value; + }, + setValue: function(el, value) { + el.value = value; + }, + subscribe: function(el, callback) { + // same setup as returnTextAreaBinding.js + // callback when if enter key is pressed: http://stackoverflow.com/a/30149302/1974918 + $(el).on('keydown.textInputBinding input.textInputBinding', function(event) { + if(event.keyCode == 13) { + event.preventDefault(); + callback(); + } + // print value using console.log(event.target.value); + if(event.target.value == "") { + callback(); + } + }); + + // callback when updateTextInput is used to reset value to "" + $(el).on('change.textInputBinding', function(event) { + if(event.target.value == "") { + callback(); + } else { + callback(false); + } + }); + }, + unsubscribe: function(el) { + $(el).off('.textInputBinding'); + }, + receiveMessage: function(el, data) { + if (data.hasOwnProperty('value')) + this.setValue(el, data.value); + + if (data.hasOwnProperty('label')) + $(el).parent().find('label[for=' + el.id + ']').text(data.label); + + $(el).trigger('change'); + }, + getState: function(el) { + return { + label: $(el).parent().find('label[for=' + el.id + ']').text(), + value: el.value + }; + }, + getRatePolicy: function() { + return { + policy: 'debounce', + delay: 250 + }; + } +}); +Shiny.inputBindings.register(returnTextInputBinding, 'returnTextInput'); diff --git a/radiant.data/inst/app/www/js/run_return.js b/radiant.data/inst/app/www/js/run_return.js new file mode 100644 index 0000000..a094356 --- /dev/null +++ b/radiant.data/inst/app/www/js/run_return.js @@ -0,0 +1,200 @@ +// based on http://stackoverflow.com/a/32340906/1974918 +// and http://stackoverflow.com/a/8774101/1974918 +// check out https://www.youtube.com/watch?v=tM0q3u220mI for debugging +// https://stackoverflow.com/questions/35831811/register-repeated-keyboard-presses-in-shiny +// https://github.com/rstudio/shiny/issues/928 +// https://stackoverflow.com/questions/32002170/r-shiny-enabling-keyboard-shortcuts +// https://stackoverflow.com/questions/47569992/home-button-in-header-in-r-shiny-dashboard +$(document).keydown(function (event) { + + // console.log(document.activeElement) + if ($(".btn-success:visible" || ".shiny-bound-input:visible").is(":visible") && + (event.metaKey || event.ctrlKey || event.shiftKey) && event.keyCode == 13) { + $(".btn-success:visible" || ".shiny-bound-input:visible").click(); + } else if ($(".fa-edit:visible" || ".shiny-bound-input:visible").is(":visible") && + event.altKey && event.keyCode == 13) { + $(".fa-edit:visible" || ".shiny-bound-input:visible").click(); + } else if ($(".fa-question:visible" || ".shiny-bound-input:visible").is(":visible") && + event.keyCode == 112) { + $(".fa-question:visible" || ".shiny-bound-input:visible").click(); + } else if ($(".fa-camera:visible" || ".shiny-bound-input:visible").is(":visible") && + (event.metaKey || event.ctrlKey) && event.keyCode == 80) { + $(".fa-camera:visible" || ".shiny-bound-input:visible").click(); + event.preventDefault(); + } else if ($(".fa-download:visible" || ".shiny-bound-input:visible").is(":visible") && + (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 83) { + $(".fa-download:visible" || ".shiny-bound-input:visible").click(); + event.preventDefault(); + } else if ($("#updateDescr").is(":visible") && (event.metaKey || event.ctrlKey) && event.keyCode == 13) { + $("#updateDescr").click(); + event.preventDefault(); + } else if ($("#rmd_read_files").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 79) { + $("#rmd_read_files").click(); + event.preventDefault(); + } else if ($("#r_read_files").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 79) { + $("#r_read_files").click(); + event.preventDefault(); + } else if ($("#rmd_save").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 83) { + // different because rmd_save is a link see https://stackoverflow.com/a/3738603/1974918 + document.getElementById("rmd_save").click(); + event.preventDefault(); + } else if ($("#r_save").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 83) { + // different because r_save is a link see https://stackoverflow.com/a/3738603/1974918 + document.getElementById("r_save").click(); + event.preventDefault(); + } else if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.keyCode == 83) { + document.getElementById("state_save").click(); + event.preventDefault(); + } else if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.keyCode == 79) { + document.getElementById("state_load").click(); + event.preventDefault(); + } else if ($("#uploadfile").is(":visible") && (event.metaKey || event.ctrlKey) && + event.shiftKey === false && event.keyCode == 79) { + $("#uploadfile").click(); + event.preventDefault(); + } else if ($("#man_save_data").is(":visible") && (event.metaKey || event.ctrlKey) && + event.shiftKey === false && event.keyCode == 83) { + $("#man_save_data").click(); + event.preventDefault(); + } + + // focusing in text (area) inputs + if ($("#data_rename").is(":focus") && event.keyCode == 13) { + $("#renameButton").click(); + } else if ($("#url_csv").is(":focus") && event.keyCode == 13) { + $("#url_csv_load").click(); + } else if ($("#url_rds").is(":focus") && event.keyCode == 13) { + $("#url_rds_load").click(); + } else if ($("#view_name").is(":focus") && event.keyCode == 13) { + $("#view_store").click(); + } else if ($("#pvt_name").is(":focus") && event.keyCode == 13) { + $("#pvt_store").click(); + } else if ($("#expl_name").is(":focus") && event.keyCode == 13) { + $("#expl_store").click(); + } else if ($("#tr_name").is(":focus") && event.keyCode == 13) { + $("#tr_store").click(); + } else if ($("#cmb_name").is(":focus") && event.keyCode == 13) { + $("#cmb_store").click(); + } else if ($("#man_rename_data").is(":focus") && + document.getElementById('man_rename_data').checked === true) { + $("#data_rename").focus(); + } else if ($("#man_add_descr").is(":focus") && + document.getElementById('man_add_descr').checked === true) { + $("#man_data_descr").focus(); + } else if ($("#show_filter").is(":focus") && $("#show_filter")[0].checked) { + $("#data_filter").focus(); + } else if ($("#tr_change_type").next(".selectize-control").find(".focus").length > 0) { + // can set focus for selectize input + // https://stackoverflow.com/questions/48104027/determine-if-selectize-input-has-focus + if ($('#tr_change_type').selectize()[0].selectize.getValue() === "recode") { + $("#tr_recode").focus(); + } else if ($('#tr_change_type').selectize()[0].selectize.getValue() === "clip") { + $("#tr_paste").focus(); + } else if ($('#tr_change_type').selectize()[0].selectize.getValue() === "create") { + $("#tr_create").focus(); + } + } else if ($("#rmd_knit").is(":visible") && document.activeElement === document.body) { + $(".ace_text-input").focus(); + } else if ($("#r_knit").is(":visible") && document.activeElement === document.body) { + $(".ace_text-input").focus(); + } + + // needed to address https://github.com/rstudio/shiny/issues/1916 + $("input:text").attr("spellcheck", "false"); +}); + +$(function () { + $("#state_save_link").on('click', function (e) { + e.preventDefault(); + $("#state_save").trigger('click'); + }); + $("#state_load_link").on('click', function (e) { + e.preventDefault(); + $("#state_load").trigger('click'); + }); + $("#state_upload_link").on('click', function (e) { + e.preventDefault(); + $("#state_upload").trigger('click'); + }); +}); + +// from https://stackoverflow.com/a/33251536/1974918 by Dean Attali +$(document).on("shiny:connected", function () { + Shiny.onInputChange("get_screen_width", $(window).width()); +}); + +// from https://github.com/rstudio/shiny/issues/2033#issuecomment-386438821 +$(document).on('shiny:disconnected', function () { + window.parent.postMessage('disconnected', '*'); +}); + +// based on https://stackoverflow.com/questions/61690502/shiny-setinputvalue-only-works-on-the-2nd-try +function get_img_src() { + var img_src = $("#screenshot_preview img").attr("src"); + Shiny.setInputValue("img_src", img_src); +} + +function generate_screenshot() { + var clonedHeight = document.querySelector('body').scrollHeight; + html2canvas($("body")[0], { + y: 42, // Set the starting point to 100 pixels from the top + // width: document.body.scrollWidth, + height: document.body.scrollHeight, // set this on the cloned document + onclone: (clonedDocument) => { + Array.from(clonedDocument.querySelectorAll("textarea")).forEach((textArea) => { + if (textArea && textArea.value.length > 30) { + const labelFor = textArea.getAttribute("id") + const label = clonedDocument.querySelector(`label[for="${labelFor}"]`) + const div = clonedDocument.createElement("div") + div.innerText = textArea.value + div.style.border = "1px solid #d3d3d3" + div.style.padding = "10px 10px 10px 10px" + div.style.width = "100%" + div.style.borderRadius = "5px" + div.style.boxSizing = "border-box"; + div.style.margin = "0"; + div.style.backgroundColor = "white" + textArea.style.display = "none" + textArea.parentElement.append(label, div); + } + }) + + Array.from(clonedDocument.querySelectorAll('select[multiple]')).forEach((msel) => { + const multiSelect = document.querySelector("#" + msel.getAttribute("id")); + if (multiSelect && multiSelect.selectedOptions.length > 1) { + const clonedMultiSelect = clonedDocument.querySelector("#" + msel.getAttribute("id")); + const list = clonedDocument.createElement('ul') + Array.from(multiSelect.selectedOptions).forEach((option) => { + const item = clonedDocument.createElement('li') + item.innerHTML = option.value + item.style = "list-style: none; padding-left: 0.5em" + item.style.width = "100%" + list.appendChild(item) + }) + list.style.border = "1px solid #d3d3d3" + list.style.padding = "5px 5px 5px 5px" + list.style.width = "100%" + list.style.backgroundColor = "white" + list.style.borderRadius = "5px" + clonedMultiSelect.style.display = "none" + clonedMultiSelect.parentElement.appendChild(list) + } + }); + console.log(clonedDocument.querySelector("body").scrollHeight); + clonedHeight = clonedDocument.querySelector("body").scrollHeight + "px"; + console.log("clonedHeight: " + clonedHeight); + }, + ignoreElements: function (el) { + return el.classList.contains("navbar-inverse") || el.classList.contains("dropdown-menu"); + } + }).then(canvas => { + var img = document.createElement("img"); + img.src = canvas.toDataURL("png"); + img.width = parseInt(canvas.style.width); + img.height = parseInt(canvas.style.height); // changing value has no impact + // has no impact even when "height:" above is not set + // img.height = parseInt(clonedHeight); + $("#screenshot_preview").empty(); + $("#screenshot_preview").append(img); + }); +} diff --git a/radiant.data/inst/app/www/js/session.js b/radiant.data/inst/app/www/js/session.js new file mode 100644 index 0000000..4a463b2 --- /dev/null +++ b/radiant.data/inst/app/www/js/session.js @@ -0,0 +1,18 @@ +Shiny.addCustomMessageHandler("session_start", function(data) { + var search = location.search; + var reSSUID = /([?&])SSUID=[^&]*&?/g; + + if (search.length > 0) { + if (reSSUID.test(search)) + search = search.replace(reSSUID, "$1"); + if (!/[?&]$/.test(search)) + search += "&"; + search += "SSUID=" + encodeURIComponent(data); + } else { + search = "?SSUID=" + encodeURIComponent(data); + } + + // Joe Cheng: "Work around ShinyApps.io/SSP/RSC base href silliness" + var path = location.pathname.replace(/\/_w_(\w+)/, ""); + history.replaceState(null, null, path + search); +}) diff --git a/radiant.data/inst/app/www/js/video_reset.js b/radiant.data/inst/app/www/js/video_reset.js new file mode 100644 index 0000000..84bb665 --- /dev/null +++ b/radiant.data/inst/app/www/js/video_reset.js @@ -0,0 +1,21 @@ +// from http://stackoverflow.com/a/31078774/1974918 +$(function(){ + $("body").on('hidden.bs.modal', function (e) { + var $iframes = $(e.target).find("iframe"); + $iframes.each(function(index, iframe){ + $(iframe).attr("src", $(iframe).attr("src")); + }); + }); +}); + +// from http://stackoverflow.com/a/28114558/1974918 +// needed to wrap in function(){} and updated using ideas +// from http://stackoverflow.com/a/31078774/1974918 +$(function(){ + $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { + var $iframes = $(e.relatedTarget.hash).find('iframe'); + $iframes.each(function(index, iframe){ + $(iframe).attr("src", $(iframe).attr("src")); + }); + }); +}); diff --git a/radiant.data/inst/app/www/scpt/choose.dir.scpt b/radiant.data/inst/app/www/scpt/choose.dir.scpt new file mode 100644 index 0000000000000000000000000000000000000000..2ed0a509b1ac235056b34e6053733063381e3bef GIT binary patch literal 250 zcmeY&_AgF!aSS%pGcW+*q=KBx;t~Uci;PTR#mPmP1tswU%gPdq6cP&x6l@h73xM*; zi6xo&d3wpEMMbH3B}hUVnp{9-dYO62Ii)G7!6k`#DTzfXjwvabAPvPp{Ut@Esay(N zAOrJDOA1O$-12i$Qj35xAdSfx`T51E5Fw3fE(IVc&n(FZD9X<*D6vvd3Qo;QO)gPL p1M5-Zs@3E|HiUy)hye^386h+SGn9r=yR(2^Vqj$8`E~E!S^#JzO*#Mo literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/www/scpt/choose.files.scpt b/radiant.data/inst/app/www/scpt/choose.files.scpt new file mode 100644 index 0000000000000000000000000000000000000000..045e1ddcb63e5d861bddbb4057fa509f0f5d6f3c GIT binary patch literal 376 zcmYk2%}N6?6ooT&qY)SS0$#eB0hx{qHzO_v#6=fY7;!5x$xI`eB;=>1NFT|E@df%I zu9|d;cp)4(eD|J1=5FE0W7FQ2Rh8a{k;3_^`pG75j#^>-`(<{$A{K}-@Bod803}{% zRnlNBSN@-s7dT?2P*euSTTc`tmNkrtwBX{tw}E5a1x1qsHmID~epSF12AIu&Moddy zO5Nx4cJW*~Z-webw;8ztM=sT2nuZ~!$D1jVF12?2Nl2cjOKH}^FJG)4jIUwZa>=QO zE&^_PgUh7^A=h9JE#l8^TkeBZfBE-#i_s}MM_1@D YlWbIUa@3<_cjz;ID9X^q?{4?K2Y(ZCG5`Po literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/www/style.css b/radiant.data/inst/app/www/style.css new file mode 100644 index 0000000..1c56c22 --- /dev/null +++ b/radiant.data/inst/app/www/style.css @@ -0,0 +1,257 @@ +ul, +ol { + padding-left: 18px; +} + +#viz_details_main+span, +#viz_details_labels+span, +#viz_details_style+span { + font-weight: bold; +} + +.table { + width: auto; +} + +.btn { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.snippet th, +.snippet td { + text-align: center; +} + +table.dataTable tfoot td, +table.dataTable thead td { + padding: 0 0 0 0; +} + +td.top { + padding-top: 33px; +} + +td.top_small { + padding-top: 5px; +} + +td.top_mini { + padding-top: 1px; +} + +.well { + padding: 7px; + margin-bottom: 5px; +} + +.col-sm-4 { + max-width: 315px; +} + +.checkbox { + margin-top: 0; + margin-bottom: 0; +} + +.form-group { + margin-top: 0; + margin-bottom: 0; +} + +.radio-inline+.radio-inline, +.checkbox-inline+.checkbox-inline { + margin-left: 0; + margin-right: 5px; +} + +.radio-inline, +.checkbox-inline { + margin-right: 5px; +} + +.help-modal-dialog { + padding-top: 80px; +} + +.modal-sm { + padding-top: 80px; + width: 600px; +} + +.help-modal-body { + max-height: 600px; + overflow-y: auto; +} + +.modal-title { + display: inline-block; + line-height: 1; + margin-top: 0; + margin-bottom: 0; +} + +img { + max-width: 85% !important; + height: auto; +} + +/* based on https://stackoverflow.com/a/30338814/1974918*/ +pre { + overflow: auto; + white-space: pre; + word-wrap: normal; + /*background-color: #ffffff;*/ +} + +code, +pre code { + overflow: auto; + white-space: pre; + word-wrap: normal; +} + +#state_download { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 16px; + color: black; +} + +/* allow all textareas and multiple-select inputs to resize vertically */ +/* have to set overflow to make resize work on Safari */ +/* based on https://css-tricks.com/almanac/properties/r/resize/ */ +textarea, +select { + resize: vertical; + overflow: auto; + max-width: 100%; +} + +.alignleft { + float: left; +} + +.alignright { + float: right; +} + +.aligncenter { + margin-left: 42%; +} + +.color_bar { + background-color: blue; +} + +/* from: https://github.com/swarm-lab/editR/blob/master/inst/app/www/editR.css */ +#rmd_edit, +#r_edit { + position: absolute; + top: 100px; + bottom: 0; + left: 0; + right: 50%; + padding-right: 10px; + margin-top: 1rem; +} + +/* from: https://github.com/swarm-lab/editR/blob/master/inst/app/www/editR.css */ +#rmd_knitted, +#r_knitted { + position: absolute; + top: 100px; + bottom: 0; + left: 50%; + right: 0; + padding-left: 10px; + overflow-y: scroll; + margin-top: 1rem; +} + +/* Needed in combination with navbarPage with fixed-top */ +/* based on https://stackoverflow.com/a/19231861/1974918 */ +body { + padding-top: 42px; +} + +.navbar { + margin-bottom: 5px; + background-color: black; +} + +.navbar .nav>li>a { + padding-left: 7px; + padding-right: 8px; +} + +.nav-tabs { + margin-bottom: 10px; +} + +.dropdown-menu { + max-height: 90vh; + overflow-y: auto; +} + +@media (max-width: 1000px) { + .navbar-header { + float: none; + } + + .navbar-left, + .navbar-right { + float: none !important; + } + + .navbar-toggle { + display: block; + } + + .navbar-collapse { + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + } + + .navbar-fixed-top { + top: 0; + border-width: 0 0 1px; + } + + .navbar-collapse.collapse { + display: none !important; + } + + .navbar-nav { + float: none !important; + margin-top: 7.5px; + } + + .navbar-nav>li { + float: none; + } + + .navbar-nav>li>a { + padding-top: 10px; + padding-bottom: 10px; + } + + .collapse.in { + display: block !important; + } +} + +/* border radius same as other buttons in shiny */ +.btn-file-solitary { + border-radius: 4px !important; +} + +/* likely due to bootstrap css, font set to white */ +/* with dark themes against a white background */ +/* see https://github.com/ajaxorg/ace/issues/3071 */ +.ace_replace_form, +.ace_search_field, +.ace_replacebtn, +.ace_searchbtn { + color: black; +} diff --git a/radiant.data/inst/app/www/style.docx b/radiant.data/inst/app/www/style.docx new file mode 100644 index 0000000000000000000000000000000000000000..7a0b58254d67bc022a05124989d26e3622d87c9a GIT binary patch literal 20866 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 Ghz9`Vc;`j{ literal 0 HcmV?d00001 diff --git a/radiant.data/inst/app/www/style.potx b/radiant.data/inst/app/www/style.potx new file mode 100644 index 0000000000000000000000000000000000000000..a2ca5068810ae07a87e957706af897f467a6c6a6 GIT binary patch literal 39852 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�T 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 literal 0 HcmV?d00001 diff --git a/radiant.data/inst/assets/html2canvas/html2canvas.min.js b/radiant.data/inst/assets/html2canvas/html2canvas.min.js new file mode 100644 index 0000000..aed6bfd --- /dev/null +++ b/radiant.data/inst/assets/html2canvas/html2canvas.min.js @@ -0,0 +1,20 @@ +/*! + * html2canvas 1.4.1 + * Copyright (c) 2022 Niklas von Hertzen + * Released under MIT License + */ +!function(A,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(A="undefined"!=typeof globalThis?globalThis:A||self).html2canvas=e()}(this,function(){"use strict"; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */var r=function(A,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,e){A.__proto__=e}||function(A,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(A[t]=e[t])})(A,e)};function A(A,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=A}r(A,e),A.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}var h=function(){return(h=Object.assign||function(A){for(var e,t=1,r=arguments.length;ts[0]&&e[1]>10),s%1024+56320)),(B+1===t||16384>5],this.data[e=(e<<2)+(31&A)];if(A<=65535)return e=this.index[2048+(A-55296>>5)],this.data[e=(e<<2)+(31&A)];if(A>11)],e=this.index[e+=A>>5&63],this.data[e=(e<<2)+(31&A)];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},l);function l(A,e,t,r,B,n){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=r,this.index=B,this.data=n}for(var C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u="undefined"==typeof Uint8Array?[]:new Uint8Array(256),F=0;F>4,i[o++]=(15&t)<<4|r>>2,i[o++]=(3&r)<<6|63&B;return n}(y="KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA=="),L=Array.isArray(m)?function(A){for(var e=A.length,t=[],r=0;r=this._value.length?-1:this._value[A]},XA.prototype.consumeUnicodeRangeToken=function(){for(var A=[],e=this.consumeCodePoint();lA(e)&&A.length<6;)A.push(e),e=this.consumeCodePoint();for(var t=!1;63===e&&A.length<6;)A.push(e),e=this.consumeCodePoint(),t=!0;if(t)return{type:30,start:parseInt(g.apply(void 0,A.map(function(A){return 63===A?48:A})),16),end:parseInt(g.apply(void 0,A.map(function(A){return 63===A?70:A})),16)};var r=parseInt(g.apply(void 0,A),16);if(45===this.peekCodePoint(0)&&lA(this.peekCodePoint(1))){this.consumeCodePoint();for(var e=this.consumeCodePoint(),B=[];lA(e)&&B.length<6;)B.push(e),e=this.consumeCodePoint();return{type:30,start:r,end:parseInt(g.apply(void 0,B),16)}}return{type:30,start:r,end:r}},XA.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return"url"===A.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:A}):{type:20,value:A}},XA.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var e,t=this.peekCodePoint(0);if(39===t||34===t){t=this.consumeStringToken(this.consumeCodePoint());return 0===t.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:t.value}):(this.consumeBadUrlRemnants(),xA)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:g.apply(void 0,A)};if(CA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:g.apply(void 0,A)}):(this.consumeBadUrlRemnants(),xA);if(34===r||39===r||40===r||(0<=(e=r)&&e<=8||11===e||14<=e&&e<=31||127===e))return this.consumeBadUrlRemnants(),xA;if(92===r){if(!hA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),xA;A.push(this.consumeEscapedCodePoint())}else A.push(r)}},XA.prototype.consumeWhiteSpace=function(){for(;CA(this.peekCodePoint(0));)this.consumeCodePoint()},XA.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(41===A||-1===A)return;hA(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},XA.prototype.consumeStringSlice=function(A){for(var e="";0>8,r=255&A>>16,A=255&A>>24;return e<255?"rgba("+A+","+r+","+t+","+e/255+")":"rgb("+A+","+r+","+t+")"}function Qe(A,e){if(17===A.type)return A.number;if(16!==A.type)return 0;var t=3===e?1:255;return 3===e?A.number/100*t:Math.round(A.number/100*t)}var ce=function(A,e){return 11===e&&12===A.type||(28===e&&29===A.type||2===e&&3===A.type)},ae={type:17,number:0,flags:4},ge={type:16,number:50,flags:4},we={type:16,number:100,flags:4},Ue=function(A,e){if(16===A.type)return A.number/100*e;if(WA(A))switch(A.unit){case"rem":case"em":return 16*A.number;default:return A.number}return A.number},le=function(A,e){if(15===e.type)switch(e.unit){case"deg":return Math.PI*e.number/180;case"grad":return Math.PI/200*e.number;case"rad":return e.number;case"turn":return 2*Math.PI*e.number}throw new Error("Unsupported angle type")},Ce=function(A){return Math.PI*A/180},ue=function(A,e){if(18===e.type){var t=me[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function "'+e.name+'"');return t(A,e.values)}if(5===e.type){if(3===e.value.length){var r=e.value.substring(0,1),B=e.value.substring(1,2),n=e.value.substring(2,3);return Fe(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),1)}if(4===e.value.length){var r=e.value.substring(0,1),B=e.value.substring(1,2),n=e.value.substring(2,3),s=e.value.substring(3,4);return Fe(parseInt(r+r,16),parseInt(B+B,16),parseInt(n+n,16),parseInt(s+s,16)/255)}if(6===e.value.length){r=e.value.substring(0,2),B=e.value.substring(2,4),n=e.value.substring(4,6);return Fe(parseInt(r,16),parseInt(B,16),parseInt(n,16),1)}if(8===e.value.length){r=e.value.substring(0,2),B=e.value.substring(2,4),n=e.value.substring(4,6),s=e.value.substring(6,8);return Fe(parseInt(r,16),parseInt(B,16),parseInt(n,16),parseInt(s,16)/255)}}if(20===e.type){e=Le[e.value.toUpperCase()];if(void 0!==e)return e}return Le.TRANSPARENT},Fe=function(A,e,t,r){return(A<<24|e<<16|t<<8|Math.round(255*r)<<0)>>>0},he=function(A,e){e=e.filter($A);if(3===e.length){var t=e.map(Qe),r=t[0],B=t[1],t=t[2];return Fe(r,B,t,1)}if(4!==e.length)return 0;e=e.map(Qe),r=e[0],B=e[1],t=e[2],e=e[3];return Fe(r,B,t,e)};function de(A,e,t){return t<0&&(t+=1),1<=t&&--t,t<1/6?(e-A)*t*6+A:t<.5?e:t<2/3?6*(e-A)*(2/3-t)+A:A}function fe(A,e){return ue(A,JA.create(e).parseComponentValue())}function He(A,e){return A=ue(A,e[0]),(e=e[1])&&te(e)?{color:A,stop:e}:{color:A,stop:null}}function pe(A,t){var e=A[0],r=A[A.length-1];null===e.stop&&(e.stop=ae),null===r.stop&&(r.stop=we);for(var B=[],n=0,s=0;sA.optimumDistance)?{optimumCorner:e,optimumDistance:r}:A},{optimumDistance:s?1/0:-1/0,optimumCorner:null}).optimumCorner}var Ke=function(A,e){var t=e.filter($A),r=t[0],B=t[1],n=t[2],e=t[3],t=(17===r.type?Ce(r.number):le(A,r))/(2*Math.PI),A=te(B)?B.number/100:0,r=te(n)?n.number/100:0,B=void 0!==e&&te(e)?Ue(e,1):1;if(0==A)return Fe(255*r,255*r,255*r,1);n=r<=.5?r*(1+A):r+A-r*A,e=2*r-n,A=de(e,n,t+1/3),r=de(e,n,t),t=de(e,n,t-1/3);return Fe(255*A,255*r,255*t,B)},me={hsl:Ke,hsla:Ke,rgb:he,rgba:he},Le={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},be={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(_A(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},De={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Ke=function(t,A){var r=Ce(180),B=[];return Ae(A).forEach(function(A,e){if(0===e){e=A[0];if(20===e.type&&-1!==["top","left","right","bottom"].indexOf(e.value))return void(r=se(A));if(ne(e))return void(r=(le(t,e)+Ce(270))%Ce(360))}A=He(t,A);B.push(A)}),{angle:r,stops:B,type:1}},ve="closest-side",xe="farthest-side",Me="closest-corner",Se="farthest-corner",Te="ellipse",Ge="contain",he=function(r,A){var B=0,n=3,s=[],o=[];return Ae(A).forEach(function(A,e){var t=!0;0===e?t=A.reduce(function(A,e){if(_A(e))switch(e.value){case"center":return o.push(ge),!1;case"top":case"left":return o.push(ae),!1;case"right":case"bottom":return o.push(we),!1}else if(te(e)||ee(e))return o.push(e),!1;return A},t):1===e&&(t=A.reduce(function(A,e){if(_A(e))switch(e.value){case"circle":return B=0,!1;case Te:return!(B=1);case Ge:case ve:return n=0,!1;case xe:return!(n=1);case Me:return!(n=2);case"cover":case Se:return!(n=3)}else if(ee(e)||te(e))return(n=!Array.isArray(n)?[]:n).push(e),!1;return A},t)),t&&(A=He(r,A),s.push(A))}),{size:n,shape:B,stops:s,position:o,type:2}},Oe=function(A,e){if(22===e.type){var t={url:e.value,type:0};return A.cache.addImage(e.value),t}if(18!==e.type)throw new Error("Unsupported image type "+e.type);t=ke[e.name];if(void 0===t)throw new Error('Attempting to parse an unsupported image function "'+e.name+'"');return t(A,e.values)};var Ve,ke={"linear-gradient":function(t,A){var r=Ce(180),B=[];return Ae(A).forEach(function(A,e){if(0===e){e=A[0];if(20===e.type&&"to"===e.value)return void(r=se(A));if(ne(e))return void(r=le(t,e))}A=He(t,A);B.push(A)}),{angle:r,stops:B,type:1}},"-moz-linear-gradient":Ke,"-ms-linear-gradient":Ke,"-o-linear-gradient":Ke,"-webkit-linear-gradient":Ke,"radial-gradient":function(B,A){var n=0,s=3,o=[],i=[];return Ae(A).forEach(function(A,e){var t,r=!0;0===e&&(t=!1,r=A.reduce(function(A,e){if(t)if(_A(e))switch(e.value){case"center":return i.push(ge),A;case"top":case"left":return i.push(ae),A;case"right":case"bottom":return i.push(we),A}else(te(e)||ee(e))&&i.push(e);else if(_A(e))switch(e.value){case"circle":return n=0,!1;case Te:return!(n=1);case"at":return!(t=!0);case ve:return s=0,!1;case"cover":case xe:return!(s=1);case Ge:case Me:return!(s=2);case Se:return!(s=3)}else if(ee(e)||te(e))return(s=!Array.isArray(s)?[]:s).push(e),!1;return A},r)),r&&(A=He(B,A),o.push(A))}),{size:s,shape:n,stops:o,position:i,type:2}},"-moz-radial-gradient":he,"-ms-radial-gradient":he,"-o-radial-gradient":he,"-webkit-radial-gradient":he,"-webkit-gradient":function(r,A){var e=Ce(180),B=[],n=1;return Ae(A).forEach(function(A,e){var t,A=A[0];if(0===e){if(_A(A)&&"linear"===A.value)return void(n=1);if(_A(A)&&"radial"===A.value)return void(n=2)}18===A.type&&("from"===A.name?(t=ue(r,A.values[0]),B.push({stop:ae,color:t})):"to"===A.name?(t=ue(r,A.values[0]),B.push({stop:we,color:t})):"color-stop"!==A.name||2===(A=A.values.filter($A)).length&&(t=ue(r,A[1]),A=A[0],ZA(A)&&B.push({stop:{type:16,number:100*A.number,flags:A.flags},color:t})))}),1===n?{angle:(e+Ce(180))%Ce(360),stops:B,type:n}:{size:3,shape:0,stops:B,position:[],type:n}}},Re={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,A){if(0===A.length)return[];var t=A[0];return 20===t.type&&"none"===t.value?[]:A.filter(function(A){return $A(A)&&!(20===(A=A).type&&"none"===A.value||18===A.type&&!ke[A.name])}).map(function(A){return Oe(e,A)})}},Ne={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(A,e){return e.map(function(A){if(_A(A))switch(A.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},Pe={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(A,e){return Ae(e).map(function(A){return A.filter(te)}).map(re)}},Xe={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(A,e){return Ae(e).map(function(A){return A.filter(_A).map(function(A){return A.value}).join(" ")}).map(Je)}},Je=function(A){switch(A){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};(he=Ve=Ve||{}).AUTO="auto",he.CONTAIN="contain";function Ye(A,e){return _A(A)&&"normal"===A.value?1.2*e:17===A.type?e*A.number:te(A)?Ue(A,e):e}var We,Ze,_e={name:"background-size",initialValue:"0",prefix:!(he.COVER="cover"),type:1,parse:function(A,e){return Ae(e).map(function(A){return A.filter(qe)})}},qe=function(A){return _A(A)||te(A)},he=function(A){return{name:"border-"+A+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},je=he("top"),ze=he("right"),$e=he("bottom"),At=he("left"),he=function(A){return{name:"border-radius-"+A,initialValue:"0 0",prefix:!1,type:1,parse:function(A,e){return re(e.filter(te))}}},et=he("top-left"),tt=he("top-right"),rt=he("bottom-right"),Bt=he("bottom-left"),he=function(A){return{name:"border-"+A+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(A,e){switch(e){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},nt=he("top"),st=he("right"),ot=he("bottom"),it=he("left"),he=function(A){return{name:"border-"+A+"-width",initialValue:"0",type:0,prefix:!1,parse:function(A,e){return WA(e)?e.number:0}}},Qt=he("top"),ct=he("right"),at=he("bottom"),gt=he("left"),wt={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Ut={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(A,e){return"rtl"!==e?0:1}},lt={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(A,e){return e.filter(_A).reduce(function(A,e){return A|Ct(e.value)},0)}},Ct=function(A){switch(A){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},ut={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Ft={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(A,e){return!(20===e.type&&"normal"===e.value||17!==e.type&&15!==e.type)?e.number:0}},ht={name:"line-break",initialValue:(he=We=We||{}).NORMAL="normal",prefix:!(he.STRICT="strict"),type:2,parse:function(A,e){return"strict"!==e?We.NORMAL:We.STRICT}},dt={name:"line-height",initialValue:"normal",prefix:!1,type:4},ft={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(A,e){return 20===e.type&&"none"===e.value?null:Oe(A,e)}},Ht={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(A,e){return"inside"!==e?1:0}},pt={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(A,e){switch(e){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},he=function(A){return{name:"margin-"+A,initialValue:"0",prefix:!1,type:4}},Et=he("top"),It=he("right"),yt=he("bottom"),Kt=he("left"),mt={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(A,e){return e.filter(_A).map(function(A){switch(A.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}})}},Lt={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(A,e){return"break-word"!==e?"normal":"break-word"}},he=function(A){return{name:"padding-"+A,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},bt=he("top"),Dt=he("right"),vt=he("bottom"),xt=he("left"),Mt={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(A,e){switch(e){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},St={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(A,e){switch(e){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},Tt={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(n,A){return 1===A.length&&jA(A[0],"none")?[]:Ae(A).map(function(A){for(var e={color:Le.TRANSPARENT,offsetX:ae,offsetY:ae,blur:ae},t=0,r=0;r>5],this.data[e=(e<<2)+(31&A)];if(A<=65535)return e=this.index[2048+(A-55296>>5)],this.data[e=(e<<2)+(31&A)];if(A>11)],e=this.index[e+=A>>5&63],this.data[e=(e<<2)+(31&A)];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},pr);function pr(A,e,t,r,B,n){this.initialValue=A,this.errorValue=e,this.highStart=t,this.highValueIndex=r,this.index=B,this.data=n}for(var Er="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ir="undefined"==typeof Uint8Array?[]:new Uint8Array(256),yr=0;yr>10),s%1024+56320)),(B+1===t||16384>4,i[o++]=(15&t)<<4|r>>2,i[o++]=(3&r)<<6|63&B;return n}(br="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA="),xr=Array.isArray(vr)?function(A){for(var e=A.length,t=[],r=0;rs.x||t.y>s.y;return s=t,0===e||A});return A.body.removeChild(e),t}(document);return Object.defineProperty(Xr,"SUPPORT_WORD_BREAKING",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=function(A){var e=new Image,t=A.createElement("canvas"),A=t.getContext("2d");if(!A)return!1;e.src="data:image/svg+xml,";try{A.drawImage(e,0,0),t.toDataURL()}catch(A){return!1}return!0}(document);return Object.defineProperty(Xr,"SUPPORT_SVG_DRAWING",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A="function"==typeof Array.from&&"function"==typeof window.fetch?function(t){var A=t.createElement("canvas"),r=100;A.width=r,A.height=r;var B=A.getContext("2d");if(!B)return Promise.reject(!1);B.fillStyle="rgb(0, 255, 0)",B.fillRect(0,0,r,r);var e=new Image,n=A.toDataURL();e.src=n;e=Nr(r,r,0,0,e);return B.fillStyle="red",B.fillRect(0,0,r,r),Pr(e).then(function(A){B.drawImage(A,0,0);var e=B.getImageData(0,0,r,r).data;B.fillStyle="red",B.fillRect(0,0,r,r);A=t.createElement("div");return A.style.backgroundImage="url("+n+")",A.style.height="100px",Lr(e)?Pr(Nr(r,r,0,0,A)):Promise.reject(!1)}).then(function(A){return B.drawImage(A,0,0),Lr(B.getImageData(0,0,r,r).data)}).catch(function(){return!1})}(document):Promise.resolve(!1);return Object.defineProperty(Xr,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(Xr,"SUPPORT_CORS_IMAGES",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(Xr,"SUPPORT_RESPONSE_TYPE",{value:A}),A},get SUPPORT_CORS_XHR(){var A="withCredentials"in new XMLHttpRequest;return Object.defineProperty(Xr,"SUPPORT_CORS_XHR",{value:A}),A},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var A=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(Xr,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:A}),A}},Jr=function(A,e){this.text=A,this.bounds=e},Yr=function(A,e){var t=e.ownerDocument;if(t){var r=t.createElement("html2canvaswrapper");r.appendChild(e.cloneNode(!0));t=e.parentNode;if(t){t.replaceChild(r,e);A=f(A,r);return r.firstChild&&t.replaceChild(r.firstChild,r),A}}return d.EMPTY},Wr=function(A,e,t){var r=A.ownerDocument;if(!r)throw new Error("Node has no owner document");r=r.createRange();return r.setStart(A,e),r.setEnd(A,e+t),r},Zr=function(A){if(Xr.SUPPORT_NATIVE_TEXT_SEGMENTATION){var e=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(e.segment(A)).map(function(A){return A.segment})}return function(A){for(var e,t=mr(A),r=[];!(e=t.next()).done;)e.value&&r.push(e.value.slice());return r}(A)},_r=function(A,e){return 0!==e.letterSpacing?Zr(A):function(A,e){if(Xr.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(t.segment(A)).map(function(A){return A.segment})}return jr(A,e)}(A,e)},qr=[32,160,4961,65792,65793,4153,4241],jr=function(A,e){for(var t,r=wA(A,{lineBreak:e.lineBreak,wordBreak:"break-word"===e.overflowWrap?"break-word":e.wordBreak}),B=[];!(t=r.next()).done;)!function(){var A,e;t.value&&(A=t.value.slice(),A=Q(A),e="",A.forEach(function(A){-1===qr.indexOf(A)?e+=g(A):(e.length&&B.push(e),B.push(g(A)),e="")}),e.length&&B.push(e))}();return B},zr=function(A,e,t){var B,n,s,o,i;this.text=$r(e.data,t.textTransform),this.textBounds=(B=A,A=this.text,s=e,A=_r(A,n=t),o=[],i=0,A.forEach(function(A){var e,t,r;n.textDecorationLine.length||0e.height?new d(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width"),Ln(this.referenceElement.ownerDocument,t,n),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),A},fn.prototype.createElementClone=function(A){if(Cr(A,2),zB(A))return this.createCanvasClone(A);if(MB(A))return this.createVideoClone(A);if(SB(A))return this.createStyleClone(A);var e=A.cloneNode(!1);return $B(e)&&($B(A)&&A.currentSrc&&A.currentSrc!==A.src&&(e.src=A.currentSrc,e.srcset=""),"lazy"===e.loading&&(e.loading="eager")),TB(e)?this.createCustomElementClone(e):e},fn.prototype.createCustomElementClone=function(A){var e=document.createElement("html2canvascustomelement");return Kn(A.style,e),e},fn.prototype.createStyleClone=function(A){try{var e=A.sheet;if(e&&e.cssRules){var t=[].slice.call(e.cssRules,0).reduce(function(A,e){return e&&"string"==typeof e.cssText?A+e.cssText:A},""),r=A.cloneNode(!1);return r.textContent=t,r}}catch(A){if(this.context.logger.error("Unable to access cssRules property",A),"SecurityError"!==A.name)throw A}return A.cloneNode(!1)},fn.prototype.createCanvasClone=function(e){var A;if(this.options.inlineImages&&e.ownerDocument){var t=e.ownerDocument.createElement("img");try{return t.src=e.toDataURL(),t}catch(A){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}t=e.cloneNode(!1);try{t.width=e.width,t.height=e.height;var r,B,n=e.getContext("2d"),s=t.getContext("2d");return s&&(!this.options.allowTaint&&n?s.putImageData(n.getImageData(0,0,e.width,e.height),0,0):(!(r=null!==(A=e.getContext("webgl2"))&&void 0!==A?A:e.getContext("webgl"))||!1===(null==(B=r.getContextAttributes())?void 0:B.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e),s.drawImage(e,0,0))),t}catch(A){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return t},fn.prototype.createVideoClone=function(e){var A=e.ownerDocument.createElement("canvas");A.width=e.offsetWidth,A.height=e.offsetHeight;var t=A.getContext("2d");try{return t&&(t.drawImage(e,0,0,A.width,A.height),this.options.allowTaint||t.getImageData(0,0,A.width,A.height)),A}catch(A){this.context.logger.info("Unable to clone video as it is tainted",e)}A=e.ownerDocument.createElement("canvas");return A.width=e.offsetWidth,A.height=e.offsetHeight,A},fn.prototype.appendChildNode=function(A,e,t){XB(e)&&("SCRIPT"===e.tagName||e.hasAttribute(hn)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(e))||this.options.copyStyles&&XB(e)&&SB(e)||A.appendChild(this.cloneNode(e,t))},fn.prototype.cloneChildNodes=function(A,e,t){for(var r,B=this,n=(A.shadowRoot||A).firstChild;n;n=n.nextSibling)XB(n)&&rn(n)&&"function"==typeof n.assignedNodes?(r=n.assignedNodes()).length&&r.forEach(function(A){return B.appendChildNode(e,A,t)}):this.appendChildNode(e,n,t)},fn.prototype.cloneNode=function(A,e){if(PB(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&XB(A)&&(JB(A)||YB(A))){var r=this.createElementClone(A);r.style.transitionProperty="none";var B=t.getComputedStyle(A),n=t.getComputedStyle(A,":before"),s=t.getComputedStyle(A,":after");this.referenceElement===A&&JB(r)&&(this.clonedReferenceElement=r),jB(r)&&Mn(r);t=this.counters.parse(new Ur(this.context,B)),n=this.resolvePseudoContent(A,r,n,gn.BEFORE);TB(A)&&(e=!0),MB(A)||this.cloneChildNodes(A,r,e),n&&r.insertBefore(n,r.firstChild);s=this.resolvePseudoContent(A,r,s,gn.AFTER);return s&&r.appendChild(s),this.counters.pop(t),(B&&(this.options.copyStyles||YB(A))&&!An(A)||e)&&Kn(B,r),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([r,A.scrollLeft,A.scrollTop]),(en(A)||tn(A))&&(en(r)||tn(r))&&(r.value=A.value),r}return A.cloneNode(!1)},fn.prototype.resolvePseudoContent=function(o,A,e,t){var i=this;if(e){var r=e.content,Q=A.ownerDocument;if(Q&&r&&"none"!==r&&"-moz-alt-content"!==r&&"none"!==e.display){this.counters.parse(new Ur(this.context,e));var c=new wr(this.context,e),a=Q.createElement("html2canvaspseudoelement");Kn(e,a),c.content.forEach(function(A){if(0===A.type)a.appendChild(Q.createTextNode(A.value));else if(22===A.type){var e=Q.createElement("img");e.src=A.value,e.style.opacity="1",a.appendChild(e)}else if(18===A.type){var t,r,B,n,s;"attr"===A.name?(e=A.values.filter(_A)).length&&a.appendChild(Q.createTextNode(o.getAttribute(e[0].value)||"")):"counter"===A.name?(B=(r=A.values.filter($A))[0],r=r[1],B&&_A(B)&&(t=i.counters.getCounterValue(B.value),s=r&&_A(r)?pt.parse(i.context,r.value):3,a.appendChild(Q.createTextNode(Fn(t,s,!1))))):"counters"===A.name&&(B=(t=A.values.filter($A))[0],s=t[1],r=t[2],B&&_A(B)&&(B=i.counters.getCounterValues(B.value),n=r&&_A(r)?pt.parse(i.context,r.value):3,s=s&&0===s.type?s.value:"",s=B.map(function(A){return Fn(A,n,!1)}).join(s),a.appendChild(Q.createTextNode(s))))}else if(20===A.type)switch(A.value){case"open-quote":a.appendChild(Q.createTextNode(Xt(c.quotes,i.quoteDepth++,!0)));break;case"close-quote":a.appendChild(Q.createTextNode(Xt(c.quotes,--i.quoteDepth,!1)));break;default:a.appendChild(Q.createTextNode(A.value))}}),a.className=Dn+" "+vn;t=t===gn.BEFORE?" "+Dn:" "+vn;return YB(A)?A.className.baseValue+=t:A.className+=t,a}}},fn.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},fn);function fn(A,e,t){if(this.context=A,this.options=t,this.scrolledElements=[],this.referenceElement=e,this.counters=new Bn,this.quoteDepth=0,!e.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(e.ownerDocument.documentElement,!1)}(he=gn=gn||{})[he.BEFORE=0]="BEFORE",he[he.AFTER=1]="AFTER";function Hn(e){return new Promise(function(A){!e.complete&&e.src?(e.onload=A,e.onerror=A):A()})}var pn=function(A,e){var t=A.createElement("iframe");return t.className="html2canvas-container",t.style.visibility="hidden",t.style.position="fixed",t.style.left="-10000px",t.style.top="0px",t.style.border="0",t.width=e.width.toString(),t.height=e.height.toString(),t.scrolling="no",t.setAttribute(hn,"true"),A.body.appendChild(t),t},En=function(A){return Promise.all([].slice.call(A.images,0).map(Hn))},In=function(B){return new Promise(function(e,A){var t=B.contentWindow;if(!t)return A("No window assigned for iframe");var r=t.document;t.onload=B.onload=function(){t.onload=B.onload=null;var A=setInterval(function(){0"),e},Ln=function(A,e,t){A&&A.defaultView&&(e!==A.defaultView.pageXOffset||t!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(e,t)},bn=function(A){var e=A[0],t=A[1],A=A[2];e.scrollLeft=t,e.scrollTop=A},Dn="___html2canvas___pseudoelement_before",vn="___html2canvas___pseudoelement_after",xn='{\n content: "" !important;\n display: none !important;\n}',Mn=function(A){Sn(A,"."+Dn+":before"+xn+"\n ."+vn+":after"+xn)},Sn=function(A,e){var t=A.ownerDocument;t&&((t=t.createElement("style")).textContent=e,A.appendChild(t))},Tn=(Gn.getOrigin=function(A){var e=Gn._link;return e?(e.href=A,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},Gn.isSameOrigin=function(A){return Gn.getOrigin(A)===Gn._origin},Gn.setContext=function(A){Gn._link=A.document.createElement("a"),Gn._origin=Gn.getOrigin(A.location.href)},Gn._origin="about:blank",Gn);function Gn(){}var On=(Vn.prototype.addImage=function(A){var e=Promise.resolve();return this.has(A)||(Yn(A)||Pn(A))&&(this._cache[A]=this.loadImage(A)).catch(function(){}),e},Vn.prototype.match=function(A){return this._cache[A]},Vn.prototype.loadImage=function(s){return a(this,void 0,void 0,function(){var e,r,t,B,n=this;return H(this,function(A){switch(A.label){case 0:return(e=Tn.isSameOrigin(s),r=!Xn(s)&&!0===this._options.useCORS&&Xr.SUPPORT_CORS_IMAGES&&!e,t=!Xn(s)&&!e&&!Yn(s)&&"string"==typeof this._options.proxy&&Xr.SUPPORT_CORS_XHR&&!r,e||!1!==this._options.allowTaint||Xn(s)||Yn(s)||t||r)?(B=s,t?[4,this.proxy(B)]:[3,2]):[2];case 1:B=A.sent(),A.label=2;case 2:return this.context.logger.debug("Added image "+s.substring(0,256)),[4,new Promise(function(A,e){var t=new Image;t.onload=function(){return A(t)},t.onerror=e,(Jn(B)||r)&&(t.crossOrigin="anonymous"),t.src=B,!0===t.complete&&setTimeout(function(){return A(t)},500),0t.width+C?0:Math.max(0,n-C),Math.max(0,s-l),As.TOP_RIGHT):new Zn(t.left+t.width-C,t.top+l),this.bottomRightPaddingBox=0t.width+F+A?0:n-F+A,s-(l+h),As.TOP_RIGHT):new Zn(t.left+t.width-(C+d),t.top+l+h),this.bottomRightContentBox=0A.element.container.styles.zIndex.order?(s=e,!1):0=A.element.container.styles.zIndex.order?(o=e+1,!1):0Only one dataset available.,,combine_ui.R +

    Dataset 1:,

    数据集 1:,combine_ui.R +

    Dataset 2:,

    数据集 2:,combine_ui.R +

    No matching variables selected

    ,

    未选择可匹配字段

    ,combine_ui.R +"

    Combining data failed. The error message was:

    \"",

    合并数据失败,错误信息如下:

    \""""",combine_ui.R, +

    Combined dataset: ,

    合并后数据集:,combine_ui.R +Filter data,筛选数据,data_ui +Data filter:,数据筛选:,data_ui +"Provide a filter (e.g., price > 5000) and press return",输入筛选条件(例如 price > 5000)并按回车,data_ui +Data arrange (sort):,数据排序:,data_ui +"Arrange (e.g., color, desc(price)) and press return","输入排序方式(例如 color, desc(price))并按回车",data_ui +Data slice (rows):,数据行截取:,data_ui +Manage,管理,data_ui +Data preview,数据预览,data_ui +Data structure,数据结构,data_ui +Data summary,数据摘要,data_ui +Data load and save commands,数据加载与保存命令,data_ui +View,查看,"data_ui, view_ui.R" +Visualize,可视化,"data_ui, visualize_ui.R" +Pivot,透视表,data_ui +Explore,探索,"data_ui, explore_ui.R" +Transform,转换,data_ui +Numeric variable(s):,数值型变量:,explore_ui.R +Group by:,分组变量:,"explore_ui.R, pivotr_ui.R" +Select group-by variable,选择分组变量,explore_ui.R +Apply function(s):,应用函数:,explore_ui.R +Select functions,选择函数,explore_ui.R +Function,函数,explore_ui.R +Variables,变量,explore_ui.R +Group by,分组,explore_ui.R +Column header:,列标题:,explore_ui.R +Store as:,命名为:,"explore_ui.R, pivotr_ui.R" +Provide a table name,请输入表格名称,"explore_ui.R, pivotr_ui.R" +Create table,生成表格,explore_ui.R +Update table,更新表格,explore_ui.R +Table slice (rows):,表格行选择:,"explore_ui.R, pivotr_ui.R, view_ui.R" +"e.g., 1:50 and press return",例如 1:5 并按回车,"explore_ui.R, data_ui" +Decimals:,小数位数:,"explore_ui.R, pivotr_ui.R, view_ui.R" +Store,保存,"explore_ui.R, pivotr_ui.R, view_ui.R" +Generating explore table,正在生成探索表格,explore_ui.R +Data Stored,数据已保存,"explore_ui.R, pivotr_ui.R, view_ui.R" +Dataset '{dataset}' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen.,数据集“{dataset}”已成功添加到下拉菜单中。点击左下角的报告图标,在 Report > Rmd 或 Report > R 中添加代码以(重新)生成结果。,explore_ui.R +OK,确定,"explore_ui.R, manage_ui.R, pivotr_ui.R" +Load radiant state file,加载 Radiant 状态文件,"manage_ui.R,global.R" +Load,加载,manage_ui.R +Load data,加载数据,manage_ui.R +Description,描述,manage_ui.R +Paste,粘贴,manage_ui.R +Copy data,复制数据,manage_ui.R +Save,保存,manage_ui.R +Save data,保存数据,manage_ui.R +Save radiant state file,保存 Radiant 状态文件,"manage_ui.R,global.R" +Add/edit data description,添加/编辑数据描述,manage_ui.R +Rename data,重命名数据,manage_ui.R +Display:,显示:,manage_ui.R +Show R-code,显示 R 代码,manage_ui.R +Remove data from memory,从内存中移除数据,manage_ui.R +Remove data,移除数据,manage_ui.R +Copy-and-paste data below:,复制并粘贴数据到下方:,manage_ui.R +Data.frames in Global Env:,全局环境中的数据框:,manage_ui.R +to global workspace,到全局工作空间,manage_ui.R +rds | rda | rdata,rds | rda | rdata,manage_ui.R +parquet,列式存储,manage_ui.R +csv,csv,manage_ui.R +clipboard,剪贴板,manage_ui.R +examples,示例,manage_ui.R +rds (url),rds(url),manage_ui.R +csv (url),csv(url),manage_ui.R +from global workspace,从全局工作空间,manage_ui.R +radiant state file,Radiant 状态文件,manage_ui.R +rds,rds,manage_ui.R +rda,rda,manage_ui.R +
    , "
    ", "manage_ui.R" +Upload radiant state file:, "上传 Radiant 状态文件:", "manage_ui.R" +, "", "manage_ui.R" +Datasets:, "数据集:", "manage_ui.R" +Update description, "更新描述", "manage_ui.R" +Load data of type:, "加载数据类型:", "data_ui" +Header, "表头", "data_ui" +Str. as Factor, "作为因子处理字符串", "data_ui" +Separator:, "分隔符:", "data_ui" +Decimal:, "小数点:", "data_ui" +Maximum rows to read:, "最大读取行数:", "data_ui" +Save data to type:, "保存数据类型:", "manage_ui.R" +
    , "
    ", "manage_ui.R" +## Load commands, "## 加载命令", "manage_ui.R" +diamonds, "钻石数据集", "manage_ui.R" +
    , "
    ", "manage_ui.R" +Type text to describe the data using markdown to format it.\nSee http://commonmark.org/help/ for more information, "使用 Markdown 格式化文本来描述数据。更多信息请参见 http://commonmark.org/help/", "manage_ui.R" +preview,预览,manage_ui.R +str,结构,manage_ui.R +summary,总结,manage_ui.R +#### There was an error loading the data. Please make sure the data are in csv format,#### 加载数据时发生错误。请确保数据为 CSV 格式。,manage.R +Read issues (max 10 rows shown):,读取问题(最多显示 10 行):,manage.R +#### Radiant does not load xls files directly. Please save the data as a csv file and try again.,#### Radiant 不支持直接加载 XLS 文件。请将数据另存为 CSV 文件后再试。,manage.R +#### The filename extension \{fext}\" does not match the specified file-type \"{ext}\". Please specify the file type you are trying to upload",#### 文件扩展名“{fext}”与所选的文件类型“{ext}”不匹配。请确认要上传的文件类型。,manage.R +#### There was an error loading the data. Please make sure the data are in rda format.,#### 加载数据时发生错误。请确保数据为 RDA 格式。,manage.R +#### To restore state select 'radiant state file' from the 'Load data of type' drowdown before loading the file,#### 如需恢复状态,请先在“数据类型”下拉菜单中选择“Radiant 状态文件”后再加载。,manage.R +#### More than one R object contained in the data.,#### 数据中包含多个 R 对象。,manage.R +#### There was an error loading the data. Please make sure the data are in rds format.,#### 加载数据时发生错误。请确保数据为 RDS 格式。,manage.R +The 'arrow' package is not installed. Please install it and try again.,未安装 'arrow' 包。请先安装后再试。,manage.R +#### The arrow package required to work with data in parquet format is not installed. Please use install.packages('arrow'),#### 加载 Parquet 格式数据需要安装 arrow 包。请运行 install.packages('arrow') 进行安装。,manage.R +#### There was an error loading the data. Please make sure the data are in parquet format.,#### 加载数据时发生错误。请确保数据为 Parquet 格式。,manage.R +#### There was an error loading the data,#### 加载数据时发生错误,manage.R +#### The selected filetype is not currently supported ({fext}),#### 当前不支持所选文件类型({fext}),manage.R +None,无,pivotr_ui.R +Row,行,pivotr_ui.R +Column,列,pivotr_ui.R +Total,总计,pivotr_ui.R +Color bar,色条,pivotr_ui.R +Heat map,热力图,pivotr_ui.R +Categorical variables:,分类变量:,pivotr_ui.R +Select categorical variables,选择分类变量,pivotr_ui.R +Numeric variable:,数值变量:,pivotr_ui.R +Select numeric variable,选择数值变量,pivotr_ui.R +Apply function:,应用函数:,pivotr_ui.R +Normalize by:,按以下方式标准化:,pivotr_ui.R +Conditional formatting:,条件格式化:,pivotr_ui.R +Create pivot table,生成透视表,pivotr_ui.R +Update pivot table,更新透视表,pivotr_ui.R +"e.g., 1:5 and press return",例如:1:5 并按回车,pivotr_ui.R +Show table ,显示表格,pivotr_ui.R +Show plot ,显示图形,pivotr_ui.R +Percentage,百分比,pivotr_ui.R +Chi-square,卡方检验,pivotr_ui.R +Fill,填充,pivotr_ui.R +Flip,翻转,"pivotr_ui.R,visualize_ui.R" +Pivotr,透视表模块,pivotr_ui.R +Generating pivot table,正在生成透视表,pivotr_ui.R +Plots created for at most 3 categorical variables,最多只能为三个分类变量生成图表,pivotr_ui.R +Dataset '%s' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen.,数据集「%s」已成功添加至下拉菜单。点击左下角的报告图标可将代码添加到 Report > Rmd 或 Report > R,以用于(重新)生成结果。,pivotr_ui.R +Making plot,正在生成图表,pivotr_ui.R +Save pivot plot,保存透视图,pivotr_ui.R +Plot type:,图类型:,pivotr_ui.R +Acquiring variable information,获取变量信息,pivotr_ui.R +Select variable(s):,选择变量:,transform_ui.R +Normalizing variable:,标准化变量:,transform_ui.R +Frequency variable:,频率变量:,transform_ui.R +Key name:,键名:,transform_ui.R +Value name:,值名:,transform_ui.R +Key(s):,键(s):,transform_ui.R +Value:,值:,transform_ui.R +Fill:,填充:,"transform_ui.R, visualize_ui.R" +Reorder/remove variables:,重新排序/移除变量:,transform_ui.R +Select a single variable of type factor or character,选择一个类型为因子或字符的单个变量,transform_ui.R +Reorder/remove levels:,重新排序/移除级别:,transform_ui.R +Replacement level name:,替换级别名称:,transform_ui.R +Variable name extension:,变量名扩展:,transform_ui.R +Recoded variable name:,重新编码变量名:,transform_ui.R +Variable name:,变量名:,transform_ui.R +Add extension to variable name,为变量名添加扩展,transform_ui.R +Rename variable(s):,重命名变量:,transform_ui.R +Create:,创建:,transform_ui.R +Nr bins:,箱数:,transform_ui.R +Reverse order,反转顺序,transform_ui.R +Size:,大小:,"transform_ui.R, visualize_ui.R" +Seed:,种子:,transform_ui.R +Reverse filter and slice,反向过滤并切片,transform_ui.R +Paste from spreadsheet:,从电子表格粘贴:,transform_ui.R +"Specify a recode statement, assign a name to the recoded variable, and press 'return'",指定重新编码语句,为重新编码的变量分配名称,并按回车,transform_ui.R +Select one or more variables to rename,选择一个或多个变量进行重命名,transform_ui.R +Select one or more variables to replace,选择一个或多个变量进行替换,transform_ui.R +Select a variable to recode,选择一个变量进行重新编码,transform_ui.R +Select one or more variables to bin,选择一个或多个变量进行分箱,transform_ui.R +Select a single variable of type factor to change the ordering and/or number of levels,选择一个因子类型的单个变量来更改排序和/或级别数量,transform_ui.R +Select one or more variables to normalize,选择一个或多个变量进行标准化,transform_ui.R +Select one or more variables to see the effects of removing missing values,选择一个或多个变量,查看移除缺失值的效果,transform_ui.R +Select one or more variables to see the effects of removing duplicates,选择一个或多个变量,查看移除重复值的效果,transform_ui.R +Select one or more variables to gather,选择一个或多个变量进行汇集,transform_ui.R +Select one or more variables to expand,选择一个或多个变量进行扩展,transform_ui.R +Select a transformation type or select variables to summarize,选择一个转换类型或选择变量进行汇总,transform_ui.R +The transformation type you selected generated an error.,您选择的转换类型生成了一个错误。,transform_ui.R +The error message was:,错误消息是:,transform_ui.R +Please change the selection of variables or the transformation type and try again.,请更改变量选择或转换类型并重试。,transform_ui.R +The create command was not valid.,创建命令无效。,transform_ui.R +The command entered was:,输入的命令是:,transform_ui.R +Please try again. Examples are shown in the help file (click the ? icon).,请再试一次。示例已显示在帮助文件中(点击?图标),transform_ui.R +Some of the variables names used are not valid. Please use 'Rename' to ensure variable names do not have any spaces or symbols and start with a letter,使用的变量名中有些无效。请使用“重命名”确保变量名没有空格或符号,并以字母开头,transform_ui.R +No duplicates found (n_distinct = ,未找到重复项(n_distinct = ,transform_ui.R +## remove missing values,## 移除缺失值,transform_ui.R +## remove duplicate rows,## 移除重复行,transform_ui.R +## show duplicate rows,## 显示重复行,transform_ui.R +## change variable type,## 更改变量类型,transform_ui.R +## transform variable,## 转换变量,transform_ui.R +## created variable to select training sample,## 创建变量来选择训练样本,transform_ui.R +## create new variable,## 创建新变量,transform_ui.R +## rename variable,## 重命名变量,transform_ui.R +## reorder/remove variables,## 重新排序/移除变量,transform_ui.R +## change factor levels,## 更改因子级别,transform_ui.R +## bin variables,## 分箱变量,transform_ui.R +## gather columns,## 汇集列,transform_ui.R +## spread columns,## 展开列,transform_ui.R +## create holdout sample,## 创建保留样本,transform_ui.R +## register the new dataset,## 注册新数据集,transform_ui.R +Ln (natural log),自然对数,transform_ui.R +Square,平方,transform_ui.R +Square‑root,平方根,transform_ui.R +Center,中心,transform_ui.R +Standardize,标准化,transform_ui.R +Inverse,逆,transform_ui.R +As factor,作为因子,transform_ui.R +As numeric,作为数值,transform_ui.R +As integer,作为整数,transform_ui.R +As character,作为字符,transform_ui.R +As time series,作为时间序列,transform_ui.R +As date (mdy),作为日期(mdy),transform_ui.R +As date (dmy),作为日期(dmy),transform_ui.R +As date (ymd),作为日期(ymd),transform_ui.R +As date/time (mdy_hms),作为日期时间(mdy_hms),transform_ui.R +As date/time (mdy_hm),作为日期时间(mdy_hm),transform_ui.R +As date/time (dmy_hms),作为日期时间(dmy_hms),transform_ui.R +As date/time (dmy_hm),作为日期时间(dmy_hm),transform_ui.R +As date/time (ymd_hms),作为日期时间(ymd_hms),transform_ui.R +As date/time (ymd_hm),作为日期时间(ymd_hm),transform_ui.R +None (summarize),无(汇总),transform_ui.R +Bin,分箱,transform_ui.R +Change type,更改类型,transform_ui.R +Remove/reorder levels,移除/重新排序级别,transform_ui.R +Rename,重命名,transform_ui.R +Clipboard,剪贴板,transform_ui.R +Create,创建,transform_ui.R +Remove missing values,移除缺失值,transform_ui.R +Remove/reorder variables,移除/重新排序变量,transform_ui.R +Remove duplicates,移除重复值,transform_ui.R +Show duplicates,显示重复值,transform_ui.R +Expand grid,展开网格,transform_ui.R +Table‑to‑data,表格转数据,transform_ui.R +Holdout sample,保留样本,transform_ui.R +Training variable,训练变量,transform_ui.R +Gather columns,汇集列,transform_ui.R +Spread column,展开列,transform_ui.R +Transform command log:,转换命令日志:,transform_ui.R +Generating summary statistics,生成摘要统计,transform_ui.R +Hide summaries,隐藏摘要,transform_ui.R +Transformation type:,转换类型:,transform_ui.R +Change variable type:,更改变量类型:,transform_ui.R +Start year:,起始年份:,transform_ui.R +Start period:,起始周期:,transform_ui.R +End year:,结束年份:,transform_ui.R +End period:,结束周期:,transform_ui.R +Frequency:,频率:,transform_ui.R +"Type a formula to create a new variable (e.g., x = y - z) and press return",输入公式以创建新变量(例如 x = y - z)并按回车,transform_ui.R +Copy-and-paste data with a header row from a spreadsheet,从电子表格复制并粘贴带有标题行的数据,transform_ui.R +Recode:,重新编码:,transform_ui.R +"Select a variable, specify how it should be recoded (e.g., lo:20 = 0; else = 1), and press return",选择一个变量,指定如何重新编码(例如 lo:20 = 0;else = 1),并按回车,transform_ui.R +Select variables:,选择变量:,transform_ui.R +Store changes in:,将更改存储在:,transform_ui.R +Select variables to show:,选择要显示的变量:,view_ui.R +Clear settings,清除设置,view_ui.R +Store filtered data as:,将筛选后的数据存储为:,view_ui.R +Dataset '{dataset}' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the dataset by clicking the report icon on the bottom left of your screen.,数据集'{dataset}'已成功添加到数据集下拉菜单中。点击左下角的报告图标,在Report > Rmd或Report > R中添加代码以(重新)创建该数据集。,view_ui.R +Generating view table,正在生成查看表格,view_ui.R +_view,_视图,view_ui.R +Provide data name,提供数据名称,view_ui.R +All,全部,view_ui.R +"Table slice {input$view_tab_slice} will be applied on Download, Store, or Report",表格切片 {input$view_tab_slice} 将应用于下载、存储或报告,view_ui.R +Dataset ',数据集 ',view_ui.R +' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the dataset by clicking the report icon on the bottom left of your screen.,' 已成功添加到数据集下拉菜单中。通过点击左下角的报告图标,在 Report > Rmd 或 Report > R 中添加代码以(重新)创建数据集。,view_ui.R +Distribution,分布,visualize_ui.R +Density,密度,visualize_ui.R +Scatter,散点图,visualize_ui.R +Surface,表面图,visualize_ui.R +Line,折线图,visualize_ui.R +Bar,条形图,visualize_ui.R +Box-plot,箱型图,visualize_ui.R +Loess,局部加权回归,visualize_ui.R +Jitter,抖动,visualize_ui.R +Interpolate,插值,visualize_ui.R +Log X,对数X,visualize_ui.R +Log Y,对数Y,visualize_ui.R +Scale-y,缩放Y,visualize_ui.R +Sort,排序,visualize_ui.R +Gray,灰色,visualize_ui.R +Black and White,黑白,visualize_ui.R +Light,浅色,visualize_ui.R +Dark,深色,visualize_ui.R +Minimal,简约,visualize_ui.R +Classic,经典,visualize_ui.R +title,标题,visualize_ui.R +subtitle,副标题,visualize_ui.R +caption,说明,visualize_ui.R +x,X轴,visualize_ui.R +y,Y轴,visualize_ui.R +Theme default,默认主题,visualize_ui.R +Helvetica,Helvetica字体,visualize_ui.R +Serif,衬线字体,visualize_ui.R +Sans,无衬线字体,visualize_ui.R +Mono,等宽字体,visualize_ui.R +Courier,Courier字体,visualize_ui.R +Times,Times字体,visualize_ui.R +dataset, "数据集", "visualize_ui.R" +data_filter, "数据筛选", "visualize_ui.R" +arr, "排序", "visualize_ui.R" +rows, "行", "visualize_ui.R" +labs, "标签", "visualize_ui.R" +Plot-type:, "绘图类型:", "visualize_ui.R" +Number of data points plotted:, "绘制的数据点数量:", "visualize_ui.R" +Y-variable:, "Y变量:", "visualize_ui.R" +X-variable:, "X变量:", "visualize_ui.R" +Combine Y-variables in one plot, "将Y变量合并到一个图表中", "visualize_ui.R" +Combine X-variables in one plot, "将X变量合并到一个图表中", "visualize_ui.R" +Facet row:, "分面行:", "visualize_ui.R" +Facet column:, "分面列:", "visualize_ui.R" +Color:, "颜色", "visualize_ui.R" +Main, "主要", "visualize_ui.R" +Function:, "函数:", "visualize_ui.R" +Labels, "标签", "visualize_ui.R" +Style, "样式", "visualize_ui.R" +Plot theme:, "图表主题:", "visualize_ui.R" +Base font size:, "基本字体大小:", "visualize_ui.R" +Font family:, "字体系列:", "visualize_ui.R" +Opacity:, "透明度:", "visualize_ui.R" +Plot height:, "图表高度:", "visualize_ui.R" +Plot width:, "图表宽度:", "visualize_ui.R" +Number of bins:, "分箱数:", "visualize_ui.R" +Smooth:, "平滑:", "visualize_ui.R" +Create plot, "创建图表", "visualize_ui.R" +Update plot, "更新图表", "visualize_ui.R" +Save visualize plot, "保存可视化图表", "visualize_ui.R" +Please select variables from the dropdown menus to create a plot, "请选择下拉菜单中的变量以创建图表", "visualize_ui.R" +No Y-variable provided for a plot that requires one, "没有提供Y变量,无法绘制需要Y变量的图表", "visualize_ui.R" +Title, "标题", "visualize_ui.R" +Subtitle, "副标题", "visualize_ui.R" +Caption, "说明", "visualize_ui.R" +Y-label, "Y轴标签", "visualize_ui.R" +X-label, "X轴标签", "visualize_ui.R" +Fill color:, "填充颜色:", "visualize_ui.R" +Line color:, "线条颜色:", "visualize_ui.R" +Point color:, "点的颜色:", "visualize_ui.R" +Data,数据,global.R +Share radiant state,分享Radiant状态,global.R +View radiant state,查看Radiant状态,global.R +Download radiant state file,下载Radiant状态文件,global.R +Upload radiant state file,上传Radiant状态文件,global.R +Stop,停止,global.R +Refresh,刷新,global.R +New session,新建会话,global.R +Videos,视频,global.R +About,关于,global.R +Radiant docs,Radiant文档,global.R +Report issue,报告问题,global.R +Report,报告,global.R diff --git a/radiant.data/man/add_class.Rd b/radiant.data/man/add_class.Rd new file mode 100644 index 0000000..cbe082e --- /dev/null +++ b/radiant.data/man/add_class.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{add_class} +\alias{add_class} +\title{Convenience function to add a class} +\usage{ +add_class(x, cl) +} +\arguments{ +\item{x}{Object} + +\item{cl}{Vector of class labels to add} +} +\description{ +Convenience function to add a class +} +\examples{ +foo <- "some text" \%>\% add_class("text") +foo <- "some text" \%>\% add_class(c("text", "another class")) +} diff --git a/radiant.data/man/add_description.Rd b/radiant.data/man/add_description.Rd new file mode 100644 index 0000000..15215cf --- /dev/null +++ b/radiant.data/man/add_description.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{add_description} +\alias{add_description} +\title{Convenience function to add a markdown description to a data.frame} +\usage{ +add_description(df, md = "", path = "") +} +\arguments{ +\item{df}{A data.frame or tibble} + +\item{md}{Data description in markdown format} + +\item{path}{Path to a text file with the data description in markdown format} +} +\description{ +Convenience function to add a markdown description to a data.frame +} +\examples{ +if (interactive()) { + mt <- mtcars |> add_description(md = "# MTCARS\n\nThis data.frame contains information on ...") + describe(mt) +} + +} +\seealso{ +See also \code{\link{register}} +} diff --git a/radiant.data/man/arrange_data.Rd b/radiant.data/man/arrange_data.Rd new file mode 100644 index 0000000..ccc05ec --- /dev/null +++ b/radiant.data/man/arrange_data.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{arrange_data} +\alias{arrange_data} +\title{Arrange data with user-specified expression} +\usage{ +arrange_data(dataset, expr = NULL) +} +\arguments{ +\item{dataset}{Data frame to arrange} + +\item{expr}{Expression to use arrange rows from the specified dataset} +} +\value{ +Arranged data frame +} +\description{ +Arrange data with user-specified expression +} +\details{ +Arrange data, likely in combination with slicing +} diff --git a/radiant.data/man/as_character.Rd b/radiant.data/man/as_character.Rd new file mode 100644 index 0000000..a85e618 --- /dev/null +++ b/radiant.data/man/as_character.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_character} +\alias{as_character} +\title{Wrapper for as.character} +\usage{ +as_character(x) +} +\arguments{ +\item{x}{Input vector} +} +\description{ +Wrapper for as.character +} diff --git a/radiant.data/man/as_distance.Rd b/radiant.data/man/as_distance.Rd new file mode 100644 index 0000000..fd2d3a9 --- /dev/null +++ b/radiant.data/man/as_distance.Rd @@ -0,0 +1,41 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_distance} +\alias{as_distance} +\title{Distance in kilometers or miles between two locations based on lat-long +Function based on \url{http://www.movable-type.co.uk/scripts/latlong.html}. Uses the haversine formula} +\usage{ +as_distance( + lat1, + long1, + lat2, + long2, + unit = "km", + R = c(km = 6371, miles = 3959)[[unit]] +) +} +\arguments{ +\item{lat1}{Latitude of location 1} + +\item{long1}{Longitude of location 1} + +\item{lat2}{Latitude of location 2} + +\item{long2}{Longitude of location 2} + +\item{unit}{Measure kilometers ("km", default) or miles ("miles")} + +\item{R}{Radius of the earth} +} +\value{ +Distance between two points +} +\description{ +Distance in kilometers or miles between two locations based on lat-long +Function based on \url{http://www.movable-type.co.uk/scripts/latlong.html}. Uses the haversine formula +} +\examples{ +as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "km") +as_distance(32.8245525, -117.0951632, 40.7033127, -73.979681, unit = "miles") + +} diff --git a/radiant.data/man/as_dmy.Rd b/radiant.data/man/as_dmy.Rd new file mode 100644 index 0000000..545f651 --- /dev/null +++ b/radiant.data/man/as_dmy.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_dmy} +\alias{as_dmy} +\title{Convert input in day-month-year format to date} +\usage{ +as_dmy(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date variable of class Date +} +\description{ +Convert input in day-month-year format to date +} +\examples{ +as_dmy("1-2-2014") + +} diff --git a/radiant.data/man/as_dmy_hm.Rd b/radiant.data/man/as_dmy_hm.Rd new file mode 100644 index 0000000..646115f --- /dev/null +++ b/radiant.data/man/as_dmy_hm.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_dmy_hm} +\alias{as_dmy_hm} +\title{Convert input in day-month-year-hour-minute format to date-time} +\usage{ +as_dmy_hm(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in day-month-year-hour-minute format to date-time +} +\examples{ +as_mdy_hm("1-1-2014 12:15") +} diff --git a/radiant.data/man/as_dmy_hms.Rd b/radiant.data/man/as_dmy_hms.Rd new file mode 100644 index 0000000..6bc8e93 --- /dev/null +++ b/radiant.data/man/as_dmy_hms.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_dmy_hms} +\alias{as_dmy_hms} +\title{Convert input in day-month-year-hour-minute-second format to date-time} +\usage{ +as_dmy_hms(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in day-month-year-hour-minute-second format to date-time +} +\examples{ +as_mdy_hms("1-1-2014 12:15:01") +} diff --git a/radiant.data/man/as_duration.Rd b/radiant.data/man/as_duration.Rd new file mode 100644 index 0000000..a9499a4 --- /dev/null +++ b/radiant.data/man/as_duration.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_duration} +\alias{as_duration} +\title{Wrapper for lubridate's as.duration function. Result converted to numeric} +\usage{ +as_duration(x) +} +\arguments{ +\item{x}{Time difference} +} +\description{ +Wrapper for lubridate's as.duration function. Result converted to numeric +} diff --git a/radiant.data/man/as_factor.Rd b/radiant.data/man/as_factor.Rd new file mode 100644 index 0000000..636fd64 --- /dev/null +++ b/radiant.data/man/as_factor.Rd @@ -0,0 +1,16 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_factor} +\alias{as_factor} +\title{Wrapper for factor with ordered = FALSE} +\usage{ +as_factor(x, ordered = FALSE) +} +\arguments{ +\item{x}{Input vector} + +\item{ordered}{Order factor levels (TRUE, FALSE)} +} +\description{ +Wrapper for factor with ordered = FALSE +} diff --git a/radiant.data/man/as_hm.Rd b/radiant.data/man/as_hm.Rd new file mode 100644 index 0000000..fb5e172 --- /dev/null +++ b/radiant.data/man/as_hm.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_hm} +\alias{as_hm} +\title{Convert input in hour-minute format to time} +\usage{ +as_hm(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Time variable of class Period +} +\description{ +Convert input in hour-minute format to time +} +\examples{ +as_hm("12:45") +\dontrun{ +as_hm("12:45") \%>\% minute() +} +} diff --git a/radiant.data/man/as_hms.Rd b/radiant.data/man/as_hms.Rd new file mode 100644 index 0000000..b893372 --- /dev/null +++ b/radiant.data/man/as_hms.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_hms} +\alias{as_hms} +\title{Convert input in hour-minute-second format to time} +\usage{ +as_hms(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Time variable of class Period +} +\description{ +Convert input in hour-minute-second format to time +} +\examples{ +as_hms("12:45:00") +\dontrun{ +as_hms("12:45:00") \%>\% hour() +as_hms("12:45:00") \%>\% second() +} +} diff --git a/radiant.data/man/as_integer.Rd b/radiant.data/man/as_integer.Rd new file mode 100644 index 0000000..06947a6 --- /dev/null +++ b/radiant.data/man/as_integer.Rd @@ -0,0 +1,27 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_integer} +\alias{as_integer} +\title{Convert variable to integer avoiding potential issues with factors} +\usage{ +as_integer(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Integer +} +\description{ +Convert variable to integer avoiding potential issues with factors +} +\examples{ +as_integer(rnorm(10)) +as_integer(letters) +as_integer(as.factor(5:10)) +as.integer(as.factor(5:10)) +as_integer(c("a", "b")) +as_integer(c("0", "1")) +as_integer(as.factor(c("0", "1"))) + +} diff --git a/radiant.data/man/as_mdy.Rd b/radiant.data/man/as_mdy.Rd new file mode 100644 index 0000000..acec54d --- /dev/null +++ b/radiant.data/man/as_mdy.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_mdy} +\alias{as_mdy} +\title{Convert input in month-day-year format to date} +\usage{ +as_mdy(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date variable of class Date +} +\description{ +Convert input in month-day-year format to date +} +\details{ +Use as.character if x is a factor +} +\examples{ +as_mdy("2-1-2014") +\dontrun{ +as_mdy("2-1-2014") \%>\% month(label = TRUE) +as_mdy("2-1-2014") \%>\% week() +as_mdy("2-1-2014") \%>\% wday(label = TRUE) +} +} diff --git a/radiant.data/man/as_mdy_hm.Rd b/radiant.data/man/as_mdy_hm.Rd new file mode 100644 index 0000000..bdb2671 --- /dev/null +++ b/radiant.data/man/as_mdy_hm.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_mdy_hm} +\alias{as_mdy_hm} +\title{Convert input in month-day-year-hour-minute format to date-time} +\usage{ +as_mdy_hm(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in month-day-year-hour-minute format to date-time +} +\examples{ +as_mdy_hm("1-1-2014 12:15") +} diff --git a/radiant.data/man/as_mdy_hms.Rd b/radiant.data/man/as_mdy_hms.Rd new file mode 100644 index 0000000..0e8996d --- /dev/null +++ b/radiant.data/man/as_mdy_hms.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_mdy_hms} +\alias{as_mdy_hms} +\title{Convert input in month-day-year-hour-minute-second format to date-time} +\usage{ +as_mdy_hms(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in month-day-year-hour-minute-second format to date-time +} +\examples{ +as_mdy_hms("1-1-2014 12:15:01") +} diff --git a/radiant.data/man/as_numeric.Rd b/radiant.data/man/as_numeric.Rd new file mode 100644 index 0000000..f68da15 --- /dev/null +++ b/radiant.data/man/as_numeric.Rd @@ -0,0 +1,27 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_numeric} +\alias{as_numeric} +\title{Convert variable to numeric avoiding potential issues with factors} +\usage{ +as_numeric(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Numeric +} +\description{ +Convert variable to numeric avoiding potential issues with factors +} +\examples{ +as_numeric(rnorm(10)) +as_numeric(letters) +as_numeric(as.factor(5:10)) +as.numeric(as.factor(5:10)) +as_numeric(c("a", "b")) +as_numeric(c("3", "4")) +as_numeric(as.factor(c("3", "4"))) + +} diff --git a/radiant.data/man/as_ymd.Rd b/radiant.data/man/as_ymd.Rd new file mode 100644 index 0000000..c1d9133 --- /dev/null +++ b/radiant.data/man/as_ymd.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_ymd} +\alias{as_ymd} +\title{Convert input in year-month-day format to date} +\usage{ +as_ymd(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date variable of class Date +} +\description{ +Convert input in year-month-day format to date +} +\examples{ +as_ymd("2013-1-1") + +} diff --git a/radiant.data/man/as_ymd_hm.Rd b/radiant.data/man/as_ymd_hm.Rd new file mode 100644 index 0000000..a834066 --- /dev/null +++ b/radiant.data/man/as_ymd_hm.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_ymd_hm} +\alias{as_ymd_hm} +\title{Convert input in year-month-day-hour-minute format to date-time} +\usage{ +as_ymd_hm(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in year-month-day-hour-minute format to date-time +} +\examples{ +as_ymd_hm("2014-1-1 12:15") +} diff --git a/radiant.data/man/as_ymd_hms.Rd b/radiant.data/man/as_ymd_hms.Rd new file mode 100644 index 0000000..7057f00 --- /dev/null +++ b/radiant.data/man/as_ymd_hms.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{as_ymd_hms} +\alias{as_ymd_hms} +\title{Convert input in year-month-day-hour-minute-second format to date-time} +\usage{ +as_ymd_hms(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +Date-time variable of class Date +} +\description{ +Convert input in year-month-day-hour-minute-second format to date-time +} +\examples{ +as_ymd_hms("2014-1-1 12:15:01") +\dontrun{ +as_ymd_hms("2014-1-1 12:15:01") \%>\% as.Date() +as_ymd_hms("2014-1-1 12:15:01") \%>\% month() +as_ymd_hms("2014-1-1 12:15:01") \%>\% hour() +} +} diff --git a/radiant.data/man/avengers.Rd b/radiant.data/man/avengers.Rd new file mode 100644 index 0000000..1ddb5c8 --- /dev/null +++ b/radiant.data/man/avengers.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{avengers} +\alias{avengers} +\title{Avengers} +\format{ +A data frame with 7 rows and 4 variables +} +\usage{ +data(avengers) +} +\description{ +Avengers +} +\details{ +List of avengers. The dataset is used to illustrate data merging / joining. Description provided in attr(avengers,"description") +} +\keyword{datasets} diff --git a/radiant.data/man/center.Rd b/radiant.data/man/center.Rd new file mode 100644 index 0000000..7ee1859 --- /dev/null +++ b/radiant.data/man/center.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{center} +\alias{center} +\title{Center} +\usage{ +center(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +If x is a numeric variable return x - mean(x) +} +\description{ +Center +} diff --git a/radiant.data/man/choose_dir.Rd b/radiant.data/man/choose_dir.Rd new file mode 100644 index 0000000..daa40a4 --- /dev/null +++ b/radiant.data/man/choose_dir.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{choose_dir} +\alias{choose_dir} +\title{Choose a directory interactively} +\usage{ +choose_dir(...) +} +\arguments{ +\item{...}{Arguments passed to utils::choose.dir on Windows} +} +\value{ +Path to the directory selected by the user +} +\description{ +Choose a directory interactively +} +\details{ +Open a file dialog to select a directory. Uses JavaScript on Mac, utils::choose.dir on Windows, and dirname(file.choose()) on Linux +} +\examples{ +\dontrun{ +choose_dir() +} + +} diff --git a/radiant.data/man/choose_files.Rd b/radiant.data/man/choose_files.Rd new file mode 100644 index 0000000..c132683 --- /dev/null +++ b/radiant.data/man/choose_files.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{choose_files} +\alias{choose_files} +\title{Choose files interactively} +\usage{ +choose_files(...) +} +\arguments{ +\item{...}{Strings used to indicate which file types should be available for selection (e.g., "csv" or "pdf")} +} +\value{ +Vector of paths to files selected by the user +} +\description{ +Choose files interactively +} +\details{ +Open a file dialog. Uses JavaScript on Mac, utils::choose.files on Windows, and file.choose() on Linux +} +\examples{ +\dontrun{ +choose_files("pdf", "csv") +} + +} diff --git a/radiant.data/man/ci_label.Rd b/radiant.data/man/ci_label.Rd new file mode 100644 index 0000000..a889cda --- /dev/null +++ b/radiant.data/man/ci_label.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{ci_label} +\alias{ci_label} +\title{Labels for confidence intervals} +\usage{ +ci_label(alt = "two.sided", cl = 0.95, dec = 3) +} +\arguments{ +\item{alt}{Type of hypothesis ("two.sided","less","greater")} + +\item{cl}{Confidence level} + +\item{dec}{Number of decimals to show} +} +\value{ +A character vector with labels for a confidence interval +} +\description{ +Labels for confidence intervals +} +\examples{ +ci_label("less", .95) +ci_label("two.sided", .95) +ci_label("greater", .9) +} diff --git a/radiant.data/man/ci_perc.Rd b/radiant.data/man/ci_perc.Rd new file mode 100644 index 0000000..bc37a64 --- /dev/null +++ b/radiant.data/man/ci_perc.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{ci_perc} +\alias{ci_perc} +\title{Values at confidence levels} +\usage{ +ci_perc(dat, alt = "two.sided", cl = 0.95) +} +\arguments{ +\item{dat}{Data} + +\item{alt}{Type of hypothesis ("two.sided","less","greater")} + +\item{cl}{Confidence level} +} +\value{ +A vector with values at a confidence level +} +\description{ +Values at confidence levels +} +\examples{ +ci_perc(0:100, "less", .95) +ci_perc(0:100, "greater", .95) +ci_perc(0:100, "two.sided", .80) +} diff --git a/radiant.data/man/combine_data.Rd b/radiant.data/man/combine_data.Rd new file mode 100644 index 0000000..20206f4 --- /dev/null +++ b/radiant.data/man/combine_data.Rd @@ -0,0 +1,56 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/combine.R +\name{combine_data} +\alias{combine_data} +\title{Combine datasets using dplyr's bind and join functions} +\usage{ +combine_data( + x, + y, + by = "", + add = "", + type = "inner_join", + data_filter = "", + arr = "", + rows = NULL, + envir = parent.frame(), + ... +) +} +\arguments{ +\item{x}{Dataset} + +\item{y}{Dataset to combine with x} + +\item{by}{Variables used to combine `x` and `y`} + +\item{add}{Variables to add from `y`} + +\item{type}{The main bind and join types from the dplyr package are provided. \bold{inner_join} returns all rows from x with matching values in y, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. \bold{left_join} returns all rows from x, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. \bold{right_join} is equivalent to a left join for datasets y and x. \bold{full_join} combines two datasets, keeping rows and columns that appear in either. \bold{semi_join} returns all rows from x with matching values in y, keeping just columns from x. A semi join differs from an inner join because an inner join will return one row of x for each matching row of y, whereas a semi join will never duplicate rows of x. \bold{anti_join} returns all rows from x without matching values in y, keeping only columns from x. \bold{bind_rows} and \bold{bind_cols} are also included, as are \bold{intersect}, \bold{union}, and \bold{setdiff}. See \url{https://radiant-rstats.github.io/docs/data/combine.html} for further details} + +\item{data_filter}{Expression used to filter the dataset. This should be a string (e.g., "price > 10000")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Rows to select from the specified dataset} + +\item{envir}{Environment to extract data from} + +\item{...}{further arguments passed to or from other methods} +} +\value{ +Combined dataset +} +\description{ +Combine datasets using dplyr's bind and join functions +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/combine.html} for an example in Radiant +} +\examples{ +avengers \%>\% combine_data(superheroes, type = "bind_cols") +combine_data(avengers, superheroes, type = "bind_cols") +avengers \%>\% combine_data(superheroes, type = "bind_rows") +avengers \%>\% combine_data(superheroes, add = "publisher", type = "bind_rows") + +} diff --git a/radiant.data/man/copy_all.Rd b/radiant.data/man/copy_all.Rd new file mode 100644 index 0000000..a146e59 --- /dev/null +++ b/radiant.data/man/copy_all.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{copy_all} +\alias{copy_all} +\title{Source all package functions} +\usage{ +copy_all(.from) +} +\arguments{ +\item{.from}{The package to pull the function from} +} +\description{ +Source all package functions +} +\details{ +Equivalent of source with local=TRUE for all package functions. Adapted from functions by smbache, author of the import package. See \url{https://github.com/rticulate/import/issues/4/} for a discussion. This function will be deprecated when (if) it is included in \url{https://github.com/rticulate/import/} +} +\examples{ +copy_all(radiant.data) +} diff --git a/radiant.data/man/copy_attr.Rd b/radiant.data/man/copy_attr.Rd new file mode 100644 index 0000000..47ba6f0 --- /dev/null +++ b/radiant.data/man/copy_attr.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{copy_attr} +\alias{copy_attr} +\title{Copy attributes from one object to another} +\usage{ +copy_attr(to, from, attr) +} +\arguments{ +\item{to}{Object to copy attributes to} + +\item{from}{Object to copy attributes from} + +\item{attr}{Vector of attributes. If missing all attributes will be copied} +} +\description{ +Copy attributes from one object to another +} diff --git a/radiant.data/man/copy_from.Rd b/radiant.data/man/copy_from.Rd new file mode 100644 index 0000000..516d8da --- /dev/null +++ b/radiant.data/man/copy_from.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{copy_from} +\alias{copy_from} +\title{Source for package functions} +\usage{ +copy_from(.from, ...) +} +\arguments{ +\item{.from}{The package to pull the function from} + +\item{...}{Functions to pull} +} +\description{ +Source for package functions +} +\details{ +Equivalent of source with local=TRUE for package functions. Written by smbache, author of the import package. See \url{https://github.com/rticulate/import/issues/4/} for a discussion. This function will be deprecated when (if) it is included in \url{https://github.com/rticulate/import/} +} +\examples{ +copy_from(radiant.data, get_data) +} diff --git a/radiant.data/man/cv.Rd b/radiant.data/man/cv.Rd new file mode 100644 index 0000000..fcbf70c --- /dev/null +++ b/radiant.data/man/cv.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{cv} +\alias{cv} +\title{Coefficient of variation} +\usage{ +cv(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Coefficient of variation +} +\description{ +Coefficient of variation +} +\examples{ +cv(runif(100)) + +} diff --git a/radiant.data/man/deregister.Rd b/radiant.data/man/deregister.Rd new file mode 100644 index 0000000..3e8bb98 --- /dev/null +++ b/radiant.data/man/deregister.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{deregister} +\alias{deregister} +\title{Deregister a data.frame or list in Radiant} +\usage{ +deregister( + dataset, + shiny = shiny::getDefaultReactiveDomain(), + envir = r_data, + info = r_info +) +} +\arguments{ +\item{dataset}{String containing the name of the data.frame to deregister} + +\item{shiny}{Check if function is called from a shiny application} + +\item{envir}{Environment to remove data from} + +\item{info}{Reactive list with information about available data in radiant} +} +\description{ +Deregister a data.frame or list in Radiant +} diff --git a/radiant.data/man/describe.Rd b/radiant.data/man/describe.Rd new file mode 100644 index 0000000..f49129a --- /dev/null +++ b/radiant.data/man/describe.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{describe} +\alias{describe} +\title{Show dataset description} +\usage{ +describe(dataset, envir = parent.frame()) +} +\arguments{ +\item{dataset}{Dataset with "description" attribute} + +\item{envir}{Environment to extract data from} +} +\description{ +Show dataset description +} +\details{ +Show dataset description, if available, in html form in Rstudio viewer or the default browser. The description should be in markdown format, attached to a data.frame as an attribute with the name "description" +} diff --git a/radiant.data/man/diamonds.Rd b/radiant.data/man/diamonds.Rd new file mode 100644 index 0000000..fefefa1 --- /dev/null +++ b/radiant.data/man/diamonds.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{diamonds} +\alias{diamonds} +\title{Diamond prices} +\format{ +A data frame with 3000 rows and 10 variables +} +\usage{ +data(diamonds) +} +\description{ +Diamond prices +} +\details{ +A sample of 3,000 from the diamonds dataset bundled with ggplot2. Description provided in attr(diamonds,"description") +} +\keyword{datasets} diff --git a/radiant.data/man/does_vary.Rd b/radiant.data/man/does_vary.Rd new file mode 100644 index 0000000..3c893b7 --- /dev/null +++ b/radiant.data/man/does_vary.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{does_vary} +\alias{does_vary} +\title{Does a vector have non-zero variability?} +\usage{ +does_vary(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Logical. TRUE is there is variability +} +\description{ +Does a vector have non-zero variability? +} +\examples{ +summarise_all(diamonds, does_vary) \%>\% as.logical() + +} diff --git a/radiant.data/man/dtab.Rd b/radiant.data/man/dtab.Rd new file mode 100644 index 0000000..87908f3 --- /dev/null +++ b/radiant.data/man/dtab.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{dtab} +\alias{dtab} +\title{Method to create datatables} +\usage{ +dtab(object, ...) +} +\arguments{ +\item{object}{Object of relevant class to render} + +\item{...}{Additional arguments} +} +\description{ +Method to create datatables +} +\seealso{ +See \code{\link{dtab.data.frame}} to create an interactive table from a data.frame + +See \code{\link{dtab.explore}} to create an interactive table from an \code{\link{explore}} object + +See \code{\link{dtab.pivotr}} to create an interactive table from a \code{\link{pivotr}} object +} diff --git a/radiant.data/man/dtab.data.frame.Rd b/radiant.data/man/dtab.data.frame.Rd new file mode 100644 index 0000000..64afce5 --- /dev/null +++ b/radiant.data/man/dtab.data.frame.Rd @@ -0,0 +1,73 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{dtab.data.frame} +\alias{dtab.data.frame} +\title{Create an interactive table to view, search, sort, and filter data} +\usage{ +\method{dtab}{data.frame}( + object, + vars = "", + filt = "", + arr = "", + rows = NULL, + nr = NULL, + na.rm = FALSE, + dec = 3, + perc = "", + filter = "top", + pageLength = 10, + dom = "", + style = "bootstrap4", + rownames = FALSE, + caption = NULL, + envir = parent.frame(), + ... +) +} +\arguments{ +\item{object}{Data.frame to display} + +\item{vars}{Variables to show (default is all)} + +\item{filt}{Filter to apply to the specified dataset. For example "price > 10000" if dataset is "diamonds" (default is "")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Select rows in the specified dataset. For example "1:10" for the first 10 rows or "n()-10:n()" for the last 10 rows (default is NULL)} + +\item{nr}{Number of rows of data to include in the table. This function will be mainly used in reports so it is best to keep this number small} + +\item{na.rm}{Remove rows with missing values (default is FALSE)} + +\item{dec}{Number of decimal places to show. Default is no rounding (NULL)} + +\item{perc}{Vector of column names to be displayed as a percentage} + +\item{filter}{Show column filters in DT table. Options are "none", "top", "bottom"} + +\item{pageLength}{Number of rows to show in table} + +\item{dom}{Table control elements to show on the page. See \url{https://datatables.net/reference/option/dom}} + +\item{style}{Table formatting style ("bootstrap" or "default")} + +\item{rownames}{Show data.frame rownames. Default is FALSE} + +\item{caption}{Table caption} + +\item{envir}{Environment to extract data from} + +\item{...}{Additional arguments} +} +\description{ +Create an interactive table to view, search, sort, and filter data +} +\details{ +View, search, sort, and filter a data.frame. For styling options see \url{https://rstudio.github.io/DT/functions.html} +} +\examples{ +\dontrun{ +dtab(mtcars) +} + +} diff --git a/radiant.data/man/dtab.explore.Rd b/radiant.data/man/dtab.explore.Rd new file mode 100644 index 0000000..89ed505 --- /dev/null +++ b/radiant.data/man/dtab.explore.Rd @@ -0,0 +1,50 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{dtab.explore} +\alias{dtab.explore} +\title{Make an interactive table of summary statistics} +\usage{ +\method{dtab}{explore}( + object, + dec = 3, + searchCols = NULL, + order = NULL, + pageLength = NULL, + caption = NULL, + ... +) +} +\arguments{ +\item{object}{Return value from \code{\link{explore}}} + +\item{dec}{Number of decimals to show} + +\item{searchCols}{Column search and filter} + +\item{order}{Column sorting} + +\item{pageLength}{Page length} + +\item{caption}{Table caption} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Make an interactive table of summary statistics +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +} +\examples{ +\dontrun{ +tab <- explore(diamonds, "price:x") \%>\% dtab() +tab <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") \%>\% + dtab() +} + +} +\seealso{ +\code{\link{pivotr}} to create a pivot table + +\code{\link{summary.pivotr}} to show summaries +} diff --git a/radiant.data/man/dtab.pivotr.Rd b/radiant.data/man/dtab.pivotr.Rd new file mode 100644 index 0000000..f364f0e --- /dev/null +++ b/radiant.data/man/dtab.pivotr.Rd @@ -0,0 +1,57 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pivotr.R +\name{dtab.pivotr} +\alias{dtab.pivotr} +\title{Make an interactive pivot table} +\usage{ +\method{dtab}{pivotr}( + object, + format = "none", + perc = FALSE, + dec = 3, + searchCols = NULL, + order = NULL, + pageLength = NULL, + caption = NULL, + ... +) +} +\arguments{ +\item{object}{Return value from \code{\link{pivotr}}} + +\item{format}{Show Color bar ("color_bar"), Heat map ("heat"), or None ("none")} + +\item{perc}{Display numbers as percentages (TRUE or FALSE)} + +\item{dec}{Number of decimals to show} + +\item{searchCols}{Column search and filter} + +\item{order}{Column sorting} + +\item{pageLength}{Page length} + +\item{caption}{Table caption} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Make an interactive pivot table +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +} +\examples{ +\dontrun{ +pivotr(diamonds, cvars = "cut") \%>\% dtab() +pivotr(diamonds, cvars = c("cut", "clarity")) \%>\% dtab(format = "color_bar") +pivotr(diamonds, cvars = c("cut", "clarity"), normalize = "total") \%>\% + dtab(format = "color_bar", perc = TRUE) +} + +} +\seealso{ +\code{\link{pivotr}} to create the pivot table + +\code{\link{summary.pivotr}} to print the table +} diff --git a/radiant.data/man/empty_level.Rd b/radiant.data/man/empty_level.Rd new file mode 100644 index 0000000..ebbc1e6 --- /dev/null +++ b/radiant.data/man/empty_level.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{empty_level} +\alias{empty_level} +\title{Convert categorical variables to factors and deal with empty/missing values} +\usage{ +empty_level(x) +} +\arguments{ +\item{x}{Categorical variable used in table} +} +\value{ +Variable with updated levels +} +\description{ +Convert categorical variables to factors and deal with empty/missing values +} diff --git a/radiant.data/man/explore.Rd b/radiant.data/man/explore.Rd new file mode 100644 index 0000000..0677fb2 --- /dev/null +++ b/radiant.data/man/explore.Rd @@ -0,0 +1,67 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{explore} +\alias{explore} +\title{Explore and summarize data} +\usage{ +explore( + dataset, + vars = "", + byvar = "", + fun = c("mean", "sd"), + top = "fun", + tabfilt = "", + tabsort = "", + tabslice = "", + nr = Inf, + data_filter = "", + arr = "", + rows = NULL, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset to explore} + +\item{vars}{(Numeric) variables to summarize} + +\item{byvar}{Variable(s) to group data by} + +\item{fun}{Functions to use for summarizing} + +\item{top}{Use functions ("fun"), variables ("vars"), or group-by variables as column headers} + +\item{tabfilt}{Expression used to filter the table (e.g., "Total > 10000")} + +\item{tabsort}{Expression used to sort the table (e.g., "desc(Total)")} + +\item{tabslice}{Expression used to filter table (e.g., "1:5")} + +\item{nr}{Number of rows to display} + +\item{data_filter}{Expression used to filter the dataset before creating the table (e.g., "price > 10000")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Rows to select from the specified dataset} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of all variables defined in the function as an object of class explore +} +\description{ +Explore and summarize data +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +} +\examples{ +explore(diamonds, c("price", "carat")) \%>\% str() +explore(diamonds, "price:x")$tab +explore(diamonds, c("price", "carat"), byvar = "cut", fun = c("n_missing", "skew"))$tab + +} +\seealso{ +See \code{\link{summary.explore}} to show summaries +} diff --git a/radiant.data/man/filter_data.Rd b/radiant.data/man/filter_data.Rd new file mode 100644 index 0000000..c259b12 --- /dev/null +++ b/radiant.data/man/filter_data.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{filter_data} +\alias{filter_data} +\title{Filter data with user-specified expression} +\usage{ +filter_data(dataset, filt = "", drop = TRUE) +} +\arguments{ +\item{dataset}{Data frame to filter} + +\item{filt}{Filter expression to apply to the specified dataset} + +\item{drop}{Drop unused factor levels after filtering (default is TRUE)} +} +\value{ +Filtered data frame +} +\description{ +Filter data with user-specified expression +} +\details{ +Filters can be used to view a sample from a selected dataset. For example, runif(nrow(.)) > .9 could be used to sample approximately 10% of the rows in the data and 1:nrow(.) < 101 would select only the first 100 rows in the data. Note: "." references the currently selected dataset. +} +\examples{ +select(diamonds, 1:3) \%>\% filter_data(filt = "price > max(.$price) - 100") +select(diamonds, 1:3) \%>\% filter_data(filt = "runif(nrow(.)) > .995") +} diff --git a/radiant.data/man/find_dropbox.Rd b/radiant.data/man/find_dropbox.Rd new file mode 100644 index 0000000..b4f89cc --- /dev/null +++ b/radiant.data/man/find_dropbox.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{find_dropbox} +\alias{find_dropbox} +\title{Find Dropbox folder} +\usage{ +find_dropbox(account = 1) +} +\arguments{ +\item{account}{Integer. If multiple accounts exist, specify which one to use. By default, the first account listed is used} +} +\value{ +Path to Dropbox account +} +\description{ +Find Dropbox folder +} +\details{ +Find the path for Dropbox if available +} diff --git a/radiant.data/man/find_gdrive.Rd b/radiant.data/man/find_gdrive.Rd new file mode 100644 index 0000000..f5bce00 --- /dev/null +++ b/radiant.data/man/find_gdrive.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{find_gdrive} +\alias{find_gdrive} +\title{Find Google Drive folder} +\usage{ +find_gdrive() +} +\value{ +Path to Google Drive folder +} +\description{ +Find Google Drive folder +} +\details{ +Find the path for Google Drive if available +} diff --git a/radiant.data/man/find_home.Rd b/radiant.data/man/find_home.Rd new file mode 100644 index 0000000..a7692e9 --- /dev/null +++ b/radiant.data/man/find_home.Rd @@ -0,0 +1,14 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{find_home} +\alias{find_home} +\title{Find user directory} +\usage{ +find_home() +} +\description{ +Find user directory +} +\details{ +Returns /Users/x and not /Users/x/Documents +} diff --git a/radiant.data/man/find_project.Rd b/radiant.data/man/find_project.Rd new file mode 100644 index 0000000..3ce586c --- /dev/null +++ b/radiant.data/man/find_project.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{find_project} +\alias{find_project} +\title{Find the Rstudio project folder} +\usage{ +find_project(mess = TRUE) +} +\arguments{ +\item{mess}{Show or hide messages (default mess = TRUE)} +} +\value{ +Path to Rstudio project folder if available or else and empty string. The returned path is normalized +} +\description{ +Find the Rstudio project folder +} +\details{ +Find the path for the Rstudio project folder if available. The returned path is normalized (see \code{\link{normalizePath}}) +} diff --git a/radiant.data/man/fix_names.Rd b/radiant.data/man/fix_names.Rd new file mode 100644 index 0000000..8f6bea0 --- /dev/null +++ b/radiant.data/man/fix_names.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/manage.R +\name{fix_names} +\alias{fix_names} +\title{Ensure column names are valid} +\usage{ +fix_names(x, lower = FALSE) +} +\arguments{ +\item{x}{Data.frame or vector of (column) names} + +\item{lower}{Set letters to lower case (TRUE or FALSE)} +} +\description{ +Ensure column names are valid +} +\details{ +Remove symbols, trailing and leading spaces, and convert to valid R column names. Opinionated version of \code{\link{make.names}} +} +\examples{ +fix_names(c(" var-name ", "$amount spent", "100")) +} diff --git a/radiant.data/man/fix_smart.Rd b/radiant.data/man/fix_smart.Rd new file mode 100644 index 0000000..14d150d --- /dev/null +++ b/radiant.data/man/fix_smart.Rd @@ -0,0 +1,16 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{fix_smart} +\alias{fix_smart} +\title{Replace smart quotes etc.} +\usage{ +fix_smart(text, all = FALSE) +} +\arguments{ +\item{text}{Text to be parsed} + +\item{all}{Should all non-ascii characters be removed? Default is FALSE} +} +\description{ +Replace smart quotes etc. +} diff --git a/radiant.data/man/flip.Rd b/radiant.data/man/flip.Rd new file mode 100644 index 0000000..de6281d --- /dev/null +++ b/radiant.data/man/flip.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{flip} +\alias{flip} +\title{Flip the DT table to put Function, Variable, or Group by on top} +\usage{ +flip(expl, top = "fun") +} +\arguments{ +\item{expl}{Return value from \code{\link{explore}}} + +\item{top}{The variable (type) to display at the top of the table ("fun" for Function, "var" for Variable, and "byvar" for Group by. "fun" is the default} +} +\description{ +Flip the DT table to put Function, Variable, or Group by on top +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +} +\examples{ +explore(diamonds, "price:x", top = "var") \%>\% summary() +explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew"), top = "byvar") \%>\% summary() + +} +\seealso{ +\code{\link{explore}} to calculate summaries + +\code{\link{summary.explore}} to show summaries + +\code{\link{dtab.explore}} to create the DT table +} diff --git a/radiant.data/man/format_df.Rd b/radiant.data/man/format_df.Rd new file mode 100644 index 0000000..e697160 --- /dev/null +++ b/radiant.data/man/format_df.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{format_df} +\alias{format_df} +\title{Format a data.frame with a specified number of decimal places} +\usage{ +format_df(tbl, dec = NULL, perc = FALSE, mark = "", na.rm = FALSE, ...) +} +\arguments{ +\item{tbl}{Data.frame} + +\item{dec}{Number of decimals to show} + +\item{perc}{Display numbers as percentages (TRUE or FALSE)} + +\item{mark}{Thousand separator} + +\item{na.rm}{Remove missing values} + +\item{...}{Additional arguments for format_nr} +} +\value{ +Data.frame for printing +} +\description{ +Format a data.frame with a specified number of decimal places +} +\examples{ +data.frame(x = c("a", "b"), y = c(1L, 2L), z = c(-0.0005, 3)) \%>\% + format_df(dec = 4) +data.frame(x = c(1L, 2L), y = c(0.06, 0.8)) \%>\% + format_df(dec = 2, perc = TRUE) +data.frame(x = c(1L, 2L, NA), y = c(NA, 1.008, 2.8)) \%>\% + format_df(dec = 2) +} diff --git a/radiant.data/man/format_nr.Rd b/radiant.data/man/format_nr.Rd new file mode 100644 index 0000000..2638a32 --- /dev/null +++ b/radiant.data/man/format_nr.Rd @@ -0,0 +1,41 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{format_nr} +\alias{format_nr} +\title{Format a number with a specified number of decimal places, thousand sep, and a symbol} +\usage{ +format_nr(x, sym = "", dec = 2, perc = FALSE, mark = ",", na.rm = TRUE, ...) +} +\arguments{ +\item{x}{Number or vector} + +\item{sym}{Symbol to use} + +\item{dec}{Number of decimals to show} + +\item{perc}{Display number as a percentage} + +\item{mark}{Thousand separator} + +\item{na.rm}{Remove missing values} + +\item{...}{Additional arguments passed to \code{\link{formatC}}} +} +\value{ +Character (vector) in the desired format +} +\description{ +Format a number with a specified number of decimal places, thousand sep, and a symbol +} +\examples{ +format_nr(2000, "$") +format_nr(2000, dec = 4) +format_nr(.05, perc = TRUE) +format_nr(c(.1, .99), perc = TRUE) +format_nr(data.frame(a = c(.1, .99)), perc = TRUE) +format_nr(data.frame(a = 1:10), sym = "$", dec = 0) +format_nr(c(1, 1.9, 1.008, 1.00)) +format_nr(c(1, 1.9, 1.008, 1.00), drop0trailing = TRUE) +format_nr(NA) +format_nr(NULL) +} diff --git a/radiant.data/man/get_class.Rd b/radiant.data/man/get_class.Rd new file mode 100644 index 0000000..6ed7c7f --- /dev/null +++ b/radiant.data/man/get_class.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{get_class} +\alias{get_class} +\title{Get variable class} +\usage{ +get_class(dat) +} +\arguments{ +\item{dat}{Dataset to evaluate} +} +\value{ +Vector with class information for each variable +} +\description{ +Get variable class +} +\details{ +Get variable class information for each column in a data.frame +} +\examples{ +get_class(mtcars) +} diff --git a/radiant.data/man/get_data.Rd b/radiant.data/man/get_data.Rd new file mode 100644 index 0000000..c34cccf --- /dev/null +++ b/radiant.data/man/get_data.Rd @@ -0,0 +1,51 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{get_data} +\alias{get_data} +\title{Select variables and filter data} +\usage{ +get_data( + dataset, + vars = "", + filt = "", + arr = "", + rows = NULL, + data_view_rows = NULL, + na.rm = TRUE, + rev = FALSE, + envir = c() +) +} +\arguments{ +\item{dataset}{Dataset or name of the data.frame} + +\item{vars}{Variables to extract from the data.frame} + +\item{filt}{Filter to apply to the specified dataset} + +\item{arr}{Expression to use to arrange (sort) the specified dataset} + +\item{rows}{Select rows in the specified dataset} + +\item{data_view_rows}{Vector of rows to select. Only used by Data > View in Radiant. Users should use "rows" instead} + +\item{na.rm}{Remove rows with missing values (default is TRUE)} + +\item{rev}{Reverse filter and row selection (i.e., get the remainder)} + +\item{envir}{Environment to extract data from} +} +\value{ +Data.frame with specified columns and rows +} +\description{ +Select variables and filter data +} +\details{ +Function is used in radiant to select variables and filter data based on user input in string form +} +\examples{ +get_data(mtcars, vars = "cyl:vs", filt = "mpg > 25") +get_data(mtcars, vars = c("mpg", "cyl"), rows = 1:10) +get_data(mtcars, vars = c("mpg", "cyl"), arr = "desc(mpg)", rows = "1:5") +} diff --git a/radiant.data/man/get_summary.Rd b/radiant.data/man/get_summary.Rd new file mode 100644 index 0000000..683149e --- /dev/null +++ b/radiant.data/man/get_summary.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{get_summary} +\alias{get_summary} +\title{Create data.frame summary} +\usage{ +get_summary(dataset, dc = get_class(dataset), dec = 3) +} +\arguments{ +\item{dataset}{Data.frame} + +\item{dc}{Class for each variable} + +\item{dec}{Number of decimals to show} +} +\description{ +Create data.frame summary +} +\details{ +Used in Radiant's Data > Transform tab +} diff --git a/radiant.data/man/ggplotly.Rd b/radiant.data/man/ggplotly.Rd new file mode 100644 index 0000000..f65f34f --- /dev/null +++ b/radiant.data/man/ggplotly.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{ggplotly} +\alias{ggplotly} +\title{Work around to avoid (harmless) messages from ggplotly} +\usage{ +ggplotly(...) +} +\arguments{ +\item{...}{Arguments to pass to the \code{\link[plotly]{ggplotly}} function in the plotly package} +} +\description{ +Work around to avoid (harmless) messages from ggplotly +} +\seealso{ +See the \code{\link[plotly]{ggplotly}} function in the plotly package for details (?plotly::ggplotly) +} diff --git a/radiant.data/man/indexr.Rd b/radiant.data/man/indexr.Rd new file mode 100644 index 0000000..d1b7e59 --- /dev/null +++ b/radiant.data/man/indexr.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{indexr} +\alias{indexr} +\title{Find index corrected for missing values and filters} +\usage{ +indexr(dataset, vars = "", filt = "", arr = "", rows = NULL, cmd = "") +} +\arguments{ +\item{dataset}{Dataset} + +\item{vars}{Variables to select} + +\item{filt}{Data filter} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Selected rows} + +\item{cmd}{A command used to customize the data} +} +\description{ +Find index corrected for missing values and filters +} diff --git a/radiant.data/man/install_webshot.Rd b/radiant.data/man/install_webshot.Rd new file mode 100644 index 0000000..fe4a2b3 --- /dev/null +++ b/radiant.data/man/install_webshot.Rd @@ -0,0 +1,11 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{install_webshot} +\alias{install_webshot} +\title{Install webshot and phantomjs} +\usage{ +install_webshot() +} +\description{ +Install webshot and phantomjs +} diff --git a/radiant.data/man/inverse.Rd b/radiant.data/man/inverse.Rd new file mode 100644 index 0000000..61eb892 --- /dev/null +++ b/radiant.data/man/inverse.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{inverse} +\alias{inverse} +\title{Calculate inverse of a variable} +\usage{ +inverse(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +1/x +} +\description{ +Calculate inverse of a variable +} diff --git a/radiant.data/man/is.empty.Rd b/radiant.data/man/is.empty.Rd new file mode 100644 index 0000000..cbc4972 --- /dev/null +++ b/radiant.data/man/is.empty.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{is.empty} +\alias{is.empty} +\title{Is a variable empty} +\usage{ +is.empty(x, empty = "\\\\s*") +} +\arguments{ +\item{x}{Character value to evaluate} + +\item{empty}{Indicate what 'empty' means. Default is empty string (i.e., "")} +} +\value{ +TRUE if empty, else FALSE +} +\description{ +Is a variable empty +} +\details{ +Is a variable empty +} +\examples{ +is.empty("") +is.empty(NULL) +is.empty(NA) +is.empty(c()) +is.empty("none", empty = "none") +is.empty("") +is.empty(" ") +is.empty(" something ") +is.empty(c("", "something")) +is.empty(c(NA, 1:100)) +is.empty(mtcars) +} diff --git a/radiant.data/man/is_double.Rd b/radiant.data/man/is_double.Rd new file mode 100644 index 0000000..af32d17 --- /dev/null +++ b/radiant.data/man/is_double.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{is_double} +\alias{is_double} +\title{Is input a double (and not a date type)?} +\usage{ +is_double(x) +} +\arguments{ +\item{x}{Input} +} +\value{ +TRUE if double and not a type of date, else FALSE +} +\description{ +Is input a double (and not a date type)? +} diff --git a/radiant.data/man/is_not.Rd b/radiant.data/man/is_not.Rd new file mode 100644 index 0000000..1ac1528 --- /dev/null +++ b/radiant.data/man/is_not.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{is_not} +\alias{is_not} +\title{Convenience function for is.null or is.na} +\usage{ +is_not(x) +} +\arguments{ +\item{x}{Input} +} +\description{ +Convenience function for is.null or is.na +} +\examples{ +is_not(NA) +is_not(NULL) +is_not(c()) +is_not(list()) +is_not(data.frame()) +} diff --git a/radiant.data/man/is_string.Rd b/radiant.data/man/is_string.Rd new file mode 100644 index 0000000..d5e4868 --- /dev/null +++ b/radiant.data/man/is_string.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{is_string} +\alias{is_string} +\title{Is input a string?} +\usage{ +is_string(x) +} +\arguments{ +\item{x}{Input} +} +\value{ +TRUE if string, else FALSE +} +\description{ +Is input a string? +} +\examples{ +is_string(" ") +is_string("data") +is_string(c("data", "")) +is_string(NULL) +is_string(NA) +} diff --git a/radiant.data/man/iterms.Rd b/radiant.data/man/iterms.Rd new file mode 100644 index 0000000..4d2687e --- /dev/null +++ b/radiant.data/man/iterms.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{iterms} +\alias{iterms} +\title{Create a vector of interaction terms for linear and logistic regression} +\usage{ +iterms(vars, nway = 2, sep = ":") +} +\arguments{ +\item{vars}{Labels to use} + +\item{nway}{2-way (2) or 3-way (3) interaction labels to create} + +\item{sep}{Separator to use between variable names (e.g., :)} +} +\value{ +Character vector of interaction term labels +} +\description{ +Create a vector of interaction terms for linear and logistic regression +} +\examples{ +paste0("var", 1:3) \%>\% iterms(2) +paste0("var", 1:3) \%>\% iterms(3) +paste0("var", 1:3) \%>\% iterms(2, sep = ".") +} diff --git a/radiant.data/man/launch.Rd b/radiant.data/man/launch.Rd new file mode 100644 index 0000000..2fa1d28 --- /dev/null +++ b/radiant.data/man/launch.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{launch} +\alias{launch} +\title{Launch radiant apps} +\usage{ +launch(package = "radiant.data", run = "viewer", state, ...) +} +\arguments{ +\item{package}{Radiant package to start. One of "radiant.data", "radiant.design", "radiant.basics", "radiant.model", "radiant.multivariate", or "radiant"} + +\item{run}{Run a radiant app in an external browser ("browser"), an Rstudio window ("window"), or in the Rstudio viewer ("viewer")} + +\item{state}{Path to statefile to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant apps +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for radiant documentation and tutorials +} +\examples{ +\dontrun{ +launch() +launch(run = "viewer") +launch(run = "window") +launch(run = "browser") +} + +} diff --git a/radiant.data/man/level_list.Rd b/radiant.data/man/level_list.Rd new file mode 100644 index 0000000..5b55e18 --- /dev/null +++ b/radiant.data/man/level_list.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{level_list} +\alias{level_list} +\title{Generate list of levels and unique values} +\usage{ +level_list(dataset, ...) +} +\arguments{ +\item{dataset}{A data.frame} + +\item{...}{Unquoted variable names to evaluate} +} +\description{ +Generate list of levels and unique values +} +\examples{ +data.frame(a = c(rep("a", 5), rep("b", 5)), b = c(rep(1, 5), 6:10)) \%>\% level_list() +level_list(mtcars, mpg, cyl) + +} diff --git a/radiant.data/man/ln.Rd b/radiant.data/man/ln.Rd new file mode 100644 index 0000000..1e305ee --- /dev/null +++ b/radiant.data/man/ln.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{ln} +\alias{ln} +\title{Natural log} +\usage{ +ln(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{Remove missing values (default is TRUE)} +} +\value{ +Natural log of vector +} +\description{ +Natural log +} +\examples{ +ln(runif(10, 1, 2)) + +} diff --git a/radiant.data/man/load_clip.Rd b/radiant.data/man/load_clip.Rd new file mode 100644 index 0000000..f29ff00 --- /dev/null +++ b/radiant.data/man/load_clip.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/manage.R +\name{load_clip} +\alias{load_clip} +\title{Load data through clipboard on Windows or macOS} +\usage{ +load_clip(delim = "\\t", text, suppress = TRUE) +} +\arguments{ +\item{delim}{Delimiter to use (tab is the default)} + +\item{text}{Text input to convert to table} + +\item{suppress}{Suppress warnings} +} +\description{ +Load data through clipboard on Windows or macOS +} +\details{ +Extract data from the clipboard into a data.frame on Windows or macOS +} +\seealso{ +See the \code{\link{save_clip}} +} diff --git a/radiant.data/man/make_arrange_cmd.Rd b/radiant.data/man/make_arrange_cmd.Rd new file mode 100644 index 0000000..0f65636 --- /dev/null +++ b/radiant.data/man/make_arrange_cmd.Rd @@ -0,0 +1,22 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{make_arrange_cmd} +\alias{make_arrange_cmd} +\title{Generate arrange commands from user input} +\usage{ +make_arrange_cmd(expr, dataset = "") +} +\arguments{ +\item{expr}{Expression to use arrange rows from the specified dataset} + +\item{dataset}{String with dataset name} +} +\value{ +Arrange command +} +\description{ +Generate arrange commands from user input +} +\details{ +Form arrange command from user input +} diff --git a/radiant.data/man/make_train.Rd b/radiant.data/man/make_train.Rd new file mode 100644 index 0000000..890b9f9 --- /dev/null +++ b/radiant.data/man/make_train.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{make_train} +\alias{make_train} +\title{Generate a variable used to selected a training sample} +\usage{ +make_train(n = 0.7, nr = NULL, blocks = NULL, seed = 1234) +} +\arguments{ +\item{n}{Number (or fraction) of observations to label as training} + +\item{nr}{Number of rows in the dataset} + +\item{blocks}{A vector to use for blocking or a data.frame from which to construct a blocking vector} + +\item{seed}{Random seed} +} +\value{ +0/1 variables for filtering +} +\description{ +Generate a variable used to selected a training sample +} +\examples{ +make_train(.5, 10) +make_train(.5, 10) \%>\% table() +make_train(100, 1000) \%>\% table() +make_train(.15, blocks = mtcars$vs) \%>\% table() / nrow(mtcars) +make_train(.10, blocks = iris$Species) \%>\% table() / nrow(iris) +make_train(.5, blocks = iris[, c("Petal.Width", "Species")]) \%>\% table() + +} diff --git a/radiant.data/man/make_vec.Rd b/radiant.data/man/make_vec.Rd new file mode 100644 index 0000000..2f5d05e --- /dev/null +++ b/radiant.data/man/make_vec.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{make_vec} +\alias{make_vec} +\title{Convert a string of numbers into a vector} +\usage{ +make_vec(x) +} +\arguments{ +\item{x}{A string of numbers that may include fractions} +} +\description{ +Convert a string of numbers into a vector +} +\examples{ +make_vec("1 2 4") +make_vec("1/2 2/3 4/5") +make_vec(0.1) +} diff --git a/radiant.data/man/me.Rd b/radiant.data/man/me.Rd new file mode 100644 index 0000000..1af5df4 --- /dev/null +++ b/radiant.data/man/me.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{me} +\alias{me} +\title{Margin of error} +\usage{ +me(x, conf_lev = 0.95, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{conf_lev}{Confidence level. The default is 0.95} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Margin of error +} +\description{ +Margin of error +} +\examples{ +me(rnorm(100)) + +} diff --git a/radiant.data/man/meprop.Rd b/radiant.data/man/meprop.Rd new file mode 100644 index 0000000..8622689 --- /dev/null +++ b/radiant.data/man/meprop.Rd @@ -0,0 +1,25 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{meprop} +\alias{meprop} +\title{Margin of error for proportion} +\usage{ +meprop(x, conf_lev = 0.95, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{conf_lev}{Confidence level. The default is 0.95} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Margin of error +} +\description{ +Margin of error for proportion +} +\examples{ +meprop(c(rep(1L, 10), rep(0L, 10))) + +} diff --git a/radiant.data/man/modal.Rd b/radiant.data/man/modal.Rd new file mode 100644 index 0000000..e771c25 --- /dev/null +++ b/radiant.data/man/modal.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{modal} +\alias{modal} +\title{Calculate the mode (modal value) and return a label} +\usage{ +modal(x, na.rm = TRUE) +} +\arguments{ +\item{x}{A vector} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\description{ +Calculate the mode (modal value) and return a label +} +\details{ +From https://www.tutorialspoint.com/r/r_mean_median_mode.htm +} +\examples{ +modal(c("a", "b", "b")) +modal(c(1:10, 5)) +modal(as.factor(c(letters, "b"))) +modal(runif(100) > 0.5) + +} diff --git a/radiant.data/man/month.Rd b/radiant.data/man/month.Rd new file mode 100644 index 0000000..8fc9726 --- /dev/null +++ b/radiant.data/man/month.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{month} +\alias{month} +\title{Add ordered argument to lubridate::month} +\usage{ +month(x, label = FALSE, abbr = TRUE, ordered = FALSE) +} +\arguments{ +\item{x}{Input date vector} + +\item{label}{Month as label (TRUE, FALSE)} + +\item{abbr}{Abbreviate label (TRUE, FALSE)} + +\item{ordered}{Order factor (TRUE, FALSE)} +} +\description{ +Add ordered argument to lubridate::month +} +\seealso{ +See the \code{\link[lubridate]{month}} function in the lubridate package for additional details +} diff --git a/radiant.data/man/mutate_ext.Rd b/radiant.data/man/mutate_ext.Rd new file mode 100644 index 0000000..503128b --- /dev/null +++ b/radiant.data/man/mutate_ext.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{mutate_ext} +\alias{mutate_ext} +\title{Add transformed variables to a data frame with the option to include a custom variable name extension} +\usage{ +mutate_ext(.tbl, .funs, ..., .ext = "", .vars = c()) +} +\arguments{ +\item{.tbl}{Data frame to add transformed variables to} + +\item{.funs}{Function(s) to apply (e.g., log)} + +\item{...}{Variables to transform} + +\item{.ext}{Extension to add for each variable} + +\item{.vars}{A list of columns generated by dplyr::vars(), or a character vector of column names, or a numeric vector of column positions.} +} +\description{ +Add transformed variables to a data frame with the option to include a custom variable name extension +} +\details{ +Wrapper for dplyr::mutate_at that allows custom variable name extensions +} +\examples{ +mutate_ext(mtcars, .funs = log, mpg, cyl, .ext = "_ln") +mutate_ext(mtcars, .funs = log, .ext = "_ln") +mutate_ext(mtcars, .funs = log) +mutate_ext(mtcars, .funs = log, .ext = "_ln", .vars = vars(mpg, cyl)) + +} diff --git a/radiant.data/man/n_missing.Rd b/radiant.data/man/n_missing.Rd new file mode 100644 index 0000000..6c1ade3 --- /dev/null +++ b/radiant.data/man/n_missing.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{n_missing} +\alias{n_missing} +\title{Number of missing values} +\usage{ +n_missing(x, ...) +} +\arguments{ +\item{x}{Input variable} + +\item{...}{Additional arguments} +} +\value{ +number of missing values +} +\description{ +Number of missing values +} +\examples{ +n_missing(c("a", "b", NA)) + +} diff --git a/radiant.data/man/n_obs.Rd b/radiant.data/man/n_obs.Rd new file mode 100644 index 0000000..f7eb211 --- /dev/null +++ b/radiant.data/man/n_obs.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{n_obs} +\alias{n_obs} +\title{Number of observations} +\usage{ +n_obs(x, ...) +} +\arguments{ +\item{x}{Input variable} + +\item{...}{Additional arguments} +} +\value{ +number of observations +} +\description{ +Number of observations +} +\examples{ +n_obs(c("a", "b", NA)) + +} diff --git a/radiant.data/man/normalize.Rd b/radiant.data/man/normalize.Rd new file mode 100644 index 0000000..2c0d6e9 --- /dev/null +++ b/radiant.data/man/normalize.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{normalize} +\alias{normalize} +\title{Normalize a variable x by a variable y} +\usage{ +normalize(x, y) +} +\arguments{ +\item{x}{Input variable} + +\item{y}{Normalizing variable} +} +\value{ +x/y +} +\description{ +Normalize a variable x by a variable y +} diff --git a/radiant.data/man/parse_path.Rd b/radiant.data/man/parse_path.Rd new file mode 100644 index 0000000..5eb452a --- /dev/null +++ b/radiant.data/man/parse_path.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{parse_path} +\alias{parse_path} +\title{Parse file path into useful components} +\usage{ +parse_path(path, chr = "", pdir = getwd(), mess = TRUE) +} +\arguments{ +\item{path}{Path to be parsed} + +\item{chr}{Character to wrap around path for display} + +\item{pdir}{Project directory if available} + +\item{mess}{Print messages if Dropbox or Google Drive not found} +} +\description{ +Parse file path into useful components +} +\details{ +Parse file path into useful components (i.e., file name, file extension, relative path, etc.) +} +\examples{ +list.files(".", full.names = TRUE)[1] \%>\% parse_path() +} diff --git a/radiant.data/man/percentiles.Rd b/radiant.data/man/percentiles.Rd new file mode 100644 index 0000000..e563224 --- /dev/null +++ b/radiant.data/man/percentiles.Rd @@ -0,0 +1,47 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{p01} +\alias{p01} +\alias{p025} +\alias{p05} +\alias{p10} +\alias{p25} +\alias{p75} +\alias{p90} +\alias{p95} +\alias{p975} +\alias{p99} +\title{Calculate percentiles} +\usage{ +p01(x, na.rm = TRUE) + +p025(x, na.rm = TRUE) + +p05(x, na.rm = TRUE) + +p10(x, na.rm = TRUE) + +p25(x, na.rm = TRUE) + +p75(x, na.rm = TRUE) + +p90(x, na.rm = TRUE) + +p95(x, na.rm = TRUE) + +p975(x, na.rm = TRUE) + +p99(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Numeric vector} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\description{ +Calculate percentiles +} +\examples{ +p01(0:100) + +} diff --git a/radiant.data/man/pfun.Rd b/radiant.data/man/pfun.Rd new file mode 100644 index 0000000..f77da7f --- /dev/null +++ b/radiant.data/man/pfun.Rd @@ -0,0 +1,76 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{pfun} +\alias{pfun} +\alias{psum} +\alias{pmean} +\alias{pmedian} +\alias{psd} +\alias{pvar} +\alias{pcv} +\alias{pp01} +\alias{pp025} +\alias{pp05} +\alias{pp10} +\alias{pp25} +\alias{pp75} +\alias{pp95} +\alias{pp975} +\alias{pp99} +\title{Summarize a set of numeric vectors per row} +\usage{ +pfun(..., fun, na.rm = TRUE) + +psum(..., na.rm = TRUE) + +pmean(..., na.rm = TRUE) + +pmedian(..., na.rm = TRUE) + +psd(..., na.rm = TRUE) + +pvar(..., na.rm = TRUE) + +pcv(..., na.rm = TRUE) + +pp01(..., na.rm = TRUE) + +pp025(..., na.rm = TRUE) + +pp05(..., na.rm = TRUE) + +pp10(..., na.rm = TRUE) + +pp25(..., na.rm = TRUE) + +pp75(..., na.rm = TRUE) + +pp95(..., na.rm = TRUE) + +pp975(..., na.rm = TRUE) + +pp99(..., na.rm = TRUE) +} +\arguments{ +\item{...}{Numeric vectors of the same length} + +\item{fun}{Function to apply} + +\item{na.rm}{a logical indicating whether missing values should be removed.} +} +\value{ +A vector of 'parallel' summaries of the argument vectors. +} +\description{ +Summarize a set of numeric vectors per row +} +\details{ +Calculate summary statistics of the input vectors per row (or 'parallel') +} +\examples{ +pfun(1:10, fun = mean) +psum(1:10, 10:1) +} +\seealso{ +See also \code{\link{pmin}} and \code{\link{pmax}} +} diff --git a/radiant.data/man/pivotr.Rd b/radiant.data/man/pivotr.Rd new file mode 100644 index 0000000..48396de --- /dev/null +++ b/radiant.data/man/pivotr.Rd @@ -0,0 +1,64 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pivotr.R +\name{pivotr} +\alias{pivotr} +\title{Create a pivot table} +\usage{ +pivotr( + dataset, + cvars = "", + nvar = "None", + fun = "mean", + normalize = "None", + tabfilt = "", + tabsort = "", + tabslice = "", + nr = Inf, + data_filter = "", + arr = "", + rows = NULL, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset to tabulate} + +\item{cvars}{Categorical variables} + +\item{nvar}{Numerical variable} + +\item{fun}{Function to apply to numerical variable} + +\item{normalize}{Normalize the table by row total, column totals, or overall total} + +\item{tabfilt}{Expression used to filter the table (e.g., "Total > 10000")} + +\item{tabsort}{Expression used to sort the table (e.g., "desc(Total)")} + +\item{tabslice}{Expression used to filter table (e.g., "1:5")} + +\item{nr}{Number of rows to display} + +\item{data_filter}{Expression used to filter the dataset before creating the table (e.g., "price > 10000")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Rows to select from the specified dataset} + +\item{envir}{Environment to extract data from} +} +\description{ +Create a pivot table +} +\details{ +Create a pivot-table. See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +} +\examples{ +pivotr(diamonds, cvars = "cut") \%>\% str() +pivotr(diamonds, cvars = "cut")$tab +pivotr(diamonds, cvars = c("cut", "clarity", "color"))$tab +pivotr(diamonds, cvars = "cut:clarity", nvar = "price")$tab +pivotr(diamonds, cvars = "cut", nvar = "price")$tab +pivotr(diamonds, cvars = "cut", normalize = "total")$tab + +} diff --git a/radiant.data/man/plot.pivotr.Rd b/radiant.data/man/plot.pivotr.Rd new file mode 100644 index 0000000..5f34b97 --- /dev/null +++ b/radiant.data/man/plot.pivotr.Rd @@ -0,0 +1,48 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pivotr.R +\name{plot.pivotr} +\alias{plot.pivotr} +\title{Plot method for the pivotr function} +\usage{ +\method{plot}{pivotr}( + x, + type = "dodge", + perc = FALSE, + flip = FALSE, + fillcol = "blue", + opacity = 0.5, + ... +) +} +\arguments{ +\item{x}{Return value from \code{\link{pivotr}}} + +\item{type}{Plot type to use ("fill" or "dodge" (default))} + +\item{perc}{Use percentage on the y-axis} + +\item{flip}{Flip the axes in a plot (FALSE or TRUE)} + +\item{fillcol}{Fill color for bar-plot when only one categorical variable has been selected (default is "blue")} + +\item{opacity}{Opacity for plot elements (0 to 1)} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the pivotr function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/pivotr} for an example in Radiant +} +\examples{ +pivotr(diamonds, cvars = "cut") \%>\% plot() +pivotr(diamonds, cvars = c("cut", "clarity")) \%>\% plot() +pivotr(diamonds, cvars = c("cut", "clarity", "color")) \%>\% plot() + +} +\seealso{ +\code{\link{pivotr}} to generate summaries + +\code{\link{summary.pivotr}} to show summaries +} diff --git a/radiant.data/man/prop.Rd b/radiant.data/man/prop.Rd new file mode 100644 index 0000000..e2d19f6 --- /dev/null +++ b/radiant.data/man/prop.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{prop} +\alias{prop} +\title{Calculate proportion} +\usage{ +prop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Proportion of first level for a factor and of the maximum value for numeric +} +\description{ +Calculate proportion +} +\examples{ +prop(c(rep(1L, 10), rep(0L, 10))) +prop(c(rep(4, 10), rep(2, 10))) +prop(rep(0, 10)) +prop(factor(c(rep("a", 20), rep("b", 10)))) + +} diff --git a/radiant.data/man/publishers.Rd b/radiant.data/man/publishers.Rd new file mode 100644 index 0000000..eff9c30 --- /dev/null +++ b/radiant.data/man/publishers.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{publishers} +\alias{publishers} +\title{Comic publishers} +\format{ +A data frame with 3 rows and 2 variables +} +\usage{ +data(publishers) +} +\description{ +Comic publishers +} +\details{ +List of comic publishers from \url{https://stat545.com/join-cheatsheet.html}. The dataset is used to illustrate data merging / joining. Description provided in attr(publishers,"description") +} +\keyword{datasets} diff --git a/radiant.data/man/qscatter.Rd b/radiant.data/man/qscatter.Rd new file mode 100644 index 0000000..10a58cb --- /dev/null +++ b/radiant.data/man/qscatter.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/visualize.R +\name{qscatter} +\alias{qscatter} +\title{Create a qscatter plot similar to Stata} +\usage{ +qscatter(dataset, xvar, yvar, lev = "", fun = "mean", bins = 20) +} +\arguments{ +\item{dataset}{Data to plot (data.frame or tibble)} + +\item{xvar}{Character indicating the variable to display along the X-axis of the plot} + +\item{yvar}{Character indicating the variable to display along the Y-axis of the plot} + +\item{lev}{Level in yvar to use if yvar is of type character of factor. If lev is empty then the first level is used} + +\item{fun}{Summary measure to apply to both the x and y variable} + +\item{bins}{Number of bins to use} +} +\description{ +Create a qscatter plot similar to Stata +} +\examples{ +qscatter(diamonds, "price", "carat") +qscatter(titanic, "age", "survived") + +} diff --git a/radiant.data/man/qterms.Rd b/radiant.data/man/qterms.Rd new file mode 100644 index 0000000..7fe31d0 --- /dev/null +++ b/radiant.data/man/qterms.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{qterms} +\alias{qterms} +\title{Create a vector of quadratic and cubed terms for use in linear and logistic regression} +\usage{ +qterms(vars, nway = 2) +} +\arguments{ +\item{vars}{Variables labels to use} + +\item{nway}{quadratic (2) or cubic (3) term labels to create} +} +\value{ +Character vector of (regression) term labels +} +\description{ +Create a vector of quadratic and cubed terms for use in linear and logistic regression +} +\examples{ +qterms(c("a", "b"), 3) +qterms(c("a", "b"), 2) +} diff --git a/radiant.data/man/radiant.data-deprecated.Rd b/radiant.data/man/radiant.data-deprecated.Rd new file mode 100644 index 0000000..99438c5 --- /dev/null +++ b/radiant.data/man/radiant.data-deprecated.Rd @@ -0,0 +1,60 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/deprecated.R +\name{radiant.data-deprecated} +\alias{radiant.data-deprecated} +\alias{mean_rm} +\alias{median_rm} +\alias{min_rm} +\alias{max_rm} +\alias{sd_rm} +\alias{var_rm} +\alias{sum_rm} +\alias{getdata} +\alias{filterdata} +\alias{combinedata} +\alias{viewdata} +\alias{toFct} +\alias{fixMS} +\alias{getsummary} +\alias{Search} +\alias{formatnr} +\alias{formatdf} +\alias{rounddf} +\alias{getclass} +\alias{is_numeric} +\title{Deprecated function(s) in the radiant.data package} +\usage{ +mean_rm(...) +} +\arguments{ +\item{...}{Parameters to be passed to the updated functions} +} +\description{ +These functions are provided for compatibility with previous versions of +radiant but will be removed +} +\section{Details}{ + +\itemize{ + \item Replace \code{mean_rm} by \code{\link{mean}} + \item Replace \code{median_rm} by \code{\link{median}} + \item Replace \code{min_rm} by \code{\link{min}} + \item Replace \code{max_rm} by \code{\link{max}} + \item Replace \code{sd_rm} by \code{\link{sd}} + \item Replace \code{var_rm} by \code{\link{var}} + \item Replace \code{sum_rm} by \code{\link{sum}} + \item Replace \code{getdata} by \code{\link{get_data}} + \item Replace \code{filterdata} by \code{\link{filter_data}} + \item Replace \code{combinedata} by \code{\link{combine_data}} + \item Replace \code{viewdata} by \code{\link{view_data}} + \item Replace \code{toFct} by \code{\link{to_fct}} + \item Replace \code{fixMS} by \code{\link{fix_smart}} + \item Replace \code{rounddf} by \code{\link{round_df}} + \item Replace \code{formatdf} by \code{\link{format_df}} + \item Replace \code{formatnr} by \code{\link{format_nr}} + \item Replace \code{getclass} by \code{\link{get_class}} + \item Replace \code{is_numeric} by \code{\link{is_double}} + \item Replace \code{is_empty} by \code{\link{is.empty}} +} +} + diff --git a/radiant.data/man/radiant.data.Rd b/radiant.data/man/radiant.data.Rd new file mode 100644 index 0000000..b43d2ba --- /dev/null +++ b/radiant.data/man/radiant.data.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R, R/radiant.R +\name{radiant.data} +\alias{radiant.data} +\title{radiant.data} +\usage{ +radiant.data(state, ...) +} +\arguments{ +\item{state}{Path to statefile to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch the radiant.data app in the default web browser +} +\examples{ +\dontrun{ +radiant.data() +radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda") +radiant.data("viewer") +} +} diff --git a/radiant.data/man/radiant.data_url.Rd b/radiant.data/man/radiant.data_url.Rd new file mode 100644 index 0000000..4f6eec4 --- /dev/null +++ b/radiant.data/man/radiant.data_url.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.data_url} +\alias{radiant.data_url} +\title{Start radiant.data app but do not open a browser} +\usage{ +radiant.data_url(state, ...) +} +\arguments{ +\item{state}{Path to statefile to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Start radiant.data app but do not open a browser +} +\examples{ +\dontrun{ +radiant.data_url() +} +} diff --git a/radiant.data/man/radiant.data_viewer.Rd b/radiant.data/man/radiant.data_viewer.Rd new file mode 100644 index 0000000..1441a41 --- /dev/null +++ b/radiant.data/man/radiant.data_viewer.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.data_viewer} +\alias{radiant.data_viewer} +\title{Launch the radiant.data app in the Rstudio viewer} +\usage{ +radiant.data_viewer(state, ...) +} +\arguments{ +\item{state}{Path to statefile to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch the radiant.data app in the Rstudio viewer +} +\examples{ +\dontrun{ +radiant.data_viewer() +} +} diff --git a/radiant.data/man/radiant.data_window.Rd b/radiant.data/man/radiant.data_window.Rd new file mode 100644 index 0000000..7b3aab2 --- /dev/null +++ b/radiant.data/man/radiant.data_window.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.data_window} +\alias{radiant.data_window} +\title{Launch the radiant.data app in an Rstudio window} +\usage{ +radiant.data_window(state, ...) +} +\arguments{ +\item{state}{Path to statefile to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch the radiant.data app in an Rstudio window +} +\examples{ +\dontrun{ +radiant.data_window() +} +} diff --git a/radiant.data/man/read_files.Rd b/radiant.data/man/read_files.Rd new file mode 100644 index 0000000..033527b --- /dev/null +++ b/radiant.data/man/read_files.Rd @@ -0,0 +1,39 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{read_files} +\alias{read_files} +\title{Generate code to read a file} +\usage{ +read_files( + path, + pdir = "", + type = "rmd", + to = "", + clipboard = TRUE, + radiant = FALSE +) +} +\arguments{ +\item{path}{Path to file. If empty, a file browser will be opened} + +\item{pdir}{Project dir} + +\item{type}{Generate code for _Report > Rmd_ ("rmd") or _Report > R_ ("r")} + +\item{to}{Name to use for object. If empty, will use file name to derive an object name} + +\item{clipboard}{Return code to clipboard (not available on Linux)} + +\item{radiant}{Should returned code be formatted for use with other code generated by Radiant?} +} +\description{ +Generate code to read a file +} +\details{ +Return code to read a file at the specified path. Will open a file browser if no path is provided +} +\examples{ +if (interactive()) { + read_files(clipboard = FALSE) +} +} diff --git a/radiant.data/man/reexports.Rd b/radiant.data/man/reexports.Rd new file mode 100644 index 0000000..c87ef7d --- /dev/null +++ b/radiant.data/man/reexports.Rd @@ -0,0 +1,48 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{import} +\name{reexports} +\alias{reexports} +\alias{theme_version} +\alias{bs_theme} +\alias{wrap_plots} +\alias{plot_annotation} +\alias{writePNG} +\alias{glue} +\alias{glue_data} +\alias{glue_collapse} +\alias{knit_print} +\alias{rownames_to_column} +\alias{tibble} +\alias{as_tibble} +\alias{tidy} +\alias{glance} +\alias{kurtosi} +\alias{skew} +\alias{date} +\title{Objects exported from other packages} +\keyword{internal} +\description{ +These objects are imported from other packages. Follow the links +below to see their documentation. + +\describe{ + \item{broom}{\code{\link[broom:reexports]{glance}}, \code{\link[broom:reexports]{tidy}}} + + \item{bslib}{\code{\link[bslib]{bs_theme}}, \code{\link[bslib]{theme_version}}} + + \item{glue}{\code{\link[glue]{glue}}, \code{\link[glue]{glue_collapse}}, \code{\link[glue:glue]{glue_data}}} + + \item{knitr}{\code{\link[knitr]{knit_print}}} + + \item{lubridate}{\code{\link[lubridate]{date}}} + + \item{patchwork}{\code{\link[patchwork]{plot_annotation}}, \code{\link[patchwork]{wrap_plots}}} + + \item{png}{\code{\link[png]{writePNG}}} + + \item{psych}{\code{\link[psych:skew]{kurtosi}}, \code{\link[psych]{skew}}} + + \item{tibble}{\code{\link[tibble]{as_tibble}}, \code{\link[tibble:rownames]{rownames_to_column}}, \code{\link[tibble]{tibble}}} +}} + diff --git a/radiant.data/man/refactor.Rd b/radiant.data/man/refactor.Rd new file mode 100644 index 0000000..c574e58 --- /dev/null +++ b/radiant.data/man/refactor.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{refactor} +\alias{refactor} +\title{Remove/reorder levels} +\usage{ +refactor(x, levs = levels(x), repl = NA) +} +\arguments{ +\item{x}{Character or Factor} + +\item{levs}{Set of levels to use} + +\item{repl}{String (or NA) used to replace missing levels} +} +\description{ +Remove/reorder levels +} +\details{ +Keep only a specific set of levels in a factor. By removing levels the base for comparison in, e.g., regression analysis, becomes the first level. To relabel the base use, for example, repl = 'other' +} +\examples{ +refactor(diamonds$cut, c("Premium", "Ideal")) \%>\% head() +refactor(diamonds$cut, c("Premium", "Ideal"), "Other") \%>\% head() + +} diff --git a/radiant.data/man/register.Rd b/radiant.data/man/register.Rd new file mode 100644 index 0000000..a5ac7df --- /dev/null +++ b/radiant.data/man/register.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{register} +\alias{register} +\title{Register a data.frame or list in Radiant} +\usage{ +register( + new, + org = "", + descr = "", + shiny = shiny::getDefaultReactiveDomain(), + envir = r_data +) +} +\arguments{ +\item{new}{String containing the name of the data.frame to register} + +\item{org}{Name of the original data.frame if a (working) copy is being made} + +\item{descr}{Data description in markdown format} + +\item{shiny}{Check if function is called from a shiny application} + +\item{envir}{Environment to assign data to} +} +\description{ +Register a data.frame or list in Radiant +} +\seealso{ +See also \code{\link{add_description}} to add a description in markdown format + to a data.frame +} diff --git a/radiant.data/man/render.Rd b/radiant.data/man/render.Rd new file mode 100644 index 0000000..744b8ec --- /dev/null +++ b/radiant.data/man/render.Rd @@ -0,0 +1,16 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{render} +\alias{render} +\title{Base method used to render htmlwidgets} +\usage{ +render(object, ...) +} +\arguments{ +\item{object}{Object of relevant class to render} + +\item{...}{Additional arguments} +} +\description{ +Base method used to render htmlwidgets +} diff --git a/radiant.data/man/render.datatables.Rd b/radiant.data/man/render.datatables.Rd new file mode 100644 index 0000000..21979b0 --- /dev/null +++ b/radiant.data/man/render.datatables.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{render.datatables} +\alias{render.datatables} +\title{Method to render DT tables} +\usage{ +\method{render}{datatables}(object, shiny = shiny::getDefaultReactiveDomain(), ...) +} +\arguments{ +\item{object}{DT table} + +\item{shiny}{Check if function is called from a shiny application} + +\item{...}{Additional arguments} +} +\description{ +Method to render DT tables +} diff --git a/radiant.data/man/render.plotly.Rd b/radiant.data/man/render.plotly.Rd new file mode 100644 index 0000000..cfbb302 --- /dev/null +++ b/radiant.data/man/render.plotly.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{render.plotly} +\alias{render.plotly} +\title{Method to render plotly plots} +\usage{ +\method{render}{plotly}(object, shiny = shiny::getDefaultReactiveDomain(), ...) +} +\arguments{ +\item{object}{plotly object} + +\item{shiny}{Check if function is called from a shiny application} + +\item{...}{Additional arguments} +} +\description{ +Method to render plotly plots +} diff --git a/radiant.data/man/round_df.Rd b/radiant.data/man/round_df.Rd new file mode 100644 index 0000000..61764a1 --- /dev/null +++ b/radiant.data/man/round_df.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{round_df} +\alias{round_df} +\title{Round doubles in a data.frame to a specified number of decimal places} +\usage{ +round_df(tbl, dec = 3) +} +\arguments{ +\item{tbl}{Data frame} + +\item{dec}{Number of decimals to show} +} +\value{ +Data frame with rounded doubles +} +\description{ +Round doubles in a data.frame to a specified number of decimal places +} +\examples{ +data.frame(x = as.factor(c("a", "b")), y = c(1L, 2L), z = c(-0.0005, 3.1)) \%>\% + round_df(dec = 2) +} diff --git a/radiant.data/man/save_clip.Rd b/radiant.data/man/save_clip.Rd new file mode 100644 index 0000000..1043487 --- /dev/null +++ b/radiant.data/man/save_clip.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/manage.R +\name{save_clip} +\alias{save_clip} +\title{Save data to clipboard on Windows or macOS} +\usage{ +save_clip(dataset) +} +\arguments{ +\item{dataset}{Dataset to save to clipboard} +} +\description{ +Save data to clipboard on Windows or macOS +} +\details{ +Save a data.frame or tibble to the clipboard on Windows or macOS +} +\seealso{ +See the \code{\link{load_clip}} +} diff --git a/radiant.data/man/sdpop.Rd b/radiant.data/man/sdpop.Rd new file mode 100644 index 0000000..0293762 --- /dev/null +++ b/radiant.data/man/sdpop.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{sdpop} +\alias{sdpop} +\title{Standard deviation for the population} +\usage{ +sdpop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Standard deviation for the population +} +\description{ +Standard deviation for the population +} +\examples{ +sdpop(rnorm(100)) + +} diff --git a/radiant.data/man/sdprop.Rd b/radiant.data/man/sdprop.Rd new file mode 100644 index 0000000..c16c751 --- /dev/null +++ b/radiant.data/man/sdprop.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{sdprop} +\alias{sdprop} +\title{Standard deviation for proportion} +\usage{ +sdprop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Standard deviation for proportion +} +\description{ +Standard deviation for proportion +} +\examples{ +sdprop(c(rep(1L, 10), rep(0L, 10))) + +} diff --git a/radiant.data/man/se.Rd b/radiant.data/man/se.Rd new file mode 100644 index 0000000..fecb7bb --- /dev/null +++ b/radiant.data/man/se.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{se} +\alias{se} +\title{Standard error} +\usage{ +se(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Standard error +} +\description{ +Standard error +} +\examples{ +se(rnorm(100)) + +} diff --git a/radiant.data/man/search_data.Rd b/radiant.data/man/search_data.Rd new file mode 100644 index 0000000..c7f433c --- /dev/null +++ b/radiant.data/man/search_data.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{search_data} +\alias{search_data} +\title{Search for a pattern in all columns of a data.frame} +\usage{ +search_data(dataset, pattern, ignore.case = TRUE, fixed = FALSE) +} +\arguments{ +\item{dataset}{Data.frame to search} + +\item{pattern}{String to match} + +\item{ignore.case}{Should search be case sensitive or not (default is FALSE)} + +\item{fixed}{Allow regular expressions or not (default is FALSE)} +} +\description{ +Search for a pattern in all columns of a data.frame +} +\examples{ +publishers \%>\% filter(search_data(., "^m")) +} +\seealso{ +See \code{\link{grepl}} for a detailed description of the function arguments +} diff --git a/radiant.data/man/seprop.Rd b/radiant.data/man/seprop.Rd new file mode 100644 index 0000000..33c5d22 --- /dev/null +++ b/radiant.data/man/seprop.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{seprop} +\alias{seprop} +\title{Standard error for proportion} +\usage{ +seprop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Standard error for proportion +} +\description{ +Standard error for proportion +} +\examples{ +seprop(c(rep(1L, 10), rep(0L, 10))) + +} diff --git a/radiant.data/man/set_attr.Rd b/radiant.data/man/set_attr.Rd new file mode 100644 index 0000000..d330a48 --- /dev/null +++ b/radiant.data/man/set_attr.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{set_attr} +\alias{set_attr} +\title{Alias used to add an attribute} +\usage{ +set_attr(x, which, value) +} +\arguments{ +\item{x}{Object} + +\item{which}{Attribute name} + +\item{value}{Value to set} +} +\description{ +Alias used to add an attribute +} +\examples{ +foo <- data.frame(price = 1:5) \%>\% set_attr("description", "price set in experiment ...") +} diff --git a/radiant.data/man/show_duplicated.Rd b/radiant.data/man/show_duplicated.Rd new file mode 100644 index 0000000..2e9f204 --- /dev/null +++ b/radiant.data/man/show_duplicated.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{show_duplicated} +\alias{show_duplicated} +\title{Show all rows with duplicated values (not just the first or last)} +\usage{ +show_duplicated(.tbl, ...) +} +\arguments{ +\item{.tbl}{Data frame to add transformed variables to} + +\item{...}{Variables used to evaluate row uniqueness} +} +\description{ +Show all rows with duplicated values (not just the first or last) +} +\details{ +If an entire row is duplicated use "duplicated" to show only one of the duplicated rows. When using a subset of variables to establish uniqueness it may be of interest to show all rows that have (some) duplicate elements +} +\examples{ +bind_rows(mtcars, mtcars[c(1, 5, 7), ]) \%>\% + show_duplicated(mpg, cyl) +bind_rows(mtcars, mtcars[c(1, 5, 7), ]) \%>\% + show_duplicated() + +} diff --git a/radiant.data/man/sig_stars.Rd b/radiant.data/man/sig_stars.Rd new file mode 100644 index 0000000..8b1cc39 --- /dev/null +++ b/radiant.data/man/sig_stars.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{sig_stars} +\alias{sig_stars} +\title{Add stars based on p.values} +\usage{ +sig_stars(pval) +} +\arguments{ +\item{pval}{Vector of p-values} +} +\value{ +A vector of stars +} +\description{ +Add stars based on p.values +} +\examples{ +sig_stars(c(.0009, .049, .009, .4, .09)) +} diff --git a/radiant.data/man/slice_data.Rd b/radiant.data/man/slice_data.Rd new file mode 100644 index 0000000..954134d --- /dev/null +++ b/radiant.data/man/slice_data.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{slice_data} +\alias{slice_data} +\title{Slice data with user-specified expression} +\usage{ +slice_data(dataset, expr = NULL, drop = TRUE) +} +\arguments{ +\item{dataset}{Data frame to slice} + +\item{expr}{Expression to use select rows from the specified dataset} + +\item{drop}{Drop unused factor levels after filtering (default is TRUE)} +} +\value{ +Sliced data frame +} +\description{ +Slice data with user-specified expression +} +\details{ +Select only a slice of the data to work with +} diff --git a/radiant.data/man/square.Rd b/radiant.data/man/square.Rd new file mode 100644 index 0000000..5cc254a --- /dev/null +++ b/radiant.data/man/square.Rd @@ -0,0 +1,17 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{square} +\alias{square} +\title{Calculate square of a variable} +\usage{ +square(x) +} +\arguments{ +\item{x}{Input variable} +} +\value{ +x^2 +} +\description{ +Calculate square of a variable +} diff --git a/radiant.data/man/sshh.Rd b/radiant.data/man/sshh.Rd new file mode 100644 index 0000000..86e842e --- /dev/null +++ b/radiant.data/man/sshh.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{sshh} +\alias{sshh} +\title{Hide warnings and messages and return invisible} +\usage{ +sshh(...) +} +\arguments{ +\item{...}{Inputs to keep quite} +} +\description{ +Hide warnings and messages and return invisible +} +\details{ +Hide warnings and messages and return invisible +} +\examples{ +sshh(library(dplyr)) +} diff --git a/radiant.data/man/sshhr.Rd b/radiant.data/man/sshhr.Rd new file mode 100644 index 0000000..f7c0c88 --- /dev/null +++ b/radiant.data/man/sshhr.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{sshhr} +\alias{sshhr} +\title{Hide warnings and messages and return result} +\usage{ +sshhr(...) +} +\arguments{ +\item{...}{Inputs to keep quite} +} +\description{ +Hide warnings and messages and return result +} +\details{ +Hide warnings and messages and return result +} +\examples{ +sshhr(library(dplyr)) +} diff --git a/radiant.data/man/standardize.Rd b/radiant.data/man/standardize.Rd new file mode 100644 index 0000000..7b0bca3 --- /dev/null +++ b/radiant.data/man/standardize.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{standardize} +\alias{standardize} +\title{Standardize} +\usage{ +standardize(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +If x is a numeric variable return (x - mean(x)) / sd(x) +} +\description{ +Standardize +} diff --git a/radiant.data/man/store.Rd b/radiant.data/man/store.Rd new file mode 100644 index 0000000..0e24d83 --- /dev/null +++ b/radiant.data/man/store.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{store} +\alias{store} +\title{Method to store variables in a dataset in Radiant} +\usage{ +store(dataset, object = "deprecated", ...) +} +\arguments{ +\item{dataset}{Dataset} + +\item{object}{Object of relevant class that has information to be stored} + +\item{...}{Additional arguments} +} +\description{ +Method to store variables in a dataset in Radiant +} diff --git a/radiant.data/man/store.explore.Rd b/radiant.data/man/store.explore.Rd new file mode 100644 index 0000000..3c2a487 --- /dev/null +++ b/radiant.data/man/store.explore.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{store.explore} +\alias{store.explore} +\title{Deprecated: Store method for the explore function} +\usage{ +\method{store}{explore}(dataset, object, name, ...) +} +\arguments{ +\item{dataset}{Dataset} + +\item{object}{Return value from \code{\link{explore}}} + +\item{name}{Name to assign to the dataset} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Deprecated: Store method for the explore function +} +\details{ +Return the summarized data. See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +} +\seealso{ +\code{\link{explore}} to generate summaries +} diff --git a/radiant.data/man/store.pivotr.Rd b/radiant.data/man/store.pivotr.Rd new file mode 100644 index 0000000..87a28e4 --- /dev/null +++ b/radiant.data/man/store.pivotr.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pivotr.R +\name{store.pivotr} +\alias{store.pivotr} +\title{Deprecated: Store method for the pivotr function} +\usage{ +\method{store}{pivotr}(dataset, object, name, ...) +} +\arguments{ +\item{dataset}{Dataset} + +\item{object}{Return value from \code{\link{pivotr}}} + +\item{name}{Name to assign to the dataset} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Deprecated: Store method for the pivotr function +} +\details{ +Return the summarized data. See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +} +\seealso{ +\code{\link{pivotr}} to generate summaries +} diff --git a/radiant.data/man/subplot.Rd b/radiant.data/man/subplot.Rd new file mode 100644 index 0000000..c6be00d --- /dev/null +++ b/radiant.data/man/subplot.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{subplot} +\alias{subplot} +\title{Work around to avoid (harmless) messages from subplot} +\usage{ +subplot(..., margin = 0.04) +} +\arguments{ +\item{...}{Arguments to pass to the \code{\link[plotly]{subplot}} function in the plotly packages} + +\item{margin}{Default margin to use between plots} +} +\description{ +Work around to avoid (harmless) messages from subplot +} +\seealso{ +See the \code{\link[plotly]{subplot}} in the plotly package for details (?plotly::subplot) +} diff --git a/radiant.data/man/summary.explore.Rd b/radiant.data/man/summary.explore.Rd new file mode 100644 index 0000000..5ea7444 --- /dev/null +++ b/radiant.data/man/summary.explore.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{summary.explore} +\alias{summary.explore} +\title{Summary method for the explore function} +\usage{ +\method{summary}{explore}(object, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{explore}}} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the explore function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/explore.html} for an example in Radiant +} +\examples{ +result <- explore(diamonds, "price:x") +summary(result) +result <- explore(diamonds, "price", byvar = "cut", fun = c("n_obs", "skew")) +summary(result) +explore(diamonds, "price:x", byvar = "color") \%>\% summary() + +} +\seealso{ +\code{\link{explore}} to generate summaries +} diff --git a/radiant.data/man/summary.pivotr.Rd b/radiant.data/man/summary.pivotr.Rd new file mode 100644 index 0000000..61da655 --- /dev/null +++ b/radiant.data/man/summary.pivotr.Rd @@ -0,0 +1,37 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/pivotr.R +\name{summary.pivotr} +\alias{summary.pivotr} +\title{Summary method for pivotr} +\usage{ +\method{summary}{pivotr}(object, perc = FALSE, dec = 3, chi2 = FALSE, shiny = FALSE, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{pivotr}}} + +\item{perc}{Display numbers as percentages (TRUE or FALSE)} + +\item{dec}{Number of decimals to show} + +\item{chi2}{If TRUE calculate the chi-square statistic for the (pivot) table} + +\item{shiny}{Did the function call originate inside a shiny app} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for pivotr +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/pivotr.html} for an example in Radiant +} +\examples{ +pivotr(diamonds, cvars = "cut") \%>\% summary(chi2 = TRUE) +pivotr(diamonds, cvars = "cut", tabsort = "desc(n_obs)") \%>\% summary() +pivotr(diamonds, cvars = "cut", tabfilt = "n_obs > 700") \%>\% summary() +pivotr(diamonds, cvars = "cut:clarity", nvar = "price") \%>\% summary() + +} +\seealso{ +\code{\link{pivotr}} to create the pivot-table using dplyr +} diff --git a/radiant.data/man/superheroes.Rd b/radiant.data/man/superheroes.Rd new file mode 100644 index 0000000..ec85f8f --- /dev/null +++ b/radiant.data/man/superheroes.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{superheroes} +\alias{superheroes} +\title{Super heroes} +\format{ +A data frame with 7 rows and 4 variables +} +\usage{ +data(superheroes) +} +\description{ +Super heroes +} +\details{ +List of super heroes from \url{https://stat545.com/join-cheatsheet.html}. The dataset is used to illustrate data merging / joining. Description provided in attr(superheroes,"description") +} +\keyword{datasets} diff --git a/radiant.data/man/table2data.Rd b/radiant.data/man/table2data.Rd new file mode 100644 index 0000000..6170cc2 --- /dev/null +++ b/radiant.data/man/table2data.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{table2data} +\alias{table2data} +\title{Create data.frame from a table} +\usage{ +table2data(dataset, freq = tail(colnames(dataset), 1)) +} +\arguments{ +\item{dataset}{Data.frame} + +\item{freq}{Column name with frequency information} +} +\description{ +Create data.frame from a table +} +\examples{ +data.frame(price = c("$200", "$300"), sale = c(10, 2)) \%>\% table2data() + +} diff --git a/radiant.data/man/titanic.Rd b/radiant.data/man/titanic.Rd new file mode 100644 index 0000000..507d87f --- /dev/null +++ b/radiant.data/man/titanic.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{titanic} +\alias{titanic} +\title{Survival data for the Titanic} +\format{ +A data frame with 1043 rows and 10 variables +} +\usage{ +data(titanic) +} +\description{ +Survival data for the Titanic +} +\details{ +Survival data for the Titanic. Description provided in attr(titanic,"description") +} +\keyword{datasets} diff --git a/radiant.data/man/to_fct.Rd b/radiant.data/man/to_fct.Rd new file mode 100644 index 0000000..4a74ac5 --- /dev/null +++ b/radiant.data/man/to_fct.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{to_fct} +\alias{to_fct} +\title{Convert characters to factors} +\usage{ +to_fct(dataset, safx = 30, nuniq = 100, n = 100) +} +\arguments{ +\item{dataset}{Data frame} + +\item{safx}{Ratio of number of rows to number of unique values} + +\item{nuniq}{Cutoff for number of unique values} + +\item{n}{Cutoff for small dataset} +} +\description{ +Convert characters to factors +} +\details{ +Convert columns of type character to factors based on a set of rules. By default columns will be converted for small datasets (<= 100 rows) with more rows than unique values. For larger datasets, columns are converted only when the number of unique values is <= 100 and there are 30 or more rows in the data for every unique value +} +\examples{ +tibble(a = c("a", "b"), b = c("a", "a"), c = 1:2) \%>\% to_fct() +} diff --git a/radiant.data/man/varpop.Rd b/radiant.data/man/varpop.Rd new file mode 100644 index 0000000..1c42b9b --- /dev/null +++ b/radiant.data/man/varpop.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{varpop} +\alias{varpop} +\title{Variance for the population} +\usage{ +varpop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Variance for the population +} +\description{ +Variance for the population +} +\examples{ +varpop(rnorm(100)) + +} diff --git a/radiant.data/man/varprop.Rd b/radiant.data/man/varprop.Rd new file mode 100644 index 0000000..979ac3e --- /dev/null +++ b/radiant.data/man/varprop.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/explore.R +\name{varprop} +\alias{varprop} +\title{Variance for proportion} +\usage{ +varprop(x, na.rm = TRUE) +} +\arguments{ +\item{x}{Input variable} + +\item{na.rm}{If TRUE missing values are removed before calculation} +} +\value{ +Variance for proportion +} +\description{ +Variance for proportion +} +\examples{ +varprop(c(rep(1L, 10), rep(0L, 10))) + +} diff --git a/radiant.data/man/view_data.Rd b/radiant.data/man/view_data.Rd new file mode 100644 index 0000000..b96eb08 --- /dev/null +++ b/radiant.data/man/view_data.Rd @@ -0,0 +1,49 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/view.R +\name{view_data} +\alias{view_data} +\title{View data in a shiny-app} +\usage{ +view_data( + dataset, + vars = "", + filt = "", + arr = "", + rows = NULL, + na.rm = FALSE, + dec = 3, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Data.frame or name of the dataframe to view} + +\item{vars}{Variables to show (default is all)} + +\item{filt}{Filter to apply to the specified dataset} + +\item{arr}{Expression to arrange (sort) data} + +\item{rows}{Select rows in the specified dataset} + +\item{na.rm}{Remove rows with missing values (default is FALSE)} + +\item{dec}{Number of decimals to show} + +\item{envir}{Environment to extract data from} +} +\description{ +View data in a shiny-app +} +\details{ +View, search, sort, etc. your data +} +\examples{ +\dontrun{ +view_data(mtcars) +} + +} +\seealso{ +See \code{\link{get_data}} and \code{\link{filter_data}} +} diff --git a/radiant.data/man/visualize.Rd b/radiant.data/man/visualize.Rd new file mode 100644 index 0000000..a2e37a0 --- /dev/null +++ b/radiant.data/man/visualize.Rd @@ -0,0 +1,146 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/visualize.R +\name{visualize} +\alias{visualize} +\title{Visualize data using ggplot2 \url{https://ggplot2.tidyverse.org/}} +\usage{ +visualize( + dataset, + xvar, + yvar = "", + comby = FALSE, + combx = FALSE, + type = ifelse(is.empty(yvar), "dist", "scatter"), + nrobs = -1, + facet_row = ".", + facet_col = ".", + color = "none", + fill = "none", + size = "none", + fillcol = "blue", + linecol = "black", + pointcol = "black", + bins = 10, + smooth = 1, + fun = "mean", + check = "", + axes = "", + alpha = 0.5, + theme = "theme_gray", + base_size = 11, + base_family = "", + labs = list(), + xlim = NULL, + ylim = NULL, + data_filter = "", + arr = "", + rows = NULL, + shiny = FALSE, + custom = FALSE, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Data to plot (data.frame or tibble)} + +\item{xvar}{One or more variables to display along the X-axis of the plot} + +\item{yvar}{Variable to display along the Y-axis of the plot (default = "none")} + +\item{comby}{Combine yvars in plot (TRUE or FALSE, FALSE is the default)} + +\item{combx}{Combine xvars in plot (TRUE or FALSE, FALSE is the default)} + +\item{type}{Type of plot to create. One of Distribution ('dist'), Density ('density'), Scatter ('scatter'), Surface ('surface'), Line ('line'), Bar ('bar'), or Box-plot ('box')} + +\item{nrobs}{Number of data points to show in scatter plots (-1 for all)} + +\item{facet_row}{Create vertically arranged subplots for each level of the selected factor variable} + +\item{facet_col}{Create horizontally arranged subplots for each level of the selected factor variable} + +\item{color}{Adds color to a scatter plot to generate a 'heat map'. For a line plot one line is created for each group and each is assigned a different color} + +\item{fill}{Display bar, distribution, and density plots by group, each with a different color. Also applied to surface plots to generate a 'heat map'} + +\item{size}{Numeric variable used to scale the size of scatter-plot points} + +\item{fillcol}{Color used for bars, boxes, etc. when no color or fill variable is specified} + +\item{linecol}{Color for lines when no color variable is specified} + +\item{pointcol}{Color for points when no color variable is specified} + +\item{bins}{Number of bins used for a histogram (1 - 50)} + +\item{smooth}{Adjust the flexibility of the loess line for scatter plots} + +\item{fun}{Set the summary measure for line and bar plots when the X-variable is a factor (default is "mean"). Also used to plot an error bar in a scatter plot when the X-variable is a factor. Options are "mean" and/or "median"} + +\item{check}{Add a regression line ("line"), a loess line ("loess"), or jitter ("jitter") to a scatter plot} + +\item{axes}{Flip the axes in a plot ("flip") or apply a log transformation (base e) to the y-axis ("log_y") or the x-axis ("log_x")} + +\item{alpha}{Opacity for plot elements (0 to 1)} + +\item{theme}{ggplot theme to use (e.g., "theme_gray" or "theme_classic")} + +\item{base_size}{Base font size to use (default = 11)} + +\item{base_family}{Base font family to use (e.g., "Times" or "Helvetica")} + +\item{labs}{Labels to use for plots} + +\item{xlim}{Set limit for x-axis (e.g., c(0, 1))} + +\item{ylim}{Set limit for y-axis (e.g., c(0, 1))} + +\item{data_filter}{Expression used to filter the dataset. This should be a string (e.g., "price > 10000")} + +\item{arr}{Expression used to sort the data. Likely used in combination for `rows`} + +\item{rows}{Rows to select from the specified dataset} + +\item{shiny}{Logical (TRUE, FALSE) to indicate if the function call originate inside a shiny app} + +\item{custom}{Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options.} + +\item{envir}{Environment to extract data from} +} +\value{ +Generated plots +} +\description{ +Visualize data using ggplot2 \url{https://ggplot2.tidyverse.org/} +} +\details{ +See \url{https://radiant-rstats.github.io/docs/data/visualize.html} for an example in Radiant +} +\examples{ +visualize(diamonds, "price:cut", type = "dist", fillcol = "red") +visualize(diamonds, "carat:cut", + yvar = "price", type = "scatter", + pointcol = "blue", fun = c("mean", "median"), linecol = c("red", "green") +) +visualize(diamonds, + yvar = "price", xvar = c("cut", "clarity"), + type = "bar", fun = "median" +) +visualize(diamonds, + yvar = "price", xvar = c("cut", "clarity"), + type = "line", fun = "max" +) +visualize(diamonds, + yvar = "price", xvar = "carat", type = "scatter", + size = "table", custom = TRUE +) + scale_size(range = c(1, 10), guide = "none") +visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) + + labs(title = "A scatterplot", x = "price in $") +visualize(diamonds, xvar = "price:carat", custom = TRUE) \%>\% + wrap_plots(ncol = 2) + plot_annotation(title = "Histograms") +visualize(diamonds, + xvar = "cut", yvar = "price", type = "bar", + facet_row = "cut", fill = "cut" +) + +} diff --git a/radiant.data/man/wday.Rd b/radiant.data/man/wday.Rd new file mode 100644 index 0000000..828397e --- /dev/null +++ b/radiant.data/man/wday.Rd @@ -0,0 +1,23 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{wday} +\alias{wday} +\title{Add ordered argument to lubridate::wday} +\usage{ +wday(x, label = FALSE, abbr = TRUE, ordered = FALSE) +} +\arguments{ +\item{x}{Input date vector} + +\item{label}{Weekday as label (TRUE, FALSE)} + +\item{abbr}{Abbreviate label (TRUE, FALSE)} + +\item{ordered}{Order factor (TRUE, FALSE)} +} +\description{ +Add ordered argument to lubridate::wday +} +\seealso{ +See the \code{\link[lubridate:day]{lubridate::wday()}} function in the lubridate package for additional details +} diff --git a/radiant.data/man/weighted.sd.Rd b/radiant.data/man/weighted.sd.Rd new file mode 100644 index 0000000..2322ff7 --- /dev/null +++ b/radiant.data/man/weighted.sd.Rd @@ -0,0 +1,21 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{weighted.sd} +\alias{weighted.sd} +\title{Weighted standard deviation} +\usage{ +weighted.sd(x, wt, na.rm = TRUE) +} +\arguments{ +\item{x}{Numeric vector} + +\item{wt}{Numeric vector of weights} + +\item{na.rm}{Remove missing values (default is TRUE)} +} +\description{ +Weighted standard deviation +} +\details{ +Calculate weighted standard deviation +} diff --git a/radiant.data/man/which.pmax.Rd b/radiant.data/man/which.pmax.Rd new file mode 100644 index 0000000..146259d --- /dev/null +++ b/radiant.data/man/which.pmax.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{which.pmax} +\alias{which.pmax} +\title{Index of the maximum per row} +\usage{ +which.pmax(...) +} +\arguments{ +\item{...}{Numeric or character vectors of the same length} +} +\value{ +Vector of rankings +} +\description{ +Index of the maximum per row +} +\details{ +Determine the index of the maximum of the input vectors per row. Extension of \code{which.max} +} +\examples{ +which.pmax(1:10, 10:1) +which.pmax(2, 10:1) +which.pmax(mtcars) +} +\seealso{ +See also \code{\link{which.max}} and \code{\link{which.pmin}} +} diff --git a/radiant.data/man/which.pmin.Rd b/radiant.data/man/which.pmin.Rd new file mode 100644 index 0000000..f400406 --- /dev/null +++ b/radiant.data/man/which.pmin.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{which.pmin} +\alias{which.pmin} +\title{Index of the minimum per row} +\usage{ +which.pmin(...) +} +\arguments{ +\item{...}{Numeric or character vectors of the same length} +} +\value{ +Vector of rankings +} +\description{ +Index of the minimum per row +} +\details{ +Determine the index of the minimum of the input vectors per row. Extension of \code{which.min} +} +\examples{ +which.pmin(1:10, 10:1) +which.pmin(2, 10:1) +which.pmin(mtcars) +} +\seealso{ +See also \code{\link{which.min}} and \code{\link{which.pmax}} +} diff --git a/radiant.data/man/write_parquet.Rd b/radiant.data/man/write_parquet.Rd new file mode 100644 index 0000000..d654d56 --- /dev/null +++ b/radiant.data/man/write_parquet.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{write_parquet} +\alias{write_parquet} +\title{Workaround to store description file together with a parquet data file} +\usage{ +write_parquet(x, file, description = attr(x, "description")) +} +\arguments{ +\item{x}{A data frame to write to disk} + +\item{file}{Path to store parquet file} + +\item{description}{Data description} +} +\description{ +Workaround to store description file together with a parquet data file +} diff --git a/radiant.data/man/xtile.Rd b/radiant.data/man/xtile.Rd new file mode 100644 index 0000000..f5d62cc --- /dev/null +++ b/radiant.data/man/xtile.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/transform.R +\name{xtile} +\alias{xtile} +\title{Split a numeric variable into a number of bins and return a vector of bin numbers} +\usage{ +xtile(x, n = 5, rev = FALSE, type = 7) +} +\arguments{ +\item{x}{Numeric variable} + +\item{n}{number of bins to create} + +\item{rev}{Reverse the order of the bin numbers} + +\item{type}{An integer between 1 and 9 to select one of the quantile algorithms described in the help for the stats::quantile function} +} +\description{ +Split a numeric variable into a number of bins and return a vector of bin numbers +} +\examples{ +xtile(1:10, 5) +xtile(1:10, 5, rev = TRUE) +xtile(c(rep(1, 6), 7:10), 5) + +} +\seealso{ +See \link[stats]{quantile} for a description of the different algorithm types +} diff --git a/radiant.data/tests/testthat.R b/radiant.data/tests/testthat.R new file mode 100644 index 0000000..189810b --- /dev/null +++ b/radiant.data/tests/testthat.R @@ -0,0 +1,3 @@ +## use shift-cmd-t in Rstudio to run all tests +library(testthat) +test_check("radiant.data") diff --git a/radiant.data/tests/testthat/data/css_example.css b/radiant.data/tests/testthat/data/css_example.css new file mode 100644 index 0000000..8cc9722 --- /dev/null +++ b/radiant.data/tests/testthat/data/css_example.css @@ -0,0 +1,15 @@ +.table { + width: auto; +} + +img { + max-width: 85% !important; + height: auto; +} + +pre, code, pre code { + overflow: auto; + white-space: pre; + word-wrap: normal; + background-color: #ffffff; +} diff --git a/radiant.data/tests/testthat/data/csv_example.csv b/radiant.data/tests/testthat/data/csv_example.csv new file mode 100644 index 0000000..5352824 --- /dev/null +++ b/radiant.data/tests/testthat/data/csv_example.csv @@ -0,0 +1,8 @@ +name,alignment,gender,publisher +Magneto,bad,male,Marvel +Storm,good,female,Marvel +Mystique,bad,female,Marvel +Batman,good,male,DC +Joker,bad,male,DC +Catwoman,bad,female,DC +Hellboy,good,male,Dark Horse Comics diff --git a/radiant.data/tests/testthat/data/flights.csv b/radiant.data/tests/testthat/data/flights.csv new file mode 100644 index 0000000..57713e5 --- /dev/null +++ b/radiant.data/tests/testthat/data/flights.csv @@ -0,0 +1,3306 @@ +"year","month","day","dep_time","sched_dep_time","dep_delay","arr_time","sched_arr_time","arr_delay","carrier","flight","tailnum","origin","dest","air_time","distance","hour","minute","time_hour" +2013,1,1,820,820,0,1254,1310,-16,"B6",717,"N527JB","JFK","SJU",190,1598,8,20,2013-01-01 08:00:00 +2013,1,1,920,905,15,1039,1025,14,"B6",1305,"N346JB","JFK","IAD",52,228,9,5,2013-01-01 09:00:00 +2013,1,1,1230,1235,-5,1440,1438,2,"EV",5311,"N741EV","EWR","DTW",108,488,12,35,2013-01-01 12:00:00 +2013,1,1,1339,1335,4,1654,1631,23,"B6",431,"N510JB","LGA","SRQ",170,1047,13,35,2013-01-01 13:00:00 +2013,1,1,1342,1320,22,1617,1504,73,"EV",3832,"N13969","EWR","STL",194,872,13,20,2013-01-01 13:00:00 +2013,1,1,1552,1600,-8,1749,1757,-8,"9E",3459,"N910XJ","JFK","BNA",150,765,16,0,2013-01-01 16:00:00 +2013,1,1,1730,1730,0,2126,2110,16,"B6",179,"N618JB","JFK","PHX",323,2153,17,30,2013-01-01 17:00:00 +2013,1,1,1807,1738,29,2251,2103,NA,"UA",1228,"N31412","EWR","SAN",NA,2425,17,38,2013-01-01 17:00:00 +2013,1,1,2229,2159,30,149,100,49,"B6",11,"N531JB","JFK","FLL",153,1069,21,59,2013-01-01 21:00:00 +2013,1,2,807,810,-3,1133,1129,4,"DL",1271,"N322US","JFK","FLL",170,1069,8,10,2013-01-02 08:00:00 +2013,1,2,857,900,-3,1130,1227,-57,"DL",120,"N710TW","JFK","LAX",310,2475,9,0,2013-01-02 09:00:00 +2013,1,2,928,905,23,1331,1229,62,"B6",1061,"N184JB","JFK","AUS",251,1521,9,5,2013-01-02 09:00:00 +2013,1,2,944,929,15,1054,1042,12,"EV",4636,"N13969","EWR","DCA",45,199,9,29,2013-01-02 09:00:00 +2013,1,2,1101,1100,1,1201,1215,-14,"WN",3094,"N701GS","LGA","BWI",35,185,11,0,2013-01-02 11:00:00 +2013,1,2,1124,1130,-6,1340,1332,8,"US",1085,"N162UW","LGA","CLT",104,544,11,30,2013-01-02 11:00:00 +2013,1,2,1137,1140,-3,1442,1451,-9,"DL",2175,"N997DL","LGA","PBI",148,1035,11,40,2013-01-02 11:00:00 +2013,1,2,1156,1200,-4,1254,1320,-26,"UA",1248,"N76523","EWR","BOS",36,200,12,0,2013-01-02 12:00:00 +2013,1,2,1159,1200,-1,1408,1356,12,"US",1443,"N764US","JFK","CLT",110,541,12,0,2013-01-02 12:00:00 +2013,1,2,1343,1345,-2,1702,1646,16,"DL",1685,"N362NW","LGA","MCO",150,950,13,45,2013-01-02 13:00:00 +2013,1,2,1646,1650,-4,1810,1820,-10,"AA",1790,"N3HPAA","JFK","BOS",45,187,16,50,2013-01-02 16:00:00 +2013,1,2,1753,1700,53,2052,2014,38,"B6",15,"N339JB","JFK","FLL",159,1069,17,0,2013-01-02 17:00:00 +2013,1,2,1810,1730,40,2145,2110,35,"B6",179,"N809JB","JFK","PHX",299,2153,17,30,2013-01-02 17:00:00 +2013,1,2,1934,1745,109,2302,2106,116,"DL",1433,"N369NW","LGA","RSW",178,1080,17,45,2013-01-02 17:00:00 +2013,1,3,859,820,39,1011,939,32,"9E",4051,"N8611A","JFK","BWI",41,184,8,20,2013-01-03 08:00:00 +2013,1,3,1021,1025,-4,1207,1231,-24,"EV",5026,"N719EV","EWR","DTW",86,488,10,25,2013-01-03 10:00:00 +2013,1,3,1125,1130,-5,1422,1430,-8,"DL",695,"N938DL","JFK","MCO",153,944,11,30,2013-01-03 11:00:00 +2013,1,3,1249,1251,-2,1554,1602,-8,"UA",428,"N433UA","LGA","IAH",221,1416,12,51,2013-01-03 12:00:00 +2013,1,3,1306,1259,7,1502,1502,0,"US",1459,"N539UW","LGA","CLT",93,544,12,59,2013-01-03 12:00:00 +2013,1,3,1454,1455,-1,1836,1805,31,"UA",473,"N445UA","EWR","FLL",179,1065,14,55,2013-01-03 14:00:00 +2013,1,3,1605,1600,5,1904,1820,44,"FL",620,"N893AT","LGA","ATL",145,762,16,0,2013-01-03 16:00:00 +2013,1,3,1728,1729,-1,1900,1902,-2,"EV",4480,"N12126","EWR","PIT",62,319,17,29,2013-01-03 17:00:00 +2013,1,3,1904,1659,125,2327,2046,NA,"9E",3375,"N916XJ","JFK","SAT",NA,1587,16,59,2013-01-03 16:00:00 +2013,1,3,1950,1845,65,2228,2227,1,"B6",91,"N636JB","JFK","OAK",319,2576,18,45,2013-01-03 18:00:00 +2013,1,3,2114,2100,14,49,31,18,"DL",2363,"N718TW","JFK","LAX",347,2475,21,0,2013-01-03 21:00:00 +2013,1,4,559,600,-1,902,925,-23,"UA",303,"N557UA","JFK","SFO",334,2586,6,0,2013-01-04 06:00:00 +2013,1,4,917,920,-3,1228,1240,-12,"AA",1589,"N544AA","EWR","DFW",208,1372,9,20,2013-01-04 09:00:00 +2013,1,4,1047,1050,-3,1216,1227,-11,"EV",4662,"N12540","EWR","RDU",74,416,10,50,2013-01-04 10:00:00 +2013,1,4,1243,1240,3,1443,1445,-2,"DL",1131,"N334NB","LGA","DTW",83,502,12,40,2013-01-04 12:00:00 +2013,1,4,1324,1300,24,1621,1610,11,"WN",2596,"N286WN","EWR","HOU",222,1411,13,0,2013-01-04 13:00:00 +2013,1,4,1643,1605,38,1926,1925,1,"9E",3325,"N905XJ","JFK","DFW",208,1391,16,5,2013-01-04 16:00:00 +2013,1,4,1822,1722,60,1954,1844,70,"EV",4300,"N11565","EWR","RIC",52,277,17,22,2013-01-04 17:00:00 +2013,1,4,2019,2030,-11,2254,2334,-40,"UA",771,"N557UA","JFK","LAX",312,2475,20,30,2013-01-04 20:00:00 +2013,1,4,2117,2118,-1,2221,2217,4,"EV",4404,"N15983","EWR","PVD",32,160,21,18,2013-01-04 21:00:00 +2013,1,5,37,2230,127,341,131,130,"B6",11,"N527JB","JFK","FLL",163,1069,22,30,2013-01-05 22:00:00 +2013,1,5,611,600,11,909,912,-3,"UA",549,"N425UA","EWR","RSW",164,1068,6,0,2013-01-05 06:00:00 +2013,1,5,914,903,11,1032,1051,-19,"UA",317,"N408UA","EWR","ORD",119,719,9,3,2013-01-05 09:00:00 +2013,1,5,1105,1059,6,1411,1413,-2,"UA",1606,"N37427","EWR","RSW",161,1068,10,59,2013-01-05 10:00:00 +2013,1,5,1315,1255,20,1606,1549,17,"B6",991,"N249JB","JFK","PBI",155,1028,12,55,2013-01-05 12:00:00 +2013,1,5,1325,1330,-5,1640,1645,-5,"AA",753,"N466AA","LGA","DFW",233,1389,13,30,2013-01-05 13:00:00 +2013,1,5,1450,1450,0,1630,1640,-10,"MQ",4403,"N853MQ","JFK","RDU",72,427,14,50,2013-01-05 14:00:00 +2013,1,5,1758,1759,-1,1908,1912,-4,"EV",4509,"N13133","EWR","PWM",48,284,17,59,2013-01-05 17:00:00 +2013,1,5,1759,1810,-11,1942,1945,-3,"MQ",4484,"N723MQ","LGA","BNA",145,764,18,10,2013-01-05 18:00:00 +2013,1,5,1953,2000,-7,2158,2222,-24,"9E",3439,"N604LR","JFK","CVG",105,589,20,0,2013-01-05 20:00:00 +2013,1,5,1956,2000,-4,2227,2235,-8,"MQ",4662,"N507MQ","LGA","ATL",121,762,20,0,2013-01-05 20:00:00 +2013,1,5,2016,1940,36,2308,2241,27,"B6",381,"N624JB","LGA","FLL",158,1076,19,40,2013-01-05 19:00:00 +2013,1,6,721,721,0,1023,1012,11,"B6",987,"N657JB","JFK","MCO",148,944,7,21,2013-01-06 07:00:00 +2013,1,6,749,737,12,1113,1113,0,"B6",643,"N705JB","JFK","SFO",358,2586,7,37,2013-01-06 07:00:00 +2013,1,6,825,825,0,1058,1024,34,"US",487,"N650AW","JFK","CLT",99,541,8,25,2013-01-06 08:00:00 +2013,1,6,958,1000,-2,1244,1255,-11,"DL",1529,"N618DL","JFK","LAS",310,2248,10,0,2013-01-06 10:00:00 +2013,1,6,1029,1020,9,1330,1330,0,"AA",731,"N3JRAA","LGA","DFW",211,1389,10,20,2013-01-06 10:00:00 +2013,1,6,1139,1140,-1,1510,1445,25,"AA",1623,"N3GBAA","EWR","MIA",172,1085,11,40,2013-01-06 11:00:00 +2013,1,6,1454,1500,-6,1637,1655,-18,"MQ",4429,"N719MQ","LGA","CMH",87,479,15,0,2013-01-06 15:00:00 +2013,1,6,1457,1355,62,1829,1709,80,"B6",83,"N519JB","JFK","SEA",351,2422,13,55,2013-01-06 13:00:00 +2013,1,6,1750,1745,5,2115,2117,-2,"DL",1394,"N3744F","JFK","PDX",351,2454,17,45,2013-01-06 17:00:00 +2013,1,6,2110,2100,10,2212,2220,-8,"MQ",3744,"N512MQ","EWR","ORD",106,719,21,0,2013-01-06 21:00:00 +2013,1,6,2300,2245,15,14,2356,18,"B6",608,"N281JB","JFK","PWM",45,273,22,45,2013-01-06 22:00:00 +2013,1,7,625,634,-9,928,935,-7,"UA",772,"N571UA","EWR","MIA",158,1085,6,34,2013-01-07 06:00:00 +2013,1,7,1050,1042,8,1213,1206,7,"EV",4694,"N13955","EWR","MKE",117,725,10,42,2013-01-07 10:00:00 +2013,1,7,1051,1055,-4,1345,1405,-20,"AA",739,"N3JSAA","LGA","DFW",199,1389,10,55,2013-01-07 10:00:00 +2013,1,7,1545,1545,0,1830,1910,-40,"AA",133,"N338AA","JFK","LAX",322,2475,15,45,2013-01-07 15:00:00 +2013,1,7,1556,1600,-4,1854,1840,14,"DL",847,"N6712B","LGA","ATL",114,762,16,0,2013-01-07 16:00:00 +2013,1,7,1634,1635,-1,1753,1810,-17,"MQ",3695,"N510MQ","EWR","ORD",112,719,16,35,2013-01-07 16:00:00 +2013,1,7,1821,1830,-9,2024,2044,-20,"EV",5203,"N391CA","EWR","DTW",88,488,18,30,2013-01-07 18:00:00 +2013,1,8,711,705,6,1007,1035,-28,"VX",399,"N837VA","JFK","LAX",334,2475,7,5,2013-01-08 07:00:00 +2013,1,8,740,745,-5,905,923,-18,"UA",1162,"N37293","EWR","ORD",118,719,7,45,2013-01-08 07:00:00 +2013,1,8,912,845,27,1049,1006,43,"EV",4112,"N12921","EWR","RIC",57,277,8,45,2013-01-08 08:00:00 +2013,1,8,1019,1025,-6,1153,1231,-38,"EV",5026,"N724EV","EWR","DTW",81,488,10,25,2013-01-08 10:00:00 +2013,1,8,1154,1155,-1,1301,1304,-3,"9E",3483,"N906XJ","JFK","BOS",39,187,11,55,2013-01-08 11:00:00 +2013,1,8,1503,1510,-7,1703,1710,-7,"MQ",4579,"N523MQ","LGA","CLT",87,544,15,10,2013-01-08 15:00:00 +2013,1,8,1603,1610,-7,1753,1756,-3,"EV",5486,"N600QX","LGA","PIT",62,335,16,10,2013-01-08 16:00:00 +2013,1,8,1635,1645,-10,1842,1906,-24,"9E",4027,"N8944B","EWR","CVG",101,569,16,45,2013-01-08 16:00:00 +2013,1,8,1722,1710,12,2043,2036,7,"UA",1418,"N48127","EWR","SFO",354,2565,17,10,2013-01-08 17:00:00 +2013,1,8,1756,1759,-3,2033,2014,19,"EV",4397,"N14204","EWR","MCI",186,1092,17,59,2013-01-08 17:00:00 +2013,1,9,2,2359,3,432,444,-12,"B6",739,"N603JB","JFK","PSE",193,1617,23,59,2013-01-09 23:00:00 +2013,1,9,655,700,-5,938,957,-19,"B6",203,"N618JB","JFK","LAS",318,2248,7,0,2013-01-09 07:00:00 +2013,1,9,805,810,-5,1013,1007,6,"EV",4537,"N14902","EWR","MEM",169,946,8,10,2013-01-09 08:00:00 +2013,1,9,831,830,1,1206,1154,12,"UA",112,"N14107","JFK","LAX",351,2475,8,30,2013-01-09 08:00:00 +2013,1,9,836,845,-9,1019,1006,13,"EV",4112,"N13553","EWR","RIC",64,277,8,45,2013-01-09 08:00:00 +2013,1,9,1153,1200,-7,1414,1432,-18,"EV",4090,"N12922","EWR","JAX",125,820,12,0,2013-01-09 12:00:00 +2013,1,9,1427,1430,-3,1634,1637,-3,"EV",4687,"N15574","EWR","CVG",110,569,14,30,2013-01-09 14:00:00 +2013,1,9,1510,1509,1,1739,1741,-2,"EV",3817,"N16559","EWR","JAX",129,820,15,9,2013-01-09 15:00:00 +2013,1,9,1732,1710,22,1928,1912,16,"US",894,"N188US","LGA","CLT",86,544,17,10,2013-01-09 17:00:00 +2013,1,9,1802,1645,77,2005,1853,72,"EV",4997,"N614QX","EWR","DTW",85,488,16,45,2013-01-09 16:00:00 +2013,1,9,1812,1815,-3,2035,2026,9,"DL",2019,"N374NW","LGA","MSP",176,1020,18,15,2013-01-09 18:00:00 +2013,1,10,855,900,-5,1213,1216,-3,"UA",1405,"N27724","LGA","IAH",212,1416,9,0,2013-01-10 09:00:00 +2013,1,10,1309,1300,9,1602,1606,-4,"B6",85,"N659JB","JFK","FLL",149,1069,13,0,2013-01-10 13:00:00 +2013,1,10,1710,1715,-5,2010,2019,-9,"DL",1585,"N949DL","LGA","MCO",136,950,17,15,2013-01-10 17:00:00 +2013,1,10,1738,1745,-7,1939,1953,-14,"DL",2331,"N909DE","LGA","DTW",84,502,17,45,2013-01-10 17:00:00 +2013,1,10,1853,1900,-7,2002,2015,-13,"US",2187,"N749US","LGA","DCA",46,214,19,0,2013-01-10 19:00:00 +2013,1,10,1941,1940,1,2231,2249,-18,"B6",381,"N653JB","LGA","FLL",146,1076,19,40,2013-01-10 19:00:00 +2013,1,10,2006,1935,31,2147,2145,2,"9E",3899,"N8907A","JFK","CLE",73,425,19,35,2013-01-10 19:00:00 +2013,1,10,2109,2029,40,2219,2140,39,"9E",3609,"N800AY","JFK","PHL",25,94,20,29,2013-01-10 20:00:00 +2013,1,11,625,633,-8,758,813,-15,"EV",4424,"N14543","EWR","RDU",72,416,6,33,2013-01-11 06:00:00 +2013,1,11,713,720,-7,854,845,9,"FL",850,"N956AT","LGA","MKE",132,738,7,20,2013-01-11 07:00:00 +2013,1,11,717,720,-3,1010,1023,-13,"UA",1724,"N76254","EWR","PBI",145,1023,7,20,2013-01-11 07:00:00 +2013,1,11,1156,1200,-4,1414,1432,-18,"EV",4090,"N14148","EWR","JAX",116,820,12,0,2013-01-11 12:00:00 +2013,1,11,1157,1205,-8,1449,1520,-31,"AA",743,"N494AA","LGA","DFW",205,1389,12,5,2013-01-11 12:00:00 +2013,1,11,1411,1420,-9,1602,1620,-18,"MQ",4588,"N3AEMQ","LGA","MSP",150,1020,14,20,2013-01-11 14:00:00 +2013,1,11,1657,1700,-3,1928,1943,-15,"DL",1499,"N638DL","LGA","ATL",107,762,17,0,2013-01-11 17:00:00 +2013,1,11,1736,1700,36,1916,1849,27,"EV",4202,"N16546","EWR","STL",133,872,17,0,2013-01-11 17:00:00 +2013,1,11,1952,1947,5,2105,2112,-7,"EV",4412,"N26549","EWR","BUF",52,282,19,47,2013-01-11 19:00:00 +2013,1,11,2057,2100,-3,2218,2225,-7,"WN",530,"N707SA","LGA","MDW",115,725,21,0,2013-01-11 21:00:00 +2013,1,11,2108,2005,63,2309,2204,65,"EV",4133,"N11565","EWR","GSP",95,594,20,5,2013-01-11 20:00:00 +2013,1,12,556,600,-4,708,709,-1,"B6",380,"N266JB","EWR","BOS",43,200,6,0,2013-01-12 06:00:00 +2013,1,12,610,600,10,749,759,-10,"EV",4911,"N738EV","EWR","DTW",78,488,6,0,2013-01-12 06:00:00 +2013,1,12,623,630,-7,756,810,-14,"B6",905,"N296JB","JFK","ORD",120,740,6,30,2013-01-12 06:00:00 +2013,1,12,837,840,-3,1149,1152,-3,"UA",1506,"N77431","EWR","SAN",343,2425,8,40,2013-01-12 08:00:00 +2013,1,12,1559,1550,9,1811,1825,-14,"9E",3427,"N605LR","JFK","IND",99,665,15,50,2013-01-12 15:00:00 +2013,1,12,1613,1548,25,1917,1925,-8,"DL",1773,"N3750D","JFK","SLC",279,1990,15,48,2013-01-12 15:00:00 +2013,1,12,1856,1900,-4,2050,2056,-6,"9E",3368,"N913XJ","JFK","PIT",63,340,19,0,2013-01-12 19:00:00 +2013,1,12,1931,1930,1,2119,2149,-30,"9E",3798,"N8495B","JFK","CLT",82,541,19,30,2013-01-12 19:00:00 +2013,1,12,1939,1940,-1,2113,2125,-12,"MQ",3783,"N532MQ","JFK","CMH",74,483,19,40,2013-01-12 19:00:00 +2013,1,13,550,600,-10,826,859,-33,"B6",507,"N594JB","EWR","FLL",139,1065,6,0,2013-01-13 06:00:00 +2013,1,13,839,840,-1,1142,1151,-9,"UA",1626,"N73291","EWR","SAN",345,2425,8,40,2013-01-13 08:00:00 +2013,1,13,855,855,0,1041,1101,-20,"EV",4383,"N11181","EWR","DTW",85,488,8,55,2013-01-13 08:00:00 +2013,1,13,1018,1020,-2,1333,1330,3,"AA",731,"N598AA","LGA","DFW",220,1389,10,20,2013-01-13 10:00:00 +2013,1,13,1721,1600,81,2035,1912,83,"UA",1200,"N14219","EWR","SAN",352,2425,16,0,2013-01-13 16:00:00 +2013,1,13,1813,1815,-2,2036,1958,38,"9E",4019,"N8432A","JFK","RIC",55,288,18,15,2013-01-13 18:00:00 +2013,1,13,1916,1920,-4,2300,2246,14,"DL",83,"N399DA","JFK","FLL",144,1069,19,20,2013-01-13 19:00:00 +2013,1,13,1940,1729,131,2150,1935,135,"EV",4382,"N14179","EWR","DTW",86,488,17,29,2013-01-13 17:00:00 +2013,1,13,2202,2110,52,58,2355,63,"B6",529,"N561JB","EWR","MCO",131,937,21,10,2013-01-13 21:00:00 +2013,1,14,555,600,-5,908,912,-4,"B6",135,"N565JB","JFK","RSW",170,1074,6,0,2013-01-14 06:00:00 +2013,1,14,825,820,5,957,958,-1,"9E",3317,"N920XJ","JFK","BUF",58,301,8,20,2013-01-14 08:00:00 +2013,1,14,858,900,-2,1046,1048,-2,"UA",225,"N574UA","EWR","ORD",133,719,9,0,2013-01-14 09:00:00 +2013,1,14,1151,1155,-4,1248,1304,-16,"9E",3483,"N602LR","JFK","BOS",40,187,11,55,2013-01-14 11:00:00 +2013,1,14,1232,1240,-8,1551,1540,11,"AA",1853,"N4WPAA","EWR","DFW",237,1372,12,40,2013-01-14 12:00:00 +2013,1,14,1358,1359,-1,1523,1534,-11,"UA",1734,"N24224","EWR","ORD",128,719,13,59,2013-01-14 13:00:00 +2013,1,14,1443,1452,-9,1654,1655,-1,"DL",1231,"N950DL","LGA","DTW",94,502,14,52,2013-01-14 14:00:00 +2013,1,14,1538,1545,-7,1739,1744,-5,"UA",1710,"N15712","LGA","CLE",75,419,15,45,2013-01-14 15:00:00 +2013,1,14,1751,1800,-9,1857,1910,-13,"WN",808,"N281WN","EWR","BWI",37,169,18,0,2013-01-14 18:00:00 +2013,1,14,1907,1915,-8,2202,2230,-28,"DL",1729,"N3766","JFK","LAS",327,2248,19,15,2013-01-14 19:00:00 +2013,1,14,1953,2000,-7,2248,2312,-24,"B6",801,"N653JB","JFK","FLL",147,1069,20,0,2013-01-14 20:00:00 +2013,1,15,603,610,-7,852,902,-10,"B6",145,"N705JB","JFK","PBI",145,1028,6,10,2013-01-15 06:00:00 +2013,1,15,834,840,-6,958,1012,-14,"EV",4413,"N23139","EWR","PIT",62,319,8,40,2013-01-15 08:00:00 +2013,1,15,855,900,-5,1055,1048,7,"UA",385,"N819UA","EWR","ORD",151,719,9,0,2013-01-15 09:00:00 +2013,1,15,1445,1445,0,1558,1606,-8,"9E",3452,"N905XJ","JFK","BOS",33,187,14,45,2013-01-15 14:00:00 +2013,1,15,1550,1550,0,1820,1826,-6,"9E",3427,"N919XJ","JFK","IND",118,665,15,50,2013-01-15 15:00:00 +2013,1,15,1736,1735,1,1927,1922,5,"B6",1111,"N192JB","JFK","RDU",86,427,17,35,2013-01-15 17:00:00 +2013,1,15,1842,1846,-4,2009,2019,-10,"B6",130,"N206JB","JFK","BUF",66,301,18,46,2013-01-15 18:00:00 +2013,1,15,1857,1904,-7,2029,2026,3,"EV",4131,"N11189","EWR","RIC",56,277,19,4,2013-01-15 19:00:00 +2013,1,15,NA,1330,NA,NA,1640,NA,"AA",753,"N3BWAA","LGA","DFW",NA,1389,13,30,2013-01-15 13:00:00 +2013,1,16,623,630,-7,849,831,18,"US",1125,"N108UW","EWR","CLT",100,529,6,30,2013-01-16 06:00:00 +2013,1,16,754,800,-6,938,917,21,"US",2165,"N715UW","LGA","DCA",70,214,8,0,2013-01-16 08:00:00 +2013,1,16,853,900,-7,1015,1022,-7,"US",2167,"N765US","LGA","DCA",48,214,9,0,2013-01-16 09:00:00 +2013,1,16,857,850,7,1216,1113,63,"EV",4125,"N17169","EWR","XNA",214,1131,8,50,2013-01-16 08:00:00 +2013,1,16,1127,1130,-3,1352,1334,18,"US",1625,"N543UW","LGA","CLT",110,544,11,30,2013-01-16 11:00:00 +2013,1,16,1223,1056,87,1324,1208,76,"UA",1047,"N12218","EWR","BOS",34,200,10,56,2013-01-16 10:00:00 +2013,1,16,1428,1425,3,1635,1630,5,"EV",5164,"N614QX","EWR","MSP",171,1008,14,25,2013-01-16 14:00:00 +2013,1,16,1439,1420,19,1656,1620,36,"MQ",4588,"N504MQ","LGA","MSP",169,1020,14,20,2013-01-16 14:00:00 +2013,1,16,1500,1500,0,1743,1742,1,"DL",2347,"N616DL","LGA","ATL",123,762,15,0,2013-01-16 15:00:00 +2013,1,16,1556,1600,-4,1835,1834,1,"FL",620,"N959AT","LGA","ATL",136,762,16,0,2013-01-16 16:00:00 +2013,1,16,1715,1600,75,2024,1915,69,"AA",565,"N3FAAA","JFK","DFW",226,1391,16,0,2013-01-16 16:00:00 +2013,1,16,1717,1640,37,1928,1835,53,"WN",372,"N402WN","LGA","STL",167,888,16,40,2013-01-16 16:00:00 +2013,1,16,1931,1830,61,2103,2015,48,"MQ",4674,"N530MQ","LGA","CLE",77,419,18,30,2013-01-16 18:00:00 +2013,1,17,756,633,83,949,813,96,"EV",4424,"N11547","EWR","RDU",85,416,6,33,2013-01-17 06:00:00 +2013,1,17,951,958,-7,1144,1137,7,"UA",258,"N455UA","LGA","ORD",139,733,9,58,2013-01-17 09:00:00 +2013,1,17,1432,1440,-8,1545,1557,-12,"EV",4113,"N14568","EWR","IAD",58,212,14,40,2013-01-17 14:00:00 +2013,1,17,1835,1840,-5,2037,2049,-12,"DL",2131,"N353NW","LGA","DTW",92,502,18,40,2013-01-17 18:00:00 +2013,1,17,1926,1930,-4,2115,2115,0,"EV",3274,"N13968","LGA","CLE",75,419,19,30,2013-01-17 19:00:00 +2013,1,18,601,610,-9,821,818,3,"EV",4941,"N753EV","EWR","MSP",171,1008,6,10,2013-01-18 06:00:00 +2013,1,18,1233,1235,-2,1527,1535,-8,"UA",1000,"N78506","EWR","MIA",152,1085,12,35,2013-01-18 12:00:00 +2013,1,18,1253,1300,-7,1357,1407,-10,"US",2175,"N746UW","LGA","DCA",40,214,13,0,2013-01-18 13:00:00 +2013,1,18,1258,1259,-1,1527,1456,31,"US",1459,"N561UW","LGA","CLT",106,544,12,59,2013-01-18 12:00:00 +2013,1,18,1413,1420,-7,1621,1620,1,"MQ",4588,"N525MQ","LGA","MSP",159,1020,14,20,2013-01-18 14:00:00 +2013,1,18,2006,2015,-9,2223,2210,13,"MQ",4555,"N711MQ","LGA","CMH",80,479,20,15,2013-01-18 20:00:00 +2013,1,19,805,810,-5,910,925,-15,"AA",1838,"N3EDAA","JFK","BOS",40,187,8,10,2013-01-19 08:00:00 +2013,1,19,812,815,-3,941,957,-16,"9E",3521,"N936XJ","JFK","ORD",128,740,8,15,2013-01-19 08:00:00 +2013,1,19,856,905,-9,1207,1235,-28,"VX",407,"N630VA","JFK","LAX",338,2475,9,5,2013-01-19 09:00:00 +2013,1,19,913,920,-7,1415,1448,-33,"DL",675,"N707TW","JFK","STT",198,1623,9,20,2013-01-19 09:00:00 +2013,1,19,1052,1059,-7,1158,1207,-9,"EV",4456,"N13124","EWR","BOS",46,200,10,59,2013-01-19 10:00:00 +2013,1,19,1242,1250,-8,1527,1550,-23,"DL",1685,"N335NW","LGA","MCO",142,950,12,50,2013-01-19 12:00:00 +2013,1,19,1441,1443,-2,1736,1755,-19,"UA",1587,"N33284","EWR","RSW",164,1068,14,43,2013-01-19 14:00:00 +2013,1,19,1739,1718,21,1852,1840,12,"EV",4300,"N15980","EWR","RIC",49,277,17,18,2013-01-19 17:00:00 +2013,1,19,1856,1859,-3,2049,2104,-15,"EV",4700,"N29917","EWR","CLT",88,529,18,59,2013-01-19 18:00:00 +2013,1,20,649,649,0,931,912,19,"UA",311,"N495UA","EWR","DEN",249,1605,6,49,2013-01-20 06:00:00 +2013,1,20,705,709,-4,1017,1021,-4,"UA",1525,"N38459","EWR","RSW",172,1068,7,9,2013-01-20 07:00:00 +2013,1,20,854,857,-3,1148,1207,-19,"UA",1110,"N24715","EWR","IAH",210,1400,8,57,2013-01-20 08:00:00 +2013,1,20,1250,1230,20,1406,1405,1,"WN",283,"N286WN","LGA","MKE",123,738,12,30,2013-01-20 12:00:00 +2013,1,20,2129,2130,-1,9,2,7,"B6",97,"N663JB","JFK","DEN",253,1626,21,30,2013-01-20 21:00:00 +2013,1,20,2323,2159,84,26,2315,71,"EV",4162,"N14977","EWR","BTV",45,266,21,59,2013-01-20 21:00:00 +2013,1,21,631,635,-4,927,939,-12,"UA",1627,"N27724","EWR","PBI",158,1023,6,35,2013-01-21 06:00:00 +2013,1,21,653,700,-7,1008,1014,-6,"DL",1879,"N373NW","LGA","FLL",171,1076,7,0,2013-01-21 07:00:00 +2013,1,21,840,840,0,932,959,-27,"UA",1289,"N76528","EWR","BOS",35,200,8,40,2013-01-21 08:00:00 +2013,1,21,2023,2000,23,2349,2312,37,"B6",801,"N516JB","JFK","FLL",167,1069,20,0,2013-01-21 20:00:00 +2013,1,21,2038,2042,-4,2230,2231,-1,"EV",3833,"N11539","EWR","STL",155,872,20,42,2013-01-21 20:00:00 +2013,1,21,2102,2029,33,2305,2233,32,"EV",4348,"N17185","EWR","MSP",154,1008,20,29,2013-01-21 20:00:00 +2013,1,22,559,600,-1,917,859,18,"B6",507,"N519JB","EWR","FLL",168,1065,6,0,2013-01-22 06:00:00 +2013,1,22,708,715,-7,1031,1035,-4,"AA",825,"N3EPAA","JFK","FLL",178,1069,7,15,2013-01-22 07:00:00 +2013,1,22,1344,1345,-1,1620,1649,-29,"UA",164,"N37298","EWR","IAH",203,1400,13,45,2013-01-22 13:00:00 +2013,1,22,1520,1510,10,1741,1710,31,"MQ",4579,"N505MQ","LGA","CLT",97,544,15,10,2013-01-22 15:00:00 +2013,1,22,1846,1629,137,2057,1832,145,"EV",4411,"N21144","EWR","MEM",153,946,16,29,2013-01-22 16:00:00 +2013,1,22,1916,1810,66,2101,1945,76,"MQ",4484,"N713MQ","LGA","BNA",132,764,18,10,2013-01-22 18:00:00 +2013,1,22,2021,2025,-4,2300,2331,-31,"UA",226,"N457UA","EWR","DFW",200,1372,20,25,2013-01-22 20:00:00 +2013,1,23,829,830,-1,1140,1143,-3,"UA",561,"N570UA","EWR","FLL",167,1065,8,30,2013-01-23 08:00:00 +2013,1,23,1029,1030,-1,1359,1415,-16,"VX",23,"N837VA","JFK","SFO",374,2586,10,30,2013-01-23 10:00:00 +2013,1,23,1203,1200,3,1358,1400,-2,"US",1443,"N733UW","JFK","CLT",91,541,12,0,2013-01-23 12:00:00 +2013,1,23,1352,1335,17,1651,1633,18,"B6",1161,"N613JB","LGA","PBI",152,1035,13,35,2013-01-23 13:00:00 +2013,1,23,1446,1447,-1,1640,1654,-14,"EV",4572,"N16918","EWR","GSP",97,594,14,47,2013-01-23 14:00:00 +2013,1,23,1504,1510,-6,1710,1710,0,"MQ",4579,"N500MQ","LGA","CLT",87,544,15,10,2013-01-23 15:00:00 +2013,1,23,1546,1550,-4,1832,1820,12,"9E",3355,"N932XJ","JFK","MSP",171,1029,15,50,2013-01-23 15:00:00 +2013,1,23,1855,1900,-5,2125,2134,-9,"FL",645,"N928AT","LGA","ATL",117,762,19,0,2013-01-23 19:00:00 +2013,1,24,37,2107,210,236,2322,194,"EV",3819,"N16561","EWR","SDF",104,642,21,7,2013-01-24 21:00:00 +2013,1,24,1355,1345,10,1647,1705,-18,"AA",1073,"N3AUAA","LGA","MIA",145,1096,13,45,2013-01-24 13:00:00 +2013,1,24,1704,1710,-6,2013,2015,-2,"AA",695,"N3FMAA","JFK","AUS",213,1521,17,10,2013-01-24 17:00:00 +2013,1,24,1725,1725,0,2046,2040,6,"AA",145,"N3FYAA","JFK","SAN",340,2446,17,25,2013-01-24 17:00:00 +2013,1,24,NA,600,NA,NA,801,NA,"EV",4911,"N709EV","EWR","DTW",NA,488,6,0,2013-01-24 06:00:00 +2013,1,25,1836,1710,86,2102,1912,110,"US",894,"N196UW","LGA","CLT",88,544,17,10,2013-01-25 17:00:00 +2013,1,25,1842,1830,12,2225,2202,23,"UA",272,"N525UA","JFK","SFO",355,2586,18,30,2013-01-25 18:00:00 +2013,1,25,2105,2100,5,2357,2349,8,"B6",399,"N594JB","LGA","MCO",132,950,21,0,2013-01-25 21:00:00 +2013,1,25,2203,1946,137,36,2154,162,"EV",4536,"N14993","EWR","CVG",102,569,19,46,2013-01-25 19:00:00 +2013,1,26,810,759,11,1034,1011,23,"US",1733,"N561UW","LGA","CLT",104,544,7,59,2013-01-26 07:00:00 +2013,1,26,821,810,11,1339,1315,24,"AA",655,"N5EYAA","JFK","STT",201,1623,8,10,2013-01-26 08:00:00 +2013,1,26,851,845,6,1343,1350,-7,"AA",1357,"N5FMAA","JFK","SJU",199,1598,8,45,2013-01-26 08:00:00 +2013,1,26,919,920,-1,1114,1125,-11,"MQ",4582,"N521MQ","LGA","CLT",92,544,9,20,2013-01-26 09:00:00 +2013,1,26,1411,1415,-4,1506,1526,-20,"B6",1010,"N184JB","JFK","BOS",36,187,14,15,2013-01-26 14:00:00 +2013,1,26,1738,1720,18,1905,1905,0,"MQ",4479,"N739MQ","LGA","RDU",70,431,17,20,2013-01-26 17:00:00 +2013,1,27,729,731,-2,1047,1045,2,"B6",1601,"N585JB","LGA","RSW",164,1080,7,31,2013-01-27 07:00:00 +2013,1,27,837,830,7,1019,1013,6,"EV",3815,"N12552","EWR","GSO",71,445,8,30,2013-01-27 08:00:00 +2013,1,27,1152,1200,-8,1253,1315,-22,"MQ",4425,"N855MQ","JFK","DCA",51,213,12,0,2013-01-27 12:00:00 +2013,1,27,1253,1300,-7,1516,1529,-13,"EV",4950,"N709EV","EWR","ATL",111,746,13,0,2013-01-27 13:00:00 +2013,1,27,1306,1300,6,1554,1610,-16,"WN",2239,"N466WN","EWR","HOU",211,1411,13,0,2013-01-27 13:00:00 +2013,1,27,1449,1455,-6,1821,1825,-4,"AA",1769,"N5EXAA","JFK","MIA",147,1089,14,55,2013-01-27 14:00:00 +2013,1,27,1635,1610,25,1837,1800,37,"AA",341,"N492AA","LGA","ORD",138,733,16,10,2013-01-27 16:00:00 +2013,1,27,1648,1655,-7,2004,2015,-11,"B6",359,"N566JB","JFK","BUR",362,2465,16,55,2013-01-27 16:00:00 +2013,1,27,1855,1900,-5,2036,2057,-21,"9E",3368,"N908XJ","JFK","PIT",73,340,19,0,2013-01-27 19:00:00 +2013,1,28,629,630,-1,812,810,2,"B6",905,"N324JB","JFK","ORD",134,740,6,30,2013-01-28 06:00:00 +2013,1,28,657,705,-8,952,1021,-29,"B6",981,"N649JB","JFK","FLL",149,1069,7,5,2013-01-28 07:00:00 +2013,1,28,1617,1625,-8,1852,1855,-3,"MQ",4661,"N3AEMQ","LGA","ATL",119,762,16,25,2013-01-28 16:00:00 +2013,1,28,1656,1700,-4,2014,2049,-35,"DL",31,"N727TW","JFK","SFO",359,2586,17,0,2013-01-28 17:00:00 +2013,1,28,1823,1830,-7,2157,2205,-8,"AA",269,"N3HDAA","JFK","SEA",356,2422,18,30,2013-01-28 18:00:00 +2013,1,28,2149,2159,-10,2245,2316,-31,"DL",2155,"N369NW","LGA","PWM",42,269,21,59,2013-01-28 21:00:00 +2013,1,29,1055,1100,-5,1321,1338,-17,"DL",1647,"N669DN","LGA","ATL",120,762,11,0,2013-01-29 11:00:00 +2013,1,29,1139,1140,-1,1421,1445,-24,"AA",1623,"N3HPAA","EWR","MIA",136,1085,11,40,2013-01-29 11:00:00 +2013,1,29,1211,1212,-1,1550,1551,-1,"UA",1227,"N34460","EWR","PHX",320,2133,12,12,2013-01-29 12:00:00 +2013,1,29,1257,1300,-3,1538,1606,-28,"B6",85,"N768JB","JFK","FLL",141,1069,13,0,2013-01-29 13:00:00 +2013,1,29,1348,1350,-2,1703,1715,-12,"US",688,"N648AW","EWR","PHX",298,2133,13,50,2013-01-29 13:00:00 +2013,1,29,1452,1500,-8,1812,1837,-25,"DL",963,"N705TW","JFK","LAX",334,2475,15,0,2013-01-29 15:00:00 +2013,1,29,1454,1500,-6,1611,1608,3,"US",2132,"N958UW","LGA","BOS",44,184,15,0,2013-01-29 15:00:00 +2013,1,29,1503,1510,-7,1712,1650,22,"WN",323,"N292WN","LGA","MKE",143,738,15,10,2013-01-29 15:00:00 +2013,1,30,841,835,6,1239,1215,24,"UA",1739,"N54241","EWR","SFO",352,2565,8,35,2013-01-30 08:00:00 +2013,1,30,854,834,20,1110,1039,31,"EV",4250,"N16571","EWR","GRR",101,605,8,34,2013-01-30 08:00:00 +2013,1,30,949,630,199,1231,847,224,"EV",4393,"N12567","EWR","IND",112,645,6,30,2013-01-30 06:00:00 +2013,1,30,1222,1115,67,1402,1215,107,"OO",8500,"N978SW","LGA","ORD",132,733,11,15,2013-01-30 11:00:00 +2013,1,30,1255,1300,-5,1523,1506,17,"9E",3762,"N8980A","EWR","CVG",104,569,13,0,2013-01-30 13:00:00 +2013,1,30,1329,1259,30,1532,1456,36,"US",1459,"N183UW","LGA","CLT",96,544,12,59,2013-01-30 12:00:00 +2013,1,30,1757,1753,4,2103,2105,-2,"UA",535,"N532UA","JFK","LAX",341,2475,17,53,2013-01-30 17:00:00 +2013,1,31,703,645,18,933,920,13,"UA",338,"N448UA","LGA","DEN",224,1620,6,45,2013-01-31 06:00:00 +2013,1,31,715,720,-5,928,928,0,"DL",831,"N913DE","LGA","DTW",83,502,7,20,2013-01-31 07:00:00 +2013,1,31,900,900,0,1117,1133,-16,"UA",1643,"N17128","EWR","DEN",225,1605,9,0,2013-01-31 09:00:00 +2013,1,31,1200,1205,-5,1319,1325,-6,"WN",644,"N924WN","EWR","MDW",113,711,12,5,2013-01-31 12:00:00 +2013,1,31,1204,1200,4,1315,1309,6,"US",2173,"N757UW","LGA","DCA",54,214,12,0,2013-01-31 12:00:00 +2013,1,31,1216,1220,-4,1526,1533,-7,"B6",209,"N558JB","JFK","LGB",344,2465,12,20,2013-01-31 12:00:00 +2013,1,31,1918,1930,-12,2157,2151,6,"9E",3798,"N8924B","JFK","CLT",93,541,19,30,2013-01-31 19:00:00 +2013,1,31,1924,1925,-1,2244,2229,15,"DL",1485,"N992DL","LGA","MCO",160,950,19,25,2013-01-31 19:00:00 +2013,10,1,618,630,-12,851,919,-28,"UA",1454,"N23708","LGA","IAH",194,1416,6,30,2013-10-01 06:00:00 +2013,10,1,626,630,-4,756,805,-9,"AA",303,"N475AA","LGA","ORD",112,733,6,30,2013-10-01 06:00:00 +2013,10,1,1221,1230,-9,1350,1405,-15,"AA",329,"N489AA","LGA","ORD",117,733,12,30,2013-10-01 12:00:00 +2013,10,1,1618,1600,18,1751,1755,-4,"9E",3523,"N602LR","JFK","ORD",120,740,16,0,2013-10-01 16:00:00 +2013,10,1,1639,1640,-1,1912,1947,-35,"B6",423,"N657JB","JFK","LAX",313,2475,16,40,2013-10-01 16:00:00 +2013,10,1,1655,1700,-5,1841,1910,-29,"9E",3932,"N8696C","EWR","CVG",86,569,17,0,2013-10-01 17:00:00 +2013,10,2,819,826,-7,950,1014,-24,"EV",4537,"N11536","EWR","MEM",130,946,8,26,2013-10-02 08:00:00 +2013,10,2,858,900,-2,1207,1206,1,"UA",1581,"N39450","EWR","SEA",332,2402,9,0,2013-10-02 09:00:00 +2013,10,2,1359,1359,0,1503,1511,-8,"B6",118,"N274JB","JFK","BOS",43,187,13,59,2013-10-02 13:00:00 +2013,10,2,1425,1430,-5,1732,1742,-10,"UA",1296,"N33103","EWR","SFO",344,2565,14,30,2013-10-02 14:00:00 +2013,10,2,1729,1730,-1,2001,2017,-16,"B6",327,"N584JB","EWR","MCO",128,937,17,30,2013-10-02 17:00:00 +2013,10,2,1948,2000,-12,2125,2120,5,"US",2195,"N745VJ","LGA","DCA",39,214,20,0,2013-10-02 20:00:00 +2013,10,2,1952,2000,-8,2137,2132,5,"UA",695,"N846UA","LGA","ORD",111,733,20,0,2013-10-02 20:00:00 +2013,10,3,731,737,-6,859,915,-16,"EV",3821,"N16541","EWR","GSO",69,445,7,37,2013-10-03 07:00:00 +2013,10,3,924,933,-9,1216,1225,-9,"B6",199,"N589JB","LGA","MCO",133,950,9,33,2013-10-03 09:00:00 +2013,10,3,925,935,-10,1220,1230,-10,"B6",223,"N639JB","JFK","LAX",331,2475,9,35,2013-10-03 09:00:00 +2013,10,3,1249,1259,-10,1354,1405,-11,"B6",316,"N323JB","JFK","SYR",43,209,12,59,2013-10-03 12:00:00 +2013,10,3,1446,1444,2,1543,1624,-41,"9E",3393,"N904XJ","JFK","DCA",41,213,14,44,2013-10-03 14:00:00 +2013,10,3,1547,1550,-3,1748,1730,18,"MQ",3416,"N9EAMQ","LGA","RDU",65,431,15,50,2013-10-03 15:00:00 +2013,10,3,1621,1625,-4,1838,1831,7,"DL",2231,"N363NW","LGA","DTW",87,502,16,25,2013-10-03 16:00:00 +2013,10,3,1813,1815,-2,2138,2138,0,"DL",17,"N191DN","JFK","LAX",348,2475,18,15,2013-10-03 18:00:00 +2013,10,3,2129,2130,-1,2353,2359,-6,"B6",97,"N521JB","JFK","DEN",236,1626,21,30,2013-10-03 21:00:00 +2013,10,4,651,517,94,917,757,80,"UA",252,"N553UA","EWR","IAH",176,1400,5,17,2013-10-04 05:00:00 +2013,10,4,826,829,-3,1133,1122,11,"B6",189,"N623JB","JFK","SAN",325,2446,8,29,2013-10-04 08:00:00 +2013,10,4,1358,1400,-2,1615,1632,-17,"DL",2247,"N6707A","LGA","ATL",102,762,14,0,2013-10-04 14:00:00 +2013,10,4,1724,1735,-11,1921,1946,-25,"YV",2751,"N922FJ","LGA","CLT",81,544,17,35,2013-10-04 17:00:00 +2013,10,4,1730,1734,-4,2107,2046,21,"UA",418,"N580UA","EWR","SFO",348,2565,17,34,2013-10-04 17:00:00 +2013,10,4,1834,1820,14,2204,2124,40,"B6",1013,"N608JB","JFK","LGB",344,2465,18,20,2013-10-04 18:00:00 +2013,10,4,1837,1841,-4,1951,2010,-19,"B6",2202,"N316JB","JFK","BUF",58,301,18,41,2013-10-04 18:00:00 +2013,10,4,2242,2255,-13,2351,9,-18,"B6",486,"N206JB","JFK","ROC",50,264,22,55,2013-10-04 22:00:00 +2013,10,5,736,740,-4,1021,1035,-14,"B6",163,"N354JB","JFK","SRQ",142,1041,7,40,2013-10-05 07:00:00 +2013,10,5,1057,1105,-8,1202,1215,-13,"MQ",3230,"N508MQ","JFK","DCA",40,213,11,5,2013-10-05 11:00:00 +2013,10,5,1354,1400,-6,1636,1655,-19,"AA",1151,"N3JCAA","LGA","DFW",201,1389,14,0,2013-10-05 14:00:00 +2013,10,5,1430,1342,48,1633,1551,42,"EV",4395,"N27962","EWR","IND",97,645,13,42,2013-10-05 13:00:00 +2013,10,5,1448,1429,19,1558,1548,10,"B6",286,"N318JB","JFK","ROC",48,264,14,29,2013-10-05 14:00:00 +2013,10,5,1719,1630,49,2023,2000,23,"VX",27,"N849VA","JFK","SFO",349,2586,16,30,2013-10-05 16:00:00 +2013,10,6,700,710,-10,1004,1000,4,"AA",2493,"N5EAAA","JFK","MCO",131,944,7,10,2013-10-06 07:00:00 +2013,10,6,913,915,-2,1131,1143,-12,"EV",5109,"N709EV","LGA","CHS",92,641,9,15,2013-10-06 09:00:00 +2013,10,6,1155,1200,-5,1331,1334,-3,"EV",4188,"N15985","EWR","CLE",62,404,12,0,2013-10-06 12:00:00 +2013,10,6,1204,1205,-1,1336,1350,-14,"MQ",3404,"N832MQ","LGA","RDU",67,431,12,5,2013-10-06 12:00:00 +2013,10,6,1517,1430,47,1627,1553,34,"EV",5713,"N829AS","LGA","IAD",44,229,14,30,2013-10-06 14:00:00 +2013,10,6,1553,1555,-2,1714,1730,-16,"WN",134,"N728SW","LGA","BNA",118,764,15,55,2013-10-06 15:00:00 +2013,10,6,1805,1714,51,1947,1839,68,"B6",918,"N339JB","JFK","BOS",33,187,17,14,2013-10-06 17:00:00 +2013,10,6,1833,1830,3,2111,2112,-1,"B6",711,"N598JB","JFK","LAS",287,2248,18,30,2013-10-06 18:00:00 +2013,10,6,1900,1905,-5,2148,2205,-17,"AA",1691,"N594AA","EWR","DFW",191,1372,19,5,2013-10-06 19:00:00 +2013,10,6,2152,2159,-7,2259,2308,-9,"9E",3525,"N605LR","LGA","SYR",37,198,21,59,2013-10-06 21:00:00 +2013,10,7,800,805,-5,1057,1123,-26,"DL",1271,"N907DL","JFK","FLL",149,1069,8,5,2013-10-07 08:00:00 +2013,10,7,912,915,-3,1138,1154,-16,"EV",5211,"N398CA","LGA","SAV",106,722,9,15,2013-10-07 09:00:00 +2013,10,7,950,1000,-10,1140,1130,10,"EV",5736,"N828AS","LGA","IAD",50,229,10,0,2013-10-07 10:00:00 +2013,10,7,1053,1031,22,1257,1240,17,"EV",4632,"N11119","EWR","OMA",161,1134,10,31,2013-10-07 10:00:00 +2013,10,7,1403,1355,8,1652,1639,13,"UA",431,"N834UA","EWR","DFW",200,1372,13,55,2013-10-07 13:00:00 +2013,10,7,1443,1456,-13,1629,1641,-12,"9E",3846,"N8390A","JFK","ORF",69,290,14,56,2013-10-07 14:00:00 +2013,10,7,1520,1521,-1,1900,1819,41,"UA",1554,"N19136","EWR","LAX",327,2454,15,21,2013-10-07 15:00:00 +2013,10,7,1701,1529,92,2010,1847,83,"UA",1246,"N76269","EWR","SFO",346,2565,15,29,2013-10-07 15:00:00 +2013,10,7,1848,1800,48,2007,1920,47,"WN",318,"N475WN","EWR","MDW",111,711,18,0,2013-10-07 18:00:00 +2013,10,7,2108,1755,193,2340,2055,165,"AA",1185,"N3FRAA","LGA","DFW",188,1389,17,55,2013-10-07 17:00:00 +2013,10,7,NA,1700,NA,NA,1817,NA,"US",2189,NA,"LGA","DCA",NA,214,17,0,2013-10-07 17:00:00 +2013,10,8,822,825,-3,1120,1148,-28,"UA",397,"N597UA","JFK","SFO",339,2586,8,25,2013-10-08 08:00:00 +2013,10,8,1022,1031,-9,1214,1240,-26,"EV",4632,"N17115","EWR","OMA",151,1134,10,31,2013-10-08 10:00:00 +2013,10,8,1044,959,45,1227,1144,43,"AA",1030,"N566AA","LGA","STL",122,888,9,59,2013-10-08 09:00:00 +2013,10,8,1129,1135,-6,1336,1343,-7,"DL",2219,"N949DL","LGA","MSP",147,1020,11,35,2013-10-08 11:00:00 +2013,10,8,1245,1245,0,1545,1600,-15,"AA",1697,"N631AA","JFK","MIA",159,1089,12,45,2013-10-08 12:00:00 +2013,10,8,1437,1429,8,1543,1548,-5,"B6",286,"N318JB","JFK","ROC",48,264,14,29,2013-10-08 14:00:00 +2013,10,8,1445,1445,0,1743,1758,-15,"UA",841,"N512UA","JFK","LAX",330,2475,14,45,2013-10-08 14:00:00 +2013,10,8,1725,1730,-5,1934,1953,-19,"EV",5298,"N608QX","LGA","OMA",151,1148,17,30,2013-10-08 17:00:00 +2013,10,9,625,630,-5,721,742,-21,"UA",1686,"N29717","EWR","BOS",34,200,6,30,2013-10-09 06:00:00 +2013,10,9,737,740,-3,1032,1035,-3,"B6",163,"N281JB","JFK","SRQ",151,1041,7,40,2013-10-09 07:00:00 +2013,10,9,812,815,-3,1029,1055,-26,"DL",1429,"N6714Q","JFK","LAS",286,2248,8,15,2013-10-09 08:00:00 +2013,10,9,1024,1000,24,1203,1130,33,"EV",5736,"N834AS","LGA","IAD",49,229,10,0,2013-10-09 10:00:00 +2013,10,9,1254,1300,-6,1414,1439,-25,"EV",5378,"N713EV","LGA","PIT",54,335,13,0,2013-10-09 13:00:00 +2013,10,9,1303,1300,3,1548,1550,-2,"AA",1145,"N3KJAA","LGA","DFW",187,1389,13,0,2013-10-09 13:00:00 +2013,10,9,1304,1310,-6,1459,1526,-27,"EV",5283,"N741EV","LGA","CVG",85,585,13,10,2013-10-09 13:00:00 +2013,10,9,1501,1506,-5,1737,1737,0,"EV",4377,"N11547","EWR","JAX",121,820,15,6,2013-10-09 15:00:00 +2013,10,9,1516,1517,-1,1844,1834,10,"B6",1729,"N503JB","JFK","RSW",158,1074,15,17,2013-10-09 15:00:00 +2013,10,9,1810,1815,-5,1956,2021,-25,"DL",2019,"N364NW","LGA","MSP",139,1020,18,15,2013-10-09 18:00:00 +2013,10,9,1812,1759,13,2045,2032,13,"DL",61,"N6715C","LGA","ATL",105,762,17,59,2013-10-09 17:00:00 +2013,10,9,1934,1900,34,2051,2039,12,"UA",693,"N453UA","LGA","ORD",103,733,19,0,2013-10-09 19:00:00 +2013,10,9,NA,600,NA,NA,730,NA,"UA",279,NA,"EWR","ORD",NA,719,6,0,2013-10-09 06:00:00 +2013,10,10,1048,1050,-2,1256,1250,6,"MQ",3689,"N6EAMQ","LGA","DTW",75,502,10,50,2013-10-10 10:00:00 +2013,10,10,1253,1300,-7,1413,1409,4,"US",2148,"N954UW","LGA","BOS",34,184,13,0,2013-10-10 13:00:00 +2013,10,10,1356,1400,-4,1504,1507,-3,"US",2150,"N947UW","LGA","BOS",33,184,14,0,2013-10-10 14:00:00 +2013,10,10,1642,1645,-3,1911,1944,-33,"B6",283,"N657JB","JFK","MCO",130,944,16,45,2013-10-10 16:00:00 +2013,10,10,1944,1830,74,2152,2110,42,"WN",2698,"N942WN","EWR","MSY",154,1167,18,30,2013-10-10 18:00:00 +2013,10,10,2110,2022,48,2252,2155,57,"B6",105,"N351JB","JFK","ORD",113,740,20,22,2013-10-10 20:00:00 +2013,10,10,2247,2110,97,103,2341,82,"EV",5811,"N11150","EWR","JAX",112,820,21,10,2013-10-10 21:00:00 +2013,10,10,2249,2255,-6,4,9,-5,"B6",486,"N307JB","JFK","ROC",45,264,22,55,2013-10-10 22:00:00 +2013,10,11,558,600,-2,735,758,-23,"EV",5068,"N582CA","EWR","DTW",78,488,6,0,2013-10-11 06:00:00 +2013,10,11,600,600,0,853,858,-5,"B6",371,"N568JB","LGA","FLL",138,1076,6,0,2013-10-11 06:00:00 +2013,10,11,627,635,-8,906,919,-13,"UA",223,"N515UA","EWR","MCO",129,937,6,35,2013-10-11 06:00:00 +2013,10,11,735,735,0,1031,1035,-4,"AA",2279,"N3ABAA","LGA","MIA",151,1096,7,35,2013-10-11 07:00:00 +2013,10,11,902,900,2,1145,1157,-12,"B6",63,"N729JB","JFK","SEA",309,2422,9,0,2013-10-11 09:00:00 +2013,10,11,1454,1455,-1,1655,1723,-28,"9E",3326,"N916XJ","JFK","IND",91,665,14,55,2013-10-11 14:00:00 +2013,10,11,1502,1455,7,1741,1759,-18,"DL",1935,"N370NB","LGA","TPA",134,1010,14,55,2013-10-11 14:00:00 +2013,10,11,1614,1615,-1,1859,1915,-16,"AA",65,"N3FMAA","JFK","DFW",181,1391,16,15,2013-10-11 16:00:00 +2013,10,11,1820,1815,5,2107,2138,-31,"DL",17,"N195DN","JFK","LAX",321,2475,18,15,2013-10-11 18:00:00 +2013,10,11,1908,1830,38,2013,1950,23,"MQ",3486,"N517MQ","LGA","BNA",99,764,18,30,2013-10-11 18:00:00 +2013,10,11,2002,1900,62,2141,2101,40,"9E",3433,"N602LR","JFK","PIT",55,340,19,0,2013-10-11 19:00:00 +2013,10,12,601,610,-9,842,855,-13,"AA",1103,"N3DHAA","LGA","DFW",197,1389,6,10,2013-10-12 06:00:00 +2013,10,12,728,601,87,838,722,76,"UA",1198,"N33284","LGA","ORD",102,733,6,1,2013-10-12 06:00:00 +2013,10,12,733,659,34,935,912,23,"EV",4122,"N11155","EWR","SDF",106,642,6,59,2013-10-12 06:00:00 +2013,10,12,733,735,-2,1000,932,28,"EV",4246,"N12167","EWR","DTW",99,488,7,35,2013-10-12 07:00:00 +2013,10,12,1158,1150,8,1334,1340,-6,"MQ",3616,"N0EGMQ","LGA","MSP",132,1020,11,50,2013-10-12 11:00:00 +2013,10,12,1400,1400,0,1636,1655,-19,"AA",1151,"N3EWAA","LGA","DFW",194,1389,14,0,2013-10-12 14:00:00 +2013,10,12,1532,1505,27,1737,1709,28,"EV",4181,"N10156","EWR","MCI",154,1092,15,5,2013-10-12 15:00:00 +2013,10,12,1738,1732,6,1940,1959,-19,"FL",623,"N934AT","LGA","ATL",100,762,17,32,2013-10-12 17:00:00 +2013,10,12,1816,1815,1,2104,2135,-31,"AA",1611,"N3DGAA","LGA","MIA",141,1096,18,15,2013-10-12 18:00:00 +2013,10,13,1023,1029,-6,1224,1239,-15,"US",604,"N654AW","EWR","PHX",280,2133,10,29,2013-10-13 10:00:00 +2013,10,13,1203,1206,-3,1508,1513,-5,"UA",1496,"N24729","EWR","SNA",345,2434,12,6,2013-10-13 12:00:00 +2013,10,13,1550,1548,2,1909,1911,-2,"DL",31,"N384DA","JFK","SLC",265,1990,15,48,2013-10-13 15:00:00 +2013,10,13,1628,1615,13,1840,1845,-5,"MQ",3357,"N526MQ","LGA","ATL",101,762,16,15,2013-10-13 16:00:00 +2013,10,13,1637,1629,8,1944,1919,25,"UA",1695,"N12116","EWR","IAH",193,1400,16,29,2013-10-13 16:00:00 +2013,10,13,1850,1830,20,2104,2110,-6,"WN",2698,"N401WN","EWR","MSY",152,1167,18,30,2013-10-13 18:00:00 +2013,10,14,638,641,-3,745,805,-20,"EV",4522,"N14573","EWR","BNA",107,748,6,41,2013-10-14 06:00:00 +2013,10,14,744,745,-1,1021,1009,12,"DL",807,"N359NB","EWR","ATL",110,746,7,45,2013-10-14 07:00:00 +2013,10,14,758,800,-2,1048,1117,-29,"DL",2431,"N960DL","JFK","MIA",142,1089,8,0,2013-10-14 08:00:00 +2013,10,14,850,855,-5,1142,1156,-14,"UA",207,"N475UA","LGA","IAH",189,1416,8,55,2013-10-14 08:00:00 +2013,10,14,949,1000,-11,1118,1134,-16,"UA",673,"N806UA","LGA","ORD",106,733,10,0,2013-10-14 10:00:00 +2013,10,14,1112,1100,12,1340,1341,-1,"DL",1647,"N523US","LGA","ATL",103,762,11,0,2013-10-14 11:00:00 +2013,10,14,1500,1500,0,1732,1758,-26,"B6",573,"N662JB","EWR","TPA",129,997,15,0,2013-10-14 15:00:00 +2013,10,14,1700,1659,1,2014,1959,15,"UA",1665,"N14250","EWR","LAX",349,2454,16,59,2013-10-14 16:00:00 +2013,10,14,1817,1820,-3,2013,2034,-21,"9E",3542,"N931XJ","JFK","MSP",148,1029,18,20,2013-10-14 18:00:00 +2013,10,14,1859,1825,34,2132,2133,-1,"DL",1854,"N360NB","LGA","FLL",136,1076,18,25,2013-10-14 18:00:00 +2013,10,14,1931,1835,56,2154,2146,8,"DL",2391,"N939DL","JFK","TPA",126,1005,18,35,2013-10-14 18:00:00 +2013,10,14,1934,1930,4,2157,2159,-2,"DL",2142,"N324NB","EWR","ATL",102,746,19,30,2013-10-14 19:00:00 +2013,10,15,618,620,-2,713,728,-15,"EV",4241,"N14562","EWR","DCA",38,199,6,20,2013-10-15 06:00:00 +2013,10,15,836,840,-4,1001,1005,-4,"EV",5813,"N13913","EWR","RIC",54,277,8,40,2013-10-15 08:00:00 +2013,10,15,1305,1304,1,1544,1554,-10,"UA",1641,"N34131","EWR","MCO",129,937,13,4,2013-10-15 13:00:00 +2013,10,15,1451,1455,-4,1715,1723,-8,"9E",3326,"N930XJ","JFK","IND",97,665,14,55,2013-10-15 14:00:00 +2013,10,15,1620,1625,-5,1822,1838,-16,"EV",4684,"N15985","EWR","SDF",102,642,16,25,2013-10-15 16:00:00 +2013,10,15,1724,1729,-5,1846,1900,-14,"EV",4195,"N34111","EWR","BNA",106,748,17,29,2013-10-15 17:00:00 +2013,10,15,1832,1805,27,2018,1950,28,"AA",353,"N4WVAA","LGA","ORD",116,733,18,5,2013-10-15 18:00:00 +2013,10,15,1923,1830,53,2113,2010,63,"MQ",3134,"N518MQ","EWR","ORD",116,719,18,30,2013-10-15 18:00:00 +2013,10,15,2029,2040,-11,2239,2258,-19,"9E",4033,"N8847A","LGA","TYS",90,647,20,40,2013-10-15 20:00:00 +2013,10,16,553,600,-7,739,730,9,"AA",301,"N502AA","LGA","ORD",127,733,6,0,2013-10-16 06:00:00 +2013,10,16,751,755,-4,859,910,-11,"WN",909,"N606SW","EWR","MDW",112,711,7,55,2013-10-16 07:00:00 +2013,10,16,1151,1200,-9,1324,1334,-10,"UA",667,"N839UA","LGA","ORD",123,733,12,0,2013-10-16 12:00:00 +2013,10,16,1255,1300,-5,1515,1526,-11,"DL",1798,"N341NB","EWR","ATL",106,746,13,0,2013-10-16 13:00:00 +2013,10,16,1311,1300,11,1518,1450,28,"MQ",3388,"N847MQ","LGA","CMH",78,479,13,0,2013-10-16 13:00:00 +2013,10,16,1502,1445,17,1656,1628,28,"EV",4596,"N26545","EWR","STL",150,872,14,45,2013-10-16 14:00:00 +2013,10,16,1629,1630,-1,1948,1940,8,"AA",181,"N335AA","JFK","LAX",347,2475,16,30,2013-10-16 16:00:00 +2013,10,16,1651,1700,-9,1929,1940,-11,"DL",1499,"N979DL","LGA","ATL",114,762,17,0,2013-10-16 17:00:00 +2013,10,16,1825,1830,-5,2227,2140,47,"B6",305,"N768JB","EWR","FLL",147,1065,18,30,2013-10-16 18:00:00 +2013,10,16,2029,2025,4,2346,2350,-4,"B6",915,"N590JB","JFK","SFO",345,2586,20,25,2013-10-16 20:00:00 +2013,10,17,653,655,-2,818,810,8,"WN",404,"N258WN","LGA","MKE",115,738,6,55,2013-10-17 06:00:00 +2013,10,17,755,800,-5,1044,1117,-33,"DL",2431,"N923DL","JFK","MIA",148,1089,8,0,2013-10-17 08:00:00 +2013,10,17,1018,1020,-2,1259,1309,-10,"B6",53,"N636JB","JFK","PBI",141,1028,10,20,2013-10-17 10:00:00 +2013,10,17,1105,1105,0,1220,1245,-25,"EV",5309,"N720EV","LGA","BGR",51,378,11,5,2013-10-17 11:00:00 +2013,10,17,1121,1129,-8,1351,1400,-9,"B6",1211,"N705JB","JFK","LAS",307,2248,11,29,2013-10-17 11:00:00 +2013,10,17,1253,1259,-6,1555,1555,0,"UA",1280,"N15712","LGA","IAH",220,1416,12,59,2013-10-17 12:00:00 +2013,10,17,1311,1226,45,1519,1418,61,"EV",4640,"N17984","EWR","DAY",95,533,12,26,2013-10-17 12:00:00 +2013,10,17,1445,1450,-5,1713,1745,-32,"UA",294,"N425UA","EWR","MCO",131,937,14,50,2013-10-17 14:00:00 +2013,10,17,1457,1500,-3,1612,1631,-19,"UA",399,"N435UA","EWR","ORD",111,719,15,0,2013-10-17 15:00:00 +2013,10,17,1652,1700,-8,1932,1940,-8,"DL",1499,"N970DL","LGA","ATL",122,762,17,0,2013-10-17 17:00:00 +2013,10,17,1654,1548,66,1919,1757,82,"EV",3825,"N13538","EWR","IND",109,645,15,48,2013-10-17 15:00:00 +2013,10,17,1820,1820,0,2117,2124,-7,"B6",1013,"N834JB","JFK","LGB",331,2465,18,20,2013-10-17 18:00:00 +2013,10,17,1850,1850,0,2317,2212,65,"B6",669,"N507JB","JFK","SJC",377,2569,18,50,2013-10-17 18:00:00 +2013,10,17,2104,2106,-2,6,2354,12,"UA",475,"N429UA","EWR","IAH",201,1400,21,6,2013-10-17 21:00:00 +2013,10,18,803,805,-2,955,1000,-5,"EV",5242,"N748EV","LGA","GSO",77,461,8,5,2013-10-18 08:00:00 +2013,10,18,924,930,-6,1033,1038,-5,"B6",116,"N296JB","JFK","SYR",47,209,9,30,2013-10-18 09:00:00 +2013,10,18,943,905,38,1130,1115,15,"DL",181,"N327NW","LGA","DTW",84,502,9,5,2013-10-18 09:00:00 +2013,10,18,1443,1445,-2,1749,1758,-9,"UA",841,"N595UA","JFK","LAX",341,2475,14,45,2013-10-18 14:00:00 +2013,10,18,1555,1559,-4,1709,1730,-21,"UA",287,"N436UA","EWR","ORD",118,719,15,59,2013-10-18 15:00:00 +2013,10,18,1557,1525,32,1804,1726,38,"EV",4576,"N13949","EWR","GRR",106,605,15,25,2013-10-18 15:00:00 +2013,10,18,1617,1620,-3,1717,1740,-23,"UA",1064,"N14731","EWR","BOS",42,200,16,20,2013-10-18 16:00:00 +2013,10,18,1656,1700,-4,1814,1817,-3,"US",2189,"N752US","LGA","DCA",48,214,17,0,2013-10-18 17:00:00 +2013,10,18,1857,1850,7,2207,2212,-5,"B6",669,"N768JB","JFK","SJC",353,2569,18,50,2013-10-18 18:00:00 +2013,10,18,2021,2030,-9,2149,2205,-16,"WN",2520,"N213WN","EWR","MDW",111,711,20,30,2013-10-18 20:00:00 +2013,10,19,852,900,-8,1004,1025,-21,"US",2173,"N945UW","LGA","DCA",48,214,9,0,2013-10-19 09:00:00 +2013,10,19,1230,1231,-1,1320,1329,-9,"EV",4133,"N12967","EWR","PVD",32,160,12,31,2013-10-19 12:00:00 +2013,10,19,1706,1715,-9,1816,1830,-14,"B6",2580,"N190JB","EWR","BOS",40,200,17,15,2013-10-19 17:00:00 +2013,10,19,2012,2022,-10,2234,2246,-12,"B6",135,"N556JB","JFK","PHX",298,2153,20,22,2013-10-19 20:00:00 +2013,10,20,543,545,-2,843,855,-12,"AA",2243,"N5BYAA","JFK","MIA",158,1089,5,45,2013-10-20 05:00:00 +2013,10,20,652,650,2,816,819,-3,"UA",1177,"N23707","EWR","ORD",118,719,6,50,2013-10-20 06:00:00 +2013,10,20,724,729,-5,1033,1021,12,"UA",443,"N555UA","JFK","LAX",347,2475,7,29,2013-10-20 07:00:00 +2013,10,20,758,805,-7,1111,1106,5,"DL",1109,"N335NB","LGA","TPA",159,1010,8,5,2013-10-20 08:00:00 +2013,10,20,823,829,-6,1142,1139,3,"AA",2267,"N3EYAA","LGA","MIA",164,1096,8,29,2013-10-20 08:00:00 +2013,10,20,1228,1226,2,1326,1338,-12,"UA",252,"N465UA","EWR","BOS",44,200,12,26,2013-10-20 12:00:00 +2013,10,20,1451,1455,-4,1759,1759,0,"DL",1935,"N334NB","LGA","TPA",153,1010,14,55,2013-10-20 14:00:00 +2013,10,20,1456,1455,1,1732,1723,9,"9E",3326,"N923XJ","JFK","IND",106,665,14,55,2013-10-20 14:00:00 +2013,10,20,1544,1550,-6,1717,1730,-13,"MQ",3416,"N542MQ","LGA","RDU",73,431,15,50,2013-10-20 15:00:00 +2013,10,20,1623,1445,98,1944,1750,114,"B6",1171,"N571JB","LGA","FLL",175,1076,14,45,2013-10-20 14:00:00 +2013,10,20,1722,1730,-8,1829,1847,-18,"B6",1516,"N307JB","JFK","SYR",46,209,17,30,2013-10-20 17:00:00 +2013,10,20,1808,1815,-7,1950,1954,-4,"EV",5287,"N730EV","LGA","MSN",122,812,18,15,2013-10-20 18:00:00 +2013,10,20,1813,1815,-2,2123,2138,-15,"DL",17,"N194DN","JFK","LAX",332,2475,18,15,2013-10-20 18:00:00 +2013,10,20,1931,1920,11,2203,2211,-8,"UA",1429,"N76529","EWR","LAS",302,2227,19,20,2013-10-20 19:00:00 +2013,10,20,1934,1940,-6,2135,2120,15,"AA",363,"N481AA","LGA","ORD",116,733,19,40,2013-10-20 19:00:00 +2013,10,20,1957,2005,-8,2115,2130,-15,"MQ",3604,"N508MQ","EWR","ORD",113,719,20,5,2013-10-20 20:00:00 +2013,10,20,2027,2030,-3,2233,2251,-18,"EV",5209,"N740EV","LGA","CHS",104,641,20,30,2013-10-20 20:00:00 +2013,10,20,2058,2100,-2,2336,2344,-8,"B6",499,"N561JB","LGA","MCO",140,950,21,0,2013-10-20 21:00:00 +2013,10,21,631,600,31,740,717,23,"EV",5747,"N834AS","LGA","IAD",42,229,6,0,2013-10-21 06:00:00 +2013,10,21,755,800,-5,1100,1110,-10,"B6",1511,"N566JB","EWR","RSW",163,1068,8,0,2013-10-21 08:00:00 +2013,10,21,802,800,2,1025,1026,-1,"9E",3507,"N901XJ","JFK","MSY",186,1182,8,0,2013-10-21 08:00:00 +2013,10,21,921,930,-9,1228,1245,-17,"WN",746,"N930WN","EWR","AUS",232,1504,9,30,2013-10-21 09:00:00 +2013,10,21,1044,1050,-6,1235,1250,-15,"MQ",3689,"N527MQ","LGA","DTW",84,502,10,50,2013-10-21 10:00:00 +2013,10,21,1134,1140,-6,1436,1430,6,"UA",1618,"N39728","EWR","TPA",157,997,11,40,2013-10-21 11:00:00 +2013,10,21,1242,1240,2,1421,1425,-4,"WN",137,"N7734H","LGA","STL",143,888,12,40,2013-10-21 12:00:00 +2013,10,21,1248,1259,-11,1442,1512,-30,"EV",5207,"N753EV","LGA","CLT",90,544,12,59,2013-10-21 12:00:00 +2013,10,21,1301,1305,-4,1420,1427,-7,"EV",5816,"N12922","EWR","RIC",55,277,13,5,2013-10-21 13:00:00 +2013,10,21,1507,1510,-3,1821,1812,9,"UA",1483,"N76505","EWR","AUS",230,1504,15,10,2013-10-21 15:00:00 +2013,10,21,1736,1715,21,2104,2015,49,"AA",2488,"N4YNAA","EWR","DFW",218,1372,17,15,2013-10-21 17:00:00 +2013,10,21,1822,1825,-3,2140,2133,7,"DL",1854,"N315NB","LGA","FLL",167,1076,18,25,2013-10-21 18:00:00 +2013,10,22,739,745,-6,1008,1009,-1,"DL",807,"N346NB","EWR","ATL",117,746,7,45,2013-10-22 07:00:00 +2013,10,22,950,1000,-10,1059,1120,-21,"US",2175,"N763US","LGA","DCA",54,214,10,0,2013-10-22 10:00:00 +2013,10,22,1153,1155,-2,1409,1425,-16,"WN",264,"N715SW","LGA","DEN",226,1620,11,55,2013-10-22 11:00:00 +2013,10,22,1319,1312,7,1630,1624,6,"B6",1639,"N568JB","LGA","RSW",171,1080,13,12,2013-10-22 13:00:00 +2013,10,22,1452,1500,-8,1558,1618,-20,"US",2185,"N753US","LGA","DCA",53,214,15,0,2013-10-22 15:00:00 +2013,10,22,1517,1520,-3,1644,1705,-21,"AA",341,"N549AA","LGA","ORD",122,733,15,20,2013-10-22 15:00:00 +2013,10,22,1519,1528,-9,1654,1659,-5,"EV",4502,"N26545","EWR","BNA",133,748,15,28,2013-10-22 15:00:00 +2013,10,22,1524,1440,44,1642,1600,42,"EV",6049,"N14974","EWR","IAD",49,212,14,40,2013-10-22 14:00:00 +2013,10,22,1910,1910,0,2213,2215,-2,"AA",21,"N339AA","JFK","LAX",326,2475,19,10,2013-10-22 19:00:00 +2013,10,22,1912,1900,12,2123,2133,-10,"DL",245,"N375DA","JFK","PHX",293,2153,19,0,2013-10-22 19:00:00 +2013,10,22,2100,2106,-6,2344,2354,-10,"UA",475,"N494UA","EWR","IAH",205,1400,21,6,2013-10-22 21:00:00 +2013,10,23,625,630,-5,910,922,-12,"UA",797,"N512UA","JFK","LAX",318,2475,6,30,2013-10-23 06:00:00 +2013,10,23,628,630,-2,836,839,-3,"EV",4393,"N12569","EWR","IND",112,645,6,30,2013-10-23 06:00:00 +2013,10,23,905,830,35,1107,1019,48,"EV",5195,"N748EV","LGA","RIC",70,292,8,30,2013-10-23 08:00:00 +2013,10,23,1039,1043,-4,1257,1311,-14,"UA",1110,"N37409","EWR","LAS",294,2227,10,43,2013-10-23 10:00:00 +2013,10,23,1151,1200,-9,1414,1425,-11,"UA",998,"N833UA","EWR","PHX",300,2133,12,0,2013-10-23 12:00:00 +2013,10,23,1604,1608,-4,1724,1752,-28,"B6",1105,"N374JB","JFK","ORD",119,740,16,8,2013-10-23 16:00:00 +2013,10,23,1722,1625,57,2042,1932,70,"B6",423,"N632JB","JFK","LAX",350,2475,16,25,2013-10-23 16:00:00 +2013,10,24,720,725,-5,1004,1008,-4,"UA",212,"N668UA","EWR","IAH",200,1400,7,25,2013-10-24 07:00:00 +2013,10,24,820,825,-5,1139,1120,19,"UA",478,"N429UA","EWR","MCO",149,937,8,25,2013-10-24 08:00:00 +2013,10,24,831,835,-4,952,1000,-8,"MQ",3355,"N543MQ","LGA","BNA",122,764,8,35,2013-10-24 08:00:00 +2013,10,24,1107,1110,-3,1440,1430,10,"AA",1599,"N3ANAA","LGA","MIA",182,1096,11,10,2013-10-24 11:00:00 +2013,10,24,1156,1200,-4,1301,1312,-11,"DL",2451,"N359NB","JFK","BOS",38,187,12,0,2013-10-24 12:00:00 +2013,10,24,1212,1221,-9,1316,1328,-12,"B6",34,"N192JB","JFK","BTV",47,266,12,21,2013-10-24 12:00:00 +2013,10,24,1759,1717,42,1955,1908,47,"EV",4411,"N14568","EWR","MEM",159,946,17,17,2013-10-24 17:00:00 +2013,10,24,1824,1829,-5,2016,2031,-15,"US",1751,"N194UW","EWR","CLT",87,529,18,29,2013-10-24 18:00:00 +2013,10,24,1928,1900,28,2034,2025,9,"WN",490,"N759GS","LGA","MKE",106,738,19,0,2013-10-24 19:00:00 +2013,10,25,633,635,-2,830,833,-3,"EV",4535,"N31131","EWR","MSP",148,1008,6,35,2013-10-25 06:00:00 +2013,10,25,722,705,17,858,845,13,"WN",1265,"N275WN","EWR","STL",127,872,7,5,2013-10-25 07:00:00 +2013,10,25,804,757,7,1008,1024,-16,"UA",245,"N830UA","EWR","DEN",220,1605,7,57,2013-10-25 07:00:00 +2013,10,25,825,830,-5,1117,1152,-35,"UA",1480,"N87512","EWR","SFO",336,2565,8,30,2013-10-25 08:00:00 +2013,10,25,1014,1020,-6,1314,1309,5,"B6",53,"N807JB","JFK","PBI",157,1028,10,20,2013-10-25 10:00:00 +2013,10,25,1042,1025,17,1153,1140,13,"MQ",3611,"N539MQ","EWR","ORD",105,719,10,25,2013-10-25 10:00:00 +2013,10,25,1051,1055,-4,1355,1353,2,"B6",1,"N586JB","JFK","FLL",155,1069,10,55,2013-10-25 10:00:00 +2013,10,25,1252,1256,-4,1552,1602,-10,"DL",1375,"N3772H","JFK","SLC",270,1990,12,56,2013-10-25 12:00:00 +2013,10,25,1618,1555,23,1855,1828,27,"DL",1705,"N373NW","LGA","MSY",164,1183,15,55,2013-10-25 15:00:00 +2013,10,25,1853,1840,13,2112,2116,-4,"DL",87,"N854NW","JFK","ATL",104,760,18,40,2013-10-25 18:00:00 +2013,10,25,1915,1930,-15,2123,2049,34,"EV",5769,"N828AS","LGA","IAD",53,229,19,30,2013-10-25 19:00:00 +2013,10,25,1936,1925,11,2230,2247,-17,"DL",2307,"N355NW","JFK","SAT",216,1587,19,25,2013-10-25 19:00:00 +2013,10,25,2000,1945,15,2048,2059,-11,"9E",3843,"N8506C","JFK","PHL",25,94,19,45,2013-10-25 19:00:00 +2013,10,25,2013,1930,43,2218,2159,19,"DL",2142,"N318NB","EWR","ATL",100,746,19,30,2013-10-25 19:00:00 +2013,10,25,NA,2045,NA,NA,2359,NA,"DL",443,"N722TW","JFK","SEA",NA,2422,20,45,2013-10-25 20:00:00 +2013,10,26,555,600,-5,819,829,-10,"EV",5661,"N17560","EWR","ATL",112,746,6,0,2013-10-26 06:00:00 +2013,10,26,651,659,-8,903,921,-18,"UA",265,"N412UA","EWR","MSY",163,1167,6,59,2013-10-26 06:00:00 +2013,10,26,912,915,-3,1108,1110,-2,"EV",5222,"N232PQ","EWR","DTW",89,488,9,15,2013-10-26 09:00:00 +2013,10,26,1728,1730,-2,1851,1852,-1,"B6",86,"N183JB","JFK","ROC",54,264,17,30,2013-10-26 17:00:00 +2013,10,26,1737,1735,2,2041,2107,-26,"UA",1284,"N13248","EWR","SFO",339,2565,17,35,2013-10-26 17:00:00 +2013,10,26,1836,1840,-4,2002,2002,0,"EV",4131,"N17560","EWR","RIC",55,277,18,40,2013-10-26 18:00:00 +2013,10,27,651,653,-2,950,1001,-11,"UA",1299,"N27421","EWR","RSW",160,1068,6,53,2013-10-27 06:00:00 +2013,10,27,729,736,-7,903,920,-17,"B6",885,"N351JB","JFK","RDU",68,427,7,36,2013-10-27 07:00:00 +2013,10,27,808,811,-3,1051,1106,-15,"B6",1783,"N590JB","JFK","MCO",134,944,8,11,2013-10-27 08:00:00 +2013,10,27,915,919,-4,1125,1128,-3,"EV",4087,"N11548","EWR","IND",101,645,9,19,2013-10-27 09:00:00 +2013,10,27,1158,1200,-2,1349,1358,-9,"US",1973,"N193UW","JFK","CLT",77,541,12,0,2013-10-27 12:00:00 +2013,10,27,1234,1239,-5,1409,1420,-11,"EV",4335,"N11544","EWR","CMH",76,463,12,39,2013-10-27 12:00:00 +2013,10,27,1835,1815,20,2011,2015,-4,"WN",1113,"N782SA","LGA","STL",129,888,18,15,2013-10-27 18:00:00 +2013,10,27,1951,1956,-5,2138,2155,-17,"DL",2131,"N333NB","LGA","DTW",80,502,19,56,2013-10-27 19:00:00 +2013,10,28,725,725,0,948,1008,-20,"UA",598,"N676UA","EWR","IAH",183,1400,7,25,2013-10-28 07:00:00 +2013,10,28,750,755,-5,1115,1110,5,"AA",59,"N349AA","JFK","SFO",360,2586,7,55,2013-10-28 07:00:00 +2013,10,28,759,759,0,908,912,-4,"EV",4866,"N16147","EWR","BTV",44,266,7,59,2013-10-28 07:00:00 +2013,10,28,1156,1200,-4,1507,1506,1,"DL",423,"N713TW","JFK","LAX",348,2475,12,0,2013-10-28 12:00:00 +2013,10,28,1311,1310,1,1527,1530,-3,"FL",348,"N983AT","LGA","ATL",108,762,13,10,2013-10-28 13:00:00 +2013,10,28,1544,1529,15,1912,1847,25,"UA",1246,"N78511","EWR","SFO",368,2565,15,29,2013-10-28 15:00:00 +2013,10,28,1701,1704,-3,1943,1958,-15,"UA",525,"N434UA","LGA","IAH",199,1416,17,4,2013-10-28 17:00:00 +2013,10,28,1708,1710,-2,1817,1830,-13,"UA",1064,"N16709","EWR","BOS",46,200,17,10,2013-10-28 17:00:00 +2013,10,28,1718,1717,1,1903,1908,-5,"EV",4411,"N12996","EWR","MEM",144,946,17,17,2013-10-28 17:00:00 +2013,10,28,1959,2001,-2,2236,2252,-16,"B6",883,"N508JB","JFK","MCO",128,944,20,1,2013-10-28 20:00:00 +2013,10,28,2015,2025,-10,2238,2242,-4,"EV",4085,"N13133","EWR","OMA",174,1134,20,25,2013-10-28 20:00:00 +2013,10,29,559,600,-1,718,715,3,"WN",464,"N281WN","EWR","MDW",115,711,6,0,2013-10-29 06:00:00 +2013,10,29,727,735,-8,1021,1035,-14,"AA",2279,"N3JDAA","LGA","MIA",141,1096,7,35,2013-10-29 07:00:00 +2013,10,29,803,810,-7,1031,1111,-40,"DL",1167,"N310DE","JFK","TPA",135,1005,8,10,2013-10-29 08:00:00 +2013,10,29,821,830,-9,956,1007,-11,"9E",3579,"N8837B","LGA","IAD",48,229,8,30,2013-10-29 08:00:00 +2013,10,29,825,830,-5,1040,1033,7,"DL",2119,"N341NW","LGA","MSP",167,1020,8,30,2013-10-29 08:00:00 +2013,10,29,934,940,-6,1058,1120,-22,"AA",317,"N504AA","LGA","ORD",120,733,9,40,2013-10-29 09:00:00 +2013,10,29,1023,951,32,1244,1207,37,"UA",256,"N454UA","EWR","DEN",243,1605,9,51,2013-10-29 09:00:00 +2013,10,29,1444,1450,-6,1654,1645,9,"MQ",3588,"N511MQ","LGA","MSP",170,1020,14,50,2013-10-29 14:00:00 +2013,10,29,1524,1528,-4,1645,1659,-14,"EV",4502,"N16561","EWR","BNA",121,748,15,28,2013-10-29 15:00:00 +2013,10,30,704,710,-6,1002,1000,2,"AA",2493,"N619AA","JFK","MCO",143,944,7,10,2013-10-30 07:00:00 +2013,10,30,756,800,-4,1013,1005,8,"9E",3353,"N933XJ","JFK","DTW",106,509,8,0,2013-10-30 08:00:00 +2013,10,30,835,840,-5,1036,1100,-24,"EV",5475,"N758EV","LGA","CLT",87,544,8,40,2013-10-30 08:00:00 +2013,10,30,858,857,1,1204,1151,13,"UA",997,"N571UA","EWR","LAX",338,2454,8,57,2013-10-30 08:00:00 +2013,10,30,1023,1030,-7,1341,1355,-14,"VX",187,"N631VA","EWR","SFO",362,2565,10,30,2013-10-30 10:00:00 +2013,10,30,1257,1249,8,1454,1512,-18,"UA",1444,"N23708","EWR","MSY",163,1167,12,49,2013-10-30 12:00:00 +2013,10,30,1429,1436,-7,1544,1557,-13,"B6",286,"N334JB","JFK","ROC",54,264,14,36,2013-10-30 14:00:00 +2013,10,30,1455,1455,0,1846,1849,-3,"B6",703,"N524JB","JFK","SJU",194,1598,14,55,2013-10-30 14:00:00 +2013,10,30,2007,2015,-8,2203,2155,8,"MQ",3535,"N523MQ","JFK","CMH",70,483,20,15,2013-10-30 20:00:00 +2013,10,31,555,600,-5,752,749,3,"DL",731,"N364NW","LGA","DTW",89,502,6,0,2013-10-31 06:00:00 +2013,10,31,909,915,-6,1159,1221,-22,"DL",1885,"N917DL","LGA","MCO",126,950,9,15,2013-10-31 09:00:00 +2013,10,31,914,910,4,1209,1220,-11,"AA",1,"N327AA","JFK","LAX",328,2475,9,10,2013-10-31 09:00:00 +2013,10,31,1151,1200,-9,1309,1315,-6,"US",2179,"N748UW","LGA","DCA",47,214,12,0,2013-10-31 12:00:00 +2013,10,31,1456,1500,-4,1633,1634,-1,"UA",685,"N805UA","LGA","ORD",123,733,15,0,2013-10-31 15:00:00 +2013,10,31,1543,1548,-5,1911,1909,2,"DL",31,"N3737C","JFK","SLC",278,1990,15,48,2013-10-31 15:00:00 +2013,10,31,1759,1803,-4,2027,2111,-44,"UA",237,"N540UA","EWR","LAX",308,2454,18,3,2013-10-31 18:00:00 +2013,10,31,1811,1740,31,2017,1931,46,"EV",3843,"N16911","EWR","CMH",94,463,17,40,2013-10-31 17:00:00 +2013,10,31,1826,1830,-4,2043,2046,-3,"DL",2002,"N917DE","JFK","DTW",86,509,18,30,2013-10-31 18:00:00 +2013,11,1,957,1005,-8,1209,1217,-8,"DL",2319,"N355NW","LGA","MSP",142,1020,10,5,2013-11-01 10:00:00 +2013,11,1,1341,1345,-4,1534,1520,14,"MQ",3305,"N507MQ","LGA","RDU",79,431,13,45,2013-11-01 13:00:00 +2013,11,1,1536,1444,52,1710,1641,29,"EV",4949,"N730EV","LGA","GSO",76,461,14,44,2013-11-01 14:00:00 +2013,11,1,1545,1521,24,1827,1807,20,"UA",598,"N579UA","EWR","IAH",204,1400,15,21,2013-11-01 15:00:00 +2013,11,1,1813,1815,-2,1956,2021,-25,"DL",2019,"N369NW","LGA","MSP",145,1020,18,15,2013-11-01 18:00:00 +2013,11,1,1933,1935,-2,2243,2250,-7,"AA",2437,"N3ADAA","LGA","MIA",157,1096,19,35,2013-11-01 19:00:00 +2013,11,1,1946,1956,-10,2140,2155,-15,"DL",2131,"N318NB","LGA","DTW",79,502,19,56,2013-11-01 19:00:00 +2013,11,2,759,754,5,908,911,-3,"B6",1307,"N298JB","JFK","IAD",52,228,7,54,2013-11-02 07:00:00 +2013,11,2,1350,1359,-9,1449,1511,-22,"UA",1703,"N57111","EWR","BOS",39,200,13,59,2013-11-02 13:00:00 +2013,11,2,1532,1530,2,1700,1701,-1,"EV",3812,"N11547","EWR","BNA",120,748,15,30,2013-11-02 15:00:00 +2013,11,2,1542,1545,-3,1929,1942,-13,"DL",689,"N37700","JFK","SJU",199,1598,15,45,2013-11-02 15:00:00 +2013,11,2,1614,1611,3,1914,1915,-1,"B6",753,"N621JB","JFK","PBI",154,1028,16,11,2013-11-02 16:00:00 +2013,11,2,1921,1925,-4,2216,2244,-28,"DL",2307,"N332NW","JFK","SAT",222,1587,19,25,2013-11-02 19:00:00 +2013,11,3,1018,1023,-5,1208,1218,-10,"US",1745,"N569UW","EWR","CLT",86,529,10,23,2013-11-03 10:00:00 +2013,11,3,1054,1100,-6,1322,1352,-30,"DL",695,"N915DE","JFK","MCO",130,944,11,0,2013-11-03 11:00:00 +2013,11,3,1205,1205,0,1323,1330,-7,"WN",483,"N220WN","EWR","MDW",114,711,12,5,2013-11-03 12:00:00 +2013,11,3,1255,1300,-5,1507,1522,-15,"DL",2043,"N341NB","JFK","ATL",108,760,13,0,2013-11-03 13:00:00 +2013,11,3,1300,1310,-10,1409,1429,-20,"EV",3805,"N14543","EWR","RIC",53,277,13,10,2013-11-03 13:00:00 +2013,11,3,1429,1429,0,1741,1737,4,"B6",301,"N569JB","JFK","FLL",149,1069,14,29,2013-11-03 14:00:00 +2013,11,3,1929,1930,-1,2325,2324,1,"DL",435,"N624AG","JFK","SFO",364,2586,19,30,2013-11-03 19:00:00 +2013,11,3,1936,1940,-4,2103,2125,-22,"MQ",3374,"N854MQ","JFK","RDU",64,427,19,40,2013-11-03 19:00:00 +2013,11,3,1943,1937,6,2209,2139,30,"EV",4370,"N12564","EWR","CHS",91,628,19,37,2013-11-03 19:00:00 +2013,11,3,2011,2016,-5,2202,2154,8,"EV",4106,"N11547","EWR","GSO",73,445,20,16,2013-11-03 20:00:00 +2013,11,3,2040,2040,0,13,2359,14,"B6",523,"N796JB","JFK","LAX",350,2475,20,40,2013-11-03 20:00:00 +2013,11,3,2232,2154,38,2338,2306,32,"UA",523,"N405UA","EWR","BOS",39,200,21,54,2013-11-03 21:00:00 +2013,11,3,2241,2245,-4,2348,3,-15,"B6",486,"N375JB","JFK","ROC",51,264,22,45,2013-11-03 22:00:00 +2013,11,4,621,630,-9,912,919,-7,"B6",1099,"N746JB","LGA","MCO",131,950,6,30,2013-11-04 06:00:00 +2013,11,4,633,635,-2,841,833,8,"EV",4535,"N10156","EWR","MSP",165,1008,6,35,2013-11-04 06:00:00 +2013,11,4,830,837,-7,932,939,-7,"EV",4249,"N11565","EWR","BWI",36,169,8,37,2013-11-04 08:00:00 +2013,11,4,1006,1010,-4,1240,1243,-3,"9E",3512,"N921XJ","LGA","IND",103,660,10,10,2013-11-04 10:00:00 +2013,11,4,1256,1300,-4,1423,1413,10,"US",2181,"N730US","LGA","DCA",44,214,13,0,2013-11-04 13:00:00 +2013,11,4,1257,1300,-3,1610,1550,20,"AA",1145,"N3HAAA","LGA","DFW",208,1389,13,0,2013-11-04 13:00:00 +2013,11,4,1312,1300,12,1557,1605,-8,"UA",1158,"N39418","EWR","MIA",145,1085,13,0,2013-11-04 13:00:00 +2013,11,4,1332,1325,7,1443,1436,7,"B6",308,"N353JB","JFK","PWM",49,273,13,25,2013-11-04 13:00:00 +2013,11,4,1413,1417,-4,1658,1646,12,"UA",587,"N822UA","EWR","LAS",327,2227,14,17,2013-11-04 14:00:00 +2013,11,4,1719,1729,-10,1946,1937,9,"EV",3849,"N16954","EWR","CVG",116,569,17,29,2013-11-04 17:00:00 +2013,11,5,555,600,-5,745,754,-9,"DL",731,"N334NB","LGA","DTW",83,502,6,0,2013-11-05 06:00:00 +2013,11,5,631,639,-8,834,853,-19,"EV",4412,"N14168","EWR","MSP",157,1008,6,39,2013-11-05 06:00:00 +2013,11,5,947,953,-6,1234,1256,-22,"B6",5,"N633JB","EWR","FLL",141,1065,9,53,2013-11-05 09:00:00 +2013,11,5,1335,1345,-10,1622,1700,-38,"AA",1073,"N3FDAA","LGA","MIA",147,1096,13,45,2013-11-05 13:00:00 +2013,11,5,1541,1550,-9,1711,1730,-19,"MQ",3416,"N542MQ","LGA","RDU",72,431,15,50,2013-11-05 15:00:00 +2013,11,6,616,620,-4,812,810,2,"MQ",3351,"N508MQ","LGA","DTW",94,502,6,20,2013-11-06 06:00:00 +2013,11,6,634,635,-1,901,849,12,"EV",4412,"N12201","EWR","MSP",167,1008,6,35,2013-11-06 06:00:00 +2013,11,6,747,759,-12,1025,1032,-7,"DL",2047,"N967DL","LGA","ATL",123,762,7,59,2013-11-06 07:00:00 +2013,11,6,749,800,-11,900,915,-15,"US",2171,"N764US","LGA","DCA",45,214,8,0,2013-11-06 08:00:00 +2013,11,6,805,800,5,1017,1016,1,"9E",2921,"N930XJ","JFK","MSP",169,1029,8,0,2013-11-06 08:00:00 +2013,11,6,832,840,-8,1022,1020,2,"MQ",3531,"N834MQ","LGA","RDU",77,431,8,40,2013-11-06 08:00:00 +2013,11,6,1123,1132,-9,1235,1253,-18,"EV",5797,"N13975","EWR","RIC",53,277,11,32,2013-11-06 11:00:00 +2013,11,6,1135,1145,-10,1240,1310,-30,"EV",3827,"N11547","EWR","ORF",49,284,11,45,2013-11-06 11:00:00 +2013,11,6,1146,1150,-4,1310,1325,-15,"WN",3566,"N236WN","LGA","BNA",121,764,11,50,2013-11-06 11:00:00 +2013,11,6,1402,1405,-3,1701,1712,-11,"UA",235,"N835UA","EWR","SAN",344,2425,14,5,2013-11-06 14:00:00 +2013,11,6,1539,1545,-6,1818,1815,3,"WN",3778,"N771SA","EWR","DEN",241,1605,15,45,2013-11-06 15:00:00 +2013,11,6,1824,1830,-6,2145,2149,-4,"DL",413,"N970DL","JFK","MIA",148,1089,18,30,2013-11-06 18:00:00 +2013,11,6,1931,1935,-4,2228,2250,-22,"AA",2437,"N3DEAA","LGA","MIA",150,1096,19,35,2013-11-06 19:00:00 +2013,11,7,555,600,-5,909,854,15,"B6",605,"N508JB","EWR","FLL",149,1065,6,0,2013-11-07 06:00:00 +2013,11,7,1249,1259,-10,1419,1428,-9,"EV",4622,"N34110","EWR","BNA",131,748,12,59,2013-11-07 12:00:00 +2013,11,7,1624,1627,-3,1835,1846,-11,"EV",4294,"N10575","EWR","SAV",115,708,16,27,2013-11-07 16:00:00 +2013,11,7,1809,1804,5,2143,2135,8,"UA",1481,"N24706","EWR","PHX",304,2133,18,4,2013-11-07 18:00:00 +2013,11,7,1843,1845,-2,2210,2210,0,"AA",177,"N336AA","JFK","SFO",355,2586,18,45,2013-11-07 18:00:00 +2013,11,7,1924,1720,124,2241,2030,131,"AA",291,"N3HVAA","JFK","AUS",234,1521,17,20,2013-11-07 17:00:00 +2013,11,7,1959,2001,-2,2307,2252,15,"B6",883,"N591JB","JFK","MCO",143,944,20,1,2013-11-07 20:00:00 +2013,11,7,2058,2100,-2,2209,2206,3,"US",2164,"N945UW","LGA","BOS",37,184,21,0,2013-11-07 21:00:00 +2013,11,8,713,719,-6,920,941,-21,"UA",573,"N830UA","EWR","MSY",173,1167,7,19,2013-11-08 07:00:00 +2013,11,8,852,900,-8,1006,1023,-17,"US",2173,"N770UW","LGA","DCA",42,214,9,0,2013-11-08 09:00:00 +2013,11,8,902,906,-4,1020,1019,1,"EV",5858,"N18557","EWR","DCA",41,199,9,6,2013-11-08 09:00:00 +2013,11,8,1055,1056,-1,1216,1230,-14,"EV",5309,"N738EV","LGA","BGR",55,378,10,56,2013-11-08 10:00:00 +2013,11,8,1309,1315,-6,1644,1657,-13,"US",456,"N669AW","JFK","PHX",317,2153,13,15,2013-11-08 13:00:00 +2013,11,8,1311,1315,-4,1506,1506,0,"US",802,"N174US","EWR","CLT",87,529,13,15,2013-11-08 13:00:00 +2013,11,8,1323,1325,-2,1501,1527,-26,"EV",5299,"N724EV","LGA","MEM",141,963,13,25,2013-11-08 13:00:00 +2013,11,8,1448,1450,-2,1647,1712,-25,"9E",2903,"N922XJ","JFK","CLT",86,541,14,50,2013-11-08 14:00:00 +2013,11,8,1627,1630,-3,2003,2010,-7,"VX",27,"N854VA","JFK","SFO",363,2586,16,30,2013-11-08 16:00:00 +2013,11,8,1816,1745,31,1938,1920,18,"EV",4191,"N15983","EWR","BNA",119,748,17,45,2013-11-08 17:00:00 +2013,11,8,1900,1900,0,2036,2043,-7,"UA",654,"N404UA","EWR","ORD",119,719,19,0,2013-11-08 19:00:00 +2013,11,8,1903,1910,-7,2228,2215,13,"AA",21,"N335AA","JFK","LAX",317,2475,19,10,2013-11-08 19:00:00 +2013,11,8,2143,2139,4,2308,2302,6,"B6",702,"N238JB","JFK","BUF",63,301,21,39,2013-11-08 21:00:00 +2013,11,9,624,615,9,859,915,-16,"UA",482,"N495UA","EWR","FLL",140,1065,6,15,2013-11-09 06:00:00 +2013,11,9,638,625,13,752,755,-3,"WN",3848,"N8606C","LGA","MDW",121,725,6,25,2013-11-09 06:00:00 +2013,11,9,1307,1310,-3,1546,1610,-24,"UA",624,"N411UA","EWR","MIA",144,1085,13,10,2013-11-09 13:00:00 +2013,11,9,1402,1415,-13,1530,1550,-20,"AA",1170,"N4XGAA","LGA","STL",133,888,14,15,2013-11-09 14:00:00 +2013,11,9,1529,1530,-1,1816,1829,-13,"B6",83,"N715JB","JFK","MCO",135,944,15,30,2013-11-09 15:00:00 +2013,11,9,1641,1642,-1,1918,1915,3,"EV",4705,"N11551","EWR","ATL",119,746,16,42,2013-11-09 16:00:00 +2013,11,9,1731,1730,1,2014,2022,-8,"B6",983,"N554JB","JFK","MCO",137,944,17,30,2013-11-09 17:00:00 +2013,11,9,1826,1830,-4,2155,2155,0,"DL",442,"N704X","JFK","SEA",353,2422,18,30,2013-11-09 18:00:00 +2013,11,9,2015,2001,14,2247,2252,-5,"B6",883,"N510JB","JFK","MCO",130,944,20,1,2013-11-09 20:00:00 +2013,11,9,2046,2050,-4,108,135,-27,"UA",1071,"N37253","EWR","BQN",184,1585,20,50,2013-11-09 20:00:00 +2013,11,10,551,600,-9,846,905,-19,"AA",1175,"N3AUAA","LGA","MIA",150,1096,6,0,2013-11-10 06:00:00 +2013,11,10,814,810,4,1100,1108,-8,"DL",1109,"N340NB","LGA","TPA",150,1010,8,10,2013-11-10 08:00:00 +2013,11,10,921,930,-9,1157,1221,-24,"B6",199,"N638JB","LGA","MCO",136,950,9,30,2013-11-10 09:00:00 +2013,11,10,1152,1150,2,1508,1526,-18,"UA",1723,"N73259","EWR","SFO",357,2565,11,50,2013-11-10 11:00:00 +2013,11,10,1414,1328,46,1553,1530,23,"EV",5299,"N722EV","LGA","MEM",138,963,13,28,2013-11-10 13:00:00 +2013,11,10,1551,1549,2,1841,1859,-18,"UA",1023,"N38446","EWR","RSW",154,1068,15,49,2013-11-10 15:00:00 +2013,11,10,1555,1600,-5,1737,1741,-4,"UA",1051,"N23708","LGA","ORD",129,733,16,0,2013-11-10 16:00:00 +2013,11,10,1557,1600,-3,1850,1903,-13,"B6",305,"N566JB","EWR","FLL",156,1065,16,0,2013-11-10 16:00:00 +2013,11,10,1725,1729,-4,2027,1951,36,"F9",837,"N206FR","LGA","DEN",242,1620,17,29,2013-11-10 17:00:00 +2013,11,10,1825,1829,-4,2035,2033,2,"US",1751,"N156UW","EWR","CLT",84,529,18,29,2013-11-10 18:00:00 +2013,11,10,1833,1834,-1,2125,2100,25,"9E",2923,"N294PQ","JFK","MSP",175,1029,18,34,2013-11-10 18:00:00 +2013,11,10,2021,2025,-4,2304,2335,-31,"UA",256,"N825UA","EWR","MIA",145,1085,20,25,2013-11-10 20:00:00 +2013,11,11,743,750,-7,851,912,-21,"EV",3815,"N29917","EWR","ROC",48,246,7,50,2013-11-11 07:00:00 +2013,11,11,811,815,-4,1021,1052,-31,"DL",1429,"N651DL","JFK","LAS",291,2248,8,15,2013-11-11 08:00:00 +2013,11,11,932,936,-4,1035,1052,-17,"B6",116,"N267JB","JFK","SYR",46,209,9,36,2013-11-11 09:00:00 +2013,11,11,957,1000,-3,1341,1333,8,"DL",469,"N705TW","JFK","SFO",351,2586,10,0,2013-11-11 10:00:00 +2013,11,11,1052,1100,-8,1142,1210,-28,"US",2144,"N953UW","LGA","BOS",32,184,11,0,2013-11-11 11:00:00 +2013,11,11,1258,1259,-1,1527,1546,-19,"UA",866,"N460UA","EWR","LAS",309,2227,12,59,2013-11-11 12:00:00 +2013,11,11,1334,1330,4,1618,1634,-16,"B6",431,"N579JB","LGA","SRQ",145,1047,13,30,2013-11-11 13:00:00 +2013,11,11,1444,1449,-5,1728,1803,-35,"UA",501,"N479UA","LGA","IAH",205,1416,14,49,2013-11-11 14:00:00 +2013,11,11,1500,1505,-5,1717,1655,22,"MQ",3391,"N803MQ","LGA","CMH",80,479,15,5,2013-11-11 15:00:00 +2013,11,11,1543,1545,-2,1756,1756,0,"EV",4576,"N13989","EWR","GRR",113,605,15,45,2013-11-11 15:00:00 +2013,11,11,1600,1545,15,1836,1815,21,"WN",3778,"N727SW","EWR","DEN",253,1605,15,45,2013-11-11 15:00:00 +2013,11,11,1756,1800,-4,1930,1944,-14,"EV",5451,"N723EV","LGA","PIT",58,335,18,0,2013-11-11 18:00:00 +2013,11,11,1926,1855,31,2122,2035,47,"AA",359,"N547AA","LGA","ORD",132,733,18,55,2013-11-11 18:00:00 +2013,11,12,619,623,-4,750,738,12,"EV",4533,"N14570","EWR","BUF",56,282,6,23,2013-11-12 06:00:00 +2013,11,12,726,730,-4,823,844,-21,"UA",424,"N413UA","EWR","BOS",35,200,7,30,2013-11-12 07:00:00 +2013,11,12,1244,1245,-1,1558,1555,3,"WN",1428,"N905WN","EWR","HOU",239,1411,12,45,2013-11-12 12:00:00 +2013,11,12,1346,1259,47,1617,1511,66,"EV",5207,"N716EV","LGA","CLT",93,544,12,59,2013-11-12 12:00:00 +2013,11,12,1713,1630,43,1959,1940,19,"AA",181,"N328AA","JFK","LAX",317,2475,16,30,2013-11-12 16:00:00 +2013,11,12,1713,1710,3,1956,2017,-21,"DL",1519,"N385DN","EWR","SLC",267,1969,17,10,2013-11-12 17:00:00 +2013,11,12,1812,1804,8,2126,2135,-9,"UA",1481,"N37468","EWR","PHX",285,2133,18,4,2013-11-12 18:00:00 +2013,11,12,1928,1929,-1,2158,2222,-24,"DL",1729,"N380DA","JFK","LAS",295,2248,19,29,2013-11-12 19:00:00 +2013,11,12,2304,2250,14,24,8,16,"B6",2002,"N329JB","JFK","BUF",55,301,22,50,2013-11-12 22:00:00 +2013,11,13,753,800,-7,1048,1053,-5,"DL",1959,"N624AG","JFK","MCO",137,944,8,0,2013-11-13 08:00:00 +2013,11,13,908,915,-7,1232,1235,-3,"DL",874,"N963DL","LGA","MIA",150,1096,9,15,2013-11-13 09:00:00 +2013,11,13,916,900,16,1145,1139,6,"DL",1747,"N3757D","LGA","ATL",101,762,9,0,2013-11-13 09:00:00 +2013,11,13,954,959,-5,1110,1116,-6,"EV",5711,"N827AS","JFK","IAD",50,228,9,59,2013-11-13 09:00:00 +2013,11,13,1007,1015,-8,1159,1218,-19,"US",893,"N172US","JFK","CLT",83,541,10,15,2013-11-13 10:00:00 +2013,11,13,1024,853,91,1259,1207,52,"UA",378,"N455UA","EWR","IAH",186,1400,8,53,2013-11-13 08:00:00 +2013,11,13,1042,1045,-3,1250,1320,-30,"EV",4679,"N14203","EWR","JAX",113,820,10,45,2013-11-13 10:00:00 +2013,11,13,1126,1125,1,1253,1310,-17,"AA",327,"N3CCAA","LGA","ORD",107,733,11,25,2013-11-13 11:00:00 +2013,11,13,1255,1300,-5,1521,1550,-29,"AA",1145,"N3KWAA","LGA","DFW",181,1389,13,0,2013-11-13 13:00:00 +2013,11,13,1629,1621,8,1905,1839,26,"EV",5601,"N717EV","LGA","CLT",79,544,16,21,2013-11-13 16:00:00 +2013,11,13,1750,1650,60,2023,1920,63,"WN",356,"N281WN","LGA","DEN",212,1620,16,50,2013-11-13 16:00:00 +2013,11,13,1807,1808,-1,2047,2134,-47,"UA",1165,"N14214","EWR","LAX",310,2454,18,8,2013-11-13 18:00:00 +2013,11,13,1825,1830,-5,2127,2149,-22,"DL",413,"N999DN","JFK","MIA",141,1089,18,30,2013-11-13 18:00:00 +2013,11,13,1856,1858,-2,2201,2210,-9,"UA",541,"N459UA","EWR","SEA",326,2402,18,58,2013-11-13 18:00:00 +2013,11,13,1937,1920,17,2103,2055,8,"WN",152,"N284WN","LGA","MKE",106,738,19,20,2013-11-13 19:00:00 +2013,11,14,556,600,-4,716,719,-3,"EV",6177,"N16963","EWR","IAD",42,212,6,0,2013-11-14 06:00:00 +2013,11,14,604,600,4,926,933,-7,"UA",1668,"N24224","EWR","SFO",355,2565,6,0,2013-11-14 06:00:00 +2013,11,14,1012,1018,-6,1128,1137,-9,"EV",6054,"N16546","EWR","IAD",43,212,10,18,2013-11-14 10:00:00 +2013,11,14,1022,1025,-3,1343,1400,-17,"UA",642,"N595UA","JFK","SFO",353,2586,10,25,2013-11-14 10:00:00 +2013,11,14,1023,1025,-2,1121,1127,-6,"B6",518,"N318JB","JFK","BOS",41,187,10,25,2013-11-14 10:00:00 +2013,11,14,1024,1030,-6,1311,1324,-13,"B6",925,"N587JB","JFK","TPA",142,1005,10,30,2013-11-14 10:00:00 +2013,11,14,1146,1145,1,1258,1315,-17,"WN",172,"N7738A","LGA","MDW",110,725,11,45,2013-11-14 11:00:00 +2013,11,14,1219,1200,19,1447,1437,10,"DL",1947,"N980DL","LGA","ATL",111,762,12,0,2013-11-14 12:00:00 +2013,11,14,1452,1455,-3,1942,1951,-9,"DL",1,"N3745B","JFK","SJU",197,1598,14,55,2013-11-14 14:00:00 +2013,11,14,1953,2000,-7,2104,2117,-13,"9E",2950,"N8847A","JFK","BWI",36,184,20,0,2013-11-14 20:00:00 +2013,11,15,610,615,-5,806,818,-12,"US",1989,"N171US","EWR","CLT",86,529,6,15,2013-11-15 06:00:00 +2013,11,15,656,700,-4,1008,1015,-7,"B6",23,"N827JB","JFK","LAX",348,2475,7,0,2013-11-15 07:00:00 +2013,11,15,1056,1100,-4,1237,1304,-27,"DL",1869,"N314NB","LGA","DTW",80,502,11,0,2013-11-15 11:00:00 +2013,11,15,1448,1450,-2,1600,1624,-24,"9E",2936,"N8894A","JFK","IAD",47,228,14,50,2013-11-15 14:00:00 +2013,11,15,1527,1530,-3,1844,1845,-1,"AA",85,"N347AA","JFK","SFO",351,2586,15,30,2013-11-15 15:00:00 +2013,11,15,1626,1635,-9,1753,1815,-22,"MQ",2949,"N691MQ","JFK","BNA",126,765,16,35,2013-11-15 16:00:00 +2013,11,15,1937,1935,2,2134,2120,14,"9E",2909,"N922XJ","JFK","RIC",61,288,19,35,2013-11-15 19:00:00 +2013,11,16,722,725,-3,839,900,-21,"WN",2020,"N621SW","EWR","BNA",119,748,7,25,2013-11-16 07:00:00 +2013,11,16,829,800,29,1128,1100,28,"AA",33,"N336AA","JFK","LAX",339,2475,8,0,2013-11-16 08:00:00 +2013,11,16,922,930,-8,1209,1237,-28,"B6",271,"N598JB","LGA","FLL",151,1076,9,30,2013-11-16 09:00:00 +2013,11,16,929,935,-6,1229,1244,-15,"DL",1174,"N317NB","LGA","PBI",150,1035,9,35,2013-11-16 09:00:00 +2013,11,16,1307,1315,-8,1609,1630,-21,"B6",1639,"N635JB","LGA","RSW",158,1080,13,15,2013-11-16 13:00:00 +2013,11,16,1425,1429,-4,1727,1737,-10,"B6",301,"N746JB","JFK","FLL",141,1069,14,29,2013-11-16 14:00:00 +2013,11,16,1627,1530,57,1948,1905,43,"UA",257,"N510UA","JFK","SFO",361,2586,15,30,2013-11-16 15:00:00 +2013,11,16,1647,1642,5,1915,1915,0,"EV",4705,"N13553","EWR","ATL",122,746,16,42,2013-11-16 16:00:00 +2013,11,16,1747,1559,108,1934,1746,108,"B6",1105,"N192JB","JFK","ORD",129,740,15,59,2013-11-16 15:00:00 +2013,11,16,1927,1629,178,2200,1932,148,"B6",1161,"N640JB","LGA","PBI",139,1035,16,29,2013-11-16 16:00:00 +2013,11,16,1955,2005,-10,2231,2310,-39,"B6",1201,"N329JB","JFK","FLL",140,1069,20,5,2013-11-16 20:00:00 +2013,11,17,3,2250,73,111,2356,75,"B6",1816,"N265JB","JFK","SYR",44,209,22,50,2013-11-17 22:00:00 +2013,11,17,622,630,-8,831,835,-4,"US",1946,"N172US","EWR","CLT",102,529,6,30,2013-11-17 06:00:00 +2013,11,17,1136,1130,6,1342,1344,-2,"DL",2219,"N922DL","LGA","MSP",149,1020,11,30,2013-11-17 11:00:00 +2013,11,17,1352,1400,-8,1453,1515,-22,"US",2183,"N732US","LGA","DCA",40,214,14,0,2013-11-17 14:00:00 +2013,11,17,1532,1515,17,1705,1656,9,"9E",2933,"N919XJ","JFK","ROC",47,264,15,15,2013-11-17 15:00:00 +2013,11,17,1726,1715,11,2030,1905,85,"AA",345,"N4YSAA","LGA","ORD",149,733,17,15,2013-11-17 17:00:00 +2013,11,17,2026,2020,6,7,2359,8,"UA",1651,"N27205","EWR","SFO",384,2565,20,20,2013-11-17 20:00:00 +2013,11,17,2052,2050,2,107,135,-28,"UA",1071,"N14250","EWR","BQN",179,1585,20,50,2013-11-17 20:00:00 +2013,11,18,624,630,-6,928,938,-10,"B6",929,"N760JB","JFK","RSW",159,1074,6,30,2013-11-18 06:00:00 +2013,11,18,654,700,-6,930,951,-21,"DL",2285,"N371NW","LGA","MCO",132,950,7,0,2013-11-18 07:00:00 +2013,11,18,845,820,25,1218,1155,23,"UA",1043,"N27421","EWR","PHX",307,2133,8,20,2013-11-18 08:00:00 +2013,11,18,1404,1406,-2,1709,1722,-13,"B6",895,"N649JB","JFK","AUS",228,1521,14,6,2013-11-18 14:00:00 +2013,11,18,1455,1505,-10,1645,1655,-10,"MQ",3391,"N832MQ","LGA","CMH",85,479,15,5,2013-11-18 15:00:00 +2013,11,18,1645,1645,0,1908,1909,-1,"DL",2042,"N338NB","EWR","ATL",111,746,16,45,2013-11-18 16:00:00 +2013,11,18,1708,1659,9,1852,1859,-7,"DL",1518,"N355NW","EWR","DTW",86,488,16,59,2013-11-18 16:00:00 +2013,11,18,1714,1720,-6,2021,2030,-9,"AA",291,"N3AGAA","JFK","AUS",227,1521,17,20,2013-11-18 17:00:00 +2013,11,18,2213,2015,118,38,2312,86,"UA",479,"N422UA","EWR","IAH",190,1400,20,15,2013-11-18 20:00:00 +2013,11,19,627,630,-3,855,901,-6,"DL",479,"N3771K","JFK","ATL",113,760,6,30,2013-11-19 06:00:00 +2013,11,19,637,640,-3,758,805,-7,"WN",1121,"N927WN","LGA","MKE",119,738,6,40,2013-11-19 06:00:00 +2013,11,19,755,805,-10,1045,1104,-19,"DL",346,"N305DQ","JFK","TPA",144,1005,8,5,2013-11-19 08:00:00 +2013,11,19,832,840,-8,1109,1115,-6,"EV",4388,"N13970","EWR","JAX",123,820,8,40,2013-11-19 08:00:00 +2013,11,19,832,835,-3,958,1000,-2,"MQ",3355,"N1EAMQ","LGA","BNA",113,764,8,35,2013-11-19 08:00:00 +2013,11,19,1146,1145,1,1321,1315,6,"WN",172,"N954WN","LGA","MDW",117,725,11,45,2013-11-19 11:00:00 +2013,11,19,1224,1230,-6,1454,1516,-22,"B6",127,"N599JB","EWR","MCO",134,937,12,30,2013-11-19 12:00:00 +2013,11,19,1225,1229,-4,1326,1335,-9,"UA",551,"N818UA","EWR","BOS",41,200,12,29,2013-11-19 12:00:00 +2013,11,19,1255,1259,-4,1439,1438,1,"UA",1198,"N76505","LGA","ORD",121,733,12,59,2013-11-19 12:00:00 +2013,11,19,1552,1600,-8,1857,1905,-8,"AA",1156,"N3ESAA","LGA","DFW",202,1389,16,0,2013-11-19 16:00:00 +2013,11,19,1633,1632,1,2007,2014,-7,"UA",1284,"N37422","EWR","SFO",364,2565,16,32,2013-11-19 16:00:00 +2013,11,19,1721,1725,-4,2027,2040,-13,"VX",169,"N637VA","EWR","LAX",340,2454,17,25,2013-11-19 17:00:00 +2013,11,20,625,629,-4,730,744,-14,"EV",4533,"N14573","EWR","BUF",47,282,6,29,2013-11-20 06:00:00 +2013,11,20,715,730,-15,1017,1055,-38,"VX",183,"N837VA","EWR","SFO",349,2565,7,30,2013-11-20 07:00:00 +2013,11,20,947,959,-12,1101,1116,-15,"EV",5711,"N829AS","JFK","IAD",53,228,9,59,2013-11-20 09:00:00 +2013,11,20,1023,1025,-2,1231,1247,-16,"EV",4495,"N11548","EWR","SAV",113,708,10,25,2013-11-20 10:00:00 +2013,11,20,1454,1500,-6,1803,1803,0,"DL",1935,"N365NB","LGA","TPA",146,1010,15,0,2013-11-20 15:00:00 +2013,11,20,1659,1710,-11,1837,1900,-23,"EV",4202,"N14923","EWR","STL",137,872,17,10,2013-11-20 17:00:00 +2013,11,20,2055,2100,-5,2202,2206,-4,"US",2164,"N961UW","LGA","BOS",38,184,21,0,2013-11-20 21:00:00 +2013,11,21,836,843,-7,1037,1051,-14,"US",2071,"N770UW","LGA","CLT",90,544,8,43,2013-11-21 08:00:00 +2013,11,21,1300,1300,0,1541,1538,3,"DL",781,"N929DL","LGA","ATL",120,762,13,0,2013-11-21 13:00:00 +2013,11,21,1545,1545,0,1744,1810,-26,"MQ",2963,"N652MQ","JFK","CVG",97,589,15,45,2013-11-21 15:00:00 +2013,11,21,1608,1610,-2,1911,1918,-7,"UA",1064,"N36469","EWR","FLL",160,1065,16,10,2013-11-21 16:00:00 +2013,11,21,1725,1705,20,2043,2015,28,"AA",67,"N3FYAA","JFK","SAN",353,2446,17,5,2013-11-21 17:00:00 +2013,11,21,1808,1810,-2,2118,2129,-11,"B6",1013,"N729JB","JFK","LGB",352,2465,18,10,2013-11-21 18:00:00 +2013,11,21,1916,1900,16,2149,2136,13,"DL",947,"N984DL","LGA","ATL",116,762,19,0,2013-11-21 19:00:00 +2013,11,21,2141,2150,-9,2247,2311,-24,"EV",3846,"N14562","EWR","ROC",46,246,21,50,2013-11-21 21:00:00 +2013,11,22,650,655,-5,831,815,16,"WN",3792,"N907WN","LGA","MKE",136,738,6,55,2013-11-22 06:00:00 +2013,11,22,654,655,-1,1031,940,51,"AA",1263,"N3HMAA","JFK","LAS",356,2248,6,55,2013-11-22 06:00:00 +2013,11,22,718,725,-7,924,927,-3,"DL",831,"N347NB","LGA","DTW",93,502,7,25,2013-11-22 07:00:00 +2013,11,22,802,810,-8,1053,1108,-15,"DL",1109,"N314NB","LGA","TPA",140,1010,8,10,2013-11-22 08:00:00 +2013,11,22,827,830,-3,1125,1100,25,"F9",509,"N213FR","LGA","DEN",259,1620,8,30,2013-11-22 08:00:00 +2013,11,22,1206,1200,6,1533,1526,7,"UA",766,"N512UA","JFK","SFO",363,2586,12,0,2013-11-22 12:00:00 +2013,11,22,1938,1900,38,2037,2018,19,"US",2193,"N748UW","LGA","DCA",42,214,19,0,2013-11-22 19:00:00 +2013,11,22,2249,2159,50,4,2322,42,"EV",5311,"N615QX","LGA","BGR",53,378,21,59,2013-11-22 21:00:00 +2013,11,22,2308,1914,234,235,2158,277,"UA",324,"N523UA","EWR","LAS",364,2227,19,14,2013-11-22 19:00:00 +2013,11,23,747,730,17,1039,1026,13,"UA",1148,"N37470","EWR","TPA",151,997,7,30,2013-11-23 07:00:00 +2013,11,23,940,813,87,1043,924,79,"EV",4625,"N14177","EWR","BWI",37,169,8,13,2013-11-23 08:00:00 +2013,11,23,1037,1045,-8,1340,1352,-12,"DL",2506,"N340NB","LGA","FLL",151,1076,10,45,2013-11-23 10:00:00 +2013,11,23,1111,1119,-8,1437,1432,5,"UA",703,"N588UA","JFK","LAX",359,2475,11,19,2013-11-23 11:00:00 +2013,11,23,2022,2015,7,2306,2314,-8,"UA",1466,"N17229","EWR","IAH",209,1400,20,15,2013-11-23 20:00:00 +2013,11,24,741,730,11,1222,1220,2,"B6",1289,"N715JB","EWR","SJU",192,1608,7,30,2013-11-24 07:00:00 +2013,11,24,827,825,2,1029,1029,0,"US",2053,"N105UW","JFK","CLT",99,541,8,25,2013-11-24 08:00:00 +2013,11,24,1107,945,82,1318,1203,75,"EV",5443,"N751EV","LGA","CLT",89,544,9,45,2013-11-24 09:00:00 +2013,11,24,1351,1350,1,1650,1705,-15,"AA",1073,"N3GRAA","LGA","MIA",150,1096,13,50,2013-11-24 13:00:00 +2013,11,24,1428,1435,-7,1602,1625,-23,"EV",5391,"N741EV","LGA","MSN",124,812,14,35,2013-11-24 14:00:00 +2013,11,24,1510,1520,-10,1704,1701,3,"9E",2958,"N8416B","JFK","ROC",58,264,15,20,2013-11-24 15:00:00 +2013,11,24,1754,1720,34,2029,2030,-1,"AA",2488,"N437AA","EWR","DFW",199,1372,17,20,2013-11-24 17:00:00 +2013,11,24,2014,2019,-5,2320,2345,-25,"UA",1224,"N73276","EWR","LAX",332,2454,20,19,2013-11-24 20:00:00 +2013,11,24,2037,2015,22,2335,2354,-19,"DL",427,"N199DN","JFK","LAX",312,2475,20,15,2013-11-24 20:00:00 +2013,11,24,2058,2050,8,133,135,-2,"UA",1071,"N77258","EWR","BQN",190,1585,20,50,2013-11-24 20:00:00 +2013,11,25,752,800,-8,906,936,-30,"UA",711,"N468UA","LGA","ORD",119,733,8,0,2013-11-25 08:00:00 +2013,11,25,754,800,-6,1055,1115,-20,"AA",2267,"N3GLAA","LGA","MIA",154,1096,8,0,2013-11-25 08:00:00 +2013,11,25,852,855,-3,1315,1345,-30,"DL",301,"N709TW","JFK","SJU",188,1598,8,55,2013-11-25 08:00:00 +2013,11,25,1011,1020,-9,1157,1205,-8,"MQ",3466,"N817MQ","LGA","RDU",72,431,10,20,2013-11-25 10:00:00 +2013,11,25,1037,1047,-10,1328,1353,-25,"B6",971,"N613JB","LGA","FLL",151,1076,10,47,2013-11-25 10:00:00 +2013,11,25,1624,1630,-6,1942,1952,-10,"DL",1373,"N329NW","JFK","MIA",159,1089,16,30,2013-11-25 16:00:00 +2013,11,25,1933,1930,3,2137,2138,-1,"EV",4361,"N16954","EWR","TYS",103,631,19,30,2013-11-25 19:00:00 +2013,11,25,2100,2033,27,2224,2206,18,"FL",1159,"N961AT","LGA","CAK",68,397,20,33,2013-11-25 20:00:00 +2013,11,26,626,630,-4,826,830,-4,"MQ",3599,"N527MQ","LGA","MSP",161,1020,6,30,2013-11-26 06:00:00 +2013,11,26,837,842,-5,1006,953,13,"EV",3809,"N13955","EWR","SYR",41,195,8,42,2013-11-26 08:00:00 +2013,11,26,1203,1200,3,1455,1500,-5,"DL",1685,"N998DL","LGA","MCO",143,950,12,0,2013-11-26 12:00:00 +2013,11,26,1257,1300,-3,1534,1538,-4,"DL",781,"N980DL","LGA","ATL",129,762,13,0,2013-11-26 13:00:00 +2013,11,26,1359,1405,-6,1655,1712,-17,"UA",223,"N818UA","EWR","SAN",333,2425,14,5,2013-11-26 14:00:00 +2013,11,26,1524,1510,14,1848,1835,13,"AA",1327,"N3BXAA","LGA","PBI",161,1035,15,10,2013-11-26 15:00:00 +2013,11,26,1538,1543,-5,1801,1752,9,"EV",4667,"N17185","EWR","MSP",150,1008,15,43,2013-11-26 15:00:00 +2013,11,26,1550,1555,-5,1734,1740,-6,"EV",5091,"N744EV","LGA","PIT",63,335,15,55,2013-11-26 15:00:00 +2013,11,26,1642,1645,-3,1750,1805,-15,"EV",4662,"N14907","EWR","ROC",45,246,16,45,2013-11-26 16:00:00 +2013,11,26,1644,1645,-1,1950,2010,-20,"AA",181,"N335AA","JFK","LAX",330,2475,16,45,2013-11-26 16:00:00 +2013,11,26,1844,1830,14,2152,2205,-13,"B6",669,"N519JB","JFK","SJC",341,2569,18,30,2013-11-26 18:00:00 +2013,11,26,1957,2000,-3,2110,2110,0,"AA",2314,"N3KKAA","JFK","BOS",40,187,20,0,2013-11-26 20:00:00 +2013,11,27,629,630,-1,951,922,29,"UA",1627,"N87531","EWR","PBI",179,1023,6,30,2013-11-27 06:00:00 +2013,11,27,748,743,5,1228,1230,-2,"UA",1216,"N37427","EWR","SJU",200,1608,7,43,2013-11-27 07:00:00 +2013,11,27,809,810,-1,1046,1034,12,"DL",2457,"N360NB","LGA","MSY",184,1183,8,10,2013-11-27 08:00:00 +2013,11,27,857,857,0,1156,1210,-14,"UA",997,"N578UA","EWR","LAX",322,2454,8,57,2013-11-27 08:00:00 +2013,11,27,907,915,-8,1231,1235,-4,"DL",874,"N359NB","LGA","MIA",180,1096,9,15,2013-11-27 09:00:00 +2013,11,27,1613,1505,68,1916,1735,101,"EV",5199,"N744EV","LGA","CHS",122,641,15,5,2013-11-27 15:00:00 +2013,11,27,1730,1630,60,2050,2010,40,"VX",27,"N853VA","JFK","SFO",349,2586,16,30,2013-11-27 16:00:00 +2013,11,27,1842,1830,12,2103,2035,28,"US",425,"N553UW","JFK","CLT",91,541,18,30,2013-11-27 18:00:00 +2013,11,27,2036,2030,6,2141,2150,-9,"MQ",3604,"N516MQ","EWR","ORD",103,719,20,30,2013-11-27 20:00:00 +2013,11,27,2059,2000,59,46,2325,81,"VX",415,"N623VA","JFK","LAX",342,2475,20,0,2013-11-27 20:00:00 +2013,11,28,604,610,-6,754,810,-16,"DL",1919,"N908DE","LGA","MSP",150,1020,6,10,2013-11-28 06:00:00 +2013,11,28,842,822,20,1034,1023,11,"EV",4691,"N14570","EWR","DAY",91,533,8,22,2013-11-28 08:00:00 +2013,11,28,928,915,13,1037,1050,-13,"EV",5220,"N759EV","LGA","ROC",44,254,9,15,2013-11-28 09:00:00 +2013,11,28,949,959,-10,1101,1116,-15,"EV",5711,"N827AS","JFK","IAD",50,228,9,59,2013-11-28 09:00:00 +2013,11,28,2129,2135,-6,38,55,-17,"AA",185,"N338AA","JFK","LAX",347,2475,21,35,2013-11-28 21:00:00 +2013,11,29,654,700,-6,812,836,-24,"UA",331,"N405UA","LGA","ORD",121,733,7,0,2013-11-29 07:00:00 +2013,11,29,925,930,-5,1219,1237,-18,"B6",271,"N663JB","LGA","FLL",157,1076,9,30,2013-11-29 09:00:00 +2013,11,29,1037,1040,-3,1201,1159,2,"B6",2602,"N329JB","JFK","BUF",67,301,10,40,2013-11-29 10:00:00 +2013,11,29,1213,1215,-2,1536,1531,5,"UA",1075,"N17719","EWR","SNA",361,2434,12,15,2013-11-29 12:00:00 +2013,11,29,1240,1247,-7,1357,1415,-18,"EV",4682,"N11539","EWR","PIT",60,319,12,47,2013-11-29 12:00:00 +2013,11,29,1409,1425,-16,1619,1653,-34,"FL",1070,"N955AT","LGA","ATL",112,762,14,25,2013-11-29 14:00:00 +2013,11,29,1442,1443,-1,1650,1703,-13,"EV",4181,"N16963","EWR","MCI",170,1092,14,43,2013-11-29 14:00:00 +2013,11,29,1500,1500,0,1717,1730,-13,"MQ",3669,"N1EAMQ","LGA","ATL",110,762,15,0,2013-11-29 15:00:00 +2013,11,29,1814,1820,-6,2130,2145,-15,"AA",119,"N3KAAA","EWR","LAX",353,2454,18,20,2013-11-29 18:00:00 +2013,11,30,655,700,-5,1019,1015,4,"B6",23,"N789JB","JFK","LAX",351,2475,7,0,2013-11-30 07:00:00 +2013,11,30,658,645,13,831,840,-9,"EV",4106,"N11121","EWR","STL",132,872,6,45,2013-11-30 06:00:00 +2013,11,30,802,807,-5,1048,1112,-24,"DL",1271,"N995DL","JFK","FLL",140,1069,8,7,2013-11-30 08:00:00 +2013,11,30,950,955,-5,1104,1125,-21,"MQ",3675,"N509MQ","LGA","BNA",115,764,9,55,2013-11-30 09:00:00 +2013,11,30,1357,1359,-2,1457,1508,-11,"B6",118,"N348JB","JFK","BOS",34,187,13,59,2013-11-30 13:00:00 +2013,11,30,1526,1352,94,1640,1458,102,"EV",4641,"N13975","EWR","BOS",37,200,13,52,2013-11-30 13:00:00 +2013,11,30,1629,1629,0,1905,1932,-27,"B6",1161,"N599JB","LGA","PBI",140,1035,16,29,2013-11-30 16:00:00 +2013,11,30,1752,1745,7,1905,1920,-15,"EV",4191,"N13202","EWR","BNA",110,748,17,45,2013-11-30 17:00:00 +2013,11,30,1854,1900,-6,2010,2035,-25,"EV",4522,"N16954","EWR","BNA",110,748,19,0,2013-11-30 19:00:00 +2013,11,30,1955,2000,-5,2246,2303,-17,"B6",65,"N656JB","JFK","ABQ",266,1826,20,0,2013-11-30 20:00:00 +2013,12,1,810,815,-5,1033,1042,-9,"DL",914,"N302NB","LGA","DEN",231,1620,8,15,2013-12-01 08:00:00 +2013,12,1,811,815,-4,1052,1123,-31,"B6",281,"N337JB","JFK","HOU",206,1428,8,15,2013-12-01 08:00:00 +2013,12,1,848,845,3,1202,1211,-9,"UA",1162,"N38473","EWR","SEA",345,2402,8,45,2013-12-01 08:00:00 +2013,12,1,924,924,0,1158,1205,-7,"9E",4065,"N8942A","LGA","SDF",108,659,9,24,2013-12-01 09:00:00 +2013,12,1,1208,1215,-7,1504,1531,-27,"UA",1686,"N16732","EWR","SNA",332,2434,12,15,2013-12-01 12:00:00 +2013,12,1,1305,1310,-5,1614,1607,7,"B6",553,"N292JB","JFK","PBI",156,1028,13,10,2013-12-01 13:00:00 +2013,12,1,1439,1440,-1,1629,1639,-10,"DL",1231,"N357NB","LGA","DTW",88,502,14,40,2013-12-01 14:00:00 +2013,12,1,1716,1659,17,1922,1900,22,"DL",1518,"N905DL","EWR","DTW",98,488,16,59,2013-12-01 16:00:00 +2013,12,1,2015,2025,-10,2127,2205,-38,"AA",371,"N4WLAA","LGA","ORD",107,733,20,25,2013-12-01 20:00:00 +2013,12,2,627,630,-3,951,1018,-27,"US",495,"N542UW","JFK","PHX",298,2153,6,30,2013-12-02 06:00:00 +2013,12,2,826,830,-4,935,955,-20,"9E",2912,"N904XJ","JFK","DCA",50,213,8,30,2013-12-02 08:00:00 +2013,12,2,900,900,0,1212,1215,-3,"DL",422,"N718TW","JFK","LAX",342,2475,9,0,2013-12-02 09:00:00 +2013,12,2,948,959,-11,1050,1116,-26,"EV",5711,"N825AS","JFK","IAD",42,228,9,59,2013-12-02 09:00:00 +2013,12,2,1359,1345,14,1509,1510,-1,"WN",593,"N727SW","LGA","MDW",113,725,13,45,2013-12-02 13:00:00 +2013,12,2,1803,1656,67,1921,1815,66,"EV",4240,"N17146","EWR","IAD",42,212,16,56,2013-12-02 16:00:00 +2013,12,2,2010,1956,14,2228,2234,-6,"DL",2454,"N3740C","JFK","DEN",237,1626,19,56,2013-12-02 19:00:00 +2013,12,2,2104,2115,-11,2306,2315,-9,"MQ",3384,"N539MQ","LGA","CLT",88,544,21,15,2013-12-02 21:00:00 +2013,12,3,702,700,2,1041,1030,11,"DL",2002,"N624AG","JFK","SLC",304,1990,7,0,2013-12-03 07:00:00 +2013,12,3,719,725,-6,946,1002,-16,"B6",677,"N187JB","JFK","JAX",122,828,7,25,2013-12-03 07:00:00 +2013,12,3,821,820,1,1020,1021,-1,"US",409,"N642AW","EWR","CLT",83,529,8,20,2013-12-03 08:00:00 +2013,12,3,850,900,-10,1009,1030,-21,"EV",5220,"N371CA","LGA","ROC",43,254,9,0,2013-12-03 09:00:00 +2013,12,3,1258,1305,-7,1451,1517,-26,"EV",5207,"N371CA","LGA","CLT",81,544,13,5,2013-12-03 13:00:00 +2013,12,3,1344,1315,29,1455,1445,10,"WN",2868,"N969WN","EWR","BNA",115,748,13,15,2013-12-03 13:00:00 +2013,12,3,1453,1454,-1,1937,1951,-14,"DL",2003,"N3745B","JFK","SJU",201,1598,14,54,2013-12-03 14:00:00 +2013,12,3,1500,1451,9,1621,1606,15,"EV",5801,"N13958","EWR","BUF",70,282,14,51,2013-12-03 14:00:00 +2013,12,3,1723,1730,-7,1919,1925,-6,"MQ",3526,"N5PBMQ","LGA","CMH",79,479,17,30,2013-12-03 17:00:00 +2013,12,3,1921,1930,-9,2215,2235,-20,"AA",1691,"N526AA","EWR","DFW",205,1372,19,30,2013-12-03 19:00:00 +2013,12,3,NA,1845,NA,NA,2040,NA,"MQ",3349,"N546MQ","LGA","MSP",NA,1020,18,45,2013-12-03 18:00:00 +2013,12,4,804,758,6,1153,1139,14,"UA",1246,"N38458","EWR","SFO",382,2565,7,58,2013-12-04 07:00:00 +2013,12,4,938,910,28,1224,1235,-11,"AA",1085,"N5ENAA","JFK","MIA",141,1089,9,10,2013-12-04 09:00:00 +2013,12,4,957,1000,-3,1258,1247,11,"UA",1110,"N28457","EWR","LAS",334,2227,10,0,2013-12-04 10:00:00 +2013,12,4,1122,1130,-8,1253,1327,-34,"EV",5373,"N707EV","LGA","GSO",71,461,11,30,2013-12-04 11:00:00 +2013,12,4,1253,1300,-7,1348,1410,-22,"US",2148,"N965UW","LGA","BOS",38,184,13,0,2013-12-04 13:00:00 +2013,12,4,1256,1300,-4,1539,1540,-1,"DL",781,"N977DL","LGA","ATL",116,762,13,0,2013-12-04 13:00:00 +2013,12,4,1308,1310,-2,1536,1558,-22,"UA",1641,"N67134","EWR","MCO",128,937,13,10,2013-12-04 13:00:00 +2013,12,4,1411,1420,-9,1623,1555,28,"EV",4171,"N31131","EWR","MSN",163,799,14,20,2013-12-04 14:00:00 +2013,12,4,1430,1440,-10,1623,1644,-21,"DL",1231,"N911DE","LGA","DTW",87,502,14,40,2013-12-04 14:00:00 +2013,12,4,1537,1522,15,1849,1843,6,"UA",342,"N569UA","EWR","SFO",353,2565,15,22,2013-12-04 15:00:00 +2013,12,4,1606,1606,0,1748,1745,3,"UA",635,"N515UA","LGA","ORD",125,733,16,6,2013-12-04 16:00:00 +2013,12,4,1646,1659,-13,1831,1857,-26,"EV",4640,"N13994","EWR","DAY",85,533,16,59,2013-12-04 16:00:00 +2013,12,4,1846,1850,-4,2136,2220,-44,"AA",235,"N3HBAA","JFK","SEA",329,2422,18,50,2013-12-04 18:00:00 +2013,12,5,512,515,-3,753,814,-21,"UA",1545,"N14230","EWR","IAH",204,1400,5,15,2013-12-05 05:00:00 +2013,12,5,738,745,-7,1024,1043,-19,"B6",1717,"N784JB","LGA","TPA",142,1010,7,45,2013-12-05 07:00:00 +2013,12,5,819,823,-4,1229,1201,28,"UA",1043,"N39423","EWR","PHX",314,2133,8,23,2013-12-05 08:00:00 +2013,12,5,946,947,-1,1429,1430,-1,"B6",403,"N579JB","JFK","SJU",186,1598,9,47,2013-12-05 09:00:00 +2013,12,5,1847,1630,137,2120,1905,135,"MQ",3357,"N502MQ","LGA","ATL",120,762,16,30,2013-12-05 16:00:00 +2013,12,5,1909,1900,9,2100,2035,25,"UA",693,"N469UA","LGA","ORD",131,733,19,0,2013-12-05 19:00:00 +2013,12,5,2027,1930,57,2132,2052,40,"9E",2959,"N8970D","JFK","SYR",39,209,19,30,2013-12-05 19:00:00 +2013,12,5,NA,1800,NA,NA,1944,NA,"9E",4218,NA,"LGA","PIT",NA,335,18,0,2013-12-05 18:00:00 +2013,12,5,NA,2159,NA,NA,2359,NA,"EV",3845,"N14570","EWR","GSP",NA,594,21,59,2013-12-05 21:00:00 +2013,12,5,NA,2104,NA,NA,2221,NA,"EV",4119,"N11551","EWR","RIC",NA,277,21,4,2013-12-05 21:00:00 +2013,12,5,NA,1000,NA,NA,1113,NA,"US",2142,NA,"LGA","BOS",NA,184,10,0,2013-12-05 10:00:00 +2013,12,6,625,630,-5,928,938,-10,"B6",929,"N594JB","JFK","RSW",162,1074,6,30,2013-12-06 06:00:00 +2013,12,6,921,917,4,1226,1226,0,"UA",1170,"N37267","EWR","FLL",151,1065,9,17,2013-12-06 09:00:00 +2013,12,6,1129,1134,-5,1435,1428,7,"UA",249,"N472UA","EWR","TPA",148,997,11,34,2013-12-06 11:00:00 +2013,12,6,1240,1215,25,1522,1445,37,"MQ",3670,"N502MQ","LGA","ATL",122,762,12,15,2013-12-06 12:00:00 +2013,12,6,1351,1400,-9,1440,1509,-29,"B6",118,"N375JB","JFK","BOS",37,187,14,0,2013-12-06 14:00:00 +2013,12,6,1658,1700,-2,1913,1840,33,"WN",2960,"N291WN","LGA","BNA",141,764,17,0,2013-12-06 17:00:00 +2013,12,6,1849,1805,44,2024,1930,54,"WN",1710,"N273WN","EWR","MDW",121,711,18,5,2013-12-06 18:00:00 +2013,12,6,1958,2002,-4,2104,2121,-17,"UA",1703,"N36444","EWR","BOS",39,200,20,2,2013-12-06 20:00:00 +2013,12,6,2357,2359,-2,454,445,9,"B6",745,"N584JB","JFK","PSE",204,1617,23,59,2013-12-06 23:00:00 +2013,12,6,NA,1115,NA,NA,1425,NA,"AA",1139,"N3ERAA","LGA","DFW",NA,1389,11,15,2013-12-06 11:00:00 +2013,12,6,NA,1706,NA,NA,1911,NA,"EV",4411,"N14953","EWR","MEM",NA,946,17,6,2013-12-06 17:00:00 +2013,12,7,604,605,-1,716,724,-8,"EV",5747,"N909EV","LGA","IAD",55,229,6,5,2013-12-07 06:00:00 +2013,12,7,727,730,-3,1023,1042,-19,"DL",874,"N376NW","LGA","MIA",159,1096,7,30,2013-12-07 07:00:00 +2013,12,7,919,920,-1,1321,1245,36,"VX",407,"N641VA","JFK","LAX",395,2475,9,20,2013-12-07 09:00:00 +2013,12,7,1044,930,74,1330,1237,53,"B6",271,"N516JB","LGA","FLL",152,1076,9,30,2013-12-07 09:00:00 +2013,12,7,1139,1147,-8,1531,1457,34,"B6",323,"N784JB","JFK","LAX",395,2475,11,47,2013-12-07 11:00:00 +2013,12,7,1209,1216,-7,1519,1526,-7,"B6",1129,"N595JB","JFK","RSW",169,1074,12,16,2013-12-07 12:00:00 +2013,12,7,1818,1830,-12,2021,2050,-29,"DL",2331,"N954DL","JFK","DTW",95,509,18,30,2013-12-07 18:00:00 +2013,12,7,1910,1915,-5,2157,2213,-16,"DL",2159,"N913DL","JFK","MCO",137,944,19,15,2013-12-07 19:00:00 +2013,12,7,2024,2025,-1,2328,2255,33,"DL",436,"N3762Y","JFK","DEN",266,1626,20,25,2013-12-07 20:00:00 +2013,12,8,1211,1220,-9,1354,1350,4,"MQ",3461,"N832MQ","LGA","BNA",138,764,12,20,2013-12-08 12:00:00 +2013,12,8,1313,1314,-1,1645,1629,16,"B6",1639,"N506JB","LGA","RSW",174,1080,13,14,2013-12-08 13:00:00 +2013,12,8,1348,1259,49,1546,1454,52,"MQ",3388,"N827MQ","LGA","CMH",99,479,12,59,2013-12-08 12:00:00 +2013,12,8,1528,1530,-2,1809,1758,11,"DL",1942,"N787NC","EWR","ATL",130,746,15,30,2013-12-08 15:00:00 +2013,12,8,1830,1800,30,2130,2036,54,"DL",926,"N979AT","EWR","ATL",124,746,18,0,2013-12-08 18:00:00 +2013,12,8,2306,2229,37,14,2343,31,"B6",234,"N183JB","JFK","BTV",45,266,22,29,2013-12-08 22:00:00 +2013,12,8,NA,1900,NA,NA,2359,NA,"AA",1029,"N617AA","JFK","SJU",NA,1598,19,0,2013-12-08 19:00:00 +2013,12,9,1127,905,142,1227,1024,123,"B6",208,"N304JB","JFK","PWM",42,273,9,5,2013-12-09 09:00:00 +2013,12,9,1159,1200,-1,1439,1400,39,"US",2069,"N105UW","JFK","CLT",102,541,12,0,2013-12-09 12:00:00 +2013,12,9,1224,1230,-6,1533,1544,-11,"DL",406,"N392DA","JFK","MIA",157,1089,12,30,2013-12-09 12:00:00 +2013,12,9,1258,1300,-2,1425,1413,12,"US",2181,"N741UW","LGA","DCA",48,214,13,0,2013-12-09 13:00:00 +2013,12,9,1405,1354,11,1655,1647,8,"UA",1149,"N18223","EWR","PBI",149,1023,13,54,2013-12-09 13:00:00 +2013,12,9,1601,1455,66,1716,1625,51,"MQ",3425,"N523MQ","JFK","DCA",48,213,14,55,2013-12-09 14:00:00 +2013,12,9,1858,1800,58,2044,1940,64,"MQ",3501,"N834MQ","LGA","RDU",78,431,18,0,2013-12-09 18:00:00 +2013,12,9,1947,1912,35,2123,2048,35,"9E",2958,"N836AY","JFK","ORF",53,290,19,12,2013-12-09 19:00:00 +2013,12,9,2227,2229,-2,2400,2351,9,"B6",486,"N183JB","JFK","ROC",61,264,22,29,2013-12-09 22:00:00 +2013,12,10,634,632,2,920,925,-5,"UA",478,"N475UA","EWR","MCO",147,937,6,32,2013-12-10 06:00:00 +2013,12,10,656,650,6,1031,1022,9,"UA",1668,"N75428","EWR","SFO",366,2565,6,50,2013-12-10 06:00:00 +2013,12,10,944,905,39,1221,1115,66,"DL",181,"N359NW","LGA","DTW",92,502,9,5,2013-12-10 09:00:00 +2013,12,10,1003,917,46,1404,1226,98,"UA",1170,"N35260","EWR","FLL",166,1065,9,17,2013-12-10 09:00:00 +2013,12,10,1014,930,44,1732,1527,125,"UA",15,"N78060","EWR","HNL",653,4963,9,30,2013-12-10 09:00:00 +2013,12,10,1030,1030,0,1325,1254,31,"DL",838,"N978AT","EWR","ATL",128,746,10,30,2013-12-10 10:00:00 +2013,12,10,1300,1300,0,1455,1428,27,"UA",1734,"N19117","EWR","ORD",131,719,13,0,2013-12-10 13:00:00 +2013,12,10,1520,1450,30,1911,1755,76,"AA",320,"N476AA","EWR","DFW",256,1372,14,50,2013-12-10 14:00:00 +2013,12,10,1823,1800,23,2003,1940,23,"MQ",3501,"N814MQ","LGA","RDU",81,431,18,0,2013-12-10 18:00:00 +2013,12,10,1942,1944,-2,2235,2236,-1,"UA",234,"N411UA","EWR","MCO",145,937,19,44,2013-12-10 19:00:00 +2013,12,10,2101,2059,2,2340,2314,26,"MQ",3473,"N506MQ","LGA","ATL",133,762,20,59,2013-12-10 20:00:00 +2013,12,10,NA,2038,NA,NA,2259,NA,"9E",3681,NA,"LGA","GSP",NA,610,20,38,2013-12-10 20:00:00 +2013,12,10,NA,1250,NA,NA,1350,NA,"AA",178,"N3JRAA","JFK","BOS",NA,187,12,50,2013-12-10 12:00:00 +2013,12,10,NA,1130,NA,NA,1332,NA,"US",707,NA,"LGA","CLT",NA,544,11,30,2013-12-10 11:00:00 +2013,12,11,823,825,-2,1027,1005,22,"MQ",3272,"N844MQ","LGA","CLE",88,419,8,25,2013-12-11 08:00:00 +2013,12,11,855,859,-4,1104,1104,0,"MQ",3565,"N512MQ","LGA","CLT",105,544,8,59,2013-12-11 08:00:00 +2013,12,11,916,811,65,1141,1012,89,"EV",4691,"N14558","EWR","DAY",107,533,8,11,2013-12-11 08:00:00 +2013,12,11,1139,1140,-1,1505,1455,10,"AA",388,"N3FTAA","LGA","MIA",168,1096,11,40,2013-12-11 11:00:00 +2013,12,11,1453,1259,114,1805,1614,111,"AA",1256,"N3ATAA","LGA","MIA",165,1096,12,59,2013-12-11 12:00:00 +2013,12,11,1700,1659,1,2012,2018,-6,"UA",1721,"N37290","EWR","LAX",340,2454,16,59,2013-12-11 16:00:00 +2013,12,11,1736,1725,11,2056,2045,11,"VX",169,"N640VA","EWR","LAX",355,2454,17,25,2013-12-11 17:00:00 +2013,12,11,1819,1815,4,2151,2127,24,"9E",2915,"N916XJ","JFK","DFW",256,1391,18,15,2013-12-11 18:00:00 +2013,12,11,1829,1810,19,2009,1951,18,"9E",3513,"N906XJ","LGA","MKE",121,738,18,10,2013-12-11 18:00:00 +2013,12,12,653,655,-2,752,804,-12,"B6",318,"N354JB","JFK","BOS",36,187,6,55,2013-12-12 06:00:00 +2013,12,12,1109,1115,-6,1357,1425,-28,"AA",1139,"N3AYAA","LGA","DFW",198,1389,11,15,2013-12-12 11:00:00 +2013,12,12,1413,1400,13,1511,1509,2,"B6",118,"N183JB","JFK","BOS",38,187,14,0,2013-12-12 14:00:00 +2013,12,12,1438,1420,18,1706,1644,22,"UA",586,"N534UA","EWR","DEN",242,1605,14,20,2013-12-12 14:00:00 +2013,12,12,1736,1728,8,1900,1849,11,"EV",4300,"N16981","EWR","RIC",54,277,17,28,2013-12-12 17:00:00 +2013,12,12,1752,1730,22,2050,2046,4,"B6",359,"N766JB","JFK","BUR",342,2465,17,30,2013-12-12 17:00:00 +2013,12,12,1815,1815,0,2047,2042,5,"DL",2013,"N323NB","JFK","MSP",174,1029,18,15,2013-12-12 18:00:00 +2013,12,13,738,740,-2,914,925,-11,"AA",307,"N3KXAA","LGA","ORD",134,733,7,40,2013-12-13 07:00:00 +2013,12,13,757,759,-2,1021,1037,-16,"DL",2047,"N6701","LGA","ATL",110,762,7,59,2013-12-13 07:00:00 +2013,12,13,834,835,-1,1102,1051,11,"EV",4945,"N611QX","LGA","CLT",81,544,8,35,2013-12-13 08:00:00 +2013,12,13,1053,1030,23,1330,1333,-3,"UA",1711,"N33262","EWR","IAH",200,1400,10,30,2013-12-13 10:00:00 +2013,12,13,1155,1200,-5,1348,1400,-12,"US",2069,"N114UW","JFK","CLT",87,541,12,0,2013-12-13 12:00:00 +2013,12,13,1242,1250,-8,1349,1350,-1,"AA",178,"N3GKAA","JFK","BOS",42,187,12,50,2013-12-13 12:00:00 +2013,12,13,1527,1530,-3,1839,1903,-24,"DL",417,"N189DN","JFK","LAX",335,2475,15,30,2013-12-13 15:00:00 +2013,12,13,1650,1650,0,1837,1823,14,"UA",1177,"N12221","EWR","ORD",134,719,16,50,2013-12-13 16:00:00 +2013,12,13,2025,1930,55,2243,2141,62,"EV",4543,"N11192","EWR","DSM",163,1017,19,30,2013-12-13 19:00:00 +2013,12,13,2110,2115,-5,2303,2315,-12,"MQ",3384,"N523MQ","LGA","CLT",85,544,21,15,2013-12-13 21:00:00 +2013,12,14,741,745,-4,1034,1043,-9,"B6",1717,"N519JB","LGA","TPA",157,1010,7,45,2013-12-14 07:00:00 +2013,12,14,912,842,30,1125,1025,60,"9E",2926,"N293PQ","JFK","ORD",133,740,8,42,2013-12-14 08:00:00 +2013,12,14,1301,1303,-2,1643,1605,38,"UA",228,"N453UA","EWR","MIA",170,1085,13,3,2013-12-14 13:00:00 +2013,12,14,1926,1922,4,107,13,54,"DL",448,"N702TW","JFK","SJU",191,1598,19,22,2013-12-14 19:00:00 +2013,12,14,NA,2111,NA,NA,2303,NA,"EV",4700,"N12921","EWR","CLT",NA,529,21,11,2013-12-14 21:00:00 +2013,12,14,NA,1856,NA,NA,2209,NA,"UA",1416,NA,"EWR","FLL",NA,1065,18,56,2013-12-14 18:00:00 +2013,12,15,558,559,-1,704,718,-14,"EV",3820,"N14542","EWR","IAD",42,212,5,59,2013-12-15 05:00:00 +2013,12,15,931,930,1,1318,1243,35,"UA",248,"N421UA","EWR","MIA",190,1085,9,30,2013-12-15 09:00:00 +2013,12,15,956,959,-3,1237,1244,-7,"B6",411,"N663JB","JFK","LAS",309,2248,9,59,2013-12-15 09:00:00 +2013,12,15,1557,1550,7,1713,1710,3,"WN",421,"N279WN","EWR","MDW",115,711,15,50,2013-12-15 15:00:00 +2013,12,15,1633,1615,18,1903,1834,29,"EV",5601,"N741EV","LGA","CLT",98,544,16,15,2013-12-15 16:00:00 +2013,12,15,1707,1705,2,1903,1909,-6,"US",894,"N184US","LGA","CLT",93,544,17,5,2013-12-15 17:00:00 +2013,12,15,2022,2030,-8,2146,2150,-4,"MQ",3604,"N524MQ","EWR","ORD",113,719,20,30,2013-12-15 20:00:00 +2013,12,15,NA,1230,NA,NA,1420,NA,"WN",2639,NA,"LGA","STL",NA,888,12,30,2013-12-15 12:00:00 +2013,12,16,559,604,-5,827,838,-11,"EV",4137,"N13123","EWR","ATL",120,746,6,4,2013-12-16 06:00:00 +2013,12,16,708,705,3,1201,1156,5,"B6",3,"N768JB","JFK","SJU",206,1598,7,5,2013-12-16 07:00:00 +2013,12,16,745,748,-3,1107,1108,-1,"UA",327,"N416UA","EWR","PDX",361,2434,7,48,2013-12-16 07:00:00 +2013,12,16,827,829,-2,1044,1055,-11,"EV",4419,"N21197","EWR","XNA",173,1131,8,29,2013-12-16 08:00:00 +2013,12,16,831,800,31,1033,954,39,"9E",2932,"N904XJ","JFK","RDU",75,427,8,0,2013-12-16 08:00:00 +2013,12,16,953,959,-6,1104,1116,-12,"EV",5711,"N830AS","JFK","IAD",55,228,9,59,2013-12-16 09:00:00 +2013,12,16,959,1005,-6,1135,1155,-20,"UA",1298,"N73276","EWR","CLE",72,404,10,5,2013-12-16 10:00:00 +2013,12,16,1723,1730,-7,2054,2046,8,"B6",359,"N520JB","JFK","BUR",360,2465,17,30,2013-12-16 17:00:00 +2013,12,17,825,830,-5,1034,1037,-3,"DL",517,"N315NB","EWR","MSP",139,1008,8,30,2013-12-17 08:00:00 +2013,12,17,944,942,2,1205,1154,11,"EV",4186,"N11535","EWR","CLT",96,529,9,42,2013-12-17 09:00:00 +2013,12,17,1414,1421,-7,1545,1538,7,"EV",5712,"N836AS","JFK","IAD",51,228,14,21,2013-12-17 14:00:00 +2013,12,17,1421,1345,36,1809,1656,73,"DL",1779,"N932DL","LGA","FLL",161,1076,13,45,2013-12-17 13:00:00 +2013,12,17,1828,1615,133,2036,1834,122,"EV",5601,"N750EV","LGA","CLT",87,544,16,15,2013-12-17 16:00:00 +2013,12,17,2120,1915,125,19,2208,131,"UA",866,"N833UA","EWR","LAS",313,2227,19,15,2013-12-17 19:00:00 +2013,12,17,NA,1400,NA,NA,1558,NA,"EV",4175,"N25134","EWR","AVL",NA,583,14,0,2013-12-17 14:00:00 +2013,12,17,NA,1800,NA,NA,1942,NA,"UA",691,NA,"LGA","ORD",NA,733,18,0,2013-12-17 18:00:00 +2013,12,18,1106,1059,7,1325,1258,27,"DL",1869,"N302NB","LGA","DTW",84,502,10,59,2013-12-18 10:00:00 +2013,12,18,1236,1229,7,1345,1345,0,"B6",1386,"N203JB","JFK","ROC",54,264,12,29,2013-12-18 12:00:00 +2013,12,18,1523,1522,1,1858,1843,15,"UA",342,"N564UA","EWR","SFO",366,2565,15,22,2013-12-18 15:00:00 +2013,12,18,1553,1530,23,1724,1717,7,"9E",2941,"N8903A","JFK","RIC",54,288,15,30,2013-12-18 15:00:00 +2013,12,18,1742,1659,43,2119,2034,45,"B6",167,"N536JB","JFK","OAK",375,2576,16,59,2013-12-18 16:00:00 +2013,12,18,1855,1850,5,2228,2220,8,"AA",235,"N3DEAA","JFK","SEA",373,2422,18,50,2013-12-18 18:00:00 +2013,12,18,1929,1850,39,2211,2205,6,"DL",1854,"N358NB","LGA","FLL",143,1076,18,50,2013-12-18 18:00:00 +2013,12,18,1938,1915,23,2232,2208,24,"UA",866,"N835UA","EWR","LAS",321,2227,19,15,2013-12-18 19:00:00 +2013,12,18,1955,1932,23,2318,2305,13,"B6",161,"N594JB","JFK","SMF",360,2521,19,32,2013-12-18 19:00:00 +2013,12,18,2058,2106,-8,2204,2213,-9,"B6",2680,"N228JB","EWR","BOS",43,200,21,6,2013-12-18 21:00:00 +2013,12,18,NA,600,NA,NA,717,NA,"EV",5716,"N830AS","JFK","IAD",NA,228,6,0,2013-12-18 06:00:00 +2013,12,19,742,729,13,1039,1029,10,"UA",1122,"N37263","EWR","PBI",145,1023,7,29,2013-12-19 07:00:00 +2013,12,19,1441,1410,31,1718,1701,17,"UA",1111,"N76515","EWR","LAS",318,2227,14,10,2013-12-19 14:00:00 +2013,12,19,1451,1454,-3,1557,1626,-29,"9E",2903,"N927XJ","JFK","BOS",41,187,14,54,2013-12-19 14:00:00 +2013,12,19,1807,1800,7,2035,2036,-1,"DL",967,"N978AT","EWR","ATL",112,746,18,0,2013-12-19 18:00:00 +2013,12,19,2148,2030,78,2323,2150,93,"MQ",3604,"N500MQ","EWR","ORD",134,719,20,30,2013-12-19 20:00:00 +2013,12,19,2239,2137,62,2339,2237,62,"EV",4625,"N14923","EWR","BWI",35,169,21,37,2013-12-19 21:00:00 +2013,12,20,755,800,-5,925,915,10,"US",2171,"N946UW","LGA","DCA",58,214,8,0,2013-12-20 08:00:00 +2013,12,20,909,855,14,1126,1100,26,"MQ",3478,"N839MQ","LGA","DTW",98,502,8,55,2013-12-20 08:00:00 +2013,12,20,1121,1105,16,1214,1203,11,"EV",4133,"N14573","EWR","PVD",31,160,11,5,2013-12-20 11:00:00 +2013,12,20,1450,1500,-10,1608,1611,-3,"US",2152,"N945UW","LGA","BOS",42,184,15,0,2013-12-20 15:00:00 +2013,12,20,1517,1320,117,1635,1449,106,"EV",4104,"N14573","EWR","BNA",118,748,13,20,2013-12-20 13:00:00 +2013,12,20,1726,1730,-4,2039,2035,4,"B6",305,"N566JB","EWR","FLL",156,1065,17,30,2013-12-20 17:00:00 +2013,12,20,1736,1707,29,2107,2018,49,"UA",237,"N809UA","EWR","DFW",227,1372,17,7,2013-12-20 17:00:00 +2013,12,20,1844,1845,-1,2046,2040,6,"MQ",3349,"N513MQ","LGA","MSP",163,1020,18,45,2013-12-20 18:00:00 +2013,12,20,1916,1735,101,2040,1856,104,"EV",5846,"N14991","EWR","RIC",51,277,17,35,2013-12-20 17:00:00 +2013,12,20,1929,1930,-1,2309,2301,8,"DL",2537,"N6705Y","JFK","SLC",297,1990,19,30,2013-12-20 19:00:00 +2013,12,20,2104,1940,84,2316,2153,83,"EV",4361,"N27962","EWR","TYS",105,631,19,40,2013-12-20 19:00:00 +2013,12,21,625,630,-5,820,842,-22,"US",2085,"N161UW","LGA","CLT",91,544,6,30,2013-12-21 06:00:00 +2013,12,21,651,630,21,923,926,-3,"UA",1144,"N57439","EWR","MCO",137,937,6,30,2013-12-21 06:00:00 +2013,12,21,815,800,15,1113,1115,-2,"AA",2267,"N3AMAA","LGA","MIA",155,1096,8,0,2013-12-21 08:00:00 +2013,12,21,1029,1030,-1,1306,1315,-9,"DL",420,"N3731T","JFK","LAS",309,2248,10,30,2013-12-21 10:00:00 +2013,12,21,1515,1520,-5,1857,1852,5,"DL",1982,"N946DL","LGA","MIA",156,1096,15,20,2013-12-21 15:00:00 +2013,12,21,1621,1550,31,1853,1831,22,"DL",2488,"N912DL","JFK","ATL",120,760,15,50,2013-12-21 15:00:00 +2013,12,21,1704,1705,-1,2007,2015,-8,"AA",67,"N3HWAA","JFK","SAN",336,2446,17,5,2013-12-21 17:00:00 +2013,12,21,1741,1659,42,2020,1933,47,"EV",4705,"N19554","EWR","ATL",130,746,16,59,2013-12-21 16:00:00 +2013,12,21,2001,1903,58,2256,2230,26,"UA",1152,"N75426","EWR","PDX",332,2434,19,3,2013-12-21 19:00:00 +2013,12,22,617,551,26,918,907,11,"UA",1455,"N77258","EWR","LAX",329,2454,5,51,2013-12-22 05:00:00 +2013,12,22,626,600,26,907,849,18,"B6",353,"N506JB","JFK","PBI",147,1028,6,0,2013-12-22 06:00:00 +2013,12,22,1100,1048,12,1420,1354,26,"B6",971,"N507JB","LGA","FLL",164,1076,10,48,2013-12-22 10:00:00 +2013,12,22,1343,1355,-12,1551,1535,16,"MQ",3305,"N821MQ","LGA","RDU",92,431,13,55,2013-12-22 13:00:00 +2013,12,22,1456,1500,-4,1757,1740,17,"MQ",3202,"N635MQ","JFK","IND",114,665,15,0,2013-12-22 15:00:00 +2013,12,22,1846,1847,-1,2158,2207,-9,"B6",263,"N630JB","JFK","SEA",331,2422,18,47,2013-12-22 18:00:00 +2013,12,23,135,2250,165,251,8,163,"B6",2002,"N324JB","JFK","BUF",59,301,22,50,2013-12-23 22:00:00 +2013,12,23,644,645,-1,917,920,-3,"EV",4388,"N13908","EWR","JAX",130,820,6,45,2013-12-23 06:00:00 +2013,12,23,836,845,-9,1043,1053,-10,"US",2071,"N702UW","LGA","CLT",101,544,8,45,2013-12-23 08:00:00 +2013,12,23,932,905,27,1255,1221,34,"DL",1109,"N978DL","LGA","TPA",164,1010,9,5,2013-12-23 09:00:00 +2013,12,23,1438,1340,58,1756,1715,41,"WN",516,"N234WN","EWR","PHX",302,2133,13,40,2013-12-23 13:00:00 +2013,12,23,1518,1510,8,1831,1845,-14,"AA",145,"N5FEAA","JFK","MIA",160,1089,15,10,2013-12-23 15:00:00 +2013,12,23,1530,1515,15,1823,1811,12,"UA",1592,"N17122","EWR","MCO",148,937,15,15,2013-12-23 15:00:00 +2013,12,23,1858,1847,11,2138,2121,17,"UA",1139,"N18243","EWR","DEN",233,1605,18,47,2013-12-23 18:00:00 +2013,12,23,1927,1829,58,2229,2124,65,"B6",543,"N521JB","EWR","PBI",152,1023,18,29,2013-12-23 18:00:00 +2013,12,24,859,900,-1,1220,1229,-9,"DL",422,"N197DN","JFK","LAX",344,2475,9,0,2013-12-24 09:00:00 +2013,12,24,1133,1046,47,1233,1222,11,"UA",1044,"N39726","EWR","ORD",105,719,10,46,2013-12-24 10:00:00 +2013,12,24,1144,1145,-1,1259,1315,-16,"WN",172,"N217JC","LGA","MDW",110,725,11,45,2013-12-24 11:00:00 +2013,12,24,1345,1339,6,1653,1645,8,"UA",1164,"N37281","EWR","FLL",166,1065,13,39,2013-12-24 13:00:00 +2013,12,24,1413,1310,63,1708,1606,62,"B6",505,"N563JB","EWR","FLL",163,1065,13,10,2013-12-24 13:00:00 +2013,12,24,1600,1459,61,2050,1953,57,"B6",703,"N913JB","JFK","SJU",208,1598,14,59,2013-12-24 14:00:00 +2013,12,24,1728,1730,-2,2042,2107,-25,"DL",434,"N702TW","JFK","SFO",352,2586,17,30,2013-12-24 17:00:00 +2013,12,25,819,820,-1,1059,1116,-17,"B6",1783,"N607JB","JFK","MCO",137,944,8,20,2013-12-25 08:00:00 +2013,12,25,1411,1359,12,1656,1714,-18,"B6",213,"N712JB","JFK","LGB",326,2465,13,59,2013-12-25 13:00:00 +2013,12,25,1448,1450,-2,1634,1650,-16,"MQ",3199,"N534MQ","LGA","CLT",89,544,14,50,2013-12-25 14:00:00 +2013,12,25,1532,1530,2,1847,1859,-12,"DL",417,"N154DL","JFK","LAX",334,2475,15,30,2013-12-25 15:00:00 +2013,12,25,1721,1725,-4,1833,1845,-12,"AA",256,"N3ELAA","JFK","BOS",35,187,17,25,2013-12-25 17:00:00 +2013,12,25,1828,1830,-2,2025,2035,-10,"US",425,"N523UW","JFK","CLT",88,541,18,30,2013-12-25 18:00:00 +2013,12,25,2140,2141,-1,44,37,7,"B6",425,"N579JB","JFK","TPA",160,1005,21,41,2013-12-25 21:00:00 +2013,12,25,2149,2155,-6,2328,2334,-6,"B6",985,"N339JB","JFK","RDU",80,427,21,55,2013-12-25 21:00:00 +2013,12,26,606,611,-5,905,912,-7,"B6",601,"N658JB","JFK","FLL",158,1069,6,11,2013-12-26 06:00:00 +2013,12,26,812,751,21,1120,1137,-17,"UA",497,"N808UA","EWR","SFO",339,2565,7,51,2013-12-26 07:00:00 +2013,12,26,819,820,-1,1320,1345,-25,"DL",454,"N624AG","JFK","STT",197,1623,8,20,2013-12-26 08:00:00 +2013,12,26,843,850,-7,1011,1035,-24,"AA",313,"N434AA","LGA","ORD",123,733,8,50,2013-12-26 08:00:00 +2013,12,26,1217,1130,47,1412,1319,53,"EV",4628,"N13970","EWR","STL",149,872,11,30,2013-12-26 11:00:00 +2013,12,26,1315,1315,0,1632,1620,12,"DL",2487,"N3730B","JFK","FLL",172,1069,13,15,2013-12-26 13:00:00 +2013,12,26,1316,1318,-2,1713,1629,44,"DL",2361,"N348NW","JFK","MIA",170,1089,13,18,2013-12-26 13:00:00 +2013,12,26,1443,1450,-7,1658,1650,8,"MQ",3199,"N520MQ","LGA","CLT",95,544,14,50,2013-12-26 14:00:00 +2013,12,26,2030,2045,-15,2230,2302,-32,"9E",4105,"N8696C","LGA","GSP",95,610,20,45,2013-12-26 20:00:00 +2013,12,27,709,710,-1,1032,1007,25,"B6",683,"N506JB","JFK","MCO",147,944,7,10,2013-12-27 07:00:00 +2013,12,27,803,600,123,1012,803,129,"EV",4166,"N12172","EWR","GSP",104,594,6,0,2013-12-27 06:00:00 +2013,12,27,944,817,87,1047,931,76,"EV",4234,"N12175","EWR","BWI",45,169,8,17,2013-12-27 08:00:00 +2013,12,27,1410,1413,-3,1637,1733,-56,"UA",1493,"N69806","EWR","LAX",308,2454,14,13,2013-12-27 14:00:00 +2013,12,27,1457,1455,2,1654,1650,4,"MQ",3391,"N856MQ","LGA","CMH",87,479,14,55,2013-12-27 14:00:00 +2013,12,27,1757,1800,-3,1928,1940,-12,"MQ",3501,"N844MQ","LGA","RDU",70,431,18,0,2013-12-27 18:00:00 +2013,12,28,852,900,-8,1131,1157,-26,"B6",27,"N806JB","EWR","MCO",136,937,9,0,2013-12-28 09:00:00 +2013,12,28,957,1012,-15,1202,1223,-21,"US",1780,"N965UW","LGA","CLT",88,544,10,12,2013-12-28 10:00:00 +2013,12,28,1028,947,41,1440,1430,10,"B6",403,"N784JB","JFK","SJU",179,1598,9,47,2013-12-28 09:00:00 +2013,12,28,1056,1100,-4,1210,1222,-12,"EV",5349,"N707EV","LGA","BTV",43,258,11,0,2013-12-28 11:00:00 +2013,12,28,1121,1048,33,1438,1354,44,"B6",971,"N552JB","LGA","FLL",158,1076,10,48,2013-12-28 10:00:00 +2013,12,28,1144,1155,-11,1332,1355,-23,"MQ",3616,"N516MQ","LGA","MSP",155,1020,11,55,2013-12-28 11:00:00 +2013,12,28,1321,1210,71,1620,1520,60,"AA",1143,"N3BTAA","LGA","DFW",207,1389,12,10,2013-12-28 12:00:00 +2013,12,28,1421,1425,-4,1629,1700,-31,"DL",884,"N329NB","LGA","DEN",228,1620,14,25,2013-12-28 14:00:00 +2013,12,28,1427,1429,-2,1651,1655,-4,"B6",575,"N238JB","JFK","MSY",184,1182,14,29,2013-12-28 14:00:00 +2013,12,28,1656,1700,-4,1953,1955,-2,"AA",45,"N3AAAA","JFK","LAS",335,2248,17,0,2013-12-28 17:00:00 +2013,12,28,1712,1714,-2,1946,1945,1,"UA",509,"N562UA","LGA","DEN",245,1620,17,14,2013-12-28 17:00:00 +2013,12,28,1903,1847,16,2126,2121,5,"UA",1481,"N14228","EWR","DEN",229,1605,18,47,2013-12-28 18:00:00 +2013,12,28,1949,1945,4,2049,2118,-29,"9E",2950,"N8432A","JFK","BWI",37,184,19,45,2013-12-28 19:00:00 +2013,12,28,2026,2040,-14,2318,2311,7,"EV",4333,"N16149","EWR","TUL",205,1215,20,40,2013-12-28 20:00:00 +2013,12,29,835,819,16,1117,1119,-2,"UA",318,"N830UA","EWR","BZN",264,1882,8,19,2013-12-29 08:00:00 +2013,12,29,907,910,-3,1233,1235,-2,"AA",1085,"N635AA","JFK","MIA",166,1089,9,10,2013-12-29 09:00:00 +2013,12,29,1256,1300,-4,1531,1540,-9,"DL",781,"N939DL","LGA","ATL",126,762,13,0,2013-12-29 13:00:00 +2013,12,29,1343,1345,-2,1547,1553,-6,"US",1802,"N742PS","JFK","CLT",100,541,13,45,2013-12-29 13:00:00 +2013,12,29,2049,2055,-6,2218,2213,5,"DL",2599,"N982DL","JFK","BOS",30,187,20,55,2013-12-29 20:00:00 +2013,12,29,2131,2029,62,35,2339,56,"UA",340,"N802UA","EWR","MIA",162,1085,20,29,2013-12-29 20:00:00 +2013,12,29,2156,2046,70,108,2358,70,"B6",329,"N706JB","JFK","RSW",165,1074,20,46,2013-12-29 20:00:00 +2013,12,29,2304,2245,19,210,127,43,"B6",2583,"N618JB","JFK","MCO",147,944,22,45,2013-12-29 22:00:00 +2013,12,30,945,950,-5,1202,1219,-17,"9E",3304,"N8884E","LGA","GSP",110,610,9,50,2013-12-30 09:00:00 +2013,12,30,958,1001,-3,1143,1210,-27,"EV",4297,"N11194","EWR","DTW",89,488,10,1,2013-12-30 10:00:00 +2013,12,30,1317,1315,2,1626,1620,6,"DL",2487,"N3743H","JFK","FLL",172,1069,13,15,2013-12-30 13:00:00 +2013,12,30,1510,1500,10,1808,1730,38,"MQ",3669,"N5PBMQ","LGA","ATL",139,762,15,0,2013-12-30 15:00:00 +2013,12,30,1939,1930,9,2256,2301,-5,"DL",2537,"N6709","JFK","SLC",281,1990,19,30,2013-12-30 19:00:00 +2013,12,30,2145,2129,16,48,32,16,"UA",236,"N821UA","EWR","TPA",162,997,21,29,2013-12-30 21:00:00 +2013,12,31,749,756,-7,944,959,-15,"US",1733,"N173US","LGA","CLT",93,544,7,56,2013-12-31 07:00:00 +2013,12,31,829,835,-6,1130,1148,-18,"UA",429,"N462UA","LGA","IAH",219,1416,8,35,2013-12-31 08:00:00 +2013,12,31,1159,1115,44,1507,1428,39,"DL",2098,"N310NW","LGA","MIA",161,1096,11,15,2013-12-31 11:00:00 +2013,12,31,1325,1330,-5,1610,1622,-12,"DL",381,"N373NW","LGA","MCO",147,950,13,30,2013-12-31 13:00:00 +2013,12,31,1540,1550,-10,1733,1744,-11,"9E",2900,"N295PQ","JFK","BNA",133,765,15,50,2013-12-31 15:00:00 +2013,12,31,1654,1700,-6,1947,2014,-27,"UA",1128,"N33289","LGA","IAH",217,1416,17,0,2013-12-31 17:00:00 +2013,2,1,1002,1010,-8,1118,1140,-22,"MQ",3795,"N543MQ","EWR","ORD",114,719,10,10,2013-02-01 10:00:00 +2013,2,1,1026,1030,-4,1257,1252,5,"DL",2343,"N640DL","EWR","ATL",117,746,10,30,2013-02-01 10:00:00 +2013,2,1,1245,1240,5,1553,1555,-2,"AA",2041,"N5EFAA","JFK","MIA",167,1089,12,40,2013-02-01 12:00:00 +2013,2,1,1451,1500,-9,1947,1837,NA,"DL",963,"N721TW","JFK","LAX",NA,2475,15,0,2013-02-01 15:00:00 +2013,2,1,1631,1635,-4,1833,1841,-8,"B6",1085,"N178JB","JFK","CLT",89,541,16,35,2013-02-01 16:00:00 +2013,2,1,1706,1710,-4,1922,1913,9,"US",894,"N426US","LGA","CLT",88,544,17,10,2013-02-01 17:00:00 +2013,2,1,1712,1710,2,2028,2036,-8,"UA",1178,"N29129","EWR","SFO",355,2565,17,10,2013-02-01 17:00:00 +2013,2,1,1858,1905,-7,2044,2040,4,"WN",981,"N486WN","LGA","MKE",114,738,19,5,2013-02-01 19:00:00 +2013,2,1,2106,1905,121,2,2225,97,"AA",21,"N336AA","JFK","LAX",331,2475,19,5,2013-02-01 19:00:00 +2013,2,2,634,600,34,942,906,36,"B6",125,"N763JB","JFK","FLL",159,1069,6,0,2013-02-02 06:00:00 +2013,2,2,752,759,-7,949,1007,-18,"EV",4498,"N17146","EWR","MSP",155,1008,7,59,2013-02-02 07:00:00 +2013,2,2,942,945,-3,1227,1247,-20,"DL",1885,"N327NW","LGA","MCO",141,950,9,45,2013-02-02 09:00:00 +2013,2,2,956,1000,-4,1104,1125,-21,"EV",5698,"N834AS","LGA","IAD",47,229,10,0,2013-02-02 10:00:00 +2013,2,2,1351,1350,1,1619,1624,-5,"B6",615,"N216JB","JFK","JAX",128,828,13,50,2013-02-02 13:00:00 +2013,2,2,1615,1621,-6,1722,1741,-19,"EV",3814,"N26545","EWR","ROC",46,246,16,21,2013-02-02 16:00:00 +2013,2,2,1745,1735,10,1915,1922,-7,"B6",1111,"N316JB","JFK","RDU",72,427,17,35,2013-02-02 17:00:00 +2013,2,2,1835,1810,25,2140,2130,10,"AA",1611,"N3FYAA","LGA","MIA",165,1096,18,10,2013-02-02 18:00:00 +2013,2,3,536,540,-4,927,850,37,"AA",1141,"N5EBAA","JFK","MIA",164,1089,5,40,2013-02-03 05:00:00 +2013,2,3,1024,1015,9,1320,1331,-11,"UA",1728,"N26226","LGA","IAH",209,1416,10,15,2013-02-03 10:00:00 +2013,2,3,1125,1135,-10,1315,1330,-15,"MQ",4553,"N723MQ","LGA","CLE",68,419,11,35,2013-02-03 11:00:00 +2013,2,3,1357,1359,-2,1644,1659,-15,"UA",1122,"N37252","EWR","PBI",149,1023,13,59,2013-02-03 13:00:00 +2013,2,3,1610,1600,10,1832,1840,-8,"DL",847,"N610DL","LGA","ATL",107,762,16,0,2013-02-03 16:00:00 +2013,2,3,1614,1600,14,1855,1850,5,"DL",1331,"N3739P","JFK","DEN",247,1626,16,0,2013-02-03 16:00:00 +2013,2,3,1754,1805,-11,1929,1955,-26,"MQ",4626,"N546MQ","LGA","CMH",76,479,18,5,2013-02-03 18:00:00 +2013,2,3,1802,1725,37,2044,2023,21,"UA",1178,"N76503","EWR","IAH",196,1400,17,25,2013-02-03 17:00:00 +2013,2,3,1957,2000,-3,2238,2305,-27,"B6",21,"N657JB","JFK","TPA",142,1005,20,0,2013-02-03 20:00:00 +2013,2,4,639,645,-6,905,846,19,"US",1251,"N764US","EWR","CLT",81,529,6,45,2013-02-04 06:00:00 +2013,2,4,801,800,1,1108,1124,-16,"DL",2143,"N362NW","JFK","MIA",164,1089,8,0,2013-02-04 08:00:00 +2013,2,4,824,827,-3,1006,1031,-25,"EV",4652,"N13958","EWR","MYR",84,550,8,27,2013-02-04 08:00:00 +2013,2,4,1151,1200,-9,1257,1315,-18,"EV",4349,"N13913","EWR","ORF",49,284,12,0,2013-02-04 12:00:00 +2013,2,4,1316,1320,-4,1424,1436,-12,"EV",4231,"N13995","EWR","IAD",46,212,13,20,2013-02-04 13:00:00 +2013,2,4,1520,1520,0,1836,1842,-6,"DL",2115,"N334NW","LGA","MIA",170,1096,15,20,2013-02-04 15:00:00 +2013,2,4,1854,1830,24,2100,2044,16,"EV",5203,"N608QX","EWR","DTW",99,488,18,30,2013-02-04 18:00:00 +2013,2,4,1928,1935,-7,2213,2233,-20,"UA",1416,"N38727","EWR","IAH",208,1400,19,35,2013-02-04 19:00:00 +2013,2,5,1145,1155,-10,1244,1304,-20,"9E",3483,"N937XJ","JFK","BOS",32,187,11,55,2013-02-05 11:00:00 +2013,2,5,1531,1447,44,1737,1654,43,"EV",4572,"N16541","EWR","GSP",99,594,14,47,2013-02-05 14:00:00 +2013,2,5,1629,1629,0,1934,2005,-31,"UA",1078,"N76254","EWR","SAT",226,1569,16,29,2013-02-05 16:00:00 +2013,2,5,1655,1659,-4,1943,2015,-32,"UA",250,"N840UA","EWR","LAX",331,2454,16,59,2013-02-05 16:00:00 +2013,2,5,1854,1900,-6,2206,2235,-29,"DL",87,"N705TW","JFK","LAX",323,2475,19,0,2013-02-05 19:00:00 +2013,2,5,1856,1850,6,2159,2142,17,"B6",527,"N729JB","EWR","MCO",139,937,18,50,2013-02-05 18:00:00 +2013,2,5,NA,1520,NA,NA,1654,NA,"9E",4105,NA,"JFK","IAD",NA,228,15,20,2013-02-05 15:00:00 +2013,2,6,619,600,19,855,815,40,"FL",345,"N972AT","LGA","ATL",121,762,6,0,2013-02-06 06:00:00 +2013,2,6,625,630,-5,754,810,-16,"AA",303,"N3DFAA","LGA","ORD",120,733,6,30,2013-02-06 06:00:00 +2013,2,6,653,659,-6,957,959,-2,"AA",1815,"N5FPAA","JFK","MCO",140,944,6,59,2013-02-06 06:00:00 +2013,2,6,827,825,2,1111,1136,-25,"B6",181,"N571JB","JFK","SAN",327,2446,8,25,2013-02-06 08:00:00 +2013,2,6,848,850,-2,1125,1148,-23,"B6",59,"N580JB","JFK","TPA",139,1005,8,50,2013-02-06 08:00:00 +2013,2,6,1340,1345,-5,1700,1705,-5,"AA",117,"N338AA","JFK","LAX",348,2475,13,45,2013-02-06 13:00:00 +2013,2,6,1508,1509,-1,1732,1741,-9,"EV",3817,"N36915","EWR","JAX",120,820,15,9,2013-02-06 15:00:00 +2013,2,6,1511,1510,1,1720,1710,10,"MQ",4579,"N546MQ","LGA","CLT",83,544,15,10,2013-02-06 15:00:00 +2013,2,6,1738,1745,-7,2101,2055,6,"AA",785,"N3JAAA","LGA","DFW",215,1389,17,45,2013-02-06 17:00:00 +2013,2,7,458,500,-2,642,648,-6,"US",1117,"N165US","EWR","CLT",87,529,5,0,2013-02-07 05:00:00 +2013,2,7,826,835,-9,1111,1105,6,"MQ",4610,"N508MQ","LGA","ATL",132,762,8,35,2013-02-07 08:00:00 +2013,2,7,1055,1100,-5,1410,1424,-14,"DL",2044,"N925DL","LGA","MIA",156,1096,11,0,2013-02-07 11:00:00 +2013,2,7,1131,1129,2,1438,1437,1,"B6",133,"N605JB","JFK","RSW",165,1074,11,29,2013-02-07 11:00:00 +2013,2,7,1211,1200,11,1516,1510,6,"AA",3,"N323AA","JFK","LAX",340,2475,12,0,2013-02-07 12:00:00 +2013,2,7,1539,1540,-1,1913,1900,13,"UA",161,"N19117","JFK","LAX",358,2475,15,40,2013-02-07 15:00:00 +2013,2,7,1649,1645,4,1922,2005,-43,"AA",181,"N324AA","JFK","LAX",321,2475,16,45,2013-02-07 16:00:00 +2013,2,7,1711,1710,1,1857,1859,-2,"EV",4202,"N14542","EWR","STL",143,872,17,10,2013-02-07 17:00:00 +2013,2,7,1718,1722,-4,1836,1844,-8,"EV",4300,"N13968","EWR","RIC",52,277,17,22,2013-02-07 17:00:00 +2013,2,7,1954,2000,-6,2117,2139,-22,"UA",1094,"N13718","EWR","CLE",62,404,20,0,2013-02-07 20:00:00 +2013,2,8,822,825,-3,959,945,14,"MQ",4418,"N850MQ","JFK","DCA",48,213,8,25,2013-02-08 08:00:00 +2013,2,8,NA,2159,NA,NA,2306,NA,"EV",4322,"N15980","EWR","PWM",NA,284,21,59,2013-02-08 21:00:00 +2013,2,8,NA,1945,NA,NA,2241,NA,"9E",3314,NA,"JFK","JAX",NA,828,19,45,2013-02-08 19:00:00 +2013,2,8,NA,1345,NA,NA,1457,NA,"B6",602,"N351JB","JFK","PWM",NA,273,13,45,2013-02-08 13:00:00 +2013,2,8,NA,1730,NA,NA,1855,NA,"WN",216,"N258WN","EWR","MDW",NA,711,17,30,2013-02-08 17:00:00 +2013,2,8,NA,1355,NA,NA,1530,NA,"WN",348,"N728SW","LGA","MDW",NA,725,13,55,2013-02-08 13:00:00 +2013,2,9,NA,1610,NA,NA,1731,NA,"9E",3689,NA,"JFK","PHL",NA,94,16,10,2013-02-09 16:00:00 +2013,2,9,NA,1110,NA,NA,1335,NA,"B6",1925,"N187JB","JFK","MSY",NA,1182,11,10,2013-02-09 11:00:00 +2013,2,9,NA,600,NA,NA,903,NA,"B6",371,"N708JB","LGA","FLL",NA,1076,6,0,2013-02-09 06:00:00 +2013,2,9,NA,1200,NA,NA,1400,NA,"US",1443,NA,"JFK","CLT",NA,541,12,0,2013-02-09 12:00:00 +2013,2,10,625,625,0,910,937,-27,"UA",304,"N490UA","LGA","IAH",207,1416,6,25,2013-02-10 06:00:00 +2013,2,10,1214,1220,-6,1417,1350,27,"MQ",3697,"N517MQ","EWR","ORD",147,719,12,20,2013-02-10 12:00:00 +2013,2,10,1346,1300,46,1507,1440,27,"AA",329,"N4WMAA","LGA","ORD",120,733,13,0,2013-02-10 13:00:00 +2013,2,10,1513,1440,33,1620,1549,31,"UA",1687,"N24729","EWR","BOS",43,200,14,40,2013-02-10 14:00:00 +2013,2,10,1709,1710,-1,2050,2015,35,"AA",695,"N3GBAA","JFK","AUS",248,1521,17,10,2013-02-10 17:00:00 +2013,2,10,1743,1730,13,1931,1923,8,"US",449,"N654AW","EWR","CLT",84,529,17,30,2013-02-10 17:00:00 +2013,2,10,1806,1726,40,1930,1859,31,"EV",3843,"N14542","EWR","PIT",56,319,17,26,2013-02-10 17:00:00 +2013,2,11,601,600,1,743,730,13,"WN",3223,"N8602F","LGA","MDW",128,725,6,0,2013-02-11 06:00:00 +2013,2,11,610,610,0,919,915,4,"AA",1837,"N3GFAA","LGA","MIA",158,1096,6,10,2013-02-11 06:00:00 +2013,2,11,631,634,-3,926,935,-9,"UA",772,"N541UA","EWR","MIA",158,1085,6,34,2013-02-11 06:00:00 +2013,2,11,837,830,7,1021,1015,6,"AA",313,"N4YDAA","LGA","ORD",126,733,8,30,2013-02-11 08:00:00 +2013,2,11,858,845,13,1022,1006,16,"EV",4409,"N10575","EWR","RIC",57,277,8,45,2013-02-11 08:00:00 +2013,2,11,1451,1345,66,1553,1457,56,"B6",602,"N183JB","JFK","PWM",44,273,13,45,2013-02-11 13:00:00 +2013,2,11,1557,1600,-3,1712,1712,0,"US",2134,"N945UW","LGA","BOS",44,184,16,0,2013-02-11 16:00:00 +2013,2,11,1607,1529,38,1904,1837,27,"UA",1624,"N27205","EWR","FLL",157,1065,15,29,2013-02-11 15:00:00 +2013,2,11,1657,1700,-3,2023,2036,-13,"DL",127,"N709TW","JFK","LAX",336,2475,17,0,2013-02-11 17:00:00 +2013,2,11,1720,1705,15,2006,2007,-1,"B6",143,"N638JB","JFK","PBI",144,1028,17,5,2013-02-11 17:00:00 +2013,2,11,2010,1635,215,2324,1951,213,"B6",139,"N279JB","JFK","RSW",162,1074,16,35,2013-02-11 16:00:00 +2013,2,11,2049,1915,94,2215,2111,64,"9E",3525,"N913XJ","JFK","ORD",121,740,19,15,2013-02-11 19:00:00 +2013,2,11,NA,1846,NA,NA,2018,NA,"B6",130,"N187JB","JFK","BUF",NA,301,18,46,2013-02-11 18:00:00 +2013,2,12,821,817,4,1118,1127,-9,"DL",1109,"N333NW","LGA","TPA",156,1010,8,17,2013-02-12 08:00:00 +2013,2,12,843,840,3,1028,1030,-2,"EV",4548,"N23139","EWR","RDU",74,416,8,40,2013-02-12 08:00:00 +2013,2,12,943,945,-2,1119,1135,-16,"WN",469,"N221WN","LGA","BNA",129,764,9,45,2013-02-12 09:00:00 +2013,2,12,1656,1700,-4,1953,2036,-43,"DL",127,"N624AG","JFK","LAX",327,2475,17,0,2013-02-12 17:00:00 +2013,2,12,1721,1725,-4,2013,2017,-4,"UA",1109,"N12116","EWR","MCO",146,937,17,25,2013-02-12 17:00:00 +2013,2,12,1912,1915,-3,2130,2137,-7,"EV",4085,"N16170","EWR","OMA",177,1134,19,15,2013-02-12 19:00:00 +2013,2,12,2053,2100,-7,2237,2250,-13,"MQ",4584,"N500MQ","LGA","CLT",88,544,21,0,2013-02-12 21:00:00 +2013,2,13,955,958,-3,1112,1137,-25,"UA",258,"N842UA","LGA","ORD",118,733,9,58,2013-02-13 09:00:00 +2013,2,13,1010,1015,-5,1304,1340,-36,"US",75,"N677AW","EWR","PHX",277,2133,10,15,2013-02-13 10:00:00 +2013,2,13,1131,1129,2,1441,1437,4,"B6",133,"N593JB","JFK","RSW",169,1074,11,29,2013-02-13 11:00:00 +2013,2,13,1218,1200,18,1504,1432,32,"EV",4090,"N18556","EWR","JAX",150,820,12,0,2013-02-13 12:00:00 +2013,2,13,1442,1446,-4,1750,1757,-7,"UA",997,"N482UA","LGA","IAH",231,1416,14,46,2013-02-13 14:00:00 +2013,2,13,1744,1745,-1,2100,2042,18,"B6",391,"N506JB","LGA","MCO",165,950,17,45,2013-02-13 17:00:00 +2013,2,13,1811,1800,11,2037,2006,31,"US",373,"N535UW","JFK","CLT",96,541,18,0,2013-02-13 18:00:00 +2013,2,13,1835,1845,-10,2014,2030,-16,"MQ",4517,"N723MQ","LGA","CRW",80,444,18,45,2013-02-13 18:00:00 +2013,2,13,1853,1855,-2,2126,2142,-16,"DL",951,"N193DN","JFK","ATL",127,760,18,55,2013-02-13 18:00:00 +2013,2,14,732,730,2,1056,1115,-19,"VX",11,"N839VA","JFK","SFO",344,2586,7,30,2013-02-14 07:00:00 +2013,2,14,1520,1450,30,1658,1640,18,"MQ",4403,"N806MQ","JFK","RDU",74,427,14,50,2013-02-14 14:00:00 +2013,2,14,1542,1450,52,1904,1755,69,"AA",1813,"N5FAAA","JFK","MCO",161,944,14,50,2013-02-14 14:00:00 +2013,2,14,1715,1700,15,1829,1813,16,"US",2136,"N945UW","LGA","BOS",39,184,17,0,2013-02-14 17:00:00 +2013,2,14,1744,1745,-1,2106,2117,-11,"UA",1462,"N19130","EWR","SFO",348,2565,17,45,2013-02-14 17:00:00 +2013,2,14,1750,1720,30,2140,2033,67,"DL",1779,"N361NW","LGA","FLL",204,1076,17,20,2013-02-14 17:00:00 +2013,2,15,530,530,0,822,831,-9,"UA",1714,"N76503","LGA","IAH",217,1416,5,30,2013-02-15 05:00:00 +2013,2,15,728,729,-1,1041,1026,15,"B6",361,"N607JB","LGA","PBI",170,1035,7,29,2013-02-15 07:00:00 +2013,2,15,757,801,-4,1023,1024,-1,"EV",4315,"N11192","EWR","XNA",176,1131,8,1,2013-02-15 08:00:00 +2013,2,15,1112,1049,23,1420,1400,20,"B6",373,"N594JB","LGA","FLL",166,1076,10,49,2013-02-15 10:00:00 +2013,2,15,1628,1636,-8,1805,1812,-7,"EV",4399,"N23139","EWR","RDU",71,416,16,36,2013-02-15 16:00:00 +2013,2,15,1814,1750,24,2128,2041,47,"B6",527,"N552JB","EWR","MCO",152,937,17,50,2013-02-15 17:00:00 +2013,2,15,2206,2200,6,122,57,25,"B6",11,"N547JB","JFK","FLL",169,1069,22,0,2013-02-15 22:00:00 +2013,2,16,651,653,-2,928,930,-2,"EV",3838,"N18556","EWR","ATL",129,746,6,53,2013-02-16 06:00:00 +2013,2,16,751,750,1,948,1006,-18,"DL",2119,"N901DE","LGA","MSP",144,1020,7,50,2013-02-16 07:00:00 +2013,2,16,826,800,26,1017,1032,-15,"UA",1583,"N37281","LGA","DEN",213,1620,8,0,2013-02-16 08:00:00 +2013,2,16,1128,1112,16,1324,1345,-21,"UA",405,"N475UA","LGA","DEN",210,1620,11,12,2013-02-16 11:00:00 +2013,2,16,1255,1300,-5,1521,1537,-16,"DL",781,"N357NW","LGA","ATL",121,762,13,0,2013-02-16 13:00:00 +2013,2,16,1351,1300,51,1459,1408,51,"US",2175,"N955UW","LGA","DCA",50,214,13,0,2013-02-16 13:00:00 +2013,2,16,1722,1725,-3,2004,2040,-36,"AA",145,"N371AA","JFK","SAN",323,2446,17,25,2013-02-16 17:00:00 +2013,2,16,1921,1930,-9,2030,2122,-52,"9E",3916,"N8501F","JFK","ROC",47,264,19,30,2013-02-16 19:00:00 +2013,2,16,1930,1934,-4,2054,2118,-24,"UA",1023,"N15712","EWR","CLE",63,404,19,34,2013-02-16 19:00:00 +2013,2,16,2208,2155,13,116,48,28,"B6",515,"N238JB","EWR","FLL",165,1065,21,55,2013-02-16 21:00:00 +2013,2,17,1102,1106,-4,1305,1335,-30,"UA",405,"N588UA","LGA","DEN",223,1620,11,6,2013-02-17 11:00:00 +2013,2,17,1120,1115,5,1414,1425,-11,"AA",2099,"N3GNAA","LGA","MIA",153,1096,11,15,2013-02-17 11:00:00 +2013,2,17,1252,1300,-8,1435,1450,-15,"MQ",4426,"N725MQ","LGA","CMH",78,479,13,0,2013-02-17 13:00:00 +2013,2,17,1431,1438,-7,1714,1748,-34,"DL",1902,"N321US","LGA","PBI",145,1035,14,38,2013-02-17 14:00:00 +2013,2,17,1448,1455,-7,1559,1645,-46,"AA",337,"N565AA","LGA","ORD",109,733,14,55,2013-02-17 14:00:00 +2013,2,17,1716,1600,76,1844,1751,53,"B6",917,"N304JB","JFK","ORD",118,740,16,0,2013-02-17 16:00:00 +2013,2,17,2028,2000,28,2147,2147,0,"9E",3320,"N916XJ","JFK","BUF",55,301,20,0,2013-02-17 20:00:00 +2013,2,18,600,601,-1,845,859,-14,"UA",1627,"N26215","EWR","PBI",137,1023,6,1,2013-02-18 06:00:00 +2013,2,18,658,700,-2,949,1014,-25,"DL",1879,"N357NW","LGA","FLL",151,1076,7,0,2013-02-18 07:00:00 +2013,2,18,756,710,46,1255,1204,51,"B6",715,"N645JB","JFK","SJU",197,1598,7,10,2013-02-18 07:00:00 +2013,2,18,810,815,-5,1032,1056,-24,"DL",914,"N368NW","LGA","DEN",230,1620,8,15,2013-02-18 08:00:00 +2013,2,18,951,929,22,1223,1225,-2,"UA",1110,"N37252","EWR","LAS",314,2227,9,29,2013-02-18 09:00:00 +2013,2,18,1052,1020,32,1333,1330,3,"AA",731,"N505AA","LGA","DFW",203,1389,10,20,2013-02-18 10:00:00 +2013,2,18,1109,1110,-1,1232,1252,-20,"EV",5273,"N608QX","LGA","PIT",58,335,11,10,2013-02-18 11:00:00 +2013,2,18,1152,1200,-8,1304,1331,-27,"UA",329,"N843UA","EWR","ORD",117,719,12,0,2013-02-18 12:00:00 +2013,2,18,1336,1259,37,1452,1436,16,"UA",1233,"N14118","EWR","ORD",117,719,12,59,2013-02-18 12:00:00 +2013,2,18,1428,1435,-7,1730,1744,-14,"B6",347,"N284JB","JFK","SRQ",151,1041,14,35,2013-02-18 14:00:00 +2013,2,18,1509,1459,10,1628,1634,-6,"UA",1599,"N14704","EWR","ORD",119,719,14,59,2013-02-18 14:00:00 +2013,2,18,1754,1750,4,1918,1920,-2,"WN",732,"N223WN","EWR","MDW",118,711,17,50,2013-02-18 17:00:00 +2013,2,18,1803,1725,38,2020,1954,26,"UA",509,"N575UA","LGA","DEN",225,1620,17,25,2013-02-18 17:00:00 +2013,2,18,1829,1835,-6,1927,1950,-23,"MQ",3944,"N690MQ","JFK","BWI",38,184,18,35,2013-02-18 18:00:00 +2013,2,18,1955,2000,-5,2105,2117,-12,"US",2189,"N758US","LGA","DCA",42,214,20,0,2013-02-18 20:00:00 +2013,2,18,2038,2044,-6,2139,2150,-11,"EV",4583,"N14173","EWR","MHT",39,209,20,44,2013-02-18 20:00:00 +2013,2,18,2046,1955,51,2153,2125,28,"WN",2327,"N747SA","EWR","MDW",109,711,19,55,2013-02-18 19:00:00 +2013,2,19,556,600,-4,837,849,-12,"B6",145,"N504JB","JFK","PBI",145,1028,6,0,2013-02-19 06:00:00 +2013,2,19,603,608,-5,813,820,-7,"EV",5679,"N17560","EWR","CVG",108,569,6,8,2013-02-19 06:00:00 +2013,2,19,621,630,-9,809,831,-22,"US",1436,"N556UW","EWR","CLT",88,529,6,30,2013-02-19 06:00:00 +2013,2,19,758,748,10,1002,1010,-8,"EV",5682,"N17138","EWR","OMA",165,1134,7,48,2013-02-19 07:00:00 +2013,2,19,1357,1320,37,1737,1625,72,"B6",377,"N662JB","LGA","FLL",191,1076,13,20,2013-02-19 13:00:00 +2013,2,19,1555,1540,15,1737,1743,-6,"9E",3523,"N602LR","JFK","ORD",119,740,15,40,2013-02-19 15:00:00 +2013,2,19,1745,1745,0,2130,2120,10,"AA",177,"N336AA","JFK","SFO",362,2586,17,45,2013-02-19 17:00:00 +2013,2,19,2103,1945,78,2349,2241,68,"9E",3287,"N918XJ","JFK","JAX",129,828,19,45,2013-02-19 19:00:00 +2013,2,19,2117,2115,2,10,2358,12,"B6",927,"N649JB","EWR","MCO",139,937,21,15,2013-02-19 21:00:00 +2013,2,19,2151,2015,96,2326,2210,76,"MQ",4555,"N722MQ","LGA","CMH",80,479,20,15,2013-02-19 20:00:00 +2013,2,20,557,600,-3,734,801,-27,"EV",4911,"N750EV","EWR","DTW",79,488,6,0,2013-02-20 06:00:00 +2013,2,20,732,600,92,855,715,100,"EV",5716,"N827AS","JFK","IAD",50,228,6,0,2013-02-20 06:00:00 +2013,2,20,914,920,-6,1056,1042,14,"B6",108,"N317JB","JFK","BUF",66,301,9,20,2013-02-20 09:00:00 +2013,2,20,942,945,-3,1056,1115,-19,"WN",3587,"N426WN","LGA","MKE",113,738,9,45,2013-02-20 09:00:00 +2013,2,20,951,955,-4,1221,1220,1,"MQ",4654,"N509MQ","LGA","ATL",124,762,9,55,2013-02-20 09:00:00 +2013,2,20,1056,1059,-3,1405,1441,-36,"UA",1120,"N14242","EWR","SFO",355,2565,10,59,2013-02-20 10:00:00 +2013,2,20,1457,1455,2,1644,1637,7,"9E",3318,"N600LR","JFK","BUF",66,301,14,55,2013-02-20 14:00:00 +2013,2,20,1535,1526,9,1824,1807,17,"UA",1222,"N39423","EWR","LAS",315,2227,15,26,2013-02-20 15:00:00 +2013,2,20,1721,1715,6,2026,2019,7,"DL",1585,"N912DL","LGA","MCO",135,950,17,15,2013-02-20 17:00:00 +2013,2,20,1953,1955,-2,2118,2125,-7,"WN",2327,"N460WN","EWR","MDW",110,711,19,55,2013-02-20 19:00:00 +2013,2,21,631,635,-4,849,843,6,"EV",4626,"N14143","EWR","MSP",170,1008,6,35,2013-02-21 06:00:00 +2013,2,21,959,1002,-3,1246,1300,-14,"UA",1428,"N14228","EWR","TPA",152,997,10,2,2013-02-21 10:00:00 +2013,2,21,1140,1120,20,1434,1422,12,"B6",1,"N637JB","JFK","FLL",156,1069,11,20,2013-02-21 11:00:00 +2013,2,21,1257,1259,-2,1430,1436,-6,"UA",1233,"N41140","EWR","ORD",135,719,12,59,2013-02-21 12:00:00 +2013,2,21,1520,1528,-8,1653,1701,-8,"EV",3815,"N15973","EWR","BNA",127,748,15,28,2013-02-21 15:00:00 +2013,2,21,1521,1505,16,1948,2000,-12,"B6",703,"N729JB","JFK","SJU",182,1598,15,5,2013-02-21 15:00:00 +2013,2,21,2054,2100,-6,2205,2207,-2,"US",2144,"N952UW","LGA","BOS",40,184,21,0,2013-02-21 21:00:00 +2013,2,22,512,515,-3,759,814,-15,"UA",697,"N811UA","EWR","IAH",206,1400,5,15,2013-02-22 05:00:00 +2013,2,22,706,635,31,939,852,47,"EV",4423,"N33182","EWR","IND",117,645,6,35,2013-02-22 06:00:00 +2013,2,22,729,730,-1,1043,1115,-32,"VX",11,"N842VA","JFK","SFO",341,2586,7,30,2013-02-22 07:00:00 +2013,2,22,859,840,19,1205,1147,18,"UA",443,"N505UA","JFK","LAX",333,2475,8,40,2013-02-22 08:00:00 +2013,2,22,1416,1325,51,1841,1809,32,"B6",705,"N526JB","JFK","SJU",180,1598,13,25,2013-02-22 13:00:00 +2013,2,22,1528,1535,-7,1854,1850,4,"AA",763,"N3GUAA","LGA","DFW",236,1389,15,35,2013-02-22 15:00:00 +2013,2,22,1608,1605,3,1816,1750,26,"MQ",4415,"N734MQ","LGA","RDU",80,431,16,5,2013-02-22 16:00:00 +2013,2,22,1718,1721,-3,2016,2049,-33,"UA",1460,"N16732","EWR","SNA",337,2434,17,21,2013-02-22 17:00:00 +2013,2,22,1823,1835,-12,2207,2157,10,"UA",1284,"N23708","EWR","AUS",258,1504,18,35,2013-02-22 18:00:00 +2013,2,22,1905,1910,-5,2200,2232,-32,"DL",2159,"N389DA","JFK","MCO",139,944,19,10,2013-02-22 19:00:00 +2013,2,23,954,905,49,1231,1121,70,"EV",4686,"N11165","EWR","MCI",181,1092,9,5,2013-02-23 09:00:00 +2013,2,23,1452,1456,-4,1727,1622,65,"9E",4357,"N830AY","JFK","ORF",53,290,14,56,2013-02-23 14:00:00 +2013,2,23,1724,1659,25,2149,2044,65,"9E",3375,"N917XJ","JFK","SAT",272,1587,16,59,2013-02-23 16:00:00 +2013,2,23,2014,2000,14,2330,2332,-2,"UA",1482,"N77530","EWR","SFO",352,2565,20,0,2013-02-23 20:00:00 +2013,2,24,604,600,4,908,927,-19,"UA",1205,"N76504","EWR","LAX",337,2454,6,0,2013-02-24 06:00:00 +2013,2,24,906,910,-4,1033,1053,-20,"B6",885,"N266JB","JFK","RDU",69,427,9,10,2013-02-24 09:00:00 +2013,2,24,1837,1636,121,2022,1812,130,"EV",4399,"N17984","EWR","RDU",67,416,16,36,2013-02-24 16:00:00 +2013,2,24,1854,1858,-4,2208,2214,-6,"UA",1152,"N54241","EWR","PDX",334,2434,18,58,2013-02-24 18:00:00 +2013,2,24,1914,1920,-6,2237,2246,-9,"DL",869,"N3747D","JFK","FLL",155,1069,19,20,2013-02-24 19:00:00 +2013,2,24,1921,1925,-4,2119,2126,-7,"9E",3331,"N604LR","JFK","RDU",72,427,19,25,2013-02-24 19:00:00 +2013,2,24,2032,2000,32,2322,2300,22,"B6",21,"N775JB","JFK","TPA",148,1005,20,0,2013-02-24 20:00:00 +2013,2,25,625,600,25,756,745,11,"AA",301,"N3BRAA","LGA","ORD",118,733,6,0,2013-02-25 06:00:00 +2013,2,25,917,920,-3,1207,1240,-33,"AA",1589,"N4UCAA","EWR","DFW",213,1372,9,20,2013-02-25 09:00:00 +2013,2,25,1030,1030,0,1256,1254,2,"DL",2343,"N3763D","EWR","ATL",121,746,10,30,2013-02-25 10:00:00 +2013,2,25,1539,1540,-1,1706,1714,-8,"9E",4178,"N8604C","JFK","ROC",54,264,15,40,2013-02-25 15:00:00 +2013,2,25,1740,1729,11,2032,2046,-14,"DL",1185,"N382DA","EWR","SLC",273,1969,17,29,2013-02-25 17:00:00 +2013,2,25,1854,1855,-1,2050,2100,-10,"US",1491,"N184US","LGA","CLT",87,544,18,55,2013-02-25 18:00:00 +2013,2,25,NA,1007,NA,NA,1122,NA,"EV",5711,"N830AS","JFK","IAD",NA,228,10,7,2013-02-25 10:00:00 +2013,2,26,559,600,-1,749,731,18,"UA",816,"N435UA","LGA","ORD",120,733,6,0,2013-02-26 06:00:00 +2013,2,26,735,740,-5,1037,1105,-28,"DL",1915,"N710TW","JFK","SEA",332,2422,7,40,2013-02-26 07:00:00 +2013,2,26,821,815,6,1125,1125,0,"UA",1218,"N39728","EWR","DFW",221,1372,8,15,2013-02-26 08:00:00 +2013,2,26,925,930,-5,1256,1242,14,"B6",375,"N554JB","LGA","FLL",173,1076,9,30,2013-02-26 09:00:00 +2013,2,26,1000,1000,0,1228,1221,7,"EV",3810,"N14158","EWR","SAV",118,708,10,0,2013-02-26 10:00:00 +2013,2,26,1236,1245,-9,1620,1545,35,"B6",85,"N558JB","JFK","FLL",204,1069,12,45,2013-02-26 12:00:00 +2013,2,26,1340,1254,46,1502,1418,44,"EV",4275,"N13958","EWR","BNA",120,748,12,54,2013-02-26 12:00:00 +2013,2,26,1410,1357,13,1512,1513,-1,"EV",4670,"N12567","EWR","IAD",42,212,13,57,2013-02-26 13:00:00 +2013,2,26,1657,1615,42,1832,1831,1,"DL",1619,"N315US","LGA","MSP",131,1020,16,15,2013-02-26 16:00:00 +2013,2,26,1753,1753,0,2043,2113,-30,"UA",535,"N505UA","JFK","LAX",323,2475,17,53,2013-02-26 17:00:00 +2013,2,26,1843,1850,-7,2002,2050,-48,"AA",2019,"N548AA","LGA","STL",123,888,18,50,2013-02-26 18:00:00 +2013,2,26,1846,1850,-4,2007,2041,-34,"DL",1235,"N365NB","LGA","PIT",64,335,18,50,2013-02-26 18:00:00 +2013,2,26,2140,2145,-5,2235,2239,-4,"EV",4099,"N14158","EWR","BWI",40,169,21,45,2013-02-26 21:00:00 +2013,2,27,715,705,10,1022,1034,-12,"UA",580,"N428UA","EWR","SNA",311,2434,7,5,2013-02-27 07:00:00 +2013,2,27,720,730,-10,1014,1040,-26,"AA",2083,"N599AA","EWR","DFW",211,1372,7,30,2013-02-27 07:00:00 +2013,2,27,731,730,1,924,843,41,"B6",44,"N562JB","JFK","SYR",42,209,7,30,2013-02-27 07:00:00 +2013,2,27,842,844,-2,1014,958,16,"EV",4682,"N13908","EWR","SYR",35,195,8,44,2013-02-27 08:00:00 +2013,2,27,1101,1030,31,1219,1210,9,"AA",321,"N4YCAA","LGA","ORD",108,733,10,30,2013-02-27 10:00:00 +2013,2,27,1407,1154,133,1723,1447,156,"B6",27,"N334JB","JFK","TPA",166,1005,11,54,2013-02-27 11:00:00 +2013,2,27,1624,1625,-1,1844,1855,-11,"MQ",4661,"N531MQ","LGA","ATL",122,762,16,25,2013-02-27 16:00:00 +2013,2,27,1628,1600,28,1753,1712,41,"US",2134,"N950UW","LGA","BOS",34,184,16,0,2013-02-27 16:00:00 +2013,2,27,1631,1600,31,1832,1820,12,"MQ",3985,"N660MQ","JFK","CVG",107,589,16,0,2013-02-27 16:00:00 +2013,2,27,1653,1548,65,1907,1830,37,"DL",95,"N393DA","JFK","ATL",117,760,15,48,2013-02-27 15:00:00 +2013,2,27,1703,1600,63,1809,1717,52,"US",2181,"N742PS","LGA","DCA",49,214,16,0,2013-02-27 16:00:00 +2013,2,27,1806,1815,-9,1936,1958,-22,"9E",4019,"N8709A","JFK","RIC",60,288,18,15,2013-02-27 18:00:00 +2013,2,27,1811,1720,51,2118,2040,38,"AA",1999,"N5CRAA","EWR","MIA",162,1085,17,20,2013-02-27 17:00:00 +2013,2,27,1830,1825,5,2034,2049,-15,"UA",247,"N436UA","EWR","DEN",207,1605,18,25,2013-02-27 18:00:00 +2013,2,27,1856,1900,-4,2210,2217,-7,"DL",2391,"N967DL","JFK","TPA",164,1005,19,0,2013-02-27 19:00:00 +2013,2,27,1921,1925,-4,2212,2303,-51,"DL",6,"N376DA","JFK","SLC",254,1990,19,25,2013-02-27 19:00:00 +2013,2,27,2118,2125,-7,2244,2250,-6,"MQ",4660,"N6EAMQ","LGA","BNA",113,764,21,25,2013-02-27 21:00:00 +2013,2,27,2126,2044,42,2222,2150,32,"EV",4583,"N21130","EWR","MHT",35,209,20,44,2013-02-27 20:00:00 +2013,2,28,814,824,-10,1011,1034,-23,"EV",4357,"N29917","EWR","CVG",94,569,8,24,2013-02-28 08:00:00 +2013,2,28,841,845,-4,940,1015,-35,"9E",3405,"N901XJ","JFK","DCA",39,213,8,45,2013-02-28 08:00:00 +2013,2,28,1018,1021,-3,1329,1342,-13,"DL",1903,"N908DE","LGA","SRQ",162,1047,10,21,2013-02-28 10:00:00 +2013,2,28,1225,1225,0,1338,1349,-11,"EV",4271,"N11551","EWR","BNA",115,748,12,25,2013-02-28 12:00:00 +2013,2,28,1634,1640,-6,1852,1913,-21,"UA",1669,"N24715","EWR","ATL",110,746,16,40,2013-02-28 16:00:00 +2013,2,28,1855,1900,-5,2152,2301,-69,"DL",1967,"N705TW","JFK","SFO",331,2586,19,0,2013-02-28 19:00:00 +2013,2,28,2004,2015,-11,2214,2210,4,"MQ",4555,"N719MQ","LGA","CMH",73,479,20,15,2013-02-28 20:00:00 +2013,2,28,2008,2005,3,2157,2227,-30,"EV",4555,"N14179","EWR","OMA",150,1134,20,5,2013-02-28 20:00:00 +2013,3,1,555,600,-5,715,715,0,"EV",5716,"N828AS","JFK","IAD",52,228,6,0,2013-03-01 06:00:00 +2013,3,1,558,600,-2,903,856,7,"B6",507,"N589JB","EWR","FLL",159,1065,6,0,2013-03-01 06:00:00 +2013,3,1,617,615,2,859,855,4,"9E",3623,"N153PQ","JFK","ATL",110,760,6,15,2013-03-01 06:00:00 +2013,3,1,716,710,6,958,1035,-37,"VX",399,"N636VA","JFK","LAX",315,2475,7,10,2013-03-01 07:00:00 +2013,3,1,946,935,11,1158,1230,-32,"VX",251,"N837VA","JFK","LAS",290,2248,9,35,2013-03-01 09:00:00 +2013,3,1,1449,1452,-3,1704,1655,9,"DL",1231,"N999DN","LGA","DTW",87,502,14,52,2013-03-01 14:00:00 +2013,3,1,1456,1459,-3,1715,1711,4,"B6",1275,"N284JB","JFK","CHS",106,636,14,59,2013-03-01 14:00:00 +2013,3,1,1549,1600,-11,1933,1925,8,"AA",1467,"N3HJAA","LGA","MIA",173,1096,16,0,2013-03-01 16:00:00 +2013,3,1,1555,1600,-5,1725,1724,1,"YV",3788,"N516LR","LGA","IAD",51,229,16,0,2013-03-01 16:00:00 +2013,3,1,1749,1759,-10,2118,2054,24,"B6",391,"N571JB","LGA","MCO",161,950,17,59,2013-03-01 17:00:00 +2013,3,1,1952,1930,22,2313,2238,35,"UA",1292,"N76503","EWR","FLL",169,1065,19,30,2013-03-01 19:00:00 +2013,3,2,555,600,-5,704,715,-11,"EV",5716,"N832AS","JFK","IAD",44,228,6,0,2013-03-02 06:00:00 +2013,3,2,724,730,-6,832,843,-11,"B6",44,"N805JB","JFK","SYR",47,209,7,30,2013-03-02 07:00:00 +2013,3,2,841,830,11,1234,1139,55,"UA",752,"N486UA","EWR","FLL",182,1065,8,30,2013-03-02 08:00:00 +2013,3,2,926,935,-9,1307,1247,20,"B6",375,"N589JB","LGA","FLL",173,1076,9,35,2013-03-02 09:00:00 +2013,3,2,957,1001,-4,1207,1232,-25,"DL",2006,"N347NW","LGA","MSY",156,1183,10,1,2013-03-02 10:00:00 +2013,3,2,1236,1237,-1,1506,1548,-42,"UA",525,"N476UA","LGA","IAH",192,1416,12,37,2013-03-02 12:00:00 +2013,3,2,1541,1545,-4,1815,1857,-42,"UA",841,"N525UA","JFK","LAX",313,2475,15,45,2013-03-02 15:00:00 +2013,3,2,1729,1730,-1,1929,1923,6,"US",449,"N648AW","EWR","CLT",85,529,17,30,2013-03-02 17:00:00 +2013,3,2,2000,1810,110,2315,2130,105,"AA",1611,"N3CKAA","LGA","MIA",169,1096,18,10,2013-03-02 18:00:00 +2013,3,3,858,900,-2,1213,1220,-7,"AA",647,"N359AA","JFK","MIA",161,1089,9,0,2013-03-03 09:00:00 +2013,3,3,946,929,17,1100,1123,-23,"EV",4711,"N11547","EWR","STL",122,872,9,29,2013-03-03 09:00:00 +2013,3,3,1027,1030,-3,1352,1410,-18,"VX",23,"N847VA","JFK","SFO",367,2586,10,30,2013-03-03 10:00:00 +2013,3,3,1042,1050,-8,1334,1402,-28,"DL",1903,"N922DL","LGA","SRQ",148,1047,10,50,2013-03-03 10:00:00 +2013,3,3,1339,1314,25,1503,1451,12,"EV",4306,"N14993","EWR","GSO",67,445,13,14,2013-03-03 13:00:00 +2013,3,3,1357,1400,-3,1508,1513,-5,"B6",602,"N238JB","JFK","PWM",54,273,14,0,2013-03-03 14:00:00 +2013,3,3,1426,1435,-9,1638,1707,-29,"EV",3810,"N13995","EWR","JAX",116,820,14,35,2013-03-03 14:00:00 +2013,3,3,1529,1530,-1,1900,1855,5,"AA",1039,"N3GKAA","JFK","FLL",168,1069,15,30,2013-03-03 15:00:00 +2013,3,3,1602,1556,6,1934,1925,9,"UA",1602,"N71411","EWR","SFO",373,2565,15,56,2013-03-03 15:00:00 +2013,3,3,1632,1640,-8,1814,1857,-43,"9E",3442,"N902XJ","JFK","CVG",84,589,16,40,2013-03-03 16:00:00 +2013,3,3,1638,1635,3,1959,2001,-2,"US",656,"N648AW","EWR","PHX",301,2133,16,35,2013-03-03 16:00:00 +2013,3,3,1707,1700,7,1940,2025,-45,"WN",430,"N750SA","EWR","HOU",190,1411,17,0,2013-03-03 17:00:00 +2013,3,3,1903,1855,8,2241,2240,1,"VX",29,"N624VA","JFK","SFO",376,2586,18,55,2013-03-03 18:00:00 +2013,3,4,714,720,-6,837,848,-11,"FL",850,"N988AT","LGA","MKE",112,738,7,20,2013-03-04 07:00:00 +2013,3,4,1038,1029,9,1324,1308,16,"DL",1529,"N395DN","JFK","LAS",321,2248,10,29,2013-03-04 10:00:00 +2013,3,4,1500,1505,-5,1624,1640,-16,"9E",4105,"N8747B","JFK","IAD",51,228,15,5,2013-03-04 15:00:00 +2013,3,4,1550,1515,35,1722,1700,22,"MQ",4333,"N628MQ","JFK","PIT",63,340,15,15,2013-03-04 15:00:00 +2013,3,4,1611,1558,13,1725,1728,-3,"B6",12,"N258JB","JFK","SYR",48,209,15,58,2013-03-04 15:00:00 +2013,3,4,1640,1640,0,1902,1850,12,"MQ",4540,"N734MQ","LGA","DTW",81,502,16,40,2013-03-04 16:00:00 +2013,3,4,1838,1715,83,2148,2024,84,"DL",1779,"N327NW","LGA","FLL",147,1076,17,15,2013-03-04 17:00:00 +2013,3,4,1859,1900,-1,2134,2131,3,"DL",947,"N602DL","LGA","ATL",107,762,19,0,2013-03-04 19:00:00 +2013,3,4,2024,2029,-5,2252,2322,-30,"UA",686,"N828UA","EWR","MCO",126,937,20,29,2013-03-04 20:00:00 +2013,3,5,1022,1001,21,1118,1116,2,"UA",1233,"N15710","EWR","BOS",37,200,10,1,2013-03-05 10:00:00 +2013,3,5,1114,1106,8,1416,1431,-15,"UA",642,"N557UA","JFK","SFO",340,2586,11,6,2013-03-05 11:00:00 +2013,3,5,1449,1458,-9,1604,1629,-25,"B6",8,"N627JB","JFK","BUF",52,301,14,58,2013-03-05 14:00:00 +2013,3,5,1630,1610,20,1822,1800,22,"AA",341,"N596AA","LGA","ORD",135,733,16,10,2013-03-05 16:00:00 +2013,3,5,1758,1800,-2,2028,2035,-7,"DL",1047,"N641DL","LGA","ATL",115,762,18,0,2013-03-05 18:00:00 +2013,3,5,1931,1940,-9,2249,2245,4,"B6",381,"N662JB","LGA","FLL",165,1076,19,40,2013-03-05 19:00:00 +2013,3,5,2351,2358,-7,427,438,-11,"B6",707,"N613JB","JFK","SJU",194,1598,23,58,2013-03-05 23:00:00 +2013,3,6,723,730,-7,1006,1040,-34,"AA",715,"N4UBAA","LGA","DFW",185,1389,7,30,2013-03-06 07:00:00 +2013,3,6,816,820,-4,1125,1124,1,"B6",901,"N590JB","JFK","FLL",164,1069,8,20,2013-03-06 08:00:00 +2013,3,6,833,835,-2,1121,1140,-19,"DL",1959,"N993DL","JFK","MCO",139,944,8,35,2013-03-06 08:00:00 +2013,3,6,1053,1010,43,1200,1125,35,"B6",600,"N258JB","JFK","PWM",45,273,10,10,2013-03-06 10:00:00 +2013,3,6,1252,1245,7,1542,1600,-18,"AA",2253,"N3BVAA","LGA","MIA",149,1096,12,45,2013-03-06 12:00:00 +2013,3,6,1505,1435,30,1739,1728,11,"UA",355,"N437UA","EWR","MCO",127,937,14,35,2013-03-06 14:00:00 +2013,3,6,1810,1700,70,2011,1925,46,"DL",2042,"N916DL","EWR","ATL",96,746,17,0,2013-03-06 17:00:00 +2013,3,6,1836,1652,104,1937,1806,91,"B6",1176,"N323JB","EWR","BOS",38,200,16,52,2013-03-06 16:00:00 +2013,3,6,NA,700,NA,NA,807,NA,"US",2163,NA,"LGA","DCA",NA,214,7,0,2013-03-06 07:00:00 +2013,3,7,14,2046,208,126,2214,192,"EV",4571,"N16999","EWR","MKE",110,725,20,46,2013-03-07 20:00:00 +2013,3,7,817,759,18,1109,1106,3,"UA",288,"N492UA","EWR","DFW",189,1372,7,59,2013-03-07 07:00:00 +2013,3,7,948,918,30,1117,1025,52,"B6",1004,"N625JB","JFK","BOS",52,187,9,18,2013-03-07 09:00:00 +2013,3,7,1012,1010,2,1124,1125,-1,"B6",600,"N656JB","JFK","PWM",47,273,10,10,2013-03-07 10:00:00 +2013,3,7,1055,1100,-5,1317,1331,-14,"DL",1647,"N900PC","LGA","ATL",105,762,11,0,2013-03-07 11:00:00 +2013,3,7,1135,1137,-2,1429,1445,-16,"UA",1601,"N54241","EWR","FLL",155,1065,11,37,2013-03-07 11:00:00 +2013,3,7,1313,1315,-2,1511,1504,7,"US",1536,"N191UW","EWR","CLT",84,529,13,15,2013-03-07 13:00:00 +2013,3,7,1423,1355,28,1711,1648,23,"UA",510,"N467UA","EWR","MCO",136,937,13,55,2013-03-07 13:00:00 +2013,3,7,1439,1445,-6,1619,1647,-28,"US",1445,"N189UW","LGA","CLT",83,544,14,45,2013-03-07 14:00:00 +2013,3,7,1630,1600,30,1833,1712,81,"US",2134,"N963UW","LGA","BOS",66,184,16,0,2013-03-07 16:00:00 +2013,3,7,1926,1830,56,2142,2015,87,"MQ",4674,"N519MQ","LGA","CLE",70,419,18,30,2013-03-07 18:00:00 +2013,3,7,2009,2000,9,2312,2300,12,"B6",21,"N589JB","JFK","TPA",138,1005,20,0,2013-03-07 20:00:00 +2013,3,8,803,800,3,1048,1000,48,"B6",219,"N239JB","JFK","CLT",101,541,8,0,2013-03-08 08:00:00 +2013,3,8,839,835,4,1106,1105,1,"MQ",4610,"N508MQ","LGA","ATL",104,762,8,35,2013-03-08 08:00:00 +2013,3,8,858,850,8,1246,1145,61,"B6",59,"N203JB","JFK","TPA",132,1005,8,50,2013-03-08 08:00:00 +2013,3,8,1202,1030,92,1607,1340,147,"AA",19,"N335AA","JFK","LAX",348,2475,10,30,2013-03-08 10:00:00 +2013,3,8,1409,1125,164,1549,1305,164,"AA",327,"N3AMAA","LGA","ORD",111,733,11,25,2013-03-08 11:00:00 +2013,3,8,1524,1535,-11,1750,1807,-17,"9E",4147,"N8944B","JFK","IND",98,665,15,35,2013-03-08 15:00:00 +2013,3,8,1936,1645,171,2117,1850,147,"DL",1473,"N326NB","LGA","MEM",134,963,16,45,2013-03-08 16:00:00 +2013,3,8,1940,1940,0,2134,2125,9,"MQ",3783,"N514MQ","JFK","CMH",69,483,19,40,2013-03-08 19:00:00 +2013,3,8,2029,2025,4,2147,2149,-2,"DL",985,"N339NW","JFK","BOS",40,187,20,25,2013-03-08 20:00:00 +2013,3,8,NA,2000,NA,NA,2245,NA,"EV",4204,"N21130","EWR","OKC",NA,1325,20,0,2013-03-08 20:00:00 +2013,3,8,NA,1500,NA,NA,1608,NA,"US",2132,NA,"LGA","BOS",NA,184,15,0,2013-03-08 15:00:00 +2013,3,9,756,800,-4,948,1000,-12,"B6",219,"N337JB","JFK","CLT",80,541,8,0,2013-03-09 08:00:00 +2013,3,9,804,730,34,902,843,19,"B6",44,"N625JB","JFK","SYR",40,209,7,30,2013-03-09 07:00:00 +2013,3,9,837,840,-3,944,957,-13,"EV",3836,"N16571","EWR","BOS",39,200,8,40,2013-03-09 08:00:00 +2013,3,9,951,959,-8,1119,1129,-10,"MQ",4670,"N3AEMQ","LGA","BNA",106,764,9,59,2013-03-09 09:00:00 +2013,3,9,1253,1300,-7,1351,1408,-17,"US",2175,"N961UW","LGA","DCA",40,214,13,0,2013-03-09 13:00:00 +2013,3,9,1620,1610,10,1800,1804,-4,"9E",3407,"N926XJ","JFK","PIT",64,340,16,10,2013-03-09 16:00:00 +2013,3,10,609,610,-1,840,905,-25,"UA",707,"N496UA","EWR","MCO",128,937,6,10,2013-03-10 06:00:00 +2013,3,10,1156,1200,-4,1320,1330,-10,"MQ",4601,"N530MQ","LGA","BNA",107,764,12,0,2013-03-10 12:00:00 +2013,3,10,1505,1438,27,1615,1555,20,"EV",5930,"N13913","EWR","IAD",41,212,14,38,2013-03-10 14:00:00 +2013,3,10,1656,1700,-4,1939,2011,-32,"UA",404,"N492UA","LGA","IAH",198,1416,17,0,2013-03-10 17:00:00 +2013,3,10,1705,1715,-10,2014,2005,9,"WN",1035,"N778SW","EWR","HOU",223,1411,17,15,2013-03-10 17:00:00 +2013,3,10,1736,1738,-2,1955,2004,-9,"FL",806,"N977AT","LGA","ATL",112,762,17,38,2013-03-10 17:00:00 +2013,3,10,1801,1556,125,2044,1925,79,"UA",1602,"N37468","EWR","SFO",323,2565,15,56,2013-03-10 15:00:00 +2013,3,10,1823,1829,-6,2004,2032,-28,"US",1973,"N536UW","EWR","CLT",76,529,18,29,2013-03-10 18:00:00 +2013,3,10,2149,2100,49,2400,2315,45,"EV",3817,"N10575","EWR","SDF",107,642,21,0,2013-03-10 21:00:00 +2013,3,11,748,757,-9,920,945,-25,"9E",3611,"N8932C","JFK","PIT",70,340,7,57,2013-03-11 07:00:00 +2013,3,11,1208,1210,-2,1343,1325,18,"WN",3839,"N900WN","EWR","MDW",112,711,12,10,2013-03-11 12:00:00 +2013,3,11,1725,1631,54,1923,1834,49,"EV",4411,"N14952","EWR","MEM",151,946,16,31,2013-03-11 16:00:00 +2013,3,11,1813,1815,-2,2129,2147,-18,"B6",173,"N606JB","JFK","SJC",345,2569,18,15,2013-03-11 18:00:00 +2013,3,11,1814,1820,-6,2109,2150,-41,"AA",119,"N3BFAA","EWR","LAX",322,2454,18,20,2013-03-11 18:00:00 +2013,3,11,1853,1900,-7,2158,2240,-42,"DL",87,"N713TW","JFK","LAX",331,2475,19,0,2013-03-11 19:00:00 +2013,3,11,1953,1929,24,2218,2157,21,"EV",5181,"N755EV","EWR","ATL",120,746,19,29,2013-03-11 19:00:00 +2013,3,12,5,2020,225,312,2327,225,"B6",801,"N523JB","JFK","FLL",162,1069,20,20,2013-03-12 20:00:00 +2013,3,12,31,2138,173,348,29,199,"B6",383,"N624JB","LGA","FLL",164,1076,21,38,2013-03-12 21:00:00 +2013,3,12,1715,1719,-4,1833,1857,-24,"UA",16,"N39450","EWR","ORD",114,719,17,19,2013-03-12 17:00:00 +2013,3,13,620,630,-10,802,830,-28,"MQ",4599,"N535MQ","LGA","MSP",140,1020,6,30,2013-03-13 06:00:00 +2013,3,13,624,608,16,743,724,19,"EV",4354,"N11150","EWR","IAD",49,212,6,8,2013-03-13 06:00:00 +2013,3,13,700,705,-5,1035,1012,23,"DL",1879,"N952DL","LGA","FLL",164,1076,7,5,2013-03-13 07:00:00 +2013,3,13,725,730,-5,935,1005,-30,"WN",2692,"N473WN","LGA","DEN",221,1620,7,30,2013-03-13 07:00:00 +2013,3,13,857,859,-2,1215,1219,-4,"UA",1581,"N33292","EWR","SEA",338,2402,8,59,2013-03-13 08:00:00 +2013,3,13,1116,1105,11,1222,1240,-18,"WN",993,"N903WN","LGA","MDW",105,725,11,5,2013-03-13 11:00:00 +2013,3,13,1341,1345,-4,1612,1655,-43,"B6",209,"N598JB","JFK","LGB",313,2465,13,45,2013-03-13 13:00:00 +2013,3,13,1549,1553,-4,1750,1808,-18,"EV",4684,"N33182","EWR","SDF",102,642,15,53,2013-03-13 15:00:00 +2013,3,13,1943,1925,18,2302,2243,19,"DL",2139,"N909DE","LGA","MIA",166,1096,19,25,2013-03-13 19:00:00 +2013,3,13,2107,2100,7,2310,2315,-5,"EV",3817,"N16911","EWR","SDF",103,642,21,0,2013-03-13 21:00:00 +2013,3,14,601,600,1,711,720,-9,"WN",430,"N8611F","LGA","MDW",106,725,6,0,2013-03-14 06:00:00 +2013,3,14,637,642,-5,857,850,7,"EV",4626,"N10156","EWR","MSP",167,1008,6,42,2013-03-14 06:00:00 +2013,3,14,820,835,-15,1112,1134,-22,"B6",517,"N645JB","EWR","MCO",140,937,8,35,2013-03-14 08:00:00 +2013,3,14,950,959,-9,1110,1124,-14,"EV",5736,"N833AS","LGA","IAD",53,229,9,59,2013-03-14 09:00:00 +2013,3,14,1247,1250,-3,1543,1604,-21,"B6",1065,"N595JB","JFK","AUS",207,1521,12,50,2013-03-14 12:00:00 +2013,3,14,1544,1543,1,1709,1710,-1,"9E",4135,"N8604C","JFK","BWI",36,184,15,43,2013-03-14 15:00:00 +2013,3,14,1634,1635,-1,1846,1901,-15,"US",656,"N678AW","EWR","PHX",270,2133,16,35,2013-03-14 16:00:00 +2013,3,14,1959,1951,8,2326,2329,-3,"B6",91,"N623JB","JFK","OAK",340,2576,19,51,2013-03-14 19:00:00 +2013,3,14,2353,2355,-2,340,340,0,"B6",739,"N763JB","JFK","PSE",205,1617,23,55,2013-03-14 23:00:00 +2013,3,15,621,615,6,822,820,2,"US",829,"N701UW","JFK","CLT",78,541,6,15,2013-03-15 06:00:00 +2013,3,15,626,630,-4,833,914,-41,"UA",216,"N417UA","EWR","PHX",286,2133,6,30,2013-03-15 06:00:00 +2013,3,15,654,655,-1,814,825,-11,"WN",3048,"N270WN","LGA","MKE",114,738,6,55,2013-03-15 06:00:00 +2013,3,15,700,705,-5,958,951,7,"DL",2285,"N675DL","LGA","MCO",130,950,7,5,2013-03-15 07:00:00 +2013,3,15,748,800,-12,846,908,-22,"US",2118,"N952UW","LGA","BOS",37,184,8,0,2013-03-15 08:00:00 +2013,3,15,813,815,-2,948,1010,-22,"MQ",4490,"N730MQ","LGA","CMH",76,479,8,15,2013-03-15 08:00:00 +2013,3,15,922,929,-7,1313,1326,-13,"B6",215,"N653JB","EWR","SJU",205,1608,9,29,2013-03-15 09:00:00 +2013,3,15,930,930,0,1213,1255,-42,"WN",739,"N943WN","EWR","AUS",199,1504,9,30,2013-03-15 09:00:00 +2013,3,15,1051,1050,1,1332,1402,-30,"UA",1183,"N38257","EWR","RSW",138,1068,10,50,2013-03-15 10:00:00 +2013,3,15,1243,1217,26,1351,1334,17,"EV",4121,"N12157","EWR","ROC",53,246,12,17,2013-03-15 12:00:00 +2013,3,15,1354,1400,-6,1455,1503,-8,"US",2130,"N950UW","LGA","BOS",40,184,14,0,2013-03-15 14:00:00 +2013,3,15,1604,1329,155,1815,1542,153,"EV",3837,"N12567","EWR","IND",109,645,13,29,2013-03-15 13:00:00 +2013,3,15,1817,1810,7,2111,2127,-16,"B6",217,"N598JB","JFK","LGB",336,2465,18,10,2013-03-15 18:00:00 +2013,3,15,1854,1825,29,2058,2055,3,"WN",2805,"N910WN","EWR","MSY",162,1167,18,25,2013-03-15 18:00:00 +2013,3,15,1938,1935,3,2215,2240,-25,"AA",791,"N3AKAA","LGA","DFW",199,1389,19,35,2013-03-15 19:00:00 +2013,3,15,1943,1940,3,2153,2231,-38,"9E",3340,"N919XJ","JFK","JAX",110,828,19,40,2013-03-15 19:00:00 +2013,3,16,619,615,4,850,842,8,"DL",1743,"N303DQ","JFK","ATL",118,760,6,15,2013-03-16 06:00:00 +2013,3,16,737,736,1,1132,1115,17,"B6",643,"N821JB","JFK","SFO",393,2586,7,36,2013-03-16 07:00:00 +2013,3,16,859,900,-1,1125,1126,-1,"DL",485,"N773NC","EWR","ATL",113,746,9,0,2013-03-16 09:00:00 +2013,3,16,907,910,-3,1023,1032,-9,"B6",20,"N284JB","JFK","ROC",53,264,9,10,2013-03-16 09:00:00 +2013,3,16,1322,1329,-7,1549,1542,7,"EV",4163,"N11187","EWR","IND",115,645,13,29,2013-03-16 13:00:00 +2013,3,16,1457,1430,27,1625,1554,31,"EV",5766,"N834AS","LGA","IAD",49,229,14,30,2013-03-16 14:00:00 +2013,3,16,1545,1545,0,1723,1700,23,"WN",1572,"N284WN","EWR","MDW",121,711,15,45,2013-03-16 15:00:00 +2013,3,16,1913,1915,-2,2216,2208,8,"B6",155,"N592JB","JFK","MCO",135,944,19,15,2013-03-16 19:00:00 +2013,3,16,2030,2030,0,2330,2306,24,"B6",619,"N354JB","JFK","JAX",122,828,20,30,2013-03-16 20:00:00 +2013,3,17,844,835,9,1125,1134,-9,"B6",517,"N562JB","EWR","MCO",139,937,8,35,2013-03-17 08:00:00 +2013,3,17,928,930,-2,1223,1243,-20,"B6",1639,"N639JB","LGA","RSW",153,1080,9,30,2013-03-17 09:00:00 +2013,3,17,1121,1130,-9,1422,1437,-15,"UA",703,"N512UA","JFK","LAX",339,2475,11,30,2013-03-17 11:00:00 +2013,3,17,1523,1529,-6,1734,1737,-3,"EV",4352,"N13132","EWR","CVG",98,569,15,29,2013-03-17 15:00:00 +2013,3,17,1804,1810,-6,1947,1945,2,"MQ",4484,"N723MQ","LGA","BNA",128,764,18,10,2013-03-17 18:00:00 +2013,3,17,1939,1918,21,2239,2216,23,"UA",1159,"N77510","EWR","PBI",153,1023,19,18,2013-03-17 19:00:00 +2013,3,17,2111,2115,-4,5,2358,7,"B6",927,"N562JB","EWR","MCO",139,937,21,15,2013-03-17 21:00:00 +2013,3,18,626,629,-3,840,849,-9,"DL",575,"N359NB","EWR","ATL",116,746,6,29,2013-03-18 06:00:00 +2013,3,18,639,645,-6,906,846,20,"US",1281,"N182UW","EWR","CLT",90,529,6,45,2013-03-18 06:00:00 +2013,3,18,1151,1140,11,1448,1445,3,"AA",1623,"N3FAAA","EWR","MIA",152,1085,11,40,2013-03-18 11:00:00 +2013,3,18,1539,1545,-6,2228,1803,NA,"DL",1942,"N347NB","EWR","ATL",NA,746,15,45,2013-03-18 15:00:00 +2013,3,18,2024,1955,29,2332,2310,22,"AA",1709,"N3HNAA","LGA","MIA",155,1096,19,55,2013-03-18 19:00:00 +2013,3,18,2317,2005,192,319,2330,229,"VX",415,"N642VA","JFK","LAX",366,2475,20,5,2013-03-18 20:00:00 +2013,3,19,812,816,-4,1134,1146,-12,"UA",1290,"N17244","EWR","SFO",361,2565,8,16,2013-03-19 08:00:00 +2013,3,19,812,752,20,1213,1147,26,"UA",1481,"N12109","EWR","SJU",195,1608,7,52,2013-03-19 07:00:00 +2013,3,19,859,900,-1,1035,1039,-4,"UA",544,"N813UA","LGA","ORD",115,733,9,0,2013-03-19 09:00:00 +2013,3,19,1000,810,110,1318,1123,115,"DL",1271,"N332NW","JFK","FLL",171,1069,8,10,2013-03-19 08:00:00 +2013,3,19,1443,1445,-2,1704,1656,8,"EV",5475,"N615QX","LGA","CLT",96,544,14,45,2013-03-19 14:00:00 +2013,3,19,1717,1610,67,1824,1736,48,"9E",3968,"N8577D","JFK","PHL",31,94,16,10,2013-03-19 16:00:00 +2013,3,19,1754,1805,-11,1928,1945,-17,"9E",4019,"N8631E","JFK","RIC",61,288,18,5,2013-03-19 18:00:00 +2013,3,19,2001,1935,26,2244,2207,37,"EV",4333,"N11155","EWR","TUL",192,1215,19,35,2013-03-19 19:00:00 +2013,3,19,2018,2005,13,2331,2330,1,"VX",415,"N639VA","JFK","LAX",342,2475,20,5,2013-03-19 20:00:00 +2013,3,19,2103,2005,58,2214,2109,65,"EV",4566,"N12922","EWR","ALB",34,143,20,5,2013-03-19 20:00:00 +2013,3,20,558,600,-2,652,659,-7,"US",2161,"N702UW","LGA","DCA",41,214,6,0,2013-03-20 06:00:00 +2013,3,20,716,725,-9,935,948,-13,"EV",4150,"N14180","EWR","XNA",174,1131,7,25,2013-03-20 07:00:00 +2013,3,20,729,735,-6,918,935,-17,"EV",4344,"N13964","EWR","DTW",86,488,7,35,2013-03-20 07:00:00 +2013,3,20,815,810,5,1128,1124,4,"DL",2070,"N343NB","LGA","RSW",170,1080,8,10,2013-03-20 08:00:00 +2013,3,20,841,845,-4,1055,1057,-2,"US",1429,"N742PS","LGA","CLT",101,544,8,45,2013-03-20 08:00:00 +2013,3,20,934,929,5,1203,1222,-19,"UA",1597,"N15710","EWR","EGE",242,1725,9,29,2013-03-20 09:00:00 +2013,3,20,1012,1015,-3,1220,1216,4,"US",1427,"N738US","JFK","CLT",94,541,10,15,2013-03-20 10:00:00 +2013,3,20,1051,1030,21,1222,1215,7,"MQ",4471,"N725MQ","LGA","RDU",77,431,10,30,2013-03-20 10:00:00 +2013,3,20,1400,1343,17,1713,1715,-2,"UA",81,"N73278","EWR","SFO",356,2565,13,43,2013-03-20 13:00:00 +2013,3,20,1529,1530,-1,1730,1725,5,"MQ",4146,"N624MQ","JFK","CMH",78,483,15,30,2013-03-20 15:00:00 +2013,3,20,1902,1900,2,2124,2131,-7,"DL",947,"N636DL","LGA","ATL",116,762,19,0,2013-03-20 19:00:00 +2013,3,20,1936,1922,14,2256,2220,36,"UA",1057,"N27724","EWR","PBI",168,1023,19,22,2013-03-20 19:00:00 +2013,3,21,617,630,-13,903,926,-23,"B6",983,"N603JB","LGA","TPA",144,1010,6,30,2013-03-21 06:00:00 +2013,3,21,858,900,-2,1216,1220,-4,"AA",1,"N320AA","JFK","LAX",334,2475,9,0,2013-03-21 09:00:00 +2013,3,21,1059,1100,-1,1418,1414,4,"DL",930,"N952DL","LGA","FLL",156,1076,11,0,2013-03-21 11:00:00 +2013,3,21,1310,1200,70,1427,1314,73,"EV",4229,"N16571","EWR","BUF",59,282,12,0,2013-03-21 12:00:00 +2013,3,21,1317,1310,7,1721,1706,15,"UA",1708,"N37468","EWR","SJU",221,1608,13,10,2013-03-21 13:00:00 +2013,3,21,1538,944,354,1702,1138,324,"EV",4389,"N15973","EWR","STL",132,872,9,44,2013-03-21 09:00:00 +2013,3,21,1646,1650,-4,1809,1820,-11,"AA",1790,"N3KBAA","JFK","BOS",35,187,16,50,2013-03-21 16:00:00 +2013,3,21,1751,1800,-9,1907,1917,-10,"B6",1307,"N183JB","JFK","IAD",52,228,18,0,2013-03-21 18:00:00 +2013,3,21,2054,1930,84,4,2238,86,"UA",1292,"N38268","EWR","FLL",149,1065,19,30,2013-03-21 19:00:00 +2013,3,22,623,630,-7,833,843,-10,"US",1433,"N185UW","LGA","CLT",81,544,6,30,2013-03-22 06:00:00 +2013,3,22,812,815,-3,1052,1115,-23,"DL",1167,"N305DQ","JFK","TPA",142,1005,8,15,2013-03-22 08:00:00 +2013,3,22,1306,1249,17,1548,1539,9,"B6",991,"N638JB","JFK","PBI",147,1028,12,49,2013-03-22 12:00:00 +2013,3,22,1324,1329,-5,1518,1533,-15,"EV",4612,"N31131","EWR","MSP",152,1008,13,29,2013-03-22 13:00:00 +2013,3,22,1452,1455,-3,1744,1757,-13,"B6",141,"N635JB","JFK","PBI",144,1028,14,55,2013-03-22 14:00:00 +2013,3,22,1714,1658,16,2012,2007,5,"B6",139,"N292JB","JFK","RSW",158,1074,16,58,2013-03-22 16:00:00 +2013,3,22,1729,1645,44,1842,1800,42,"EV",4216,"N14959","EWR","BUF",59,282,16,45,2013-03-22 16:00:00 +2013,3,22,1821,1800,21,2015,1940,35,"UA",578,"N414UA","EWR","ORD",108,719,18,0,2013-03-22 18:00:00 +2013,3,22,2124,2125,-1,2233,2240,-7,"MQ",4449,"N806MQ","JFK","DCA",51,213,21,25,2013-03-22 21:00:00 +2013,3,23,954,955,-1,1325,1257,28,"B6",503,"N603JB","EWR","FLL",156,1065,9,55,2013-03-23 09:00:00 +2013,3,23,1146,1128,18,1331,1335,-4,"DL",2219,"N338NW","LGA","MSP",148,1020,11,28,2013-03-23 11:00:00 +2013,3,23,1431,1430,1,1703,1659,4,"B6",119,"N292JB","JFK","MSY",190,1182,14,30,2013-03-23 14:00:00 +2013,3,23,1444,1435,9,1818,1744,34,"B6",347,"N193JB","JFK","SRQ",166,1041,14,35,2013-03-23 14:00:00 +2013,3,23,1605,1600,5,1835,1831,4,"EV",4699,"N12136","EWR","MSY",192,1167,16,0,2013-03-23 16:00:00 +2013,3,23,1828,1830,-2,2145,2205,-20,"AA",269,"N3FEAA","JFK","SEA",326,2422,18,30,2013-03-23 18:00:00 +2013,3,23,2134,2140,-6,2310,2305,5,"B6",104,"N324JB","JFK","BUF",62,301,21,40,2013-03-23 21:00:00 +2013,3,24,1057,1100,-3,1349,1414,-25,"DL",1275,"N3756","JFK","SLC",271,1990,11,0,2013-03-24 11:00:00 +2013,3,24,1115,1120,-5,1448,1422,26,"B6",1,"N662JB","JFK","FLL",167,1069,11,20,2013-03-24 11:00:00 +2013,3,24,1310,1313,-3,1455,1450,5,"EV",4306,"N13964","EWR","GSO",90,445,13,13,2013-03-24 13:00:00 +2013,3,24,1510,1512,-2,1847,1824,23,"UA",1739,"N14230","EWR","RSW",196,1068,15,12,2013-03-24 15:00:00 +2013,3,24,1541,1535,6,1914,1844,30,"9E",3325,"N918XJ","JFK","DFW",218,1391,15,35,2013-03-24 15:00:00 +2013,3,24,1713,1710,3,1813,1826,-13,"EV",4701,"N14920","EWR","BTV",46,266,17,10,2013-03-24 17:00:00 +2013,3,24,1714,1715,-1,2121,2024,57,"DL",1779,"N364NW","LGA","FLL",222,1076,17,15,2013-03-24 17:00:00 +2013,3,24,1826,1515,191,1945,1628,197,"EV",4583,"N16911","EWR","PWM",47,284,15,15,2013-03-24 15:00:00 +2013,3,24,1955,1940,15,2238,2231,7,"9E",3340,"N604LR","JFK","JAX",133,828,19,40,2013-03-24 19:00:00 +2013,3,25,551,600,-9,657,733,-36,"UA",997,"N414UA","LGA","ORD",111,733,6,0,2013-03-25 06:00:00 +2013,3,25,610,615,-5,839,844,-5,"DL",1743,"N305DQ","JFK","ATL",124,760,6,15,2013-03-25 06:00:00 +2013,3,25,648,700,-12,802,850,-48,"AA",305,"N511AA","LGA","ORD",113,733,7,0,2013-03-25 07:00:00 +2013,3,25,918,925,-7,1043,1047,-4,"B6",108,"N709JB","JFK","BUF",51,301,9,25,2013-03-25 09:00:00 +2013,3,25,943,950,-7,1058,1103,-5,"9E",3739,"N8409N","JFK","PHL",40,94,9,50,2013-03-25 09:00:00 +2013,3,25,954,935,19,1102,1120,-18,"WN",2074,"N916WN","LGA","MDW",107,725,9,35,2013-03-25 09:00:00 +2013,3,25,1259,1300,-1,1410,1425,-15,"WN",3295,"N750SA","EWR","BNA",111,748,13,0,2013-03-25 13:00:00 +2013,3,25,1422,1422,0,1715,1715,0,"UA",1166,"N19136","EWR","TPA",151,997,14,22,2013-03-25 14:00:00 +2013,3,25,1456,1500,-4,1821,1825,-4,"AA",1925,"N3AMAA","LGA","MIA",159,1096,15,0,2013-03-25 15:00:00 +2013,3,25,1730,1710,20,2020,2015,5,"AA",695,"N3BUAA","JFK","AUS",208,1521,17,10,2013-03-25 17:00:00 +2013,3,25,1816,1753,23,2118,2105,13,"UA",535,"N554UA","JFK","LAX",329,2475,17,53,2013-03-25 17:00:00 +2013,3,25,1821,1820,1,1945,2005,-20,"AA",353,"N3GWAA","LGA","ORD",114,733,18,20,2013-03-25 18:00:00 +2013,3,25,1842,1800,42,2010,1940,30,"UA",597,"N808UA","EWR","ORD",99,719,18,0,2013-03-25 18:00:00 +2013,3,25,2042,2055,-13,2223,2250,-27,"MQ",4573,"N735MQ","LGA","DTW",80,502,20,55,2013-03-25 20:00:00 +2013,3,25,2131,2055,36,2226,2220,6,"WN",115,"N749SW","LGA","MDW",100,725,20,55,2013-03-25 20:00:00 +2013,3,25,NA,1500,NA,NA,1638,NA,"9E",3393,NA,"JFK","DCA",NA,213,15,0,2013-03-25 15:00:00 +2013,3,26,620,620,0,951,1002,-11,"B6",709,"N629JB","JFK","SJU",194,1598,6,20,2013-03-26 06:00:00 +2013,3,26,814,810,4,1026,1030,-4,"FL",346,"N894AT","LGA","ATL",110,762,8,10,2013-03-26 08:00:00 +2013,3,26,839,845,-6,1047,1057,-10,"US",1429,"N747UW","LGA","CLT",86,544,8,45,2013-03-26 08:00:00 +2013,3,26,924,929,-5,1203,1212,-9,"UA",657,"N556UA","EWR","LAS",303,2227,9,29,2013-03-26 09:00:00 +2013,3,26,1256,1259,-3,1522,1534,-12,"DL",781,"N612DL","LGA","ATL",109,762,12,59,2013-03-26 12:00:00 +2013,3,26,1543,1545,-2,1831,1856,-25,"DL",4,"N387DA","JFK","MCO",142,944,15,45,2013-03-26 15:00:00 +2013,3,26,1841,1847,-6,2201,2219,-18,"UA",389,"N512UA","JFK","SFO",344,2586,18,47,2013-03-26 18:00:00 +2013,3,26,1952,2000,-8,2104,2117,-13,"US",2189,"N765US","LGA","DCA",40,214,20,0,2013-03-26 20:00:00 +2013,3,27,534,540,-6,832,850,-18,"AA",1141,"N5BSAA","JFK","MIA",152,1089,5,40,2013-03-27 05:00:00 +2013,3,27,600,600,0,923,925,-2,"UA",303,"N505UA","JFK","SFO",356,2586,6,0,2013-03-27 06:00:00 +2013,3,27,628,630,-2,835,914,-39,"UA",216,"N417UA","EWR","PHX",288,2133,6,30,2013-03-27 06:00:00 +2013,3,27,907,914,-7,1203,1210,-7,"B6",57,"N585JB","JFK","PBI",144,1028,9,14,2013-03-27 09:00:00 +2013,3,27,944,950,-6,1057,1103,-6,"9E",3739,"N8747B","JFK","PHL",31,94,9,50,2013-03-27 09:00:00 +2013,3,27,950,955,-5,1237,1257,-20,"B6",503,"N556JB","EWR","FLL",147,1065,9,55,2013-03-27 09:00:00 +2013,3,27,1520,1525,-5,1640,1655,-15,"MQ",3823,"N517MQ","JFK","DCA",56,213,15,25,2013-03-27 15:00:00 +2013,3,27,1700,1704,-4,1855,1929,-34,"UA",1668,"N38451","EWR","DEN",215,1605,17,4,2013-03-27 17:00:00 +2013,3,28,708,709,-1,1003,1009,-6,"B6",987,"N506JB","JFK","MCO",138,944,7,9,2013-03-28 07:00:00 +2013,3,28,856,900,-4,1002,1017,-15,"B6",56,"N192JB","JFK","BTV",48,266,9,0,2013-03-28 09:00:00 +2013,3,28,929,935,-6,1201,1230,-29,"VX",251,"N838VA","JFK","LAS",314,2248,9,35,2013-03-28 09:00:00 +2013,3,28,1546,1545,1,1900,1910,-10,"AA",133,"N332AA","JFK","LAX",337,2475,15,45,2013-03-28 15:00:00 +2013,3,28,1554,1600,-6,1903,1925,-22,"AA",1467,"N3CXAA","LGA","MIA",156,1096,16,0,2013-03-28 16:00:00 +2013,3,28,2050,2100,-10,2317,2346,-29,"B6",399,"N662JB","LGA","MCO",131,950,21,0,2013-03-28 21:00:00 +2013,3,29,654,659,-5,937,959,-22,"AA",1815,"N5FSAA","JFK","MCO",134,944,6,59,2013-03-29 06:00:00 +2013,3,29,1001,1000,1,1237,1252,-15,"UA",1003,"N14731","EWR","MCO",136,937,10,0,2013-03-29 10:00:00 +2013,3,29,1236,1245,-9,1538,1600,-22,"AA",2253,"N3JKAA","LGA","MIA",161,1096,12,45,2013-03-29 12:00:00 +2013,3,29,1448,1450,-2,1732,1755,-23,"AA",1813,"N5FGAA","JFK","MCO",139,944,14,50,2013-03-29 14:00:00 +2013,3,29,1553,1605,-12,1724,1750,-26,"MQ",4415,"N719MQ","LGA","RDU",69,431,16,5,2013-03-29 16:00:00 +2013,3,29,1930,1933,-3,2149,2201,-12,"EV",4509,"N13133","EWR","MSY",163,1167,19,33,2013-03-29 19:00:00 +2013,3,29,1952,1956,-4,2118,2115,3,"EV",4258,"N16546","EWR","IAD",49,212,19,56,2013-03-29 19:00:00 +2013,3,29,2027,2019,8,2310,2310,0,"UA",353,"N516UA","EWR","SEA",321,2402,20,19,2013-03-29 20:00:00 +2013,3,29,2033,2045,-12,2210,2225,-15,"AA",371,"N4WPAA","LGA","ORD",120,733,20,45,2013-03-29 20:00:00 +2013,3,30,629,630,-1,835,905,-30,"WN",878,"N299WN","LGA","DEN",229,1620,6,30,2013-03-30 06:00:00 +2013,3,30,733,735,-2,902,915,-13,"WN",1075,"N760SW","EWR","STL",128,872,7,35,2013-03-30 07:00:00 +2013,3,30,907,910,-3,1023,1053,-30,"B6",885,"N229JB","JFK","RDU",61,427,9,10,2013-03-30 09:00:00 +2013,3,30,927,930,-3,1051,1101,-10,"9E",3613,"N8516C","JFK","ROC",51,264,9,30,2013-03-30 09:00:00 +2013,3,30,1038,1041,-3,1205,1220,-15,"EV",4298,"N15973","EWR","RDU",67,416,10,41,2013-03-30 10:00:00 +2013,3,30,1441,1450,-9,1553,1625,-32,"9E",4357,"N833AY","JFK","ORF",53,290,14,50,2013-03-30 14:00:00 +2013,3,30,1624,1629,-5,1835,1850,-15,"9E",3384,"N919XJ","JFK","DTW",94,509,16,29,2013-03-30 16:00:00 +2013,3,30,1650,1658,-8,1946,2007,-21,"B6",139,"N258JB","JFK","RSW",150,1074,16,58,2013-03-30 16:00:00 +2013,3,30,1707,1720,-13,1829,1905,-36,"MQ",4479,"N720MQ","LGA","RDU",69,431,17,20,2013-03-30 17:00:00 +2013,3,30,1741,1645,56,1847,1801,46,"EV",4216,"N16963","EWR","BUF",48,282,16,45,2013-03-30 16:00:00 +2013,3,30,1901,1905,-4,2106,2139,-33,"DL",1097,"N321NB","JFK","MSY",164,1182,19,5,2013-03-30 19:00:00 +2013,3,30,1949,1955,-6,2245,2310,-25,"AA",1709,"N3CKAA","LGA","MIA",143,1096,19,55,2013-03-30 19:00:00 +2013,3,31,721,730,-9,1026,1040,-14,"AA",715,"N4XBAA","LGA","DFW",222,1389,7,30,2013-03-31 07:00:00 +2013,3,31,805,810,-5,956,1020,-24,"DL",2119,"N980DL","LGA","MSP",149,1020,8,10,2013-03-31 08:00:00 +2013,3,31,1342,1350,-8,1554,1607,-13,"US",186,"N658AW","EWR","PHX",297,2133,13,50,2013-03-31 13:00:00 +2013,3,31,1637,1640,-3,1847,1857,-10,"9E",3442,"N907XJ","JFK","CVG",102,589,16,40,2013-03-31 16:00:00 +2013,3,31,1822,1829,-7,2023,2034,-11,"EV",4155,"N13964","EWR","GRR",93,605,18,29,2013-03-31 18:00:00 +2013,3,31,1824,1829,-5,2027,2024,3,"EV",4451,"N21154","EWR","CAE",94,602,18,29,2013-03-31 18:00:00 +2013,3,31,2105,2005,60,2336,2213,83,"EV",4536,"N16546","EWR","CVG",101,569,20,5,2013-03-31 20:00:00 +2013,3,31,2218,2220,-2,206,209,-3,"B6",713,"N580JB","JFK","SJU",202,1598,22,20,2013-03-31 22:00:00 +2013,3,31,2332,2150,102,223,40,103,"B6",515,"N258JB","EWR","FLL",146,1065,21,50,2013-03-31 21:00:00 +2013,4,1,601,605,-4,905,906,-1,"B6",135,"N554JB","JFK","RSW",168,1074,6,5,2013-04-01 06:00:00 +2013,4,1,636,640,-4,853,853,0,"B6",117,"N316JB","JFK","MSY",179,1182,6,40,2013-04-01 06:00:00 +2013,4,1,1139,1145,-6,1458,1451,7,"DL",1174,"N320US","LGA","PBI",156,1035,11,45,2013-04-01 11:00:00 +2013,4,1,1535,1535,0,1823,1845,-22,"AA",763,"N3EGAA","LGA","DFW",201,1389,15,35,2013-04-01 15:00:00 +2013,4,1,1537,1435,62,1809,1707,62,"EV",3810,"N12569","EWR","JAX",131,820,14,35,2013-04-01 14:00:00 +2013,4,1,1608,1610,-2,1736,1736,0,"9E",3968,"N8604C","JFK","PHL",29,94,16,10,2013-04-01 16:00:00 +2013,4,1,1843,1855,-12,2017,2051,-34,"9E",3374,"N929XJ","JFK","PIT",73,340,18,55,2013-04-01 18:00:00 +2013,4,1,1929,1930,-1,2237,2228,9,"UA",1632,"N36280","EWR","PBI",150,1023,19,30,2013-04-01 19:00:00 +2013,4,1,1953,1925,28,2201,2141,20,"9E",3798,"N8532G","JFK","CLT",94,541,19,25,2013-04-01 19:00:00 +2013,4,1,1955,2000,-5,2138,2150,-12,"EV",5038,"N723EV","LGA","BHM",138,866,20,0,2013-04-01 20:00:00 +2013,4,1,2027,1935,52,2112,2056,16,"9E",3650,"N8604C","JFK","PHL",27,94,19,35,2013-04-01 19:00:00 +2013,4,1,2111,2100,11,2213,2215,-2,"US",2191,"N737US","LGA","DCA",42,214,21,0,2013-04-01 21:00:00 +2013,4,1,2122,2000,82,2323,2136,107,"EV",5681,"N13994","EWR","RDU",78,416,20,0,2013-04-01 20:00:00 +2013,4,2,657,700,-3,1019,1031,-12,"UA",205,"N477UA","EWR","SFO",355,2565,7,0,2013-04-02 07:00:00 +2013,4,2,804,810,-6,1035,1030,5,"FL",346,"N950AT","LGA","ATL",115,762,8,10,2013-04-02 08:00:00 +2013,4,2,1032,915,77,1325,1232,53,"DL",2379,"N343NW","LGA","FLL",152,1076,9,15,2013-04-02 09:00:00 +2013,4,2,1155,1200,-5,1440,1505,-25,"AA",3,"N324AA","JFK","LAX",329,2475,12,0,2013-04-02 12:00:00 +2013,4,2,1305,1315,-10,1602,1612,-10,"B6",431,"N635JB","LGA","SRQ",157,1047,13,15,2013-04-02 13:00:00 +2013,4,2,1341,1345,-4,1643,1700,-17,"AA",1073,"N3FTAA","LGA","MIA",155,1096,13,45,2013-04-02 13:00:00 +2013,4,2,1424,1430,-6,1733,1732,1,"UA",1744,"N16709","LGA","IAH",230,1416,14,30,2013-04-02 14:00:00 +2013,4,2,1457,1500,-3,1756,1800,-4,"AA",883,"N4XMAA","EWR","DFW",215,1372,15,0,2013-04-02 15:00:00 +2013,4,2,1555,1600,-5,1931,1934,-3,"DL",1461,"N727TW","JFK","LAX",353,2475,16,0,2013-04-02 16:00:00 +2013,4,2,1600,1559,1,1856,1836,20,"US",35,"N521UW","JFK","PHX",316,2153,15,59,2013-04-02 15:00:00 +2013,4,2,1723,1730,-7,1951,1957,-6,"F9",797,"N208FR","LGA","DEN",248,1620,17,30,2013-04-02 17:00:00 +2013,4,2,2017,2015,2,2309,2320,-11,"UA",531,"N826UA","EWR","DFW",215,1372,20,15,2013-04-02 20:00:00 +2013,4,3,557,600,-3,711,725,-14,"WN",1972,"N497WN","EWR","MDW",112,711,6,0,2013-04-03 06:00:00 +2013,4,3,658,700,-2,1012,945,27,"AA",1949,"N3FFAA","JFK","LAS",333,2248,7,0,2013-04-03 07:00:00 +2013,4,3,851,900,-9,1012,1019,-7,"US",2120,"N947UW","LGA","BOS",41,184,9,0,2013-04-03 09:00:00 +2013,4,3,1236,1240,-4,1429,1434,-5,"DL",1544,"N901DE","EWR","DTW",93,488,12,40,2013-04-03 12:00:00 +2013,4,3,1306,1315,-9,1604,1612,-8,"B6",431,"N505JB","LGA","SRQ",160,1047,13,15,2013-04-03 13:00:00 +2013,4,3,1320,1329,-9,1531,1526,5,"EV",4100,"N14116","EWR","MEM",162,946,13,29,2013-04-03 13:00:00 +2013,4,3,1446,1449,-3,1643,1625,18,"EV",4323,"N16559","EWR","RDU",71,416,14,49,2013-04-03 14:00:00 +2013,4,3,1530,1530,0,1734,1732,2,"US",980,"N742PS","LGA","CLT",90,544,15,30,2013-04-03 15:00:00 +2013,4,3,1551,1553,-2,1800,1808,-8,"EV",4684,"N11539","EWR","SDF",109,642,15,53,2013-04-03 15:00:00 +2013,4,3,1728,1735,-7,1921,1942,-21,"DL",2331,"N377NW","LGA","DTW",80,502,17,35,2013-04-03 17:00:00 +2013,4,3,1853,1900,-7,2240,2256,-16,"DL",1465,"N704X","JFK","SFO",358,2586,19,0,2013-04-03 19:00:00 +2013,4,3,1856,1900,-4,2228,2240,-12,"DL",87,"N727TW","JFK","LAX",338,2475,19,0,2013-04-03 19:00:00 +2013,4,3,1954,2000,-6,2318,2318,0,"B6",801,"N807JB","JFK","FLL",157,1069,20,0,2013-04-03 20:00:00 +2013,4,3,2013,2005,8,2350,2330,20,"VX",415,"N640VA","JFK","LAX",343,2475,20,5,2013-04-03 20:00:00 +2013,4,3,2122,2125,-3,2228,2235,-7,"MQ",4660,"N539MQ","LGA","BNA",109,764,21,25,2013-04-03 21:00:00 +2013,4,3,2139,2140,-1,47,28,19,"B6",43,"N612JB","JFK","MCO",155,944,21,40,2013-04-03 21:00:00 +2013,4,3,2210,2129,41,2303,2231,32,"EV",4350,"N12567","EWR","DCA",37,199,21,29,2013-04-03 21:00:00 +2013,4,4,907,900,7,1025,1039,-14,"UA",544,"N847UA","LGA","ORD",114,733,9,0,2013-04-04 09:00:00 +2013,4,4,1337,1339,-2,1628,1655,-27,"B6",209,"N591JB","JFK","LGB",333,2465,13,39,2013-04-04 13:00:00 +2013,4,4,1411,1355,16,1729,1645,44,"B6",1783,"N779JB","JFK","MCO",159,944,13,55,2013-04-04 13:00:00 +2013,4,4,1439,1445,-6,1637,1645,-8,"US",1445,"N558UW","LGA","CLT",93,544,14,45,2013-04-04 14:00:00 +2013,4,4,1657,1700,-3,1823,1850,-27,"AA",345,"N4WVAA","LGA","ORD",115,733,17,0,2013-04-04 17:00:00 +2013,4,4,2053,2056,-3,2344,2349,-5,"UA",696,"N459UA","EWR","MCO",149,937,20,56,2013-04-04 20:00:00 +2013,4,5,605,600,5,838,815,23,"FL",345,"N284AT","LGA","ATL",123,762,6,0,2013-04-05 06:00:00 +2013,4,5,628,633,-5,753,745,8,"EV",4241,"N13132","EWR","DCA",59,199,6,33,2013-04-05 06:00:00 +2013,4,5,703,700,3,1029,1006,23,"UA",1701,"N39415","EWR","FLL",188,1065,7,0,2013-04-05 07:00:00 +2013,4,5,736,740,-4,932,948,-16,"EV",4676,"N16976","EWR","GRR",102,605,7,40,2013-04-05 07:00:00 +2013,4,5,925,829,56,1033,955,38,"EV",4224,"N16999","EWR","PWM",50,284,8,29,2013-04-05 08:00:00 +2013,4,5,1138,1137,1,1511,1445,26,"UA",1601,"N17244","EWR","FLL",184,1065,11,37,2013-04-05 11:00:00 +2013,4,5,1256,1259,-3,1512,1456,16,"US",1459,"N191UW","LGA","CLT",95,544,12,59,2013-04-05 12:00:00 +2013,4,5,1433,1345,48,1813,1700,73,"AA",1073,"N3FMAA","LGA","MIA",186,1096,13,45,2013-04-05 13:00:00 +2013,4,5,1629,1631,-2,1827,1834,-7,"EV",4411,"N22909","EWR","MEM",149,946,16,31,2013-04-05 16:00:00 +2013,4,5,1730,1729,1,2056,2105,-9,"VX",193,"N530VA","EWR","SFO",367,2565,17,29,2013-04-05 17:00:00 +2013,4,5,1824,1829,-5,2119,2038,41,"DL",2019,"N353NB","LGA","MSP",184,1020,18,29,2013-04-05 18:00:00 +2013,4,5,2009,2006,3,2323,2315,8,"UA",1680,"N37281","EWR","MIA",146,1085,20,6,2013-04-05 20:00:00 +2013,4,5,2209,2129,40,2319,2231,48,"EV",4350,"N12563","EWR","DCA",40,199,21,29,2013-04-05 21:00:00 +2013,4,6,612,615,-3,759,810,-11,"US",829,"N716UW","JFK","CLT",80,541,6,15,2013-04-06 06:00:00 +2013,4,6,650,600,50,922,857,25,"UA",583,"N493UA","EWR","TPA",132,997,6,0,2013-04-06 06:00:00 +2013,4,6,1110,1110,0,1300,1325,-25,"EV",5500,"N717EV","LGA","DTW",85,502,11,10,2013-04-06 11:00:00 +2013,4,6,1120,1125,-5,1316,1325,-9,"EV",5277,"N712EV","EWR","MSP",154,1008,11,25,2013-04-06 11:00:00 +2013,4,6,1202,1200,2,1429,1438,-9,"DL",1947,"N917DE","LGA","ATL",109,762,12,0,2013-04-06 12:00:00 +2013,4,6,1243,1250,-7,1431,1447,-16,"DL",1131,"N316US","LGA","DTW",85,502,12,50,2013-04-06 12:00:00 +2013,4,7,908,910,-2,1058,1110,-12,"MQ",4582,"N513MQ","LGA","CLT",84,544,9,10,2013-04-07 09:00:00 +2013,4,7,1016,1015,1,1215,1212,3,"US",1427,"N764US","JFK","CLT",89,541,10,15,2013-04-07 10:00:00 +2013,4,7,1147,1155,-8,1253,1310,-17,"MQ",4425,"N821MQ","JFK","DCA",52,213,11,55,2013-04-07 11:00:00 +2013,4,7,1229,1130,59,1429,1346,43,"EV",5664,"N11176","EWR","MCI",164,1092,11,30,2013-04-07 11:00:00 +2013,4,7,1241,1248,-7,1524,1559,-35,"UA",292,"N498UA","LGA","IAH",206,1416,12,48,2013-04-07 12:00:00 +2013,4,7,1254,1259,-5,1446,1500,-14,"UA",1405,"N68453","EWR","CHS",91,628,12,59,2013-04-07 12:00:00 +2013,4,7,1556,1600,-4,1711,1720,-9,"US",2181,"N965UW","LGA","DCA",48,214,16,0,2013-04-07 16:00:00 +2013,4,7,1606,1610,-4,1756,1758,-2,"9E",3437,"N901XJ","JFK","MKE",123,745,16,10,2013-04-07 16:00:00 +2013,4,7,1940,1930,10,2105,2048,17,"EV",5714,"N909EV","JFK","IAD",44,228,19,30,2013-04-07 19:00:00 +2013,4,7,2046,2050,-4,2148,2221,-33,"B6",1020,"N607JB","JFK","BOS",37,187,20,50,2013-04-07 20:00:00 +2013,4,7,2058,2059,-1,2317,2256,21,"EV",4368,"N11539","EWR","DAY",88,533,20,59,2013-04-07 20:00:00 +2013,4,8,556,600,-4,702,715,-13,"EV",5716,"N836AS","JFK","IAD",45,228,6,0,2013-04-08 06:00:00 +2013,4,8,627,630,-3,803,820,-17,"WN",112,"N8328A","LGA","STL",144,888,6,30,2013-04-08 06:00:00 +2013,4,8,906,830,36,1203,1142,21,"UA",986,"N581UA","EWR","SAN",335,2425,8,30,2013-04-08 08:00:00 +2013,4,8,912,915,-3,1220,1232,-12,"DL",2379,"N353NW","LGA","FLL",155,1076,9,15,2013-04-08 09:00:00 +2013,4,8,1030,1030,0,1402,1410,-8,"VX",23,"N844VA","JFK","SFO",364,2586,10,30,2013-04-08 10:00:00 +2013,4,8,1445,1455,-10,1742,1805,-23,"AA",759,"N3ENAA","LGA","DFW",206,1389,14,55,2013-04-08 14:00:00 +2013,4,8,1513,1520,-7,1741,1745,-4,"MQ",4669,"N520MQ","LGA","ATL",108,762,15,20,2013-04-08 15:00:00 +2013,4,8,1525,1530,-5,1832,1905,-33,"AA",85,"N365AA","JFK","SFO",353,2586,15,30,2013-04-08 15:00:00 +2013,4,8,1848,1845,3,2103,2110,-7,"9E",3403,"N919XJ","JFK","MCI",174,1113,18,45,2013-04-08 18:00:00 +2013,4,9,653,655,-2,937,935,2,"AA",1815,"N5ELAA","JFK","MCO",134,944,6,55,2013-04-09 06:00:00 +2013,4,9,727,729,-2,1017,1020,-3,"B6",361,"N597JB","LGA","PBI",140,1035,7,29,2013-04-09 07:00:00 +2013,4,9,1442,1445,-3,1613,1625,-12,"AA",2223,"N472AA","LGA","STL",133,888,14,45,2013-04-09 14:00:00 +2013,4,9,1459,1459,0,1620,1637,-17,"B6",8,"N657JB","JFK","BUF",55,301,14,59,2013-04-09 14:00:00 +2013,4,9,1832,1835,-3,2052,2042,10,"DL",2131,"N932DL","LGA","DTW",87,502,18,35,2013-04-09 18:00:00 +2013,4,9,1856,1855,1,2210,2240,-30,"VX",29,"N637VA","JFK","SFO",356,2586,18,55,2013-04-09 18:00:00 +2013,4,10,617,600,17,918,915,3,"UA",32,"N17133","JFK","LAX",333,2475,6,0,2013-04-10 06:00:00 +2013,4,10,745,745,0,907,903,4,"EV",4243,"N13994","EWR","BNA",110,748,7,45,2013-04-10 07:00:00 +2013,4,10,911,902,9,1135,1128,7,"UA",1643,"N14115","EWR","DEN",223,1605,9,2,2013-04-10 09:00:00 +2013,4,10,1425,1317,68,1515,1413,62,"EV",4190,"N14905","EWR","BDL",24,116,13,17,2013-04-10 13:00:00 +2013,4,10,1438,1440,-2,1601,1605,-4,"EV",5745,"N830AS","LGA","IAD",46,229,14,40,2013-04-10 14:00:00 +2013,4,10,1513,1459,14,1622,1637,-15,"9E",3393,"N926XJ","JFK","DCA",44,213,14,59,2013-04-10 14:00:00 +2013,4,10,1617,1110,307,1903,1246,377,"UA",793,"N814UA","LGA","ORD",146,733,11,10,2013-04-10 11:00:00 +2013,4,10,1720,1720,0,2027,2025,2,"AA",695,"N3HDAA","JFK","AUS",218,1521,17,20,2013-04-10 17:00:00 +2013,4,10,1826,1500,206,2111,1638,273,"UA",314,"N811UA","LGA","ORD",131,733,15,0,2013-04-10 15:00:00 +2013,4,10,1844,1627,137,2137,1824,193,"EV",4180,"N13968","EWR","DAY",90,533,16,27,2013-04-10 16:00:00 +2013,4,10,1855,1859,-4,2234,2159,35,"DL",2159,"N379DA","JFK","MCO",123,944,18,59,2013-04-10 18:00:00 +2013,4,10,1859,1730,89,2239,1956,163,"F9",419,"N205FR","LGA","DEN",222,1620,17,30,2013-04-10 17:00:00 +2013,4,10,NA,2159,NA,NA,2302,NA,"EV",4276,"N13133","EWR","BDL",NA,116,21,59,2013-04-10 21:00:00 +2013,4,10,NA,1605,NA,NA,1731,NA,"9E",3603,NA,"JFK","PHL",NA,94,16,5,2013-04-10 16:00:00 +2013,4,11,901,908,-7,1155,1209,-14,"UA",212,"N836UA","EWR","PBI",141,1023,9,8,2013-04-11 09:00:00 +2013,4,11,1159,1200,-1,1350,1345,5,"MQ",4553,"N839MQ","LGA","CLE",73,419,12,0,2013-04-11 12:00:00 +2013,4,11,1409,1200,129,1608,1338,150,"UA",617,"N823UA","LGA","ORD",122,733,12,0,2013-04-11 12:00:00 +2013,4,11,1600,1600,0,1836,1906,-30,"DL",161,"N394DA","JFK","LAS",301,2248,16,0,2013-04-11 16:00:00 +2013,4,11,1724,1725,-1,2021,2040,-19,"AA",145,"N3BLAA","JFK","SAN",329,2446,17,25,2013-04-11 17:00:00 +2013,4,11,2015,2000,15,2245,2245,0,"DL",1147,"N907DE","LGA","ATL",119,762,20,0,2013-04-11 20:00:00 +2013,4,11,2019,1925,54,2316,2243,33,"DL",2139,"N911DE","LGA","MIA",154,1096,19,25,2013-04-11 19:00:00 +2013,4,11,2150,1935,135,2305,2100,125,"EV",4131,"N12567","EWR","RIC",50,277,19,35,2013-04-11 19:00:00 +2013,4,11,NA,1947,NA,NA,2100,NA,"EV",4312,"N11535","EWR","DCA",NA,199,19,47,2013-04-11 19:00:00 +2013,4,12,559,600,-1,818,832,-14,"DL",461,"N903DE","LGA","ATL",117,762,6,0,2013-04-12 06:00:00 +2013,4,12,624,630,-6,744,805,-21,"AA",303,"N526AA","LGA","ORD",111,733,6,30,2013-04-12 06:00:00 +2013,4,12,708,715,-7,910,916,-6,"DL",831,"N332NW","LGA","DTW",81,502,7,15,2013-04-12 07:00:00 +2013,4,12,908,910,-2,1221,1235,-14,"VX",407,"N846VA","JFK","LAX",325,2475,9,10,2013-04-12 09:00:00 +2013,4,12,1304,1307,-3,1421,1425,-4,"B6",32,"N309JB","JFK","ROC",56,264,13,7,2013-04-12 13:00:00 +2013,4,12,1353,1359,-6,1718,1714,4,"AA",677,"N640AA","JFK","MIA",161,1089,13,59,2013-04-12 13:00:00 +2013,4,12,1625,1500,85,1829,1653,96,"US",720,"N432US","EWR","CLT",85,529,15,0,2013-04-12 15:00:00 +2013,4,12,1858,1855,3,2214,2240,-26,"VX",29,"N627VA","JFK","SFO",344,2586,18,55,2013-04-12 18:00:00 +2013,4,12,1924,1820,64,2055,1955,60,"WN",962,"N731SA","LGA","BNA",125,764,18,20,2013-04-12 18:00:00 +2013,4,12,2133,1820,193,3,2131,152,"AS",7,"N552AS","EWR","SEA",312,2402,18,20,2013-04-12 18:00:00 +2013,4,13,734,725,9,852,900,-8,"WN",1224,"N955WN","EWR","BNA",125,748,7,25,2013-04-13 07:00:00 +2013,4,13,1416,1339,37,1748,1655,53,"B6",209,"N529JB","JFK","LGB",356,2465,13,39,2013-04-13 13:00:00 +2013,4,13,1427,1420,7,1706,1700,6,"UA",1114,"N37281","EWR","IAH",206,1400,14,20,2013-04-13 14:00:00 +2013,4,13,1649,1652,-3,1944,1920,24,"DL",1715,"N338NW","LGA","MSY",178,1183,16,52,2013-04-13 16:00:00 +2013,4,13,1655,1620,35,2022,1916,66,"B6",985,"N584JB","LGA","TPA",160,1010,16,20,2013-04-13 16:00:00 +2013,4,13,1906,1910,-4,2109,2130,-21,"9E",3367,"N919XJ","JFK","CVG",104,589,19,10,2013-04-13 19:00:00 +2013,4,13,2351,2355,-4,341,345,-4,"B6",739,"N630JB","JFK","PSE",211,1617,23,55,2013-04-13 23:00:00 +2013,4,14,750,759,-9,1055,1014,41,"EV",4136,"N14116","EWR","MSY",206,1167,7,59,2013-04-14 07:00:00 +2013,4,14,817,825,-8,1153,1152,1,"UA",397,"N557UA","JFK","SFO",369,2586,8,25,2013-04-14 08:00:00 +2013,4,14,822,825,-3,1025,1026,-1,"US",487,"N664AW","JFK","CLT",88,541,8,25,2013-04-14 08:00:00 +2013,4,14,903,908,-5,1223,1210,13,"B6",1061,"N348JB","JFK","AUS",234,1521,9,8,2013-04-14 09:00:00 +2013,4,14,918,925,-7,1207,1235,-28,"AA",1097,"N526AA","LGA","DFW",206,1389,9,25,2013-04-14 09:00:00 +2013,4,14,1056,1050,6,1224,1224,0,"UA",792,"N434UA","EWR","ORD",118,719,10,50,2013-04-14 10:00:00 +2013,4,14,1056,1100,-4,1156,1213,-17,"US",2171,"N946UW","LGA","DCA",45,214,11,0,2013-04-14 11:00:00 +2013,4,14,1150,1200,-10,1335,1345,-10,"MQ",4553,"N725MQ","LGA","CLE",71,419,12,0,2013-04-14 12:00:00 +2013,4,14,1152,1200,-8,1518,1511,7,"DL",863,"N709TW","JFK","LAX",349,2475,12,0,2013-04-14 12:00:00 +2013,4,14,1453,1454,-1,1731,1739,-8,"UA",639,"N452UA","EWR","MCO",137,937,14,54,2013-04-14 14:00:00 +2013,4,14,1556,1545,11,1721,1712,9,"9E",3580,"N805AY","JFK","BWI",39,184,15,45,2013-04-14 15:00:00 +2013,4,14,1727,1731,-4,2017,2012,5,"B6",179,"N779JB","JFK","PHX",315,2153,17,31,2013-04-14 17:00:00 +2013,4,14,1756,1800,-4,2054,2114,-20,"B6",989,"N706JB","JFK","FLL",151,1069,18,0,2013-04-14 18:00:00 +2013,4,14,1947,1950,-3,2308,2311,-3,"DL",1854,"N985DL","LGA","FLL",160,1076,19,50,2013-04-14 19:00:00 +2013,4,14,2015,2030,-15,2155,2201,-6,"FL",354,"N980AT","LGA","CAK",66,397,20,30,2013-04-14 20:00:00 +2013,4,14,2138,2140,-2,38,28,10,"B6",43,"N526JB","JFK","MCO",151,944,21,40,2013-04-14 21:00:00 +2013,4,14,2153,1800,233,134,2140,234,"AA",177,"N332AA","JFK","SFO",368,2586,18,0,2013-04-14 18:00:00 +2013,4,15,751,755,-4,939,949,-10,"US",1733,"N165US","LGA","CLT",84,544,7,55,2013-04-15 07:00:00 +2013,4,15,755,800,-5,1009,1024,-15,"DL",689,"N338NB","LGA","MSY",170,1183,8,0,2013-04-15 08:00:00 +2013,4,15,825,825,0,1023,1026,-3,"US",487,"N601AW","JFK","CLT",80,541,8,25,2013-04-15 08:00:00 +2013,4,15,923,915,8,1237,1230,7,"VX",161,"N842VA","EWR","LAX",345,2454,9,15,2013-04-15 09:00:00 +2013,4,15,1001,932,29,1058,1042,16,"B6",1004,"N641JB","JFK","BOS",33,187,9,32,2013-04-15 09:00:00 +2013,4,15,1100,1015,45,1320,1230,50,"US",75,"N678AW","EWR","PHX",295,2133,10,15,2013-04-15 10:00:00 +2013,4,15,1322,1325,-3,1631,1626,5,"UA",1054,"N18119","EWR","LAX",346,2454,13,25,2013-04-15 13:00:00 +2013,4,15,1657,1700,-3,1844,1850,-6,"AA",345,"N595AA","LGA","ORD",138,733,17,0,2013-04-15 17:00:00 +2013,4,15,1746,1735,11,2042,2105,-23,"AA",543,"N5FSAA","JFK","MIA",154,1089,17,35,2013-04-15 17:00:00 +2013,4,15,1820,1535,165,2130,1820,190,"UA",563,"N476UA","EWR","LAS",335,2227,15,35,2013-04-15 15:00:00 +2013,4,15,1957,2000,-3,2155,2209,-14,"EV",3826,"N13903","EWR","TYS",93,631,20,0,2013-04-15 20:00:00 +2013,4,15,2135,2045,50,2242,2219,23,"9E",3395,"N930XJ","JFK","DCA",44,213,20,45,2013-04-15 20:00:00 +2013,4,16,712,655,17,834,820,14,"WN",404,"N269WN","LGA","MKE",120,738,6,55,2013-04-16 06:00:00 +2013,4,16,918,912,6,1154,1200,-6,"B6",59,"N216JB","JFK","TPA",139,1005,9,12,2013-04-16 09:00:00 +2013,4,16,1234,1151,43,1444,1414,30,"FL",347,"N896AT","LGA","ATL",112,762,11,51,2013-04-16 11:00:00 +2013,4,16,1810,1815,-5,2030,2036,-6,"9E",3542,"N922XJ","JFK","MSP",159,1029,18,15,2013-04-16 18:00:00 +2013,4,16,1825,1830,-5,2102,2100,2,"UA",1523,"N17730","EWR","DEN",244,1605,18,30,2013-04-16 18:00:00 +2013,4,16,2142,2145,-3,17,48,-31,"B6",11,"N656JB","JFK","FLL",138,1069,21,45,2013-04-16 21:00:00 +2013,4,17,557,601,-4,714,720,-6,"EV",4252,"N11192","EWR","MKE",115,725,6,1,2013-04-17 06:00:00 +2013,4,17,721,730,-9,1032,1105,-33,"VX",183,"N846VA","EWR","SFO",348,2565,7,30,2013-04-17 07:00:00 +2013,4,17,1030,1030,0,1336,1410,-34,"VX",23,"N851VA","JFK","SFO",344,2586,10,30,2013-04-17 10:00:00 +2013,4,17,1152,1200,-8,1326,1343,-17,"EV",5679,"N14998","EWR","CMH",80,463,12,0,2013-04-17 12:00:00 +2013,4,17,1627,1630,-3,1938,1918,20,"UA",1112,"N18112","EWR","IAH",202,1400,16,30,2013-04-17 16:00:00 +2013,4,17,1635,1632,3,2001,2006,-5,"UA",489,"N806UA","EWR","SFO",345,2565,16,32,2013-04-17 16:00:00 +2013,4,17,1718,1545,93,2008,1907,61,"DL",1982,"N932DL","LGA","MIA",144,1096,15,45,2013-04-17 15:00:00 +2013,4,17,2030,2040,-10,2129,2154,-25,"B6",1178,"N239JB","EWR","BOS",36,200,20,40,2013-04-17 20:00:00 +2013,4,18,903,905,-2,1214,1154,20,"B6",57,"N562JB","JFK","PBI",138,1028,9,5,2013-04-18 09:00:00 +2013,4,18,905,910,-5,1115,1110,5,"MQ",4582,"N509MQ","LGA","CLT",76,544,9,10,2013-04-18 09:00:00 +2013,4,18,925,922,3,1213,1131,42,"EV",4495,"N13133","EWR","SAV",104,708,9,22,2013-04-18 09:00:00 +2013,4,18,1013,959,14,1143,1110,33,"EV",5711,"N820AS","JFK","IAD",50,228,9,59,2013-04-18 09:00:00 +2013,4,18,1451,1447,4,1632,1639,-7,"EV",3853,"N13538","EWR","CMH",71,463,14,47,2013-04-18 14:00:00 +2013,4,18,1522,1530,-8,1646,1710,-24,"9E",4178,"N8505Q","JFK","ROC",48,264,15,30,2013-04-18 15:00:00 +2013,4,18,1829,1800,29,2129,2114,15,"B6",989,"N537JB","JFK","FLL",136,1069,18,0,2013-04-18 18:00:00 +2013,4,18,1838,1755,43,1956,1930,26,"WN",3962,"N430WN","LGA","MDW",108,725,17,55,2013-04-18 17:00:00 +2013,4,18,1935,1832,63,2221,2155,26,"UA",722,"N409UA","EWR","LAX",306,2454,18,32,2013-04-18 18:00:00 +2013,4,18,2046,1925,81,2329,2230,59,"AA",1787,"N3JGAA","JFK","TPA",132,1005,19,25,2013-04-18 19:00:00 +2013,4,18,NA,1700,NA,NA,1838,NA,"UA",689,NA,"LGA","ORD",NA,733,17,0,2013-04-18 17:00:00 +2013,4,19,156,2105,291,317,2234,283,"EV",4641,"N14950","EWR","MKE",113,725,21,5,2013-04-19 21:00:00 +2013,4,19,600,605,-5,756,800,-4,"MQ",4401,"N725MQ","LGA","DTW",89,502,6,5,2013-04-19 06:00:00 +2013,4,19,600,600,0,839,903,-24,"UA",282,"N459UA","EWR","LAX",316,2454,6,0,2013-04-19 06:00:00 +2013,4,19,745,755,-10,1025,1036,-11,"B6",389,"N712JB","LGA","MCO",128,950,7,55,2013-04-19 07:00:00 +2013,4,19,813,814,-1,1021,1025,-4,"EV",4625,"N14143","EWR","CHS",95,628,8,14,2013-04-19 08:00:00 +2013,4,19,919,829,50,1116,1024,52,"MQ",4607,"N539MQ","LGA","CMH",73,479,8,29,2013-04-19 08:00:00 +2013,4,19,927,915,12,1252,1232,20,"DL",2379,"N322US","LGA","FLL",157,1076,9,15,2013-04-19 09:00:00 +2013,4,19,954,910,44,1303,1235,28,"VX",407,"N629VA","JFK","LAX",331,2475,9,10,2013-04-19 09:00:00 +2013,4,19,1246,1210,36,1417,1355,22,"MQ",4431,"N717MQ","LGA","RDU",68,431,12,10,2013-04-19 12:00:00 +2013,4,19,1809,1650,79,2003,1845,78,"WN",197,"N486WN","LGA","STL",138,888,16,50,2013-04-19 16:00:00 +2013,4,19,1852,1730,82,2107,1858,129,"B6",1307,"N306JB","JFK","IAD",52,228,17,30,2013-04-19 17:00:00 +2013,4,19,2111,2040,31,112,2356,76,"B6",165,"N637JB","JFK","PDX",329,2454,20,40,2013-04-19 20:00:00 +2013,4,19,2250,2057,113,234,2359,155,"UA",459,"N565UA","EWR","FLL",182,1065,20,57,2013-04-19 20:00:00 +2013,4,19,NA,1915,NA,NA,2139,NA,"9E",3826,NA,"JFK","CHS",NA,636,19,15,2013-04-19 19:00:00 +2013,4,19,NA,2245,NA,NA,2359,NA,"B6",128,"N178JB","JFK","BTV",NA,266,22,45,2013-04-19 22:00:00 +2013,4,20,830,835,-5,1130,1135,-5,"AA",717,"N3CTAA","LGA","DFW",211,1389,8,35,2013-04-20 08:00:00 +2013,4,20,1713,1430,163,1822,1555,147,"EV",5745,"N877AS","LGA","IAD",49,229,14,30,2013-04-20 14:00:00 +2013,4,20,2115,2115,0,5,2356,9,"B6",927,"N593JB","EWR","MCO",154,937,21,15,2013-04-20 21:00:00 +2013,4,21,550,600,-10,856,854,2,"B6",507,"N807JB","EWR","FLL",167,1065,6,0,2013-04-21 06:00:00 +2013,4,21,957,1000,-3,1224,1234,-10,"DL",1847,"N635DL","LGA","ATL",124,762,10,0,2013-04-21 10:00:00 +2013,4,21,1159,1210,-11,1402,1355,7,"MQ",4431,"N842MQ","LGA","RDU",78,431,12,10,2013-04-21 12:00:00 +2013,4,21,1457,1450,7,1843,1745,58,"AA",1813,"N5FHAA","JFK","MCO",180,944,14,50,2013-04-21 14:00:00 +2013,4,21,1545,1530,15,1823,1803,20,"9E",3579,"N8797A","JFK","IND",105,665,15,30,2013-04-21 15:00:00 +2013,4,21,1643,1645,-2,1947,2004,-17,"B6",139,"N193JB","JFK","RSW",167,1074,16,45,2013-04-21 16:00:00 +2013,4,22,1113,1115,-2,1223,1224,-1,"B6",24,"N317JB","JFK","BTV",45,266,11,15,2013-04-22 11:00:00 +2013,4,22,1328,1225,63,1534,1405,89,"AA",329,"N592AA","LGA","ORD",110,733,12,25,2013-04-22 12:00:00 +2013,4,22,1812,1555,137,1926,1715,131,"MQ",3695,"N525MQ","EWR","ORD",103,719,15,55,2013-04-22 15:00:00 +2013,4,23,747,749,-2,1033,1101,-28,"UA",681,"N463UA","EWR","MIA",152,1085,7,49,2013-04-23 07:00:00 +2013,4,23,751,755,-4,940,1018,-38,"9E",3353,"N916XJ","JFK","DTW",84,509,7,55,2013-04-23 07:00:00 +2013,4,23,1623,1440,103,1814,1605,129,"EV",5745,"N830AS","LGA","IAD",53,229,14,40,2013-04-23 14:00:00 +2013,4,23,1723,1730,-7,2030,2059,-29,"DL",1459,"N317NB","JFK","SAT",227,1587,17,30,2013-04-23 17:00:00 +2013,4,23,1820,1700,80,1937,1830,67,"MQ",4323,"N636MQ","JFK","ORF",49,290,17,0,2013-04-23 17:00:00 +2013,4,24,936,940,-4,1218,1242,-24,"B6",1101,"N566JB","JFK","FLL",143,1069,9,40,2013-04-24 09:00:00 +2013,4,24,937,945,-8,1102,1124,-22,"B6",885,"N323JB","JFK","RDU",69,427,9,45,2013-04-24 09:00:00 +2013,4,24,1505,1440,25,1745,1733,12,"UA",1687,"N77510","EWR","MCO",132,937,14,40,2013-04-24 14:00:00 +2013,4,24,1540,1545,-5,1758,1803,-5,"DL",1942,"N336NB","EWR","ATL",112,746,15,45,2013-04-24 15:00:00 +2013,4,24,1834,1830,4,2032,1955,37,"MQ",4484,"N842MQ","LGA","BNA",132,764,18,30,2013-04-24 18:00:00 +2013,4,24,1915,1830,45,2109,2010,59,"MQ",4674,"N519MQ","LGA","CLE",71,419,18,30,2013-04-24 18:00:00 +2013,4,24,1936,1855,41,2357,2240,77,"VX",29,"N634VA","JFK","SFO",363,2586,18,55,2013-04-24 18:00:00 +2013,4,24,2117,2105,12,2350,2359,-9,"UA",570,"N561UA","EWR","MCO",135,937,21,5,2013-04-24 21:00:00 +2013,4,25,626,625,1,930,925,5,"WN",1794,"N224WN","EWR","HOU",228,1411,6,25,2013-04-25 06:00:00 +2013,4,25,855,900,-5,1236,1157,39,"UA",636,"N803UA","EWR","IAH",224,1400,9,0,2013-04-25 09:00:00 +2013,4,25,1005,1008,-3,1151,1148,3,"EV",4711,"N14543","EWR","STL",139,872,10,8,2013-04-25 10:00:00 +2013,4,25,1604,1610,-6,1756,1758,-2,"9E",3400,"N928XJ","JFK","MKE",114,745,16,10,2013-04-25 16:00:00 +2013,4,25,1829,1830,-1,2156,2200,-4,"AA",119,"N3FDAA","EWR","LAX",342,2454,18,30,2013-04-25 18:00:00 +2013,4,25,1845,1845,0,2208,2217,-9,"B6",171,"N603JB","JFK","SMF",334,2521,18,45,2013-04-25 18:00:00 +2013,4,26,534,530,4,830,813,17,"UA",696,"N507UA","LGA","IAH",209,1416,5,30,2013-04-26 05:00:00 +2013,4,26,654,659,-5,828,823,5,"B6",208,"N595JB","JFK","BUF",58,301,6,59,2013-04-26 06:00:00 +2013,4,26,723,723,0,1103,957,66,"UA",709,"N509UA","EWR","IAH",203,1400,7,23,2013-04-26 07:00:00 +2013,4,26,744,749,-5,1107,1101,6,"UA",453,"N423UA","EWR","MIA",152,1085,7,49,2013-04-26 07:00:00 +2013,4,26,1127,1130,-3,1348,1307,41,"EV",4581,"N12172","EWR","RDU",65,416,11,30,2013-04-26 11:00:00 +2013,4,26,1305,1307,-2,1423,1425,-2,"B6",32,"N354JB","JFK","ROC",57,264,13,7,2013-04-26 13:00:00 +2013,4,26,1334,1339,-5,1642,1655,-13,"B6",209,"N591JB","JFK","LGB",345,2465,13,39,2013-04-26 13:00:00 +2013,4,26,1500,1500,0,1802,1801,1,"DL",2181,"N669DN","LGA","MCO",131,950,15,0,2013-04-26 15:00:00 +2013,4,26,1538,1505,33,1732,1659,33,"EV",4326,"N12540","EWR","CLT",81,529,15,5,2013-04-26 15:00:00 +2013,4,26,1539,1545,-6,1757,1803,-6,"DL",1942,"N320NB","EWR","ATL",114,746,15,45,2013-04-26 15:00:00 +2013,4,26,1633,1623,10,1835,1840,-5,"DL",1619,"N340NW","LGA","MSP",145,1020,16,23,2013-04-26 16:00:00 +2013,4,26,1829,1835,-6,2140,2205,-25,"UA",389,"N555UA","JFK","SFO",338,2586,18,35,2013-04-26 18:00:00 +2013,4,26,2206,2050,76,2355,2229,86,"EV",5661,"N14168","EWR","GSO",70,445,20,50,2013-04-26 20:00:00 +2013,4,26,2320,2125,115,36,2235,121,"MQ",4660,"N504MQ","LGA","BNA",113,764,21,25,2013-04-26 21:00:00 +2013,4,27,711,710,1,910,925,-15,"WN",1010,"N934WN","EWR","DEN",218,1605,7,10,2013-04-27 07:00:00 +2013,4,27,949,1000,-11,1414,1510,-56,"HA",51,"N391HA","JFK","HNL",602,4983,10,0,2013-04-27 10:00:00 +2013,4,27,1222,1200,22,1511,1508,3,"DL",1174,"N962DL","LGA","PBI",136,1035,12,0,2013-04-27 12:00:00 +2013,4,27,1911,1915,-4,2106,2157,-51,"DL",245,"N3773D","JFK","PHX",275,2153,19,15,2013-04-27 19:00:00 +2013,4,28,600,600,0,841,840,1,"B6",79,"N641JB","JFK","MCO",128,944,6,0,2013-04-28 06:00:00 +2013,4,28,748,750,-2,1137,1155,-18,"AA",655,"N5EUAA","JFK","STT",202,1623,7,50,2013-04-28 07:00:00 +2013,4,28,814,825,-11,1111,1152,-41,"UA",397,"N518UA","JFK","SFO",322,2586,8,25,2013-04-28 08:00:00 +2013,4,28,821,825,-4,1024,1104,-40,"DL",2170,"N375DA","JFK","PHX",268,2153,8,25,2013-04-28 08:00:00 +2013,4,28,1504,1459,5,1806,1801,5,"B6",153,"N534JB","JFK","MCO",130,944,14,59,2013-04-28 14:00:00 +2013,4,28,1635,1629,6,1917,1922,-5,"UA",1698,"N17139","EWR","IAH",202,1400,16,29,2013-04-28 16:00:00 +2013,4,28,1752,1800,-8,1855,1919,-24,"US",2138,"N959UW","LGA","BOS",41,184,18,0,2013-04-28 18:00:00 +2013,4,28,2056,2030,26,2345,2331,14,"UA",1299,"N34282","EWR","RSW",149,1068,20,30,2013-04-28 20:00:00 +2013,4,28,2112,2029,43,2311,2247,24,"EV",4642,"N12145","EWR","OMA",158,1134,20,29,2013-04-28 20:00:00 +2013,4,29,624,625,-1,857,925,-28,"WN",1794,"N216WR","EWR","HOU",198,1411,6,25,2013-04-29 06:00:00 +2013,4,29,630,635,-5,737,739,-2,"B6",1002,"N659JB","JFK","BOS",37,187,6,35,2013-04-29 06:00:00 +2013,4,29,637,642,-5,755,808,-13,"EV",3835,"N13914","EWR","PIT",56,319,6,42,2013-04-29 06:00:00 +2013,4,29,700,700,0,1006,1027,-21,"DL",1415,"N649DL","JFK","SLC",272,1990,7,0,2013-04-29 07:00:00 +2013,4,29,704,705,-1,950,951,-1,"DL",2285,"N688DL","LGA","MCO",132,950,7,5,2013-04-29 07:00:00 +2013,4,29,805,810,-5,1110,1123,-13,"DL",1271,"N361NW","JFK","FLL",164,1069,8,10,2013-04-29 08:00:00 +2013,4,29,809,815,-6,1037,1045,-8,"DL",914,"N371NW","LGA","DEN",220,1620,8,15,2013-04-29 08:00:00 +2013,4,29,912,915,-3,1158,1230,-32,"VX",161,"N642VA","EWR","LAX",317,2454,9,15,2013-04-29 09:00:00 +2013,4,29,1122,1125,-3,1428,1421,7,"B6",1,"N564JB","JFK","FLL",164,1069,11,25,2013-04-29 11:00:00 +2013,4,29,1253,1240,13,1356,1415,-19,"WN",163,"N968WN","LGA","MKE",106,738,12,40,2013-04-29 12:00:00 +2013,4,29,1259,1300,-1,1521,1521,0,"EV",4898,"N717EV","EWR","ATL",105,746,13,0,2013-04-29 13:00:00 +2013,4,29,1339,1345,-6,1624,1700,-36,"AA",117,"N336AA","JFK","LAX",318,2475,13,45,2013-04-29 13:00:00 +2013,4,29,1446,1453,-7,1715,1751,-36,"UA",399,"N475UA","LGA","IAH",192,1416,14,53,2013-04-29 14:00:00 +2013,4,29,1525,1515,10,1826,1830,-4,"UA",1558,"N37290","EWR","SFO",340,2565,15,15,2013-04-29 15:00:00 +2013,4,29,1623,1629,-6,1857,1917,-20,"UA",1112,"N19117","EWR","IAH",188,1400,16,29,2013-04-29 16:00:00 +2013,4,29,1738,1630,68,1934,1851,43,"US",140,"N663AW","EWR","PHX",266,2133,16,30,2013-04-29 16:00:00 +2013,4,29,1756,1800,-4,2018,2035,-17,"DL",61,"N341NW","LGA","ATL",106,762,18,0,2013-04-29 18:00:00 +2013,4,29,1826,1715,71,2109,1927,102,"EV",4085,"N16561","EWR","IND",94,645,17,15,2013-04-29 17:00:00 +2013,4,30,552,600,-8,817,850,-33,"AA",707,"N3AGAA","LGA","DFW",184,1389,6,0,2013-04-30 06:00:00 +2013,4,30,754,757,-3,1001,945,16,"9E",3611,"N8516C","JFK","PIT",72,340,7,57,2013-04-30 07:00:00 +2013,4,30,807,815,-8,1049,1115,-26,"DL",1167,"N308DE","JFK","TPA",139,1005,8,15,2013-04-30 08:00:00 +2013,4,30,912,930,-18,1229,1244,-15,"B6",1639,"N588JB","LGA","RSW",146,1080,9,30,2013-04-30 09:00:00 +2013,4,30,955,1000,-5,1427,1510,-43,"HA",51,"N382HA","JFK","HNL",607,4983,10,0,2013-04-30 10:00:00 +2013,4,30,1133,1146,-13,1243,1300,-17,"EV",3815,"N12921","EWR","ORF",50,284,11,46,2013-04-30 11:00:00 +2013,4,30,1248,1250,-2,1550,1548,2,"B6",85,"N509JB","JFK","FLL",155,1069,12,50,2013-04-30 12:00:00 +2013,4,30,1253,1259,-6,1529,1604,-35,"UA",1674,"N12216","LGA","IAH",189,1416,12,59,2013-04-30 12:00:00 +2013,4,30,1426,1355,31,1618,1615,3,"WN",1638,"N203WN","EWR","PHX",272,2133,13,55,2013-04-30 13:00:00 +2013,4,30,1438,1440,-2,1730,1750,-20,"UA",1639,"N39728","EWR","RSW",155,1068,14,40,2013-04-30 14:00:00 +2013,4,30,1451,1423,28,1758,1700,58,"UA",1025,"N76505","EWR","IAH",204,1400,14,23,2013-04-30 14:00:00 +2013,4,30,1635,1640,-5,1932,1941,-9,"B6",143,"N804JB","JFK","PBI",140,1028,16,40,2013-04-30 16:00:00 +2013,4,30,1702,1700,2,2049,2100,-11,"DL",329,"N391DA","JFK","SJU",191,1598,17,0,2013-04-30 17:00:00 +2013,4,30,1825,1829,-4,2034,2032,2,"US",297,"N535UW","JFK","CLT",84,541,18,29,2013-04-30 18:00:00 +2013,5,1,752,755,-3,913,910,3,"MQ",4418,"N852MQ","JFK","DCA",44,213,7,55,2013-05-01 07:00:00 +2013,5,1,815,825,-10,1040,1023,17,"B6",219,"N317JB","JFK","CLT",93,541,8,25,2013-05-01 08:00:00 +2013,5,1,823,830,-7,952,1015,-23,"AA",309,"N589AA","LGA","ORD",107,733,8,30,2013-05-01 08:00:00 +2013,5,1,858,900,-2,1127,1225,-58,"AA",1,"N320AA","JFK","LAX",306,2475,9,0,2013-05-01 09:00:00 +2013,5,1,1514,1435,39,1815,1735,40,"UA",1534,"N35260","EWR","MIA",155,1085,14,35,2013-05-01 14:00:00 +2013,5,1,1656,1700,-4,1824,1827,-3,"B6",24,"N236JB","JFK","SYR",41,209,17,0,2013-05-01 17:00:00 +2013,5,1,2238,2130,68,113,17,56,"B6",383,"N564JB","LGA","FLL",136,1076,21,30,2013-05-01 21:00:00 +2013,5,2,628,625,3,732,745,-13,"WN",3493,"N8603F","LGA","MDW",104,725,6,25,2013-05-02 06:00:00 +2013,5,2,708,644,24,817,813,4,"UA",1137,"N37437","EWR","ORD",109,719,6,44,2013-05-02 06:00:00 +2013,5,2,821,829,-8,1019,1034,-15,"MQ",4478,"N717MQ","LGA","DTW",81,502,8,29,2013-05-02 08:00:00 +2013,5,2,827,825,2,1032,1049,-17,"DL",2170,"N703TW","JFK","PHX",280,2153,8,25,2013-05-02 08:00:00 +2013,5,2,1002,1000,2,1129,1137,-8,"UA",1267,"N24211","LGA","ORD",115,733,10,0,2013-05-02 10:00:00 +2013,5,2,1010,1015,-5,1204,1230,-26,"US",75,"N678AW","EWR","PHX",281,2133,10,15,2013-05-02 10:00:00 +2013,5,2,1034,1035,-1,1206,1235,-29,"MQ",4589,"N1EAMQ","LGA","DTW",72,502,10,35,2013-05-02 10:00:00 +2013,5,2,1157,1200,-3,1301,1313,-12,"B6",1303,"N306JB","JFK","IAD",45,228,12,0,2013-05-02 12:00:00 +2013,5,2,1305,1245,20,2027,1543,NA,"B6",505,"N595JB","EWR","FLL",NA,1065,12,45,2013-05-02 12:00:00 +2013,5,2,1307,1315,-8,1420,1435,-15,"MQ",3765,"N535MQ","EWR","ORD",114,719,13,15,2013-05-02 13:00:00 +2013,5,2,1445,1444,1,1827,1844,-17,"B6",705,"N630JB","JFK","SJU",185,1598,14,44,2013-05-02 14:00:00 +2013,5,2,1511,1435,36,2047,1735,NA,"UA",1534,"N68452","EWR","MIA",NA,1085,14,35,2013-05-02 14:00:00 +2013,5,2,1514,1515,-1,1804,1806,-2,"DL",2181,"N904DL","LGA","MCO",131,950,15,15,2013-05-02 15:00:00 +2013,5,2,1542,1545,-3,1814,1802,12,"DL",1942,"N317NB","EWR","ATL",109,746,15,45,2013-05-02 15:00:00 +2013,5,2,1953,1955,-2,2142,2139,3,"EV",4088,"N10575","LGA","CLE",71,419,19,55,2013-05-02 19:00:00 +2013,5,2,2007,2015,-8,2105,2139,-34,"B6",1016,"N187JB","JFK","BOS",38,187,20,15,2013-05-02 20:00:00 +2013,5,3,721,725,-4,938,1015,-37,"AS",21,"N403AS","EWR","SEA",299,2402,7,25,2013-05-03 07:00:00 +2013,5,3,804,800,4,1017,1017,0,"DL",715,"N334NB","LGA","MSY",162,1183,8,0,2013-05-03 08:00:00 +2013,5,3,851,855,-4,1040,1100,-20,"DL",2179,"N782NC","EWR","DTW",78,488,8,55,2013-05-03 08:00:00 +2013,5,3,855,859,-4,1137,1138,-1,"DL",1747,"N689DL","LGA","ATL",119,762,8,59,2013-05-03 08:00:00 +2013,5,3,1208,1055,73,1317,1228,49,"UA",1210,"N13750","EWR","ORD",104,719,10,55,2013-05-03 10:00:00 +2013,5,3,1426,1430,-4,1800,1845,-45,"AA",1635,"N5FLAA","JFK","SJU",192,1598,14,30,2013-05-03 14:00:00 +2013,5,3,1451,1445,6,1814,1805,9,"AA",1925,"N3DPAA","LGA","MIA",156,1096,14,45,2013-05-03 14:00:00 +2013,5,3,1543,1530,13,1634,1635,-1,"EV",4133,"N18120","EWR","PVD",34,160,15,30,2013-05-03 15:00:00 +2013,5,3,1839,1847,-8,2016,2034,-18,"9E",4019,"N833AY","JFK","RIC",51,288,18,47,2013-05-03 18:00:00 +2013,5,3,1900,1855,5,2046,2056,-10,"US",1491,"N184US","LGA","CLT",83,544,18,55,2013-05-03 18:00:00 +2013,5,3,NA,1500,NA,NA,1722,NA,"EV",4971,"N708EV","LGA","CHS",NA,641,15,0,2013-05-03 15:00:00 +2013,5,4,554,600,-6,817,826,-9,"DL",461,"N6715C","LGA","ATL",113,762,6,0,2013-05-04 06:00:00 +2013,5,4,931,940,-9,1100,1052,8,"9E",3608,"N8688C","JFK","PHL",36,94,9,40,2013-05-04 09:00:00 +2013,5,4,1025,1030,-5,1329,1323,6,"UA",341,"N509UA","LGA","IAH",195,1416,10,30,2013-05-04 10:00:00 +2013,5,4,1853,1736,77,2031,1924,67,"B6",1111,"N316JB","JFK","RDU",72,427,17,36,2013-05-04 17:00:00 +2013,5,4,2012,2015,-3,2129,2156,-27,"EV",3834,"N16954","EWR","CLE",61,404,20,15,2013-05-04 20:00:00 +2013,5,4,2213,1940,153,2347,2130,137,"MQ",4423,"N840MQ","JFK","RDU",71,427,19,40,2013-05-04 19:00:00 +2013,5,5,611,615,-4,807,810,-3,"US",1288,"N746UW","JFK","CLT",86,541,6,15,2013-05-05 06:00:00 +2013,5,5,715,720,-5,939,1013,-34,"UA",642,"N462UA","LGA","IAH",191,1416,7,20,2013-05-05 07:00:00 +2013,5,5,813,820,-7,1106,1110,-4,"DL",1959,"N924DL","JFK","MCO",131,944,8,20,2013-05-05 08:00:00 +2013,5,5,1310,1315,-5,1602,1616,-14,"UA",1516,"N19117","EWR","LAX",326,2454,13,15,2013-05-05 13:00:00 +2013,5,5,1439,1445,-6,1557,1617,-20,"UA",619,"N479UA","EWR","CLE",63,404,14,45,2013-05-05 14:00:00 +2013,5,5,1524,1526,-2,1713,1725,-12,"EV",4231,"N14562","EWR","CVG",90,569,15,26,2013-05-05 15:00:00 +2013,5,5,1554,1525,29,1726,1715,11,"MQ",4447,"N735MQ","LGA","RDU",71,431,15,25,2013-05-05 15:00:00 +2013,5,5,1945,1955,-10,2238,2253,-15,"9E",3450,"N923XJ","JFK","JAX",117,828,19,55,2013-05-05 19:00:00 +2013,5,5,2004,2006,-2,2233,2250,-17,"UA",1265,"N38727","EWR","IAH",179,1400,20,6,2013-05-05 20:00:00 +2013,5,5,2152,2146,6,2246,2251,-5,"EV",4400,"N13965","EWR","DCA",34,199,21,46,2013-05-05 21:00:00 +2013,5,6,601,605,-4,729,735,-6,"MQ",4518,"N711MQ","LGA","RDU",70,431,6,5,2013-05-06 06:00:00 +2013,5,6,726,725,1,1022,1015,NA,"AS",21,"N407AS","EWR","SEA",NA,2402,7,25,2013-05-06 07:00:00 +2013,5,6,746,746,0,915,927,-12,"EV",3854,"N13989","EWR","GSO",74,445,7,46,2013-05-06 07:00:00 +2013,5,6,854,900,-6,1131,1120,11,"EV",4940,"N707EV","LGA","CHS",91,641,9,0,2013-05-06 09:00:00 +2013,5,6,1104,1107,-3,1153,1212,-19,"EV",4125,"N12142","EWR","ALB",29,143,11,7,2013-05-06 11:00:00 +2013,5,6,1825,1825,0,1939,2005,-26,"WN",1354,"N943WN","LGA","BNA",106,764,18,25,2013-05-06 18:00:00 +2013,5,6,2107,1910,117,2344,2240,64,"AA",21,"N335AA","JFK","LAX",303,2475,19,10,2013-05-06 19:00:00 +2013,5,6,2247,2245,2,2346,2357,-11,"B6",22,"N258JB","JFK","SYR",37,209,22,45,2013-05-06 22:00:00 +2013,5,7,720,725,-5,1018,1040,-22,"AA",443,"N336AA","JFK","MIA",153,1089,7,25,2013-05-07 07:00:00 +2013,5,7,739,740,-1,1001,1017,-16,"B6",203,"N527JB","JFK","LAS",288,2248,7,40,2013-05-07 07:00:00 +2013,5,7,818,822,-4,935,940,-5,"UA",385,"N464UA","EWR","BOS",42,200,8,22,2013-05-07 08:00:00 +2013,5,7,1104,1102,2,1155,1207,-12,"EV",4120,"N17169","EWR","ALB",28,143,11,2,2013-05-07 11:00:00 +2013,5,7,1158,1210,-12,1401,1355,6,"MQ",4431,"N738MQ","LGA","RDU",65,431,12,10,2013-05-07 12:00:00 +2013,5,7,1333,1330,3,1639,1622,17,"B6",431,"N504JB","LGA","SRQ",149,1047,13,30,2013-05-07 13:00:00 +2013,5,7,1426,1435,-9,1656,1710,-14,"B6",615,"N216JB","JFK","JAX",123,828,14,35,2013-05-07 14:00:00 +2013,5,7,1455,1455,0,1731,1752,-21,"B6",63,"N561JB","JFK","TPA",130,1005,14,55,2013-05-07 14:00:00 +2013,5,7,1706,1710,-4,1921,1934,-13,"DL",2042,"N301DQ","EWR","ATL",98,746,17,10,2013-05-07 17:00:00 +2013,5,7,2107,2102,5,2223,2227,-4,"EV",4119,"N12967","EWR","RIC",59,277,21,2,2013-05-07 21:00:00 +2013,5,7,2149,2159,-10,2247,2313,-26,"EV",3813,"N21537","EWR","BTV",43,266,21,59,2013-05-07 21:00:00 +2013,5,8,553,600,-7,832,914,-42,"UA",1209,"N75433","EWR","LAX",316,2454,6,0,2013-05-08 06:00:00 +2013,5,8,700,705,-5,1025,1011,14,"DL",1879,"N314US","LGA","FLL",156,1076,7,5,2013-05-08 07:00:00 +2013,5,8,1309,1300,9,1540,1610,-30,"VX",165,"N637VA","EWR","LAX",309,2454,13,0,2013-05-08 13:00:00 +2013,5,8,1901,1900,1,2303,2238,25,"DL",87,"N718TW","JFK","LAX",316,2475,19,0,2013-05-08 19:00:00 +2013,5,8,2035,2028,7,2340,2336,4,"UA",1241,"N38446","EWR","TPA",139,997,20,28,2013-05-08 20:00:00 +2013,5,8,2148,1815,213,21,2039,222,"9E",3285,"N918XJ","JFK","DTW",75,509,18,15,2013-05-08 18:00:00 +2013,5,9,625,630,-5,847,832,15,"US",1433,"N183UW","LGA","CLT",98,544,6,30,2013-05-09 06:00:00 +2013,5,9,812,805,7,1121,1117,4,"DL",1271,"N349NW","JFK","FLL",148,1069,8,5,2013-05-09 08:00:00 +2013,5,9,848,855,-7,1101,1120,-19,"MQ",4619,"N520MQ","LGA","ATL",102,762,8,55,2013-05-09 08:00:00 +2013,5,9,921,915,6,1228,1234,-6,"DL",2379,"N363NW","LGA","FLL",148,1076,9,15,2013-05-09 09:00:00 +2013,5,9,1123,1129,-6,1220,1235,-15,"B6",1174,"N323JB","EWR","BOS",39,200,11,29,2013-05-09 11:00:00 +2013,5,9,1517,1459,18,1737,1732,5,"DL",2347,"N674DL","LGA","ATL",102,762,14,59,2013-05-09 14:00:00 +2013,5,9,1522,1518,4,1736,1738,-2,"UA",745,"N553UA","LGA","DEN",222,1620,15,18,2013-05-09 15:00:00 +2013,5,9,1749,1730,19,1930,1935,-5,"DL",2331,"N330NW","LGA","DTW",78,502,17,30,2013-05-09 17:00:00 +2013,5,9,1933,1855,38,2122,2050,32,"MQ",4649,"N542MQ","LGA","MSP",139,1020,18,55,2013-05-09 18:00:00 +2013,5,9,1943,1900,43,2147,2135,12,"DL",947,"N670DN","LGA","ATL",97,762,19,0,2013-05-09 19:00:00 +2013,5,9,2053,2050,3,2208,2229,-21,"EV",5057,"N612QX","LGA","RIC",48,292,20,50,2013-05-09 20:00:00 +2013,5,9,NA,1459,NA,NA,1654,NA,"EV",4381,"N12569","EWR","DTW",NA,488,14,59,2013-05-09 14:00:00 +2013,5,10,556,600,-4,853,912,-19,"UA",453,"N816UA","EWR","LAX",319,2454,6,0,2013-05-10 06:00:00 +2013,5,10,606,610,-4,743,809,-26,"DL",1919,"N982DL","LGA","MSP",139,1020,6,10,2013-05-10 06:00:00 +2013,5,10,723,630,53,857,820,37,"MQ",4599,"N532MQ","LGA","MSP",137,1020,6,30,2013-05-10 06:00:00 +2013,5,10,752,746,6,926,927,-1,"EV",3854,"N15986","EWR","GSO",67,445,7,46,2013-05-10 07:00:00 +2013,5,10,802,800,2,1108,1135,-27,"AA",59,"N324AA","JFK","SFO",340,2586,8,0,2013-05-10 08:00:00 +2013,5,10,922,925,-3,1111,1110,1,"AA",1855,"N4XDAA","LGA","STL",137,888,9,25,2013-05-10 09:00:00 +2013,5,10,1300,1300,0,1546,1615,-29,"VX",411,"N625VA","JFK","LAX",322,2475,13,0,2013-05-10 13:00:00 +2013,5,10,1458,1430,28,1623,1601,22,"UA",1608,"N37253","EWR","ORD",115,719,14,30,2013-05-10 14:00:00 +2013,5,10,1504,1457,7,1750,1751,-1,"B6",151,"N524JB","JFK","MCO",136,944,14,57,2013-05-10 14:00:00 +2013,5,10,1543,1451,52,1706,1605,61,"EV",3829,"N13975","EWR","IAD",44,212,14,51,2013-05-10 14:00:00 +2013,5,10,1548,1520,28,1723,1639,44,"EV",4141,"N13995","EWR","MKE",116,725,15,20,2013-05-10 15:00:00 +2013,5,10,1732,1740,-8,1926,1943,-17,"YV",2751,"N906FJ","LGA","CLT",80,544,17,40,2013-05-10 17:00:00 +2013,5,10,1827,1829,-2,2048,2035,13,"DL",2131,"N990DL","LGA","DTW",95,502,18,29,2013-05-10 18:00:00 +2013,5,10,1929,1931,-2,2313,2305,8,"B6",171,"N554JB","JFK","SMF",321,2521,19,31,2013-05-10 19:00:00 +2013,5,10,2244,2245,-1,16,1,15,"B6",30,"N304JB","JFK","ROC",51,264,22,45,2013-05-10 22:00:00 +2013,5,11,743,710,33,946,925,21,"WN",1010,"N942WN","EWR","DEN",221,1605,7,10,2013-05-11 07:00:00 +2013,5,11,954,1000,-6,1456,1500,-4,"HA",51,"N388HA","JFK","HNL",640,4983,10,0,2013-05-11 10:00:00 +2013,5,11,1026,1029,-3,1124,1154,-30,"UA",1177,"N75436","EWR","BOS",43,200,10,29,2013-05-11 10:00:00 +2013,5,11,1244,1246,-2,1527,1530,-3,"UA",1687,"N12109","EWR","MCO",141,937,12,46,2013-05-11 12:00:00 +2013,5,11,1304,1315,-11,1528,1538,-10,"FL",348,"N895AT","LGA","ATL",120,762,13,15,2013-05-11 13:00:00 +2013,5,12,452,500,-8,642,640,2,"US",1579,"N762US","EWR","CLT",90,529,5,0,2013-05-12 05:00:00 +2013,5,12,706,710,-4,816,840,-24,"WN",1171,"N729SW","EWR","BNA",116,748,7,10,2013-05-12 07:00:00 +2013,5,12,751,759,-8,915,925,-10,"EV",4422,"N11121","EWR","PIT",62,319,7,59,2013-05-12 07:00:00 +2013,5,12,951,955,-4,1113,1140,-27,"AA",319,"N553AA","LGA","ORD",111,733,9,55,2013-05-12 09:00:00 +2013,5,12,1255,1300,-5,1553,1550,3,"DL",1685,"N916DE","LGA","MCO",148,950,13,0,2013-05-12 13:00:00 +2013,5,12,1305,1315,-10,1623,1616,7,"B6",1601,"N809JB","LGA","RSW",162,1080,13,15,2013-05-12 13:00:00 +2013,5,12,1316,1325,-9,1439,1500,-21,"AA",331,"N584AA","LGA","ORD",109,733,13,25,2013-05-12 13:00:00 +2013,5,12,1353,1355,-2,1609,1606,3,"UA",765,"N809UA","EWR","MSY",185,1167,13,55,2013-05-12 13:00:00 +2013,5,12,1430,1433,-3,1652,1656,-4,"FL",349,"N921AT","LGA","ATL",120,762,14,33,2013-05-12 14:00:00 +2013,5,12,1532,1525,7,1632,1635,-3,"EV",4133,"N11107","EWR","PVD",36,160,15,25,2013-05-12 15:00:00 +2013,5,12,1927,1931,-4,2229,2212,17,"EV",4204,"N14148","EWR","OKC",187,1325,19,31,2013-05-12 19:00:00 +2013,5,12,2028,1950,38,2143,2128,15,"UA",1243,"N78448","EWR","ORD",109,719,19,50,2013-05-12 19:00:00 +2013,5,12,2242,2159,43,12,2344,28,"B6",1109,"N323JB","JFK","RDU",75,427,21,59,2013-05-12 21:00:00 +2013,5,13,631,630,1,912,913,-1,"US",19,"N542UW","JFK","PHX",274,2153,6,30,2013-05-13 06:00:00 +2013,5,13,639,632,7,916,920,-4,"UA",388,"N423UA","LGA","IAH",194,1416,6,32,2013-05-13 06:00:00 +2013,5,13,655,700,-5,800,808,-8,"US",2163,"N714US","LGA","DCA",48,214,7,0,2013-05-13 07:00:00 +2013,5,13,808,815,-7,1000,1010,-10,"US",675,"N673AW","EWR","CLT",84,529,8,15,2013-05-13 08:00:00 +2013,5,13,1054,1100,-6,1146,1212,-26,"US",2124,"N948UW","LGA","BOS",38,184,11,0,2013-05-13 11:00:00 +2013,5,13,1337,1345,-8,1512,1530,-18,"MQ",4491,"N735MQ","LGA","CLE",70,419,13,45,2013-05-13 13:00:00 +2013,5,13,1512,1500,12,1708,1722,-14,"EV",4971,"N604QX","LGA","CHS",94,641,15,0,2013-05-13 15:00:00 +2013,5,13,1619,1600,19,1809,1833,-24,"9E",3315,"N928XJ","JFK","MSP",152,1029,16,0,2013-05-13 16:00:00 +2013,5,13,1825,1829,-4,2000,2035,-35,"DL",2131,"N919DE","LGA","DTW",77,502,18,29,2013-05-13 18:00:00 +2013,5,13,1837,1840,-3,2103,2050,13,"EV",4348,"N12136","EWR","MCI",149,1092,18,40,2013-05-13 18:00:00 +2013,5,13,2140,2019,81,2344,2249,55,"B6",179,"N521JB","JFK","PHX",257,2153,20,19,2013-05-13 20:00:00 +2013,5,14,654,700,-6,913,950,-37,"AA",2083,"N516AA","EWR","DFW",177,1372,7,0,2013-05-14 07:00:00 +2013,5,14,656,700,-4,829,830,-1,"UA",1730,"N27239","LGA","ORD",117,733,7,0,2013-05-14 07:00:00 +2013,5,14,1146,1151,-5,1401,1414,-13,"FL",347,"N923AT","LGA","ATL",102,762,11,51,2013-05-14 11:00:00 +2013,5,14,1307,1310,-3,1415,1423,-8,"EV",4681,"N11164","EWR","IAD",48,212,13,10,2013-05-14 13:00:00 +2013,5,14,1343,1223,80,1520,1406,74,"EV",4316,"N18102","EWR","CMH",72,463,12,23,2013-05-14 12:00:00 +2013,5,14,1432,1435,-3,1552,1600,-8,"9E",4205,"N8933B","JFK","BWI",39,184,14,35,2013-05-14 14:00:00 +2013,5,14,1531,1535,-4,1648,1655,-7,"WN",1153,"N364SW","EWR","MDW",111,711,15,35,2013-05-14 15:00:00 +2013,5,14,1548,1545,3,1853,1916,-23,"DL",1773,"N3754A","JFK","SLC",262,1990,15,45,2013-05-14 15:00:00 +2013,5,14,1710,1710,0,1847,1915,-28,"AA",1351,"N3BSAA","JFK","ORD",131,740,17,10,2013-05-14 17:00:00 +2013,5,14,1820,1825,-5,1924,2005,-41,"WN",1354,"N756SA","LGA","BNA",109,764,18,25,2013-05-14 18:00:00 +2013,5,14,1953,2000,-7,2057,2119,-22,"US",2189,"N767UW","LGA","DCA",40,214,20,0,2013-05-14 20:00:00 +2013,5,14,2056,2058,-2,2207,2219,-12,"UA",1604,"N36472","EWR","BOS",46,200,20,58,2013-05-14 20:00:00 +2013,5,14,2115,2100,15,2329,2338,-9,"B6",399,"N635JB","LGA","MCO",115,950,21,0,2013-05-14 21:00:00 +2013,5,15,555,600,-5,759,756,3,"DL",731,"N321NB","LGA","DTW",87,502,6,0,2013-05-15 06:00:00 +2013,5,15,652,700,-8,954,1007,-13,"DL",2003,"N915DL","LGA","MIA",144,1096,7,0,2013-05-15 07:00:00 +2013,5,15,701,705,-4,922,932,-10,"B6",611,"N603JB","JFK","JAX",110,828,7,5,2013-05-15 07:00:00 +2013,5,15,824,829,-5,1011,1024,-13,"MQ",4607,"N503MQ","LGA","CMH",77,479,8,29,2013-05-15 08:00:00 +2013,5,15,959,1004,-5,1207,1215,-8,"DL",2319,"N365NW","LGA","MSP",151,1020,10,4,2013-05-15 10:00:00 +2013,5,15,1227,1223,4,1430,1418,12,"EV",4178,"N14162","EWR","DTW",91,488,12,23,2013-05-15 12:00:00 +2013,5,15,1446,1455,-9,1626,1638,-12,"9E",3318,"N908XJ","JFK","BUF",60,301,14,55,2013-05-15 14:00:00 +2013,5,15,1448,1455,-7,1741,1805,-24,"AA",759,"N3DPAA","LGA","DFW",206,1389,14,55,2013-05-15 14:00:00 +2013,5,15,1633,1640,-7,1820,1845,-25,"MQ",4540,"N722MQ","LGA","DTW",82,502,16,40,2013-05-15 16:00:00 +2013,5,16,621,630,-9,906,913,-7,"US",19,"N544UW","JFK","PHX",291,2153,6,30,2013-05-16 06:00:00 +2013,5,16,657,700,-3,957,1015,-18,"VX",399,"N637VA","JFK","LAX",322,2475,7,0,2013-05-16 07:00:00 +2013,5,16,824,835,-11,1014,1020,-6,"MQ",4558,"N735MQ","LGA","CLE",71,419,8,35,2013-05-16 08:00:00 +2013,5,16,853,900,-7,958,1025,-27,"US",2167,"N754UW","LGA","DCA",43,214,9,0,2013-05-16 09:00:00 +2013,5,16,1147,1145,2,1401,1400,1,"DL",401,"N341NB","EWR","ATL",105,746,11,45,2013-05-16 11:00:00 +2013,5,16,1301,1250,11,1506,1501,5,"UA",368,"N463UA","EWR","MSY",163,1167,12,50,2013-05-16 12:00:00 +2013,5,16,1509,1430,39,1616,1601,15,"UA",1608,"N33286","EWR","ORD",108,719,14,30,2013-05-16 14:00:00 +2013,5,16,1511,1458,13,1618,1615,3,"UA",1146,"N33262","EWR","BOS",44,200,14,58,2013-05-16 14:00:00 +2013,5,16,1533,1415,78,1805,1633,92,"DL",935,"N309DE","EWR","ATL",121,746,14,15,2013-05-16 14:00:00 +2013,5,16,1619,1629,-10,1818,1814,4,"MQ",4415,"N738MQ","LGA","RDU",68,431,16,29,2013-05-16 16:00:00 +2013,5,16,1729,1725,4,2017,2034,-17,"DL",1185,"N357NW","EWR","SLC",264,1969,17,25,2013-05-16 17:00:00 +2013,5,16,1750,1735,15,2100,2105,-5,"AA",543,"N5FKAA","JFK","MIA",145,1089,17,35,2013-05-16 17:00:00 +2013,5,16,1859,1859,0,2107,2059,8,"9E",3455,"N908XJ","JFK","PIT",63,340,18,59,2013-05-16 18:00:00 +2013,5,16,2131,2055,36,23,2359,24,"UA",425,"N475UA","EWR","FLL",138,1065,20,55,2013-05-16 20:00:00 +2013,5,17,631,630,1,856,914,-18,"UA",1144,"N33714","EWR","MCO",126,937,6,30,2013-05-17 06:00:00 +2013,5,17,827,835,-8,1003,1020,-17,"MQ",4558,"N723MQ","LGA","CLE",69,419,8,35,2013-05-17 08:00:00 +2013,5,17,959,1000,-1,1316,1319,-3,"UA",642,"N555UA","JFK","SFO",339,2586,10,0,2013-05-17 10:00:00 +2013,5,17,1133,1135,-2,1304,1255,9,"MQ",4661,"N504MQ","LGA","BNA",109,764,11,35,2013-05-17 11:00:00 +2013,5,17,1155,1200,-5,1331,1338,-7,"UA",619,"N427UA","LGA","ORD",118,733,12,0,2013-05-17 12:00:00 +2013,5,17,1302,1245,17,1410,1353,17,"UA",587,"N460UA","EWR","BOS",36,200,12,45,2013-05-17 12:00:00 +2013,5,17,1350,1350,0,1552,1607,-15,"US",186,"N651AW","EWR","PHX",279,2133,13,50,2013-05-17 13:00:00 +2013,5,17,1658,1659,-1,1829,1842,-13,"UA",1189,"N21723","EWR","ORD",122,719,16,59,2013-05-17 16:00:00 +2013,5,17,2009,2015,-6,2247,2240,7,"9E",4033,"N831AY","LGA","TYS",99,647,20,15,2013-05-17 20:00:00 +2013,5,17,2103,2020,43,2339,2322,17,"UA",489,"N824UA","EWR","DFW",185,1372,20,20,2013-05-17 20:00:00 +2013,5,18,801,805,-4,1101,1115,-14,"DL",1271,"N348NW","JFK","FLL",140,1069,8,5,2013-05-18 08:00:00 +2013,5,18,842,845,-3,1113,1144,-31,"DL",1885,"N329NW","LGA","MCO",126,950,8,45,2013-05-18 08:00:00 +2013,5,18,1242,1245,-3,1348,1354,-6,"B6",658,"N193JB","JFK","SYR",47,209,12,45,2013-05-18 12:00:00 +2013,5,18,1406,1359,7,1702,1714,-12,"AA",677,"N5BYAA","JFK","MIA",153,1089,13,59,2013-05-18 13:00:00 +2013,5,18,1416,1425,-9,1518,1539,-21,"EV",3267,"N15983","EWR","ORF",50,284,14,25,2013-05-18 14:00:00 +2013,5,18,1440,1445,-5,1627,1649,-22,"DL",1231,"N910DL","LGA","DTW",87,502,14,45,2013-05-18 14:00:00 +2013,5,19,628,630,-2,830,913,-43,"US",19,"N521UW","JFK","PHX",280,2153,6,30,2013-05-19 06:00:00 +2013,5,19,753,800,-7,1117,1135,-18,"AA",59,"N329AA","JFK","SFO",361,2586,8,0,2013-05-19 08:00:00 +2013,5,19,1159,1200,-1,1312,1338,-26,"UA",754,"N415UA","LGA","ORD",113,733,12,0,2013-05-19 12:00:00 +2013,5,19,1208,1200,8,1356,1354,2,"US",1089,"N118US","JFK","CLT",82,541,12,0,2013-05-19 12:00:00 +2013,5,19,1553,1555,-2,1657,1715,-18,"MQ",4622,"N8EGMQ","LGA","BNA",104,764,15,55,2013-05-19 15:00:00 +2013,5,19,1734,1639,55,2011,1913,58,"EV",4705,"N13994","EWR","ATL",116,746,16,39,2013-05-19 16:00:00 +2013,5,19,1817,1710,67,1954,1857,57,"EV",4202,"N14952","EWR","STL",126,872,17,10,2013-05-19 17:00:00 +2013,5,20,553,600,-7,653,659,-6,"US",2161,"N717UW","LGA","DCA",45,214,6,0,2013-05-20 06:00:00 +2013,5,20,636,640,-4,739,745,-6,"B6",1010,"N298JB","JFK","BOS",42,187,6,40,2013-05-20 06:00:00 +2013,5,20,808,750,18,1203,1148,15,"UA",1216,"N37419","EWR","SJU",205,1608,7,50,2013-05-20 07:00:00 +2013,5,20,1130,1115,15,1302,1305,-3,"MQ",4485,"N738MQ","LGA","CMH",72,479,11,15,2013-05-20 11:00:00 +2013,5,20,1157,1115,42,1428,1410,18,"AA",739,"N3CPAA","LGA","DFW",184,1389,11,15,2013-05-20 11:00:00 +2013,5,20,1336,1315,21,1447,1435,12,"MQ",3765,"N532MQ","EWR","ORD",105,719,13,15,2013-05-20 13:00:00 +2013,5,20,1413,1250,83,1523,1408,75,"EV",4104,"N12921","EWR","BNA",105,748,12,50,2013-05-20 12:00:00 +2013,5,20,1419,1425,-6,1536,1550,-14,"B6",8,"N358JB","JFK","BUF",54,301,14,25,2013-05-20 14:00:00 +2013,5,20,1558,1600,-2,1658,1720,-22,"US",2181,"N745VJ","LGA","DCA",41,214,16,0,2013-05-20 16:00:00 +2013,5,20,1822,1740,42,2029,1943,46,"YV",2751,"N930LR","LGA","CLT",75,544,17,40,2013-05-20 17:00:00 +2013,5,20,1928,1935,-7,2104,2121,-17,"9E",4127,"N8914A","JFK","IAD",44,228,19,35,2013-05-20 19:00:00 +2013,5,20,1952,1930,22,2127,2117,10,"DL",975,"N340NB","LGA","PIT",54,335,19,30,2013-05-20 19:00:00 +2013,5,20,2203,1943,140,2328,2100,148,"EV",3267,"N22971","EWR","PWM",48,284,19,43,2013-05-20 19:00:00 +2013,5,21,822,829,-7,1031,1034,-3,"MQ",4478,"N738MQ","LGA","DTW",80,502,8,29,2013-05-21 08:00:00 +2013,5,21,837,839,-2,1103,1143,-40,"B6",175,"N559JB","JFK","SEA",307,2422,8,39,2013-05-21 08:00:00 +2013,5,21,1013,1003,10,1217,1212,5,"EV",4298,"N13550","EWR","SAV",108,708,10,3,2013-05-21 10:00:00 +2013,5,21,1155,1155,0,1316,1310,6,"MQ",4425,"N827MQ","JFK","DCA",56,213,11,55,2013-05-21 11:00:00 +2013,5,21,1204,1210,-6,1452,1510,-18,"B6",143,"N556JB","JFK","RSW",149,1074,12,10,2013-05-21 12:00:00 +2013,5,21,1243,1130,73,1515,1431,44,"DL",1875,"N987DL","LGA","TPA",139,1010,11,30,2013-05-21 11:00:00 +2013,5,21,1435,1435,0,1713,1710,3,"B6",615,"N193JB","JFK","JAX",114,828,14,35,2013-05-21 14:00:00 +2013,5,21,1641,1640,1,1922,1956,-34,"B6",185,"N606JB","JFK","SAN",315,2446,16,40,2013-05-21 16:00:00 +2013,5,21,2107,1929,98,2357,2229,88,"AA",2075,"N545AA","EWR","DFW",194,1372,19,29,2013-05-21 19:00:00 +2013,5,21,2123,2031,52,2253,2200,53,"EV",4224,"N13550","EWR","MKE",111,725,20,31,2013-05-21 20:00:00 +2013,5,22,626,630,-4,851,916,-25,"B6",27,"N662JB","JFK","TPA",132,1005,6,30,2013-05-22 06:00:00 +2013,5,22,637,640,-3,745,745,0,"B6",1010,"N193JB","JFK","BOS",48,187,6,40,2013-05-22 06:00:00 +2013,5,22,651,700,-9,749,805,-16,"US",2116,"N963UW","LGA","BOS",41,184,7,0,2013-05-22 07:00:00 +2013,5,22,658,700,-2,952,1011,-19,"DL",763,"N711ZX","JFK","LAX",316,2475,7,0,2013-05-22 07:00:00 +2013,5,22,743,746,-3,1045,1109,-24,"UA",1466,"N73299","EWR","LAX",323,2454,7,46,2013-05-22 07:00:00 +2013,5,22,823,825,-2,1022,1026,-4,"US",487,"N507AY","JFK","CLT",76,541,8,25,2013-05-22 08:00:00 +2013,5,22,1027,1030,-3,1353,1400,-7,"VX",187,"N524VA","EWR","SFO",340,2565,10,30,2013-05-22 10:00:00 +2013,5,22,1516,1455,21,1814,1753,21,"UA",572,"N448UA","LGA","IAH",197,1416,14,55,2013-05-22 14:00:00 +2013,5,22,1834,1815,19,2216,2135,41,"DL",1433,"N312US","JFK","MIA",145,1089,18,15,2013-05-22 18:00:00 +2013,5,22,2013,2020,-7,1,2245,76,"MQ",4662,"N543MQ","LGA","ATL",107,762,20,20,2013-05-22 20:00:00 +2013,5,22,NA,1433,NA,NA,1629,NA,"EV",4558,"N27200","EWR","CHS",NA,628,14,33,2013-05-22 14:00:00 +2013,5,23,1056,1000,56,1244,1137,67,"UA",1210,"N77518","LGA","ORD",128,733,10,0,2013-05-23 10:00:00 +2013,5,23,1100,1105,-5,1416,1410,6,"UA",1493,"N87513","EWR","LAX",332,2454,11,5,2013-05-23 11:00:00 +2013,5,23,1155,1150,5,1403,1305,58,"MQ",3697,"N509MQ","EWR","ORD",111,719,11,50,2013-05-23 11:00:00 +2013,5,23,2016,1805,131,2359,2128,151,"B6",217,"N809JB","JFK","LGB",319,2465,18,5,2013-05-23 18:00:00 +2013,5,23,2139,2117,22,12,2351,21,"B6",97,"N613JB","JFK","DEN",212,1626,21,17,2013-05-23 21:00:00 +2013,5,23,NA,1538,NA,NA,1856,NA,"B6",133,"N809JB","JFK","RSW",NA,1074,15,38,2013-05-23 15:00:00 +2013,5,24,554,600,-6,701,700,1,"US",2114,"N754UW","LGA","BOS",40,184,6,0,2013-05-24 06:00:00 +2013,5,24,826,834,-8,1046,1050,-4,"EV",5679,"N17146","EWR","XNA",155,1131,8,34,2013-05-24 08:00:00 +2013,5,24,1123,1125,-2,1421,1427,-6,"UA",703,"N525UA","JFK","LAX",333,2475,11,25,2013-05-24 11:00:00 +2013,5,24,1208,1159,9,1530,1459,31,"DL",1174,"N960DL","LGA","PBI",146,1035,11,59,2013-05-24 11:00:00 +2013,5,24,1437,1256,101,1554,1434,80,"UA",522,"N842UA","LGA","ORD",111,733,12,56,2013-05-24 12:00:00 +2013,5,24,1529,1450,39,1828,1746,42,"B6",629,"N216JB","JFK","HOU",202,1428,14,50,2013-05-24 14:00:00 +2013,5,24,1720,1700,20,2157,2054,63,"DL",329,"N3744F","JFK","SJU",225,1598,17,0,2013-05-24 17:00:00 +2013,5,24,1725,1645,40,1857,1813,44,"B6",1012,"N351JB","JFK","BOS",38,187,16,45,2013-05-24 16:00:00 +2013,5,24,1727,1639,48,2005,1930,35,"B6",547,"N624JB","EWR","PBI",140,1023,16,39,2013-05-24 16:00:00 +2013,5,24,1733,1700,33,1911,1832,39,"B6",618,"N334JB","JFK","PWM",53,273,17,0,2013-05-24 17:00:00 +2013,5,24,2032,2012,20,2324,2330,-6,"UA",1615,"N14242","EWR","AUS",201,1504,20,12,2013-05-24 20:00:00 +2013,5,24,2116,1855,141,2317,2050,147,"MQ",4649,"N506MQ","LGA","MSP",145,1020,18,55,2013-05-24 18:00:00 +2013,5,24,2123,1955,88,2248,2110,98,"AA",1762,"N3APAA","JFK","BOS",38,187,19,55,2013-05-24 19:00:00 +2013,5,24,2233,2031,122,2351,2200,111,"EV",4224,"N13978","EWR","MKE",112,725,20,31,2013-05-24 20:00:00 +2013,5,25,622,605,17,747,735,12,"MQ",4518,"N713MQ","LGA","RDU",63,431,6,5,2013-05-25 06:00:00 +2013,5,25,958,1000,-2,1234,1246,-12,"B6",65,"N715JB","JFK","TPA",134,1005,10,0,2013-05-25 10:00:00 +2013,5,25,1021,1021,0,1256,1306,-10,"B6",57,"N618JB","JFK","PBI",132,1028,10,21,2013-05-25 10:00:00 +2013,5,25,2226,2159,27,2347,2344,3,"B6",1109,"N267JB","JFK","RDU",63,427,21,59,2013-05-25 21:00:00 +2013,5,26,806,800,6,1056,1105,-9,"B6",25,"N569JB","JFK","FLL",144,1069,8,0,2013-05-26 08:00:00 +2013,5,26,1058,1100,-2,1314,1312,2,"EV",5010,"N718EV","LGA","CVG",90,585,11,0,2013-05-26 11:00:00 +2013,5,26,1150,1159,-9,1248,1312,-24,"EV",4511,"N34110","EWR","ROC",42,246,11,59,2013-05-26 11:00:00 +2013,5,26,1514,1359,75,1740,1631,69,"DL",2043,"N339NB","JFK","ATL",98,760,13,59,2013-05-26 13:00:00 +2013,5,26,1725,1730,-5,1854,1904,-10,"B6",38,"N351JB","JFK","ROC",51,264,17,30,2013-05-26 17:00:00 +2013,5,26,2106,1915,111,2208,2047,81,"EV",5062,"N760EV","LGA","BTV",42,258,19,15,2013-05-26 19:00:00 +2013,5,27,833,839,-6,1117,1143,-26,"B6",175,"N621JB","JFK","SEA",324,2422,8,39,2013-05-27 08:00:00 +2013,5,27,917,925,-8,1204,1235,-31,"AA",1097,"N526AA","LGA","DFW",191,1389,9,25,2013-05-27 09:00:00 +2013,5,27,1015,1021,-6,1125,1135,-10,"EV",4136,"N22909","EWR","IAD",44,212,10,21,2013-05-27 10:00:00 +2013,5,27,1227,1230,-3,1403,1413,-10,"EV",4704,"N13903","EWR","CMH",76,463,12,30,2013-05-27 12:00:00 +2013,5,27,1324,1328,-4,1448,1512,-24,"EV",4628,"N15572","EWR","STL",125,872,13,28,2013-05-27 13:00:00 +2013,5,27,1858,1900,-2,2138,2203,-25,"UA",1630,"N78285","EWR","SEA",312,2402,19,0,2013-05-27 19:00:00 +2013,5,27,1947,1951,-4,2133,2130,3,"UA",1657,"N38458","EWR","ORD",118,719,19,51,2013-05-27 19:00:00 +2013,5,28,641,645,-4,853,908,-15,"US",654,"N544UW","JFK","PHX",291,2153,6,45,2013-05-28 06:00:00 +2013,5,28,728,725,3,957,1010,-13,"UA",386,"N465UA","EWR","MCO",125,937,7,25,2013-05-28 07:00:00 +2013,5,28,748,755,-7,1036,1045,-9,"B6",341,"N537JB","JFK","SRQ",143,1041,7,55,2013-05-28 07:00:00 +2013,5,28,755,739,16,844,841,3,"EV",3825,"N15912","EWR","BDL",23,116,7,39,2013-05-28 07:00:00 +2013,5,28,953,1000,-7,1055,1113,-18,"US",2122,"N956UW","LGA","BOS",33,184,10,0,2013-05-28 10:00:00 +2013,5,28,1047,1025,22,1249,1222,27,"US",29,"N604AW","EWR","PHX",286,2133,10,25,2013-05-28 10:00:00 +2013,5,28,1049,1051,-2,1339,1405,-26,"DL",1903,"N900DE","LGA","SRQ",146,1047,10,51,2013-05-28 10:00:00 +2013,5,28,1629,1635,-6,1738,1754,-16,"EV",4499,"N14143","EWR","ROC",46,246,16,35,2013-05-28 16:00:00 +2013,5,28,1736,1745,-9,2015,2050,-35,"AA",785,"N3CFAA","LGA","DFW",192,1389,17,45,2013-05-28 17:00:00 +2013,5,28,1754,1800,-6,1852,1913,-21,"US",2138,"N956UW","LGA","BOS",33,184,18,0,2013-05-28 18:00:00 +2013,5,28,1852,1900,-8,2130,2016,74,"US",2187,"N730US","LGA","DCA",76,214,19,0,2013-05-28 19:00:00 +2013,5,28,1853,1900,-7,1950,2012,-22,"US",2140,"N963UW","LGA","BOS",31,184,19,0,2013-05-28 19:00:00 +2013,5,28,1926,1900,26,2054,2031,23,"EV",4191,"N12900","EWR","BNA",107,748,19,0,2013-05-28 19:00:00 +2013,5,28,2028,1940,48,2154,2130,24,"MQ",4423,"N815MQ","JFK","RDU",64,427,19,40,2013-05-28 19:00:00 +2013,5,28,2050,2055,-5,2241,2230,11,"AA",371,"N4XKAA","LGA","ORD",118,733,20,55,2013-05-28 20:00:00 +2013,5,29,558,600,-2,925,931,-6,"UA",1527,"N34455","EWR","SFO",351,2565,6,0,2013-05-29 06:00:00 +2013,5,29,755,805,-10,1043,1102,-19,"DL",1109,"N938DL","LGA","TPA",135,1010,8,5,2013-05-29 08:00:00 +2013,5,29,1001,1000,1,1117,1137,-20,"UA",1262,"N14250","LGA","ORD",110,733,10,0,2013-05-29 10:00:00 +2013,5,29,1111,1115,-4,1401,1410,-9,"AA",739,"N3AMAA","LGA","DFW",193,1389,11,15,2013-05-29 11:00:00 +2013,5,29,1212,1159,13,1424,1427,-3,"EV",4666,"N16987","EWR","JAX",112,820,11,59,2013-05-29 11:00:00 +2013,5,29,1520,1518,2,1814,1738,36,"UA",745,"N548UA","LGA","DEN",265,1620,15,18,2013-05-29 15:00:00 +2013,5,29,1721,1635,46,1845,1814,31,"EV",4230,"N16546","EWR","GSO",65,445,16,35,2013-05-29 16:00:00 +2013,5,29,1755,1800,-5,1909,1913,-4,"US",2138,"N961UW","LGA","BOS",42,184,18,0,2013-05-29 18:00:00 +2013,5,29,1907,1908,-1,2121,2053,28,"UA",1408,"N47414","EWR","ORD",107,719,19,8,2013-05-29 19:00:00 +2013,5,29,2053,2015,38,2217,2139,38,"B6",1016,"N373JB","JFK","BOS",40,187,20,15,2013-05-29 20:00:00 +2013,5,29,2055,2040,15,2228,2200,28,"MQ",4449,"N800MQ","JFK","DCA",47,213,20,40,2013-05-29 20:00:00 +2013,5,29,2101,2030,31,2257,2227,30,"EV",4247,"N13956","EWR","DTW",80,488,20,30,2013-05-29 20:00:00 +2013,5,30,647,655,-8,749,820,-31,"WN",404,"N916WN","LGA","MKE",99,738,6,55,2013-05-30 06:00:00 +2013,5,30,753,801,-8,923,951,-28,"EV",4485,"N12924","EWR","RDU",62,416,8,1,2013-05-30 08:00:00 +2013,5,30,827,830,-3,1058,1128,-30,"DL",857,"N3734B","JFK","SAN",313,2446,8,30,2013-05-30 08:00:00 +2013,5,30,829,835,-6,1110,1135,-25,"AA",717,"N3DSAA","LGA","DFW",188,1389,8,35,2013-05-30 08:00:00 +2013,5,30,831,755,36,929,910,19,"MQ",4418,"N800MQ","JFK","DCA",39,213,7,55,2013-05-30 07:00:00 +2013,5,30,843,845,-2,1028,1044,-16,"US",1429,"N700UW","LGA","CLT",79,544,8,45,2013-05-30 08:00:00 +2013,5,30,855,900,-5,1117,1121,-4,"DL",485,"N912DE","EWR","ATL",110,746,9,0,2013-05-30 09:00:00 +2013,5,30,1024,1030,-6,1134,1210,-36,"AA",321,"N519AA","LGA","ORD",102,733,10,30,2013-05-30 10:00:00 +2013,5,30,1035,1030,5,1320,1336,-16,"UA",1183,"N16732","EWR","RSW",148,1068,10,30,2013-05-30 10:00:00 +2013,5,30,1345,1345,0,1445,1505,-20,"WN",2226,"N755SA","LGA","MDW",104,725,13,45,2013-05-30 13:00:00 +2013,5,30,1529,1530,-1,1832,1837,-5,"9E",3325,"N929XJ","JFK","DFW",200,1391,15,30,2013-05-30 15:00:00 +2013,5,30,1638,1645,-7,1909,1850,19,"US",681,"N648AW","EWR","PHX",293,2133,16,45,2013-05-30 16:00:00 +2013,5,30,1701,1500,121,1937,1638,179,"UA",741,"N467UA","LGA","ORD",109,733,15,0,2013-05-30 15:00:00 +2013,5,30,1923,1723,120,2147,1943,124,"UA",296,"N585UA","LGA","DEN",237,1620,17,23,2013-05-30 17:00:00 +2013,5,30,1946,1945,1,2231,2224,7,"DL",245,"N396DA","JFK","PHX",298,2153,19,45,2013-05-30 19:00:00 +2013,5,30,2107,2115,-8,2242,2310,-28,"MQ",4584,"N510MQ","LGA","CLT",73,544,21,15,2013-05-30 21:00:00 +2013,5,31,627,630,-3,750,803,-13,"EV",3809,"N13955","EWR","RDU",62,416,6,30,2013-05-31 06:00:00 +2013,5,31,634,625,9,859,925,-26,"WN",1794,"N948WN","EWR","HOU",183,1411,6,25,2013-05-31 06:00:00 +2013,5,31,745,740,5,850,900,-10,"WN",3052,"N555LV","EWR","MDW",101,711,7,40,2013-05-31 07:00:00 +2013,5,31,803,810,-7,917,936,-19,"B6",1204,"N354JB","JFK","BUF",53,301,8,10,2013-05-31 08:00:00 +2013,5,31,822,820,2,1122,1156,-34,"UA",1532,"N38451","EWR","SFO",335,2565,8,20,2013-05-31 08:00:00 +2013,5,31,836,839,-3,1057,1143,-46,"B6",175,"N746JB","JFK","SEA",302,2422,8,39,2013-05-31 08:00:00 +2013,5,31,955,1004,-9,1146,1215,-29,"DL",2319,"N376NW","LGA","MSP",146,1020,10,4,2013-05-31 10:00:00 +2013,5,31,1014,1020,-6,1144,1204,-20,"US",1002,"N450UW","EWR","CLT",74,529,10,20,2013-05-31 10:00:00 +2013,5,31,1554,1600,-6,1906,1951,-45,"DL",2065,"N723TW","JFK","SFO",339,2586,16,0,2013-05-31 16:00:00 +2013,5,31,1641,1629,12,1911,1820,NA,"EV",4411,"N11547","EWR","MEM",NA,946,16,29,2013-05-31 16:00:00 +2013,5,31,1846,1840,6,2124,2132,-8,"DL",1629,"N3749D","JFK","LAS",303,2248,18,40,2013-05-31 18:00:00 +2013,5,31,2001,1610,231,2138,1807,211,"9E",3400,"N910XJ","JFK","MKE",110,745,16,10,2013-05-31 16:00:00 +2013,6,1,745,750,-5,1202,1155,7,"AA",655,"N5FMAA","JFK","STT",209,1623,7,50,2013-06-01 07:00:00 +2013,6,1,900,900,0,1154,1210,-16,"DL",120,"N721TW","JFK","LAX",324,2475,9,0,2013-06-01 09:00:00 +2013,6,1,939,943,-4,1053,1118,-25,"EV",4989,"N611QX","LGA","BNA",102,764,9,43,2013-06-01 09:00:00 +2013,6,1,1209,1210,-1,1509,1510,-1,"AA",743,"N529AA","LGA","DFW",195,1389,12,10,2013-06-01 12:00:00 +2013,6,1,1255,1228,27,1418,1347,31,"B6",66,"N203JB","JFK","BUF",56,301,12,28,2013-06-01 12:00:00 +2013,6,1,1415,1359,16,1603,1635,-32,"UA",1177,"N47414","EWR","DEN",209,1605,13,59,2013-06-01 13:00:00 +2013,6,1,1809,1250,319,2000,1448,312,"DL",1131,"N348NB","LGA","DTW",77,502,12,50,2013-06-01 12:00:00 +2013,6,1,1822,1830,-8,2137,2200,-23,"AA",119,"N3EYAA","EWR","LAX",321,2454,18,30,2013-06-01 18:00:00 +2013,6,2,739,744,-5,1017,1047,-30,"UA",1701,"N73251","EWR","FLL",141,1065,7,44,2013-06-02 07:00:00 +2013,6,2,830,830,0,1145,1147,-2,"UA",1201,"N41135","JFK","LAX",333,2475,8,30,2013-06-02 08:00:00 +2013,6,2,1022,1027,-5,1202,1227,-25,"EV",4398,"N11189","EWR","DSM",144,1017,10,27,2013-06-02 10:00:00 +2013,6,2,1119,1120,-1,1221,1226,-5,"B6",1174,"N274JB","EWR","BOS",45,200,11,20,2013-06-02 11:00:00 +2013,6,2,1307,1310,-3,1504,1510,-6,"MQ",4564,"N735MQ","LGA","DTW",89,502,13,10,2013-06-02 13:00:00 +2013,6,2,1722,1525,117,1810,1635,95,"EV",4133,"N11193","EWR","PVD",34,160,15,25,2013-06-02 15:00:00 +2013,6,2,1744,1745,-1,2109,2106,3,"DL",1394,"N3763D","JFK","PDX",332,2454,17,45,2013-06-02 17:00:00 +2013,6,2,1845,1610,155,2048,1825,143,"EV",4328,"N14117","EWR","MSY",166,1167,16,10,2013-06-02 16:00:00 +2013,6,2,2229,2130,59,6,2300,66,"MQ",4617,"N544MQ","LGA","RDU",69,431,21,30,2013-06-02 21:00:00 +2013,6,3,626,630,-4,753,800,-7,"B6",905,"N351JB","JFK","ORD",120,740,6,30,2013-06-03 06:00:00 +2013,6,3,857,859,-2,1119,1138,-19,"DL",1747,"N919DL","LGA","ATL",116,762,8,59,2013-06-03 08:00:00 +2013,6,3,1005,1005,0,1256,1257,-1,"UA",1414,"N37290","EWR","TPA",146,997,10,5,2013-06-03 10:00:00 +2013,6,3,1456,1457,-1,1812,1751,21,"B6",151,"N529JB","JFK","MCO",142,944,14,57,2013-06-03 14:00:00 +2013,6,3,1458,1455,3,1641,1638,3,"9E",3318,"N914XJ","JFK","BUF",55,301,14,55,2013-06-03 14:00:00 +2013,6,3,1509,1430,39,1646,1558,48,"FL",721,"N964AT","LGA","CAK",66,397,14,30,2013-06-03 14:00:00 +2013,6,3,1730,1650,40,2001,1919,42,"9E",3383,"N929XJ","JFK","CVG",92,589,16,50,2013-06-03 16:00:00 +2013,6,3,1757,1735,22,1913,1902,11,"DL",2383,"N340NW","LGA","PWM",42,269,17,35,2013-06-03 17:00:00 +2013,6,3,1933,1829,64,2131,2033,58,"US",1973,"N561UW","EWR","CLT",81,529,18,29,2013-06-03 18:00:00 +2013,6,4,556,600,-4,705,712,-7,"EV",5747,"N909EV","LGA","IAD",49,229,6,0,2013-06-04 06:00:00 +2013,6,4,845,850,-5,1230,1300,-30,"AA",1357,"N5ETAA","JFK","SJU",193,1598,8,50,2013-06-04 08:00:00 +2013,6,4,902,825,37,1050,1017,33,"US",1831,"N704US","JFK","CLT",77,541,8,25,2013-06-04 08:00:00 +2013,6,4,1025,1030,-5,1229,1243,-14,"DL",2343,"N308DE","EWR","ATL",104,746,10,30,2013-06-04 10:00:00 +2013,6,4,1140,1100,40,1249,1210,39,"MQ",3792,"N514MQ","JFK","DCA",53,213,11,0,2013-06-04 11:00:00 +2013,6,4,1211,1220,-9,1358,1415,-17,"EV",3845,"N13988","EWR","DTW",83,488,12,20,2013-06-04 12:00:00 +2013,6,4,1248,1245,3,1357,1401,-4,"EV",4088,"N14972","EWR","BTV",51,266,12,45,2013-06-04 12:00:00 +2013,6,4,1450,1450,0,1632,1635,-3,"MQ",4403,"N822MQ","JFK","RDU",71,427,14,50,2013-06-04 14:00:00 +2013,6,4,1512,1520,-8,1635,1639,-4,"EV",4561,"N27962","EWR","MKE",116,725,15,20,2013-06-04 15:00:00 +2013,6,4,1652,1655,-3,1959,2005,-6,"VX",413,"N623VA","JFK","LAX",324,2475,16,55,2013-06-04 16:00:00 +2013,6,4,1707,1709,-2,2018,2039,-21,"UA",512,"N512UA","JFK","SFO",356,2586,17,9,2013-06-04 17:00:00 +2013,6,4,1755,1800,-5,1930,1915,15,"US",2185,"N769US","LGA","DCA",44,214,18,0,2013-06-04 18:00:00 +2013,6,4,1816,1821,-5,2055,2041,14,"DL",1715,"N354NW","LGA","MSY",156,1183,18,21,2013-06-04 18:00:00 +2013,6,4,2158,2159,-1,2335,2344,-9,"B6",1109,"N294JB","JFK","RDU",70,427,21,59,2013-06-04 21:00:00 +2013,6,5,600,605,-5,716,720,-4,"WN",3574,"N716SW","EWR","MDW",111,711,6,5,2013-06-05 06:00:00 +2013,6,5,855,900,-5,1144,1201,-17,"DL",1885,"N320US","LGA","MCO",137,950,9,0,2013-06-05 09:00:00 +2013,6,5,903,909,-6,1228,1218,10,"UA",1626,"N33292","EWR","SAN",340,2425,9,9,2013-06-05 09:00:00 +2013,6,5,1056,1005,51,1212,1131,41,"EV",5736,"N827AS","LGA","IAD",46,229,10,5,2013-06-05 10:00:00 +2013,6,5,1258,1259,-1,1507,1457,10,"US",1459,"N406US","LGA","CLT",84,544,12,59,2013-06-05 12:00:00 +2013,6,5,1723,1730,-7,1856,1858,-2,"B6",1307,"N337JB","JFK","IAD",46,228,17,30,2013-06-05 17:00:00 +2013,6,6,659,700,-1,839,835,4,"WN",1696,"N378SW","EWR","STL",132,872,7,0,2013-06-06 07:00:00 +2013,6,6,831,840,-9,954,1012,-18,"9E",3300,"N602LR","JFK","DCA",42,213,8,40,2013-06-06 08:00:00 +2013,6,6,1026,1030,-4,1244,1243,1,"DL",2343,"N303DQ","EWR","ATL",110,746,10,30,2013-06-06 10:00:00 +2013,6,6,1054,1050,4,1157,1206,-9,"EV",3817,"N13988","EWR","MKE",106,725,10,50,2013-06-06 10:00:00 +2013,6,6,1443,1415,28,1626,1610,16,"MQ",4588,"N511MQ","LGA","MSP",141,1020,14,15,2013-06-06 14:00:00 +2013,6,6,1458,1500,-2,1658,1652,6,"US",802,"N118US","EWR","CLT",88,529,15,0,2013-06-06 15:00:00 +2013,6,6,1553,1559,-6,1722,1745,-23,"B6",6,"N265JB","JFK","BUF",61,301,15,59,2013-06-06 15:00:00 +2013,6,6,1601,1455,66,1746,1640,66,"MQ",4172,"N655MQ","JFK","CLE",78,425,14,55,2013-06-06 14:00:00 +2013,6,6,1607,1600,7,1750,1833,-43,"9E",3315,"N928XJ","JFK","MSP",142,1029,16,0,2013-06-06 16:00:00 +2013,6,6,1728,1716,12,1941,1944,-3,"UA",1424,"N37434","EWR","DEN",221,1605,17,16,2013-06-06 17:00:00 +2013,6,7,853,859,-6,1129,1138,-9,"DL",1747,"N332NW","LGA","ATL",111,762,8,59,2013-06-07 08:00:00 +2013,6,7,1214,1205,9,1436,1425,11,"MQ",4658,"N526MQ","LGA","ATL",110,762,12,5,2013-06-07 12:00:00 +2013,6,7,1350,1345,5,1528,1530,-2,"MQ",4491,"N735MQ","LGA","CLE",76,419,13,45,2013-06-07 13:00:00 +2013,6,7,1405,1415,-10,1603,1610,-7,"MQ",4588,"N502MQ","LGA","MSP",140,1020,14,15,2013-06-07 14:00:00 +2013,6,7,1445,1445,0,1642,1651,-9,"DL",1231,"N327NB","LGA","DTW",87,502,14,45,2013-06-07 14:00:00 +2013,6,7,1704,1705,-1,1857,1927,-30,"UA",509,"N575UA","LGA","DEN",212,1620,17,5,2013-06-07 17:00:00 +2013,6,7,1721,1700,21,1829,1843,-14,"UA",689,"N421UA","LGA","ORD",107,733,17,0,2013-06-07 17:00:00 +2013,6,7,1816,1610,126,2020,1751,149,"9E",3410,"N910XJ","JFK","BOS",44,187,16,10,2013-06-07 16:00:00 +2013,6,8,657,702,-5,936,941,-5,"UA",231,"N803UA","EWR","MCO",140,937,7,2,2013-06-08 07:00:00 +2013,6,8,759,804,-5,954,1010,-16,"EV",4225,"N12175","EWR","MSP",148,1008,8,4,2013-06-08 08:00:00 +2013,6,8,812,800,12,1131,1105,26,"B6",25,"N583JB","JFK","FLL",172,1069,8,0,2013-06-08 08:00:00 +2013,6,8,839,830,9,1040,1031,9,"EV",4419,"N16170","EWR","CHS",99,628,8,30,2013-06-08 08:00:00 +2013,6,8,1107,1110,-3,1348,1355,-7,"DL",695,"N337NW","JFK","MCO",138,944,11,10,2013-06-08 11:00:00 +2013,6,8,1220,1230,-10,1421,1436,-15,"9E",4142,"N8794B","LGA","CVG",99,585,12,30,2013-06-08 12:00:00 +2013,6,8,1232,1235,-3,1530,1540,-10,"DL",1375,"N394DA","JFK","SLC",269,1990,12,35,2013-06-08 12:00:00 +2013,6,8,1241,1225,16,1452,1430,22,"WN",2003,"N912WN","EWR","MSY",172,1167,12,25,2013-06-08 12:00:00 +2013,6,8,1521,1520,1,1634,1638,-4,"EV",3267,"N15910","EWR","ORF",54,284,15,20,2013-06-08 15:00:00 +2013,6,8,1600,1600,0,1917,1916,1,"DL",1043,"N717TW","JFK","SEA",324,2422,16,0,2013-06-08 16:00:00 +2013,6,8,1853,1835,18,2155,2213,-18,"B6",173,"N659JB","JFK","SJC",343,2569,18,35,2013-06-08 18:00:00 +2013,6,8,2118,2125,-7,2223,2243,-20,"EV",4695,"N15910","EWR","MHT",43,209,21,25,2013-06-08 21:00:00 +2013,6,8,NA,1315,NA,NA,1435,NA,"MQ",3765,"N534MQ","EWR","ORD",NA,719,13,15,2013-06-08 13:00:00 +2013,6,9,651,659,-8,750,810,-20,"EV",5819,"N14904","EWR","MHT",36,209,6,59,2013-06-09 06:00:00 +2013,6,9,750,755,-5,917,920,-3,"MQ",3737,"N5PBMQ","EWR","ORD",109,719,7,55,2013-06-09 07:00:00 +2013,6,9,801,805,-4,1046,1102,-16,"DL",1109,"N948DL","LGA","TPA",150,1010,8,5,2013-06-09 08:00:00 +2013,6,9,825,825,0,1126,1147,-21,"UA",397,"N555UA","JFK","SFO",333,2586,8,25,2013-06-09 08:00:00 +2013,6,9,923,930,-7,1224,1255,-31,"AA",179,"N323AA","JFK","SFO",329,2586,9,30,2013-06-09 09:00:00 +2013,6,9,1025,1018,7,1223,1220,3,"EV",4255,"N12167","EWR","CHS",91,628,10,18,2013-06-09 10:00:00 +2013,6,9,1056,1053,3,1237,1250,-13,"EV",4519,"N14162","EWR","AVL",89,583,10,53,2013-06-09 10:00:00 +2013,6,9,1150,1155,-5,1353,1420,-27,"WN",1836,"N787SA","LGA","DEN",221,1620,11,55,2013-06-09 11:00:00 +2013,6,9,1153,1200,-7,1258,1313,-15,"B6",1303,"N354JB","JFK","IAD",44,228,12,0,2013-06-09 12:00:00 +2013,6,9,1256,1305,-9,1434,1455,-21,"MQ",4426,"N721MQ","LGA","CMH",76,479,13,5,2013-06-09 13:00:00 +2013,6,9,1549,1550,-1,1752,1805,-13,"WN",1939,"N288WN","EWR","DEN",219,1605,15,50,2013-06-09 15:00:00 +2013,6,9,1642,1559,43,1842,1810,32,"EV",4091,"N13975","EWR","IND",100,645,15,59,2013-06-09 15:00:00 +2013,6,9,1700,1709,-9,1825,1856,-31,"EV",4662,"N16951","EWR","RDU",65,416,17,9,2013-06-09 17:00:00 +2013,6,10,624,627,-3,835,900,-25,"B6",203,"N599JB","JFK","LAS",290,2248,6,27,2013-06-10 06:00:00 +2013,6,10,708,630,38,917,835,42,"US",1100,"N170US","LGA","CLT",102,544,6,30,2013-06-10 06:00:00 +2013,6,10,1002,1012,-10,1115,1132,-17,"EV",4187,"N14907","EWR","BNA",112,748,10,12,2013-06-10 10:00:00 +2013,6,10,1052,1055,-3,1348,1411,-23,"DL",1903,"N335NB","LGA","SRQ",150,1047,10,55,2013-06-10 10:00:00 +2013,6,10,1150,1200,-10,1442,1510,-28,"AA",977,"N3AYAA","EWR","MIA",148,1085,12,0,2013-06-10 12:00:00 +2013,6,10,1340,1300,40,1605,1519,46,"EV",5148,"N717EV","EWR","ATL",109,746,13,0,2013-06-10 13:00:00 +2013,6,10,1411,1352,19,1642,1624,18,"UA",755,"N417UA","EWR","DFW",176,1372,13,52,2013-06-10 13:00:00 +2013,6,10,1631,1529,62,1958,1820,98,"B6",537,"N534JB","EWR","TPA",166,997,15,29,2013-06-10 15:00:00 +2013,6,10,1753,1730,23,1939,1940,-1,"DL",2331,"N937DL","LGA","DTW",77,502,17,30,2013-06-10 17:00:00 +2013,6,10,1908,1909,-1,2308,2235,33,"B6",87,"N503JB","JFK","SLC",288,1990,19,9,2013-06-10 19:00:00 +2013,6,10,2034,1859,95,2150,2036,74,"UA",693,"N458UA","LGA","ORD",107,733,18,59,2013-06-10 18:00:00 +2013,6,10,2048,2000,48,5,2310,55,"DL",2391,"N933DL","JFK","TPA",144,1005,20,0,2013-06-10 20:00:00 +2013,6,11,642,634,8,834,835,-1,"EV",4150,"N14180","EWR","CVG",90,569,6,34,2013-06-11 06:00:00 +2013,6,11,1158,1200,-2,1410,1435,-25,"DL",1947,"N662DN","LGA","ATL",104,762,12,0,2013-06-11 12:00:00 +2013,6,11,1430,1435,-5,1747,1750,-3,"DL",1779,"N342NW","LGA","FLL",181,1076,14,35,2013-06-11 14:00:00 +2013,6,11,1703,1655,8,2026,2016,10,"UA",1284,"N30401","EWR","SFO",353,2565,16,55,2013-06-11 16:00:00 +2013,6,11,1717,1700,17,1949,1955,-6,"AA",257,"N3ARAA","JFK","LAS",299,2248,17,0,2013-06-11 17:00:00 +2013,6,11,1755,1800,-5,1955,2012,-17,"DL",1321,"N323US","EWR","MSP",146,1008,18,0,2013-06-11 18:00:00 +2013,6,11,2125,2124,1,8,14,-6,"UA",1460,"N33289","EWR","PBI",141,1023,21,24,2013-06-11 21:00:00 +2013,6,12,859,900,-1,1027,1035,-8,"UA",1477,"N27239","LGA","ORD",118,733,9,0,2013-06-12 09:00:00 +2013,6,12,1005,1012,-7,1108,1132,-24,"EV",4187,"N15572","EWR","BNA",107,748,10,12,2013-06-12 10:00:00 +2013,6,12,1245,1250,-5,1411,1425,-14,"MQ",3361,"N815MQ","JFK","RDU",66,427,12,50,2013-06-12 12:00:00 +2013,6,12,1332,1338,-6,1440,1459,-19,"B6",36,"N346JB","JFK","ROC",54,264,13,38,2013-06-12 13:00:00 +2013,6,12,1338,1344,-6,1602,1621,-19,"B6",525,"N706JB","EWR","MCO",120,937,13,44,2013-06-12 13:00:00 +2013,6,12,1450,1459,-9,1642,1649,-7,"MQ",3391,"N720MQ","LGA","CMH",81,479,14,59,2013-06-12 14:00:00 +2013,6,12,1458,1459,-1,1808,1801,7,"9E",3325,"N909XJ","JFK","DFW",181,1391,14,59,2013-06-12 14:00:00 +2013,6,12,1551,1555,-4,1749,1740,9,"WN",493,"N494WN","LGA","STL",124,888,15,55,2013-06-12 15:00:00 +2013,6,12,1729,1729,0,2048,2055,-7,"VX",193,"N635VA","EWR","SFO",352,2565,17,29,2013-06-12 17:00:00 +2013,6,12,1743,1745,-2,2019,2014,5,"DL",884,"N369NW","LGA","DEN",224,1620,17,45,2013-06-12 17:00:00 +2013,6,12,1821,1829,-8,2010,2033,-23,"US",1973,"N170US","EWR","CLT",75,529,18,29,2013-06-12 18:00:00 +2013,6,12,1837,1830,7,2029,2055,-26,"WN",1454,"N449WN","EWR","MSY",152,1167,18,30,2013-06-12 18:00:00 +2013,6,12,1906,1859,7,2018,2026,-8,"EV",4131,"N13968","EWR","RIC",50,277,18,59,2013-06-12 18:00:00 +2013,6,12,1958,1950,8,247,2130,NA,"AA",363,"N4YDAA","LGA","ORD",NA,733,19,50,2013-06-12 19:00:00 +2013,6,12,2038,1935,63,2400,2302,58,"DL",87,"N674DL","JFK","SLC",282,1990,19,35,2013-06-12 19:00:00 +2013,6,13,557,600,-3,802,815,-13,"FL",345,"N278AT","LGA","ATL",108,762,6,0,2013-06-13 06:00:00 +2013,6,13,813,815,-2,1120,1110,10,"DL",1167,"N301DQ","JFK","TPA",135,1005,8,15,2013-06-13 08:00:00 +2013,6,13,929,930,-1,1242,1234,8,"DL",1443,"N727TW","JFK","SEA",322,2422,9,30,2013-06-13 09:00:00 +2013,6,13,929,933,-4,1259,1156,63,"EV",4140,"N13994","EWR","ATL",113,746,9,33,2013-06-13 09:00:00 +2013,6,13,956,945,11,1157,1125,32,"AA",317,"N598AA","LGA","ORD",116,733,9,45,2013-06-13 09:00:00 +2013,6,13,1452,1435,17,1822,1750,32,"DL",1779,"N369NW","LGA","FLL",164,1076,14,35,2013-06-13 14:00:00 +2013,6,13,1558,1520,38,1748,1705,43,"AA",2223,"N561AA","LGA","STL",129,888,15,20,2013-06-13 15:00:00 +2013,6,13,1825,1829,-4,2129,2033,56,"US",297,"N508AY","JFK","CLT",88,541,18,29,2013-06-13 18:00:00 +2013,6,13,1840,1830,10,2233,2155,38,"UA",389,"N554UA","JFK","SFO",367,2586,18,30,2013-06-13 18:00:00 +2013,6,13,2016,1919,57,44,2210,154,"UA",1259,"N73270","LGA","IAH",181,1416,19,19,2013-06-13 19:00:00 +2013,6,13,NA,1330,NA,NA,1532,NA,"EV",4395,"N14991","EWR","IND",NA,645,13,30,2013-06-13 13:00:00 +2013,6,13,NA,1000,NA,NA,1121,NA,"EV",5736,"N829AS","LGA","IAD",NA,229,10,0,2013-06-13 10:00:00 +2013,6,14,940,940,0,1043,1110,-27,"WN",1098,"N456WN","LGA","MKE",105,738,9,40,2013-06-14 09:00:00 +2013,6,14,1002,1005,-3,1237,1251,-14,"B6",65,"N552JB","JFK","TPA",135,1005,10,5,2013-06-14 10:00:00 +2013,6,14,1014,1018,-4,1116,1139,-23,"UA",205,"N451UA","EWR","BOS",36,200,10,18,2013-06-14 10:00:00 +2013,6,14,1305,1255,10,1432,1425,7,"WN",546,"N910WN","LGA","MKE",107,738,12,55,2013-06-14 12:00:00 +2013,6,14,1437,1430,7,1547,1554,-7,"EV",4171,"N16961","EWR","MSN",118,799,14,30,2013-06-14 14:00:00 +2013,6,14,1500,1500,0,1801,1755,6,"AA",1813,"N5FNAA","JFK","MCO",132,944,15,0,2013-06-14 15:00:00 +2013,6,14,1524,1529,-5,1749,1820,-31,"B6",537,"N639JB","EWR","TPA",128,997,15,29,2013-06-14 15:00:00 +2013,6,14,1612,1520,52,1739,1710,29,"AA",341,"N436AA","LGA","ORD",117,733,15,20,2013-06-14 15:00:00 +2013,6,14,1612,1600,12,1927,1815,72,"MQ",3075,"N633MQ","JFK","CVG",92,589,16,0,2013-06-14 16:00:00 +2013,6,14,1624,1625,-1,1756,1808,-12,"DL",402,"N353NB","JFK","BOS",37,187,16,25,2013-06-14 16:00:00 +2013,6,14,1712,1655,17,1848,1837,11,"EV",5977,"N12567","EWR","RDU",66,416,16,55,2013-06-14 16:00:00 +2013,6,14,1716,1654,22,2042,2015,27,"UA",1284,"N39450","EWR","SFO",334,2565,16,54,2013-06-14 16:00:00 +2013,6,14,1828,1825,3,2141,2145,-4,"AS",7,"N402AS","EWR","SEA",335,2402,18,25,2013-06-14 18:00:00 +2013,6,14,2358,2359,-1,347,345,2,"B6",701,"N612JB","JFK","SJU",210,1598,23,59,2013-06-14 23:00:00 +2013,6,14,NA,1300,NA,NA,1540,NA,"AA",1841,"N435AA","EWR","DFW",NA,1372,13,0,2013-06-14 13:00:00 +2013,6,15,542,545,-3,758,823,-25,"UA",1714,"N17245","LGA","IAH",180,1416,5,45,2013-06-15 05:00:00 +2013,6,15,700,700,0,822,830,-8,"WN",1130,"N629SW","EWR","STL",124,872,7,0,2013-06-15 07:00:00 +2013,6,15,749,750,-1,1026,1030,-4,"AA",715,"N484AA","LGA","DFW",180,1389,7,50,2013-06-15 07:00:00 +2013,6,15,1000,955,5,1117,1115,2,"MQ",3670,"N503MQ","LGA","BNA",101,764,9,55,2013-06-15 09:00:00 +2013,6,15,1619,1625,-6,1755,1837,-42,"DL",2231,"N317NB","LGA","DTW",80,502,16,25,2013-06-15 16:00:00 +2013,6,15,1731,1725,6,1946,1947,-1,"UA",280,"N458UA","EWR","PHX",297,2133,17,25,2013-06-15 17:00:00 +2013,6,15,1733,1530,123,1932,1755,97,"MQ",3202,"N942MQ","JFK","IND",99,665,15,30,2013-06-15 15:00:00 +2013,6,15,1827,1829,-2,2006,2033,-27,"US",297,"N520UW","JFK","CLT",74,541,18,29,2013-06-15 18:00:00 +2013,6,15,1858,1900,-2,2013,2035,-22,"WN",2497,"N497WN","LGA","MDW",107,725,19,0,2013-06-15 19:00:00 +2013,6,16,824,825,-1,1004,1023,-19,"B6",219,"N329JB","JFK","CLT",78,541,8,25,2013-06-16 08:00:00 +2013,6,16,1035,1030,5,1305,1242,23,"EV",5806,"N13132","EWR","OMA",170,1134,10,30,2013-06-16 10:00:00 +2013,6,16,1157,1205,-8,1426,1430,-4,"MQ",3658,"N500MQ","LGA","ATL",112,762,12,5,2013-06-16 12:00:00 +2013,6,16,1627,1630,-3,1910,1930,-20,"AA",881,"N3HFAA","JFK","DFW",177,1391,16,30,2013-06-16 16:00:00 +2013,6,16,1638,1612,26,1834,1818,16,"EV",4667,"N11165","EWR","MSP",157,1008,16,12,2013-06-16 16:00:00 +2013,6,16,1644,1700,-16,1936,2000,-24,"AA",773,"N4XXAA","LGA","DFW",199,1389,17,0,2013-06-16 17:00:00 +2013,6,16,1732,1640,52,1834,1813,21,"9E",3788,"N812AY","JFK","PHL",37,94,16,40,2013-06-16 16:00:00 +2013,6,16,1742,1750,-8,2104,2045,19,"UA",379,"N838UA","EWR","SAN",342,2425,17,50,2013-06-16 17:00:00 +2013,6,16,1850,1859,-9,2120,2121,-1,"FL",778,"N993AT","LGA","ATL",123,762,18,59,2013-06-16 18:00:00 +2013,6,16,1858,1659,119,2117,1907,130,"EV",4532,"N14950","EWR","CHS",95,628,16,59,2013-06-16 16:00:00 +2013,6,16,2035,2023,12,21,29,-8,"UA",1244,"N38417","EWR","SJU",191,1608,20,23,2013-06-16 20:00:00 +2013,6,17,646,649,-3,858,903,-5,"UA",343,"N526UA","LGA","DEN",224,1620,6,49,2013-06-17 06:00:00 +2013,6,17,655,600,55,842,757,45,"DL",731,"N366NB","LGA","DTW",83,502,6,0,2013-06-17 06:00:00 +2013,6,17,702,705,-3,810,823,-13,"EV",4522,"N11565","EWR","BNA",109,748,7,5,2013-06-17 07:00:00 +2013,6,17,758,800,-2,858,922,-24,"UA",1199,"N27724","EWR","BOS",42,200,8,0,2013-06-17 08:00:00 +2013,6,17,803,800,3,1047,1104,-17,"DL",1271,"N3743H","JFK","FLL",138,1069,8,0,2013-06-17 08:00:00 +2013,6,17,1036,1029,7,1304,1239,25,"US",196,"N509AY","JFK","PHX",304,2153,10,29,2013-06-17 10:00:00 +2013,6,17,1200,1205,-5,1416,1430,-14,"MQ",3658,"N544MQ","LGA","ATL",107,762,12,5,2013-06-17 12:00:00 +2013,6,17,1533,1530,3,1936,1850,46,"DL",95,"N195DN","JFK","LAX",337,2475,15,30,2013-06-17 15:00:00 +2013,6,17,1852,1829,23,2224,2125,59,"UA",1165,"N75853","EWR","LAX",331,2454,18,29,2013-06-17 18:00:00 +2013,6,18,3,2359,4,339,345,-6,"B6",701,"N621JB","JFK","SJU",193,1598,23,59,2013-06-18 23:00:00 +2013,6,18,736,740,-4,927,941,-14,"EV",4104,"N12175","EWR","CHS",93,628,7,40,2013-06-18 07:00:00 +2013,6,18,748,750,-2,1020,1027,-7,"UA",753,"N441UA","EWR","DFW",191,1372,7,50,2013-06-18 07:00:00 +2013,6,18,751,800,-9,1051,1106,-15,"B6",553,"N516JB","EWR","RSW",158,1068,8,0,2013-06-18 08:00:00 +2013,6,18,1146,1145,1,1330,1320,10,"AA",1855,"N477AA","LGA","STL",128,888,11,45,2013-06-18 11:00:00 +2013,6,18,1344,1259,45,1719,1657,22,"UA",1090,"N78448","EWR","SJU",192,1608,12,59,2013-06-18 12:00:00 +2013,6,18,1352,1359,-7,1502,1513,-11,"B6",1002,"N229JB","JFK","BOS",45,187,13,59,2013-06-18 13:00:00 +2013,6,18,1400,1315,45,1545,1449,56,"EV",4552,"N13956","EWR","GSO",71,445,13,15,2013-06-18 13:00:00 +2013,6,18,1456,1455,1,1635,1635,0,"MQ",3231,"N669MQ","JFK","PIT",68,340,14,55,2013-06-18 14:00:00 +2013,6,18,1959,1738,141,2148,1944,124,"EV",4225,"N11155","EWR","MSP",149,1008,17,38,2013-06-18 17:00:00 +2013,6,18,NA,1443,NA,NA,1712,NA,"EV",4152,"N25134","EWR","ATL",NA,746,14,43,2013-06-18 14:00:00 +2013,6,19,630,635,-5,741,745,-4,"EV",4241,"N19966","EWR","DCA",45,199,6,35,2013-06-19 06:00:00 +2013,6,19,745,755,-10,1043,1045,-2,"B6",341,"N612JB","JFK","SRQ",154,1041,7,55,2013-06-19 07:00:00 +2013,6,19,920,915,5,1130,1115,15,"MQ",3565,"N530MQ","LGA","CLT",87,544,9,15,2013-06-19 09:00:00 +2013,6,19,952,959,-7,1219,1201,18,"US",1277,"N701UW","LGA","CLT",98,544,9,59,2013-06-19 09:00:00 +2013,6,19,1355,1349,6,1524,1516,8,"UA",1631,"N11206","EWR","ORD",120,719,13,49,2013-06-19 13:00:00 +2013,6,19,1454,1455,-1,1643,1635,8,"MQ",3231,"N650MQ","JFK","PIT",66,340,14,55,2013-06-19 14:00:00 +2013,6,19,1630,1630,0,1856,1930,-34,"AA",881,"N3FNAA","JFK","DFW",181,1391,16,30,2013-06-19 16:00:00 +2013,6,19,1827,1829,-2,2014,2033,-19,"US",297,"N534UW","JFK","CLT",79,541,18,29,2013-06-19 18:00:00 +2013,6,19,1919,1745,94,2111,1925,106,"MQ",3301,"N507MQ","LGA","RDU",70,431,17,45,2013-06-19 17:00:00 +2013,6,19,1928,1930,-2,2300,2244,16,"DL",1854,"N329NW","LGA","FLL",169,1076,19,30,2013-06-19 19:00:00 +2013,6,19,2108,2110,-2,2220,2245,-25,"B6",10,"N178JB","JFK","BUF",58,301,21,10,2013-06-19 21:00:00 +2013,6,19,2223,2225,-2,2325,2330,-5,"EV",5258,"N709EV","LGA","MHT",39,195,22,25,2013-06-19 22:00:00 +2013,6,20,810,815,-5,1003,1008,-5,"US",1509,"N457UW","EWR","CLT",83,529,8,15,2013-06-20 08:00:00 +2013,6,20,1411,1415,-4,1612,1629,-17,"DL",673,"N304DQ","EWR","ATL",103,746,14,15,2013-06-20 14:00:00 +2013,6,20,1917,1910,7,2231,2237,-6,"DL",1091,"N330NB","JFK","SAT",204,1587,19,10,2013-06-20 19:00:00 +2013,6,20,1924,1859,25,2030,2036,-6,"UA",693,"N417UA","LGA","ORD",109,733,18,59,2013-06-20 18:00:00 +2013,6,21,640,641,-1,933,940,-7,"UA",1701,"N30401","EWR","FLL",155,1065,6,41,2013-06-21 06:00:00 +2013,6,21,716,720,-4,904,921,-17,"EV",3824,"N14904","EWR","GRR",90,605,7,20,2013-06-21 07:00:00 +2013,6,21,731,735,-4,959,1005,-6,"AA",1949,"N3FCAA","JFK","LAS",293,2248,7,35,2013-06-21 07:00:00 +2013,6,21,826,829,-3,1025,1028,-3,"DL",1157,"N345NB","EWR","MSP",143,1008,8,29,2013-06-21 08:00:00 +2013,6,21,1154,1159,-5,1429,1500,-31,"UA",1593,"N16709","EWR","SNA",310,2434,11,59,2013-06-21 11:00:00 +2013,6,21,1405,1410,-5,1615,1630,-15,"FL",349,"N892AT","LGA","ATL",106,762,14,10,2013-06-21 14:00:00 +2013,6,21,1522,1145,217,1723,1358,205,"DL",401,"N326NB","EWR","ATL",100,746,11,45,2013-06-21 11:00:00 +2013,6,21,1646,1636,10,1757,1805,-8,"B6",918,"N231JB","JFK","BOS",35,187,16,36,2013-06-21 16:00:00 +2013,6,21,1646,1651,-5,1814,1900,-46,"DL",1473,"N364NB","LGA","MEM",125,963,16,51,2013-06-21 16:00:00 +2013,6,21,1807,1738,29,2038,1944,54,"EV",4225,"N11137","EWR","MSP",143,1008,17,38,2013-06-21 17:00:00 +2013,6,22,553,600,-7,726,732,-6,"EV",4108,"N12167","EWR","RDU",65,416,6,0,2013-06-22 06:00:00 +2013,6,22,610,615,-5,752,806,-14,"US",874,"N105UW","EWR","CLT",80,529,6,15,2013-06-22 06:00:00 +2013,6,22,611,615,-4,901,910,-9,"AA",1895,"N3HGAA","EWR","MIA",147,1085,6,15,2013-06-22 06:00:00 +2013,6,22,706,715,-9,1031,1030,1,"AA",443,"N332AA","JFK","MIA",168,1089,7,15,2013-06-22 07:00:00 +2013,6,22,1307,1314,-7,1604,1620,-16,"B6",1639,"N655JB","LGA","RSW",157,1080,13,14,2013-06-22 13:00:00 +2013,6,22,1502,1345,77,1747,1639,68,"DL",1685,"N985DL","LGA","MCO",132,950,13,45,2013-06-22 13:00:00 +2013,6,22,1617,1555,22,1910,1900,10,"DL",1753,"N384DA","JFK","MCO",128,944,15,55,2013-06-22 15:00:00 +2013,6,22,1828,1805,23,1946,1932,14,"DL",2383,"N335NB","LGA","PWM",46,269,18,5,2013-06-22 18:00:00 +2013,6,23,639,645,-6,828,908,-40,"US",15,"N521UW","JFK","PHX",271,2153,6,45,2013-06-23 06:00:00 +2013,6,23,733,730,3,912,944,-32,"UA",561,"N576UA","LGA","DEN",200,1620,7,30,2013-06-23 07:00:00 +2013,6,23,835,840,-5,1143,1146,-3,"UA",1125,"N48127","JFK","LAX",322,2475,8,40,2013-06-23 08:00:00 +2013,6,23,1006,1010,-4,1301,1309,-8,"UA",1425,"N24706","EWR","FLL",162,1065,10,10,2013-06-23 10:00:00 +2013,6,23,1148,1155,-7,1255,1310,-15,"MQ",3386,"N830MQ","JFK","DCA",48,213,11,55,2013-06-23 11:00:00 +2013,6,23,1849,1750,59,2147,2049,58,"UA",535,"N502UA","JFK","LAX",313,2475,17,50,2013-06-23 17:00:00 +2013,6,23,2307,2115,112,103,2349,74,"DL",1729,"N3758Y","JFK","LAS",277,2248,21,15,2013-06-23 21:00:00 +2013,6,24,627,630,-3,928,924,4,"B6",929,"N644JB","JFK","RSW",158,1074,6,30,2013-06-24 06:00:00 +2013,6,24,715,720,-5,908,921,-13,"EV",3824,"N12924","EWR","GRR",91,605,7,20,2013-06-24 07:00:00 +2013,6,24,837,845,-8,1024,1044,-20,"US",1429,"N710UW","LGA","CLT",80,544,8,45,2013-06-24 08:00:00 +2013,6,24,942,940,2,1053,1110,-17,"WN",1098,"N292WN","LGA","MKE",103,738,9,40,2013-06-24 09:00:00 +2013,6,24,1029,1030,-1,1245,1248,-3,"DL",1529,"N3760C","JFK","LAS",296,2248,10,30,2013-06-24 10:00:00 +2013,6,24,1258,1301,-3,1431,1411,20,"EV",4129,"N26545","EWR","DCA",50,199,13,1,2013-06-24 13:00:00 +2013,6,24,1343,1345,-2,1635,1645,-10,"AA",117,"N328AA","JFK","LAX",318,2475,13,45,2013-06-24 13:00:00 +2013,6,24,1621,1625,-4,1742,1808,-26,"DL",402,"N368NB","JFK","BOS",37,187,16,25,2013-06-24 16:00:00 +2013,6,25,703,700,3,946,1003,-17,"DL",763,"N192DN","JFK","LAX",315,2475,7,0,2013-06-25 07:00:00 +2013,6,25,757,800,-3,1047,1104,-17,"DL",1271,"N393DA","JFK","FLL",140,1069,8,0,2013-06-25 08:00:00 +2013,6,25,1153,1057,56,1424,1342,42,"UA",1493,"N53441","EWR","LAX",307,2454,10,57,2013-06-25 10:00:00 +2013,6,25,1206,1210,-4,1502,1500,2,"AA",743,"N4YLAA","LGA","DFW",180,1389,12,10,2013-06-25 12:00:00 +2013,6,25,1258,1300,-2,1410,1409,1,"US",2128,"N947UW","LGA","BOS",40,184,13,0,2013-06-25 13:00:00 +2013,6,25,1342,1259,43,1727,1657,30,"UA",1090,"N57439","EWR","SJU",200,1608,12,59,2013-06-25 12:00:00 +2013,6,25,1930,1721,129,2143,1926,137,"EV",3847,"N14562","EWR","IND",97,645,17,21,2013-06-25 17:00:00 +2013,6,25,1937,1916,21,2256,2225,31,"UA",1439,"N27239","EWR","LAX",313,2454,19,16,2013-06-25 19:00:00 +2013,6,25,2316,2245,31,234,135,59,"B6",623,"N807JB","JFK","LAX",324,2475,22,45,2013-06-25 22:00:00 +2013,6,25,2335,2120,135,103,2239,144,"EV",4141,"N29906","EWR","DCA",48,199,21,20,2013-06-25 21:00:00 +2013,6,26,605,605,0,837,839,-2,"B6",583,"N632JB","JFK","MCO",128,944,6,5,2013-06-26 06:00:00 +2013,6,26,657,700,-3,939,951,-12,"B6",23,"N708JB","JFK","LAX",323,2475,7,0,2013-06-26 07:00:00 +2013,6,26,755,755,0,1031,1057,-26,"DL",2395,"N980DL","LGA","PBI",138,1035,7,55,2013-06-26 07:00:00 +2013,6,26,1021,1025,-4,1210,1222,-12,"US",604,"N642AW","EWR","PHX",271,2133,10,25,2013-06-26 10:00:00 +2013,6,26,1408,1356,12,1621,1628,-7,"UA",330,"N416UA","EWR","DFW",174,1372,13,56,2013-06-26 13:00:00 +2013,6,26,1451,1455,-4,1631,1635,-4,"MQ",3231,"N663MQ","JFK","PIT",65,340,14,55,2013-06-26 14:00:00 +2013,6,26,1451,1455,-4,1642,1645,-3,"MQ",2815,"N928MQ","JFK","CLE",79,425,14,55,2013-06-26 14:00:00 +2013,6,26,1505,1500,5,1658,1717,-19,"UA",745,"N521UA","LGA","DEN",208,1620,15,0,2013-06-26 15:00:00 +2013,6,26,1910,1900,10,2156,2143,13,"DL",971,"N393DA","JFK","DEN",216,1626,19,0,2013-06-26 19:00:00 +2013,6,26,2219,1900,199,113,2150,203,"UA",1269,"N30401","EWR","PBI",144,1023,19,0,2013-06-26 19:00:00 +2013,6,27,558,600,-2,802,815,-13,"FL",345,"N285AT","LGA","ATL",109,762,6,0,2013-06-27 06:00:00 +2013,6,27,641,645,-4,846,902,-16,"UA",1138,"N23707","EWR","PHX",276,2133,6,45,2013-06-27 06:00:00 +2013,6,27,825,830,-5,1010,1028,-18,"EV",4297,"N16571","EWR","DTW",82,488,8,30,2013-06-27 08:00:00 +2013,6,27,846,848,-2,1048,1058,-10,"EV",4181,"N41104","EWR","MCI",151,1092,8,48,2013-06-27 08:00:00 +2013,6,27,852,900,-8,1008,1022,-14,"US",2167,"N745VJ","LGA","DCA",43,214,9,0,2013-06-27 09:00:00 +2013,6,27,1058,1100,-2,1210,1230,-20,"WN",3297,"N7746C","LGA","BNA",107,764,11,0,2013-06-27 11:00:00 +2013,6,27,1213,1147,26,1505,1454,11,"UA",1120,"N37267","EWR","SFO",329,2565,11,47,2013-06-27 11:00:00 +2013,6,27,1454,1500,-6,1756,1755,1,"AA",1813,"N5EYAA","JFK","MCO",129,944,15,0,2013-06-27 15:00:00 +2013,6,27,1539,1520,19,1819,1805,14,"DL",1773,"N3731T","JFK","LAS",291,2248,15,20,2013-06-27 15:00:00 +2013,6,27,1630,1630,0,2035,1845,110,"MQ",3556,"N713MQ","LGA","DTW",77,502,16,30,2013-06-27 16:00:00 +2013,6,27,1946,1900,46,2316,2143,93,"DL",971,"N381DN","JFK","DEN",225,1626,19,0,2013-06-27 19:00:00 +2013,6,27,1948,1830,78,2349,2038,191,"DL",2131,"N344NB","LGA","DTW",73,502,18,30,2013-06-27 18:00:00 +2013,6,27,NA,2054,NA,NA,2314,NA,"EV",3812,"N31131","EWR","SDF",NA,642,20,54,2013-06-27 20:00:00 +2013,6,28,702,700,2,827,811,16,"EV",5819,"N13914","EWR","MHT",56,209,7,0,2013-06-28 07:00:00 +2013,6,28,733,730,3,1029,1045,-16,"UA",1668,"N39450","EWR","SFO",331,2565,7,30,2013-06-28 07:00:00 +2013,6,28,954,955,-1,1241,1300,-19,"UA",1170,"N76505","EWR","FLL",149,1065,9,55,2013-06-28 09:00:00 +2013,6,28,1038,1018,20,1145,1139,6,"UA",732,"N817UA","EWR","BOS",47,200,10,18,2013-06-28 10:00:00 +2013,6,28,1107,1114,-7,1341,1349,-8,"B6",127,"N657JB","EWR","MCO",127,937,11,14,2013-06-28 11:00:00 +2013,6,28,2209,2025,104,113,2321,112,"B6",1295,"N258JB","JFK","AUS",207,1521,20,25,2013-06-28 20:00:00 +2013,6,29,553,600,-7,823,823,0,"DL",461,"N687DL","LGA","ATL",115,762,6,0,2013-06-29 06:00:00 +2013,6,29,740,745,-5,936,939,-3,"B6",1273,"N358JB","JFK","CHS",98,636,7,45,2013-06-29 07:00:00 +2013,6,29,900,855,5,1205,1205,0,"AA",647,"N5EUAA","JFK","MIA",151,1089,8,55,2013-06-29 08:00:00 +2013,6,29,1054,1046,8,1402,1402,0,"DL",1903,"N359NW","LGA","SRQ",152,1047,10,46,2013-06-29 10:00:00 +2013,6,29,1105,1105,0,1308,1313,-5,"DL",1031,"N364NB","LGA","DTW",80,502,11,5,2013-06-29 11:00:00 +2013,6,29,1125,1115,10,1232,1235,-3,"WN",1506,"N7726A","LGA","MDW",107,725,11,15,2013-06-29 11:00:00 +2013,6,29,1449,1450,-1,1736,1746,-10,"UA",392,"N402UA","EWR","FLL",149,1065,14,50,2013-06-29 14:00:00 +2013,6,29,1906,1820,46,2120,2048,32,"9E",3476,"N602LR","JFK","DTW",77,509,18,20,2013-06-29 18:00:00 +2013,6,30,749,750,-1,1121,1041,40,"B6",1717,"N806JB","LGA","TPA",155,1010,7,50,2013-06-30 07:00:00 +2013,6,30,1645,1556,49,1801,1720,41,"UA",1199,"N33284","EWR","BOS",40,200,15,56,2013-06-30 15:00:00 +2013,6,30,1741,1550,111,2009,1805,124,"WN",1939,"N295WN","EWR","DEN",230,1605,15,50,2013-06-30 15:00:00 +2013,6,30,1900,1630,150,2144,1930,134,"AA",881,"N3ELAA","JFK","DFW",187,1391,16,30,2013-06-30 16:00:00 +2013,6,30,NA,1523,NA,NA,1709,NA,"9E",3742,NA,"JFK","ROC",NA,264,15,23,2013-06-30 15:00:00 +2013,7,1,641,641,0,935,940,-5,"UA",1701,"N37408","EWR","FLL",159,1065,6,41,2013-07-01 06:00:00 +2013,7,1,649,655,-6,935,930,5,"AA",711,"N3EGAA","LGA","DFW",191,1389,6,55,2013-07-01 06:00:00 +2013,7,1,910,815,55,1212,955,137,"MQ",3531,"N711MQ","LGA","RDU",79,431,8,15,2013-07-01 08:00:00 +2013,7,1,959,1000,-1,1330,1314,16,"UA",510,"N525UA","JFK","SFO",314,2586,10,0,2013-07-01 10:00:00 +2013,7,1,1140,1025,75,1333,1225,68,"MQ",3689,"N9EAMQ","LGA","DTW",80,502,10,25,2013-07-01 10:00:00 +2013,7,1,1331,1252,39,1545,1500,45,"UA",1686,"N75410","EWR","MSY",173,1167,12,52,2013-07-01 12:00:00 +2013,7,1,1438,1255,103,1739,1546,113,"UA",1641,"N29129","EWR","MCO",149,937,12,55,2013-07-01 12:00:00 +2013,7,1,1610,1545,25,1720,1710,10,"MQ",3694,"N546MQ","EWR","ORD",112,719,15,45,2013-07-01 15:00:00 +2013,7,1,1908,1900,8,2122,2140,-18,"DL",971,"N3756","JFK","DEN",207,1626,19,0,2013-07-01 19:00:00 +2013,7,1,2359,2049,190,239,2348,171,"B6",523,"N789JB","JFK","LAX",314,2475,20,49,2013-07-01 20:00:00 +2013,7,1,NA,1355,NA,NA,1550,NA,"MQ",3567,"N6EAMQ","LGA","CLT",NA,544,13,55,2013-07-01 13:00:00 +2013,7,2,643,645,-2,740,752,-12,"B6",318,"N178JB","JFK","BOS",37,187,6,45,2013-07-02 06:00:00 +2013,7,2,955,1000,-5,1231,1244,-13,"UA",1148,"N75410","EWR","TPA",143,997,10,0,2013-07-02 10:00:00 +2013,7,2,1356,1340,16,1457,1510,-13,"WN",427,"N779SW","LGA","MDW",106,725,13,40,2013-07-02 13:00:00 +2013,7,2,1451,1455,-4,1704,1645,19,"MQ",3359,"N811MQ","JFK","RDU",77,427,14,55,2013-07-02 14:00:00 +2013,7,2,1604,1500,64,1824,1724,60,"EV",5199,"N614QX","LGA","CHS",106,641,15,0,2013-07-02 15:00:00 +2013,7,2,1620,1609,11,1851,1928,-37,"UA",1677,"N75428","EWR","SFO",312,2565,16,9,2013-07-02 16:00:00 +2013,7,2,1859,1900,-1,2216,2141,35,"UA",1159,"N12238","EWR","DFW",197,1372,19,0,2013-07-02 19:00:00 +2013,7,3,743,730,13,1023,1010,13,"B6",683,"N586JB","JFK","MCO",129,944,7,30,2013-07-03 07:00:00 +2013,7,3,1224,1230,-6,1357,1403,-6,"9E",4087,"N8747B","LGA","IAD",44,229,12,30,2013-07-03 12:00:00 +2013,7,3,1249,1300,-11,1500,1505,-5,"MQ",3340,"N722MQ","LGA","DTW",92,502,13,0,2013-07-03 13:00:00 +2013,7,3,1250,1225,25,1439,1435,4,"WN",226,"N731SA","EWR","DEN",208,1605,12,25,2013-07-03 12:00:00 +2013,7,3,1454,1455,-1,1647,1715,-28,"DL",127,"N336NB","JFK","DTW",78,509,14,55,2013-07-03 14:00:00 +2013,7,3,1458,1500,-2,1734,1755,-21,"AA",1813,"N5FEAA","JFK","MCO",124,944,15,0,2013-07-03 15:00:00 +2013,7,3,1520,1530,-10,1752,1755,-3,"MQ",3202,"N649MQ","JFK","IND",104,665,15,30,2013-07-03 15:00:00 +2013,7,3,1530,1520,10,1756,1814,-18,"UA",1600,"N34137","EWR","LAX",298,2454,15,20,2013-07-03 15:00:00 +2013,7,3,1714,1620,54,2000,1902,58,"DL",843,"N174DN","JFK","ATL",111,760,16,20,2013-07-03 16:00:00 +2013,7,3,1828,1830,-2,1952,1955,-3,"MQ",3486,"N722MQ","LGA","BNA",116,764,18,30,2013-07-03 18:00:00 +2013,7,3,2055,1935,80,2325,2142,103,"9E",3443,"N904XJ","JFK","RDU",66,427,19,35,2013-07-03 19:00:00 +2013,7,3,2118,2030,48,2229,2202,27,"9E",4079,"N8896A","JFK","BWI",38,184,20,30,2013-07-03 20:00:00 +2013,7,3,2129,1716,253,2322,1848,274,"B6",408,"N229JB","JFK","PWM",43,273,17,16,2013-07-03 17:00:00 +2013,7,4,825,830,-5,941,1027,-46,"EV",5304,"N608QX","LGA","RDU",64,431,8,30,2013-07-04 08:00:00 +2013,7,4,930,935,-5,1214,1237,-23,"B6",271,"N636JB","LGA","FLL",148,1076,9,35,2013-07-04 09:00:00 +2013,7,4,1350,1300,50,1603,1519,44,"EV",5148,"N137EV","EWR","ATL",113,746,13,0,2013-07-04 13:00:00 +2013,7,4,1712,1659,13,1815,1834,-19,"UA",1492,"N78509","EWR","ORD",103,719,16,59,2013-07-04 16:00:00 +2013,7,4,1910,1905,5,2037,2108,-31,"9E",3525,"N604LR","JFK","ORD",111,740,19,5,2013-07-04 19:00:00 +2013,7,5,626,630,-4,838,843,-5,"DL",575,"N331NB","EWR","ATL",112,746,6,30,2013-07-05 06:00:00 +2013,7,5,644,645,-1,911,845,26,"B6",675,"N328JB","JFK","MSY",180,1182,6,45,2013-07-05 06:00:00 +2013,7,5,819,825,-6,1047,1115,-28,"UA",807,"N491UA","EWR","MCO",128,937,8,25,2013-07-05 08:00:00 +2013,7,5,858,905,-7,956,1016,-20,"B6",1634,"N273JB","JFK","BTV",46,266,9,5,2013-07-05 09:00:00 +2013,7,5,1354,1400,-6,1507,1512,-5,"US",2177,"N947UW","LGA","DCA",43,214,14,0,2013-07-05 14:00:00 +2013,7,5,1549,1552,-3,1824,1840,-16,"UA",566,"N491UA","EWR","MCO",132,937,15,52,2013-07-05 15:00:00 +2013,7,5,1619,1625,-6,1810,1839,-29,"9E",3440,"N933XJ","JFK","RDU",68,427,16,25,2013-07-05 16:00:00 +2013,7,5,1937,1940,-3,2202,2224,-22,"EV",4204,"N14158","EWR","OKC",181,1325,19,40,2013-07-05 19:00:00 +2013,7,6,550,600,-10,653,725,-32,"UA",635,"N805UA","LGA","ORD",107,733,6,0,2013-07-06 06:00:00 +2013,7,6,813,815,-2,952,1012,-20,"EV",4295,"N27152","EWR","AVL",84,583,8,15,2013-07-06 08:00:00 +2013,7,6,1451,1455,-4,1633,1635,-2,"MQ",3231,"N601MQ","JFK","PIT",71,340,14,55,2013-07-06 14:00:00 +2013,7,6,1511,1430,41,1615,1556,19,"EV",5713,"N828AS","LGA","IAD",43,229,14,30,2013-07-06 14:00:00 +2013,7,6,1707,1711,-4,2010,2039,-29,"B6",167,"N517JB","JFK","OAK",339,2576,17,11,2013-07-06 17:00:00 +2013,7,6,1709,1655,14,1823,1824,-1,"EV",4508,"N13566","EWR","ROC",43,246,16,55,2013-07-06 16:00:00 +2013,7,6,1728,1700,28,1837,1845,-8,"MQ",3216,"N902MQ","JFK","ORF",48,290,17,0,2013-07-06 17:00:00 +2013,7,6,1753,1759,-6,2024,2058,-34,"DL",1585,"N982DL","LGA","MCO",131,950,17,59,2013-07-06 17:00:00 +2013,7,6,2001,2007,-6,2218,2259,-41,"B6",1505,"N809JB","JFK","ABQ",230,1826,20,7,2013-07-06 20:00:00 +2013,7,7,50,2059,231,209,2245,204,"EV",4672,"N14125","EWR","STL",121,872,20,59,2013-07-07 20:00:00 +2013,7,7,647,647,0,921,943,-22,"UA",506,"N482UA","EWR","LAX",306,2454,6,47,2013-07-07 06:00:00 +2013,7,7,739,729,10,919,939,-20,"UA",311,"N483UA","EWR","DEN",200,1605,7,29,2013-07-07 07:00:00 +2013,7,7,757,800,-3,1004,1021,-17,"B6",677,"N296JB","JFK","JAX",110,828,8,0,2013-07-07 08:00:00 +2013,7,7,905,915,-10,1045,1115,-30,"MQ",3565,"N518MQ","LGA","CLT",79,544,9,15,2013-07-07 09:00:00 +2013,7,7,1229,1230,-1,1521,1558,-37,"DL",2098,"N939DL","LGA","MIA",144,1096,12,30,2013-07-07 12:00:00 +2013,7,7,1450,1455,-5,1618,1635,-17,"MQ",3231,"N923MQ","JFK","PIT",66,340,14,55,2013-07-07 14:00:00 +2013,7,7,1535,1347,108,1838,1644,114,"DL",1685,"N920DE","LGA","MCO",130,950,13,47,2013-07-07 13:00:00 +2013,7,7,1701,1328,213,NA,1530,NA,"9E",3698,"N836AY","EWR","CVG",NA,569,13,28,2013-07-07 13:00:00 +2013,7,7,1756,1710,46,2230,1932,178,"UA",387,"N423UA","EWR","PHX",297,2133,17,10,2013-07-07 17:00:00 +2013,7,7,NA,2000,NA,NA,2116,NA,"US",2189,NA,"LGA","DCA",NA,214,20,0,2013-07-07 20:00:00 +2013,7,8,759,802,-3,906,930,-24,"EV",5463,"N741EV","LGA","BNA",99,764,8,2,2013-07-08 08:00:00 +2013,7,8,816,820,-4,1048,1026,22,"EV",4380,"N12136","EWR","MSP",174,1008,8,20,2013-07-08 08:00:00 +2013,7,8,1015,1025,-10,1204,1222,-18,"US",604,"N668AW","EWR","PHX",265,2133,10,25,2013-07-08 10:00:00 +2013,7,8,1246,1244,2,1352,1356,-4,"EV",4109,"N14923","EWR","BNA",102,748,12,44,2013-07-08 12:00:00 +2013,7,8,1400,1400,0,1519,1512,7,"US",2177,"N764US","LGA","DCA",58,214,14,0,2013-07-08 14:00:00 +2013,7,8,1459,1359,60,1721,1636,45,"UA",1108,"N37255","EWR","IAH",174,1400,13,59,2013-07-08 13:00:00 +2013,7,8,1531,1529,2,1727,1736,-9,"UA",485,"N540UA","EWR","DEN",213,1605,15,29,2013-07-08 15:00:00 +2013,7,8,1947,1711,156,2246,2039,127,"B6",167,"N651JB","JFK","OAK",330,2576,17,11,2013-07-08 17:00:00 +2013,7,9,656,700,-4,811,807,4,"US",2163,"N760US","LGA","DCA",39,214,7,0,2013-07-09 07:00:00 +2013,7,9,659,700,-1,823,835,-12,"WN",1696,"N621SW","EWR","STL",121,872,7,0,2013-07-09 07:00:00 +2013,7,9,755,755,0,937,955,-18,"MQ",3478,"N711MQ","LGA","DTW",77,502,7,55,2013-07-09 07:00:00 +2013,7,9,914,915,-1,1144,1210,-26,"AA",1,"N332AA","JFK","LAX",303,2475,9,15,2013-07-09 09:00:00 +2013,7,9,1014,959,15,1207,1207,0,"EV",4495,"N21537","EWR","SAV",99,708,9,59,2013-07-09 09:00:00 +2013,7,9,1737,1640,57,1956,1815,101,"MQ",2949,"N605MQ","JFK","BNA",104,765,16,40,2013-07-09 16:00:00 +2013,7,9,1820,1830,-10,2126,2145,-19,"AA",119,"N3HBAA","EWR","LAX",311,2454,18,30,2013-07-09 18:00:00 +2013,7,9,1931,1930,1,2305,2224,41,"DL",1485,"N3753","LGA","MCO",140,950,19,30,2013-07-09 19:00:00 +2013,7,9,2026,2025,1,2306,2321,-15,"B6",1295,"N607JB","JFK","AUS",188,1521,20,25,2013-07-09 20:00:00 +2013,7,9,2138,2100,38,15,22,-7,"DL",2363,"N187DN","JFK","LAX",301,2475,21,0,2013-07-09 21:00:00 +2013,7,9,2151,1950,121,2352,2215,97,"EV",5092,"N133EV","EWR","ATL",97,746,19,50,2013-07-09 19:00:00 +2013,7,9,2250,2142,68,2400,2259,61,"EV",3832,"N14125","EWR","DCA",38,199,21,42,2013-07-09 21:00:00 +2013,7,10,47,2130,197,311,2359,192,"B6",1677,"N198JB","JFK","JAX",110,828,21,30,2013-07-10 21:00:00 +2013,7,10,603,600,3,715,711,4,"EV",6177,"N12157","EWR","IAD",44,212,6,0,2013-07-10 06:00:00 +2013,7,10,620,630,-10,902,923,-21,"UA",319,"N554UA","JFK","LAX",306,2475,6,30,2013-07-10 06:00:00 +2013,7,10,657,700,-3,1007,1006,1,"DL",1415,"N668DN","JFK","SLC",271,1990,7,0,2013-07-10 07:00:00 +2013,7,10,726,730,-4,922,930,-8,"EV",5813,"N12900","EWR","DTW",87,488,7,30,2013-07-10 07:00:00 +2013,7,10,838,842,-4,1142,1152,-10,"UA",1079,"N39450","EWR","SEA",329,2402,8,42,2013-07-10 08:00:00 +2013,7,10,910,915,-5,1202,1231,-29,"DL",2379,"N957DL","LGA","FLL",142,1076,9,15,2013-07-10 09:00:00 +2013,7,10,1507,1455,12,NA,1645,NA,"MQ",2815,"N918MQ","JFK","CLE",NA,425,14,55,2013-07-10 14:00:00 +2013,7,10,1900,1900,0,2237,2210,27,"DL",2159,"N3730B","JFK","MCO",149,944,19,0,2013-07-10 19:00:00 +2013,7,10,2250,1930,200,230,2304,206,"UA",1532,"N79279","EWR","SFO",351,2565,19,30,2013-07-10 19:00:00 +2013,7,11,600,600,0,831,840,-9,"WN",488,"N493WN","EWR","HOU",187,1411,6,0,2013-07-11 06:00:00 +2013,7,11,1049,1049,0,1254,1308,-14,"UA",454,"N566UA","EWR","LAS",286,2227,10,49,2013-07-11 10:00:00 +2013,7,11,1542,1455,47,1753,1701,52,"9E",4120,"N8839E","JFK","CLE",78,425,14,55,2013-07-11 14:00:00 +2013,7,11,1613,1505,68,1928,1835,53,"AA",1769,"N397AA","JFK","MIA",163,1089,15,5,2013-07-11 15:00:00 +2013,7,11,1736,1708,28,1937,1925,12,"UA",509,"N571UA","LGA","DEN",212,1620,17,8,2013-07-11 17:00:00 +2013,7,11,2059,2059,0,2215,2220,-5,"EV",3830,"N14543","EWR","RIC",52,277,20,59,2013-07-11 20:00:00 +2013,7,11,2112,2050,22,52,42,10,"UA",1071,"N77525","EWR","BQN",198,1585,20,50,2013-07-11 20:00:00 +2013,7,11,2213,2101,72,153,100,53,"B6",1103,"N789JB","JFK","SJU",193,1598,21,1,2013-07-11 21:00:00 +2013,7,12,957,959,-2,1200,1225,-25,"B6",411,"N566JB","JFK","LAS",275,2248,9,59,2013-07-12 09:00:00 +2013,7,12,1107,1115,-8,1231,1255,-24,"AA",327,"N525AA","LGA","ORD",95,733,11,15,2013-07-12 11:00:00 +2013,7,12,1124,1122,2,1306,1332,-26,"UA",1625,"N38424","EWR","DEN",199,1605,11,22,2013-07-12 11:00:00 +2013,7,12,1505,1500,5,1816,1755,21,"AA",1813,"N5FKAA","JFK","MCO",136,944,15,0,2013-07-12 15:00:00 +2013,7,12,1525,1529,-4,1811,1821,-10,"B6",573,"N746JB","EWR","TPA",144,997,15,29,2013-07-12 15:00:00 +2013,7,12,1631,1625,6,1915,1839,36,"9E",3440,"N915XJ","JFK","RDU",74,427,16,25,2013-07-12 16:00:00 +2013,7,12,1843,1625,138,2014,1815,119,"MQ",3411,"N836MQ","LGA","RDU",76,431,16,25,2013-07-12 16:00:00 +2013,7,12,1852,1800,52,2039,1930,69,"WN",625,"N291WN","EWR","MDW",96,711,18,0,2013-07-12 18:00:00 +2013,7,12,1926,1930,-4,2201,2224,-23,"DL",1485,"N3730B","LGA","MCO",129,950,19,30,2013-07-12 19:00:00 +2013,7,12,2002,1825,97,2224,2131,53,"UA",1595,"N33294","EWR","SNA",293,2434,18,25,2013-07-12 18:00:00 +2013,7,12,2309,2030,159,24,2202,142,"9E",4079,"N8976E","JFK","BWI",34,184,20,30,2013-07-12 20:00:00 +2013,7,13,745,747,-2,850,902,-12,"B6",8,"N358JB","JFK","PWM",49,273,7,47,2013-07-13 07:00:00 +2013,7,13,757,807,-10,958,1016,-18,"UA",561,"N587UA","LGA","DEN",192,1620,8,7,2013-07-13 08:00:00 +2013,7,13,1011,1014,-3,1130,1134,-4,"EV",4240,"N11187","EWR","BUF",44,282,10,14,2013-07-13 10:00:00 +2013,7,13,1301,1300,1,1435,1425,10,"UA",1171,"N18119","EWR","ORD",102,719,13,0,2013-07-13 13:00:00 +2013,7,13,1718,1550,88,1959,1747,132,"9E",3523,"N906XJ","JFK","ORD",107,740,15,50,2013-07-13 15:00:00 +2013,7,13,2130,1916,134,14,2214,120,"B6",883,"N793JB","JFK","MCO",122,944,19,16,2013-07-13 19:00:00 +2013,7,13,2328,2135,113,216,30,106,"B6",1201,"N629JB","JFK","FLL",139,1069,21,35,2013-07-13 21:00:00 +2013,7,14,714,630,44,958,924,34,"B6",929,"N563JB","JFK","RSW",141,1074,6,30,2013-07-14 06:00:00 +2013,7,14,1128,1135,-7,1431,1451,-20,"DL",954,"N916DL","LGA","FLL",150,1076,11,35,2013-07-14 11:00:00 +2013,7,14,1134,1135,-1,1304,1341,-37,"DL",2219,"N374NW","LGA","MSP",131,1020,11,35,2013-07-14 11:00:00 +2013,7,14,1320,1325,-5,1417,1432,-15,"US",1279,"N967UW","LGA","PHL",34,96,13,25,2013-07-14 13:00:00 +2013,7,14,1449,1455,-6,1727,1800,-33,"AA",1751,"N3BHAA","JFK","TPA",135,1005,14,55,2013-07-14 14:00:00 +2013,7,14,1819,1825,-6,2002,2032,-30,"DL",1715,"N301NB","LGA","MSY",143,1183,18,25,2013-07-14 18:00:00 +2013,7,14,1917,1915,2,2127,2211,-44,"DL",1629,"N3745B","JFK","LAS",272,2248,19,15,2013-07-14 19:00:00 +2013,7,14,2119,2100,19,2223,2235,-12,"AA",371,"N4WMAA","LGA","ORD",100,733,21,0,2013-07-14 21:00:00 +2013,7,15,628,630,-2,736,753,-17,"EV",4422,"N11535","EWR","PIT",50,319,6,30,2013-07-15 06:00:00 +2013,7,15,702,700,2,913,940,-27,"AA",2083,"N488AA","EWR","DFW",170,1372,7,0,2013-07-15 07:00:00 +2013,7,15,1125,1125,0,1337,1414,-37,"UA",703,"N597UA","JFK","LAX",291,2475,11,25,2013-07-15 11:00:00 +2013,7,15,1235,1237,-2,1450,1508,-18,"UA",1615,"N17719","EWR","ATL",106,746,12,37,2013-07-15 12:00:00 +2013,7,15,1424,1429,-5,1520,1540,-20,"EV",4103,"N12564","EWR","DCA",37,199,14,29,2013-07-15 14:00:00 +2013,7,15,1728,1728,0,1955,1938,17,"EV",4382,"N14952","EWR","DTW",87,488,17,28,2013-07-15 17:00:00 +2013,7,15,2029,2029,0,2315,2359,-44,"B6",915,"N536JB","JFK","SFO",317,2586,20,29,2013-07-15 20:00:00 +2013,7,15,2035,1959,36,2236,2146,50,"EV",6120,"N18557","LGA","CLE",63,419,19,59,2013-07-15 19:00:00 +2013,7,16,556,600,-4,720,725,-5,"AA",301,"N4XRAA","LGA","ORD",102,733,6,0,2013-07-16 06:00:00 +2013,7,16,559,604,-5,659,725,-26,"UA",230,"N830UA","EWR","BOS",36,200,6,4,2013-07-16 06:00:00 +2013,7,16,741,743,-2,1022,1103,-41,"UA",1668,"N14228","EWR","SFO",314,2565,7,43,2013-07-16 07:00:00 +2013,7,16,823,830,-7,1000,1015,-15,"EV",4537,"N14993","EWR","MEM",124,946,8,30,2013-07-16 08:00:00 +2013,7,16,952,1000,-8,1415,1430,-15,"HA",51,"N380HA","JFK","HNL",599,4983,10,0,2013-07-16 10:00:00 +2013,7,16,1026,1030,-4,1227,1240,-13,"DL",2343,"N302DQ","EWR","ATL",101,746,10,30,2013-07-16 10:00:00 +2013,7,16,1214,1200,14,1357,1351,6,"US",931,"N109UW","JFK","CLT",74,541,12,0,2013-07-16 12:00:00 +2013,7,16,1925,1900,25,2155,2132,23,"DL",947,"N961DL","LGA","ATL",102,762,19,0,2013-07-16 19:00:00 +2013,7,16,2148,2110,38,2314,2243,31,"B6",702,"N190JB","JFK","BUF",54,301,21,10,2013-07-16 21:00:00 +2013,7,17,553,600,-7,730,806,-36,"EV",4535,"N11176","EWR","MSP",136,1008,6,0,2013-07-17 06:00:00 +2013,7,17,755,752,3,1033,1041,-8,"B6",163,"N329JB","JFK","SRQ",140,1041,7,52,2013-07-17 07:00:00 +2013,7,17,857,900,-3,1029,1025,4,"UA",1171,"N38459","EWR","ORD",99,719,9,0,2013-07-17 09:00:00 +2013,7,17,1020,1029,-9,1137,1209,-32,"EV",4711,"N11565","EWR","STL",119,872,10,29,2013-07-17 10:00:00 +2013,7,17,1032,1029,3,1218,1239,-21,"US",196,"N547UW","JFK","PHX",261,2153,10,29,2013-07-17 10:00:00 +2013,7,17,1155,1200,-5,1314,1314,0,"US",2173,"N747UW","LGA","DCA",39,214,12,0,2013-07-17 12:00:00 +2013,7,17,1229,1230,-1,1507,1520,-13,"WN",40,"N269WN","LGA","HOU",183,1428,12,30,2013-07-17 12:00:00 +2013,7,17,1257,1259,-2,1509,1457,12,"US",1459,"N193UW","LGA","CLT",79,544,12,59,2013-07-17 12:00:00 +2013,7,17,1442,1445,-3,1707,1720,-13,"B6",477,"N292JB","JFK","JAX",112,828,14,45,2013-07-17 14:00:00 +2013,7,17,1612,1555,17,1735,1739,-4,"9E",3459,"N936XJ","JFK","BNA",104,765,15,55,2013-07-17 15:00:00 +2013,7,17,1809,1735,34,1941,1915,26,"WN",19,"N7726A","EWR","STL",116,872,17,35,2013-07-17 17:00:00 +2013,7,17,1823,1715,68,2047,1952,55,"9E",3310,"N925XJ","JFK","MCI",136,1113,17,15,2013-07-17 17:00:00 +2013,7,17,1823,1830,-7,2059,2155,-56,"UA",389,"N554UA","JFK","SFO",307,2586,18,30,2013-07-17 18:00:00 +2013,7,17,1831,1822,9,2121,2155,-34,"UA",1141,"N28457","EWR","SFO",307,2565,18,22,2013-07-17 18:00:00 +2013,7,17,1919,1905,14,2052,2057,-5,"UA",779,"N825UA","EWR","ORD",103,719,19,5,2013-07-17 19:00:00 +2013,7,17,1959,2000,-1,2209,2244,-35,"UA",288,"N413UA","EWR","IAH",166,1400,20,0,2013-07-17 20:00:00 +2013,7,18,753,800,-7,851,909,-18,"B6",1491,"N354JB","JFK","ACK",42,199,8,0,2013-07-18 08:00:00 +2013,7,18,1056,900,116,1301,1120,101,"DL",485,"N321NB","EWR","ATL",101,746,9,0,2013-07-18 09:00:00 +2013,7,18,1059,1044,15,1256,1246,10,"EV",5955,"N16561","EWR","IND",90,645,10,44,2013-07-18 10:00:00 +2013,7,18,1501,1500,1,1600,1612,-12,"US",2132,"N944UW","LGA","BOS",34,184,15,0,2013-07-18 15:00:00 +2013,7,19,641,611,30,1015,954,21,"B6",1403,"N587JB","JFK","SJU",197,1598,6,11,2013-07-19 06:00:00 +2013,7,19,717,720,-3,904,924,-20,"EV",4676,"N17115","EWR","GRR",89,605,7,20,2013-07-19 07:00:00 +2013,7,19,727,730,-3,1018,1045,-27,"VX",183,"N843VA","EWR","SFO",323,2565,7,30,2013-07-19 07:00:00 +2013,7,19,1023,1030,-7,1154,1231,-37,"EV",4412,"N11109","EWR","DSM",133,1017,10,30,2013-07-19 10:00:00 +2013,7,19,1244,1245,-1,1454,1535,-41,"AA",745,"N3HVAA","LGA","DFW",172,1389,12,45,2013-07-19 12:00:00 +2013,7,19,1258,1250,8,1446,1450,-4,"DL",1131,"N335NB","LGA","DTW",82,502,12,50,2013-07-19 12:00:00 +2013,7,19,1512,1452,20,1808,1747,21,"UA",1242,"N37434","EWR","FLL",150,1065,14,52,2013-07-19 14:00:00 +2013,7,19,1556,1555,1,1737,1740,-3,"WN",493,"N785SW","LGA","STL",128,888,15,55,2013-07-19 15:00:00 +2013,7,19,1809,1720,49,2024,1932,52,"EV",3841,"N14974","EWR","CVG",91,569,17,20,2013-07-19 17:00:00 +2013,7,19,1825,1830,-5,2156,2155,1,"UA",389,"N502UA","JFK","SFO",335,2586,18,30,2013-07-19 18:00:00 +2013,7,19,2016,1920,56,2247,2210,37,"AA",1691,"N566AA","EWR","DFW",177,1372,19,20,2013-07-19 19:00:00 +2013,7,19,2337,2028,189,131,2247,164,"B6",135,"N653JB","JFK","PHX",265,2153,20,28,2013-07-19 20:00:00 +2013,7,20,807,815,-8,930,930,0,"MQ",3370,"N856MQ","JFK","DCA",51,213,8,15,2013-07-20 08:00:00 +2013,7,20,810,816,-6,1006,1028,-22,"EV",4380,"N18101","EWR","MSP",153,1008,8,16,2013-07-20 08:00:00 +2013,7,20,1147,1200,-13,1410,1451,-41,"UA",817,"N498UA","EWR","PBI",129,1023,12,0,2013-07-20 12:00:00 +2013,7,20,1402,1405,-3,1523,1550,-27,"AA",337,"N4YHAA","LGA","ORD",112,733,14,5,2013-07-20 14:00:00 +2013,7,20,1451,1450,1,1631,1633,-2,"9E",4115,"N8488D","JFK","IAD",45,228,14,50,2013-07-20 14:00:00 +2013,7,20,1557,1555,2,1845,1900,-15,"DL",2459,"N383DN","JFK","MCO",124,944,15,55,2013-07-20 15:00:00 +2013,7,20,1829,1829,0,2049,2035,14,"US",297,"N547UW","JFK","CLT",76,541,18,29,2013-07-20 18:00:00 +2013,7,20,1931,1905,26,2248,2210,38,"UA",1680,"N30401","EWR","MIA",160,1085,19,5,2013-07-20 19:00:00 +2013,7,20,1938,1805,93,2236,2035,121,"DL",569,"N3760C","JFK","ATL",102,760,18,5,2013-07-20 18:00:00 +2013,7,20,2105,2051,14,44,2358,46,"B6",165,"N599JB","JFK","PDX",327,2454,20,51,2013-07-20 20:00:00 +2013,7,21,626,630,-4,848,904,-16,"B6",1099,"N590JB","LGA","MCO",119,950,6,30,2013-07-21 06:00:00 +2013,7,21,1312,1255,17,1439,1425,14,"WN",546,"N285WN","LGA","MKE",116,738,12,55,2013-07-21 12:00:00 +2013,7,21,1600,1455,65,1825,1645,100,"MQ",2815,"N657MQ","JFK","CLE",89,425,14,55,2013-07-21 14:00:00 +2013,7,21,1658,1550,68,1913,1805,68,"WN",1939,"N441WN","EWR","DEN",222,1605,15,50,2013-07-21 15:00:00 +2013,7,21,1702,1645,17,1836,1815,21,"WN",1795,"N947WN","LGA","MDW",108,725,16,45,2013-07-21 16:00:00 +2013,7,21,2031,1915,76,14,2230,104,"AA",21,"N327AA","JFK","LAX",327,2475,19,15,2013-07-21 19:00:00 +2013,7,21,2110,2000,70,2217,2125,52,"US",2189,"N751UW","LGA","DCA",41,214,20,0,2013-07-21 20:00:00 +2013,7,21,2110,2106,4,2208,2227,-19,"UA",1163,"N73291","EWR","BOS",35,200,21,6,2013-07-21 21:00:00 +2013,7,21,2150,2054,56,26,2328,58,"EV",4645,"N14991","EWR","JAX",118,820,20,54,2013-07-21 20:00:00 +2013,7,21,2211,1930,161,23,2201,142,"EV",4152,"N14907","EWR","ATL",109,746,19,30,2013-07-21 19:00:00 +2013,7,22,646,651,-5,857,905,-8,"UA",343,"N535UA","LGA","DEN",217,1620,6,51,2013-07-22 06:00:00 +2013,7,22,702,710,-8,922,915,7,"MQ",3547,"N722MQ","LGA","XNA",170,1147,7,10,2013-07-22 07:00:00 +2013,7,22,845,1600,1005,1044,1815,989,"MQ",3075,"N665MQ","JFK","CVG",96,589,16,0,2013-07-22 16:00:00 +2013,7,22,1044,1034,10,1211,1206,5,"EV",4662,"N25134","EWR","RDU",74,416,10,34,2013-07-22 10:00:00 +2013,7,22,1700,1635,25,2051,1815,156,"B6",2302,"N324JB","JFK","BUF",57,301,16,35,2013-07-22 16:00:00 +2013,7,22,1831,1655,96,2235,1950,165,"AA",1507,"N517AA","EWR","DFW",181,1372,16,55,2013-07-22 16:00:00 +2013,7,22,2353,2055,178,110,2230,160,"WN",579,"N751SW","LGA","MDW",109,725,20,55,2013-07-22 20:00:00 +2013,7,22,NA,1955,NA,NA,2116,NA,"EV",4969,"N748EV","LGA","MHT",NA,195,19,55,2013-07-22 19:00:00 +2013,7,22,NA,1550,NA,NA,1749,NA,"9E",3523,NA,"JFK","ORD",NA,740,15,50,2013-07-22 15:00:00 +2013,7,22,NA,1950,NA,NA,2130,NA,"AA",363,"N583AA","LGA","ORD",NA,733,19,50,2013-07-22 19:00:00 +2013,7,22,NA,1900,NA,NA,2016,NA,"US",2187,NA,"LGA","DCA",NA,214,19,0,2013-07-22 19:00:00 +2013,7,23,718,630,48,853,835,18,"US",1433,"N565UW","LGA","CLT",82,544,6,30,2013-07-23 06:00:00 +2013,7,23,853,825,28,1035,1017,18,"US",1831,"N554UW","JFK","CLT",77,541,8,25,2013-07-23 08:00:00 +2013,7,23,1227,1155,32,1343,1310,33,"MQ",3386,"N849MQ","JFK","DCA",46,213,11,55,2013-07-23 11:00:00 +2013,7,23,1257,1230,27,1540,1520,20,"WN",40,"N223WN","LGA","HOU",193,1428,12,30,2013-07-23 12:00:00 +2013,7,23,1404,1205,119,1653,1430,143,"MQ",3658,"N534MQ","LGA","ATL",108,762,12,5,2013-07-23 12:00:00 +2013,7,23,1702,1659,3,2009,2012,-3,"UA",1284,"N37434","EWR","SFO",336,2565,16,59,2013-07-23 16:00:00 +2013,7,23,1904,1845,19,2117,2115,2,"DL",245,"N3745B","JFK","PHX",282,2153,18,45,2013-07-23 18:00:00 +2013,7,23,2008,1735,153,2145,1937,128,"YV",2751,"N938LR","LGA","CLT",79,544,17,35,2013-07-23 17:00:00 +2013,7,23,2153,1940,133,2349,2142,127,"EV",4361,"N14974","EWR","TYS",91,631,19,40,2013-07-23 19:00:00 +2013,7,23,NA,1300,NA,NA,1409,NA,"US",2128,NA,"LGA","BOS",NA,184,13,0,2013-07-23 13:00:00 +2013,7,24,633,633,0,908,928,-20,"UA",1701,"N75435","EWR","FLL",131,1065,6,33,2013-07-24 06:00:00 +2013,7,24,700,700,0,830,835,-5,"WN",1696,"N362SW","EWR","STL",129,872,7,0,2013-07-24 07:00:00 +2013,7,24,748,745,3,906,905,1,"WN",3841,"N297WN","EWR","MDW",109,711,7,45,2013-07-24 07:00:00 +2013,7,24,758,801,-3,931,941,-10,"EV",4099,"N18102","EWR","STL",131,872,8,1,2013-07-24 08:00:00 +2013,7,24,1244,1245,-1,1507,1530,-23,"WN",3316,"N241WN","EWR","HOU",188,1411,12,45,2013-07-24 12:00:00 +2013,7,24,1442,1445,-3,1709,1720,-11,"B6",477,"N324JB","JFK","JAX",115,828,14,45,2013-07-24 14:00:00 +2013,7,24,1555,1545,10,1806,1814,-8,"DL",1705,"N346NB","LGA","MSY",162,1183,15,45,2013-07-24 15:00:00 +2013,7,24,1653,1445,128,1831,1642,109,"9E",3318,"N936XJ","JFK","BUF",50,301,14,45,2013-07-24 14:00:00 +2013,7,24,1714,1555,79,1826,1739,47,"9E",3459,"N906XJ","JFK","BNA",108,765,15,55,2013-07-24 15:00:00 +2013,7,24,1823,1819,4,2105,2118,-13,"B6",153,"N562JB","JFK","PBI",130,1028,18,19,2013-07-24 18:00:00 +2013,7,24,2053,1940,73,2308,2142,86,"EV",4361,"N14158","EWR","TYS",95,631,19,40,2013-07-24 19:00:00 +2013,7,24,2101,2057,4,2,2359,3,"UA",1241,"N12218","EWR","TPA",139,997,20,57,2013-07-24 20:00:00 +2013,7,24,2102,2059,3,2233,2225,8,"UA",994,"N819UA","EWR","BOS",33,200,20,59,2013-07-24 20:00:00 +2013,7,24,2113,2114,-1,10,2358,12,"UA",1712,"N77261","EWR","IAH",190,1400,21,14,2013-07-24 21:00:00 +2013,7,24,2126,2030,56,2247,2211,36,"EV",5048,"N605QX","LGA","RIC",51,292,20,30,2013-07-24 20:00:00 +2013,7,24,2134,2129,5,2255,2244,11,"UA",1451,"N75425","EWR","BOS",34,200,21,29,2013-07-24 21:00:00 +2013,7,25,457,500,-3,637,640,-3,"US",1431,"N165US","EWR","CLT",87,529,5,0,2013-07-25 05:00:00 +2013,7,25,608,610,-2,709,725,-16,"WN",273,"N8312C","LGA","MDW",102,725,6,10,2013-07-25 06:00:00 +2013,7,25,830,835,-5,1020,1024,-4,"EV",4519,"N12167","EWR","AVL",89,583,8,35,2013-07-25 08:00:00 +2013,7,25,859,901,-2,1203,1204,-1,"B6",63,"N563JB","JFK","SEA",335,2422,9,1,2013-07-25 09:00:00 +2013,7,25,928,929,-1,1212,1214,-2,"B6",795,"N569JB","JFK","AUS",200,1521,9,29,2013-07-25 09:00:00 +2013,7,25,1156,1200,-4,1515,1507,8,"UA",580,"N557UA","JFK","SFO",347,2586,12,0,2013-07-25 12:00:00 +2013,7,25,1446,1430,16,1822,1735,47,"B6",301,"N516JB","JFK","FLL",153,1069,14,30,2013-07-25 14:00:00 +2013,7,25,2112,2115,-3,2357,2349,8,"DL",1729,"N3742C","JFK","LAS",298,2248,21,15,2013-07-25 21:00:00 +2013,7,25,2228,1939,169,127,2250,157,"UA",206,"N404UA","EWR","SEA",333,2402,19,39,2013-07-25 19:00:00 +2013,7,25,2356,2359,-3,354,350,4,"B6",745,"N775JB","JFK","PSE",211,1617,23,59,2013-07-25 23:00:00 +2013,7,26,624,630,-6,915,923,-8,"UA",712,"N518UA","JFK","LAX",321,2475,6,30,2013-07-26 06:00:00 +2013,7,26,629,630,-1,917,924,-7,"B6",929,"N638JB","JFK","RSW",141,1074,6,30,2013-07-26 06:00:00 +2013,7,26,1055,1100,-5,1205,1213,-8,"US",2171,"N766US","LGA","DCA",43,214,11,0,2013-07-26 11:00:00 +2013,7,26,1248,1250,-2,1452,1450,2,"DL",1131,"N341NB","LGA","DTW",76,502,12,50,2013-07-26 12:00:00 +2013,7,26,1341,1330,11,1625,1625,0,"B6",505,"N579JB","EWR","FLL",139,1065,13,30,2013-07-26 13:00:00 +2013,7,26,1455,1448,7,2005,1717,NA,"EV",4336,"N48901","EWR","ATL",NA,746,14,48,2013-07-26 14:00:00 +2013,7,26,1558,1455,63,1804,1715,49,"DL",127,"N357NB","JFK","DTW",78,509,14,55,2013-07-26 14:00:00 +2013,7,26,1658,1705,-7,1905,1855,10,"AA",345,"N4UCAA","LGA","ORD",120,733,17,5,2013-07-26 17:00:00 +2013,7,26,2034,2030,4,2203,2155,8,"WN",1271,"N770SA","EWR","MDW",103,711,20,30,2013-07-26 20:00:00 +2013,7,26,2127,2001,86,2349,2254,55,"B6",1083,"N597JB","JFK","MCO",122,944,20,1,2013-07-26 20:00:00 +2013,7,26,2244,2245,-1,2350,3,-13,"B6",486,"N368JB","JFK","ROC",45,264,22,45,2013-07-26 22:00:00 +2013,7,27,600,600,0,711,715,-4,"WN",2043,"N200WN","EWR","MDW",103,711,6,0,2013-07-27 06:00:00 +2013,7,27,623,630,-7,905,920,-15,"UA",797,"N554UA","JFK","LAX",320,2475,6,30,2013-07-27 06:00:00 +2013,7,27,749,751,-2,1030,1059,-29,"UA",537,"N401UA","EWR","LAX",319,2454,7,51,2013-07-27 07:00:00 +2013,7,27,830,835,-5,1109,1120,-11,"B6",1783,"N618JB","JFK","MCO",127,944,8,35,2013-07-27 08:00:00 +2013,7,27,900,901,-1,1150,1158,-8,"UA",259,"N496UA","EWR","SAN",318,2425,9,1,2013-07-27 09:00:00 +2013,7,27,1159,1155,4,1454,1455,-1,"AA",2147,"N3APAA","EWR","MIA",148,1085,11,55,2013-07-27 11:00:00 +2013,7,27,1432,1430,2,1745,1735,10,"B6",301,"N507JB","JFK","FLL",145,1069,14,30,2013-07-27 14:00:00 +2013,7,27,1511,1305,126,1702,1457,125,"EV",4471,"N16561","EWR","CLT",86,529,13,5,2013-07-27 13:00:00 +2013,7,27,1513,1520,-7,1656,1705,-9,"AA",2223,"N4WPAA","LGA","STL",133,888,15,20,2013-07-27 15:00:00 +2013,7,27,1826,1830,-4,1955,2025,-30,"EV",5048,"N741EV","LGA","RDU",67,431,18,30,2013-07-27 18:00:00 +2013,7,27,2048,2051,-3,2344,2358,-14,"B6",165,"N658JB","JFK","PDX",315,2454,20,51,2013-07-27 20:00:00 +2013,7,27,2117,2130,-13,2354,14,-20,"B6",1371,"N746JB","LGA","FLL",142,1076,21,30,2013-07-27 21:00:00 +2013,7,28,855,859,-4,1123,1137,-14,"DL",1747,"N932DL","LGA","ATL",115,762,8,59,2013-07-28 08:00:00 +2013,7,28,857,900,-3,1148,1156,-8,"DL",120,"N707TW","JFK","LAX",322,2475,9,0,2013-07-28 09:00:00 +2013,7,28,1115,1115,0,1258,1305,-7,"MQ",3281,"N717MQ","LGA","CMH",79,479,11,15,2013-07-28 11:00:00 +2013,7,28,1313,1315,-2,1507,1505,2,"US",1291,"N105UW","EWR","CLT",88,529,13,15,2013-07-28 13:00:00 +2013,7,28,1743,1725,18,2114,2022,52,"DL",479,"N372DA","EWR","SLC",267,1969,17,25,2013-07-28 17:00:00 +2013,7,28,2000,1930,30,2309,2215,54,"DL",2041,"N333NW","JFK","ATL",121,760,19,30,2013-07-28 19:00:00 +2013,7,28,2158,1959,119,2341,2146,115,"EV",6120,"N27200","LGA","CLE",75,419,19,59,2013-07-28 19:00:00 +2013,7,28,NA,1640,NA,NA,1813,NA,"9E",4013,NA,"JFK","PHL",NA,94,16,40,2013-07-28 16:00:00 +2013,7,29,310,2305,245,402,13,229,"B6",718,"N216JB","JFK","BOS",34,187,23,5,2013-07-29 23:00:00 +2013,7,29,556,600,-4,816,826,-10,"DL",461,"N912DE","LGA","ATL",112,762,6,0,2013-07-29 06:00:00 +2013,7,29,634,630,4,900,912,-12,"UA",1454,"N39726","LGA","IAH",186,1416,6,30,2013-07-29 06:00:00 +2013,7,29,645,650,-5,801,808,-7,"EV",5811,"N13988","EWR","BUF",52,282,6,50,2013-07-29 06:00:00 +2013,7,29,1032,1035,-3,1146,1154,-8,"B6",2602,"N193JB","JFK","BUF",58,301,10,35,2013-07-29 10:00:00 +2013,7,29,1113,1115,-2,1433,1400,33,"AA",739,"N3EHAA","LGA","DFW",186,1389,11,15,2013-07-29 11:00:00 +2013,7,29,1514,1400,74,1610,1511,59,"B6",2480,"N358JB","EWR","BOS",39,200,14,0,2013-07-29 14:00:00 +2013,7,29,1516,1520,-4,1712,1741,-29,"EV",6002,"N15574","EWR","SDF",96,642,15,20,2013-07-29 15:00:00 +2013,7,29,1702,1453,129,2011,1755,136,"B6",1171,"N627JB","LGA","FLL",155,1076,14,53,2013-07-29 14:00:00 +2013,7,29,1730,1720,10,2028,2011,17,"UA",1109,"N76065","EWR","MCO",128,937,17,20,2013-07-29 17:00:00 +2013,7,30,746,750,-4,1026,1030,-4,"AA",715,"N4XRAA","LGA","DFW",192,1389,7,50,2013-07-30 07:00:00 +2013,7,30,959,1005,-6,1113,1120,-7,"MQ",3611,"N542MQ","EWR","ORD",110,719,10,5,2013-07-30 10:00:00 +2013,7,30,1349,1325,24,1514,1500,14,"MQ",3305,"N532MQ","LGA","RDU",64,431,13,25,2013-07-30 13:00:00 +2013,7,30,1441,1310,91,1645,1532,73,"FL",348,"N946AT","LGA","ATL",102,762,13,10,2013-07-30 13:00:00 +2013,7,30,1536,1540,-4,1711,1703,8,"US",1607,"N958UW","LGA","PHL",44,96,15,40,2013-07-30 15:00:00 +2013,7,30,1555,1600,-5,1651,1718,-27,"US",2134,"N950UW","LGA","BOS",34,184,16,0,2013-07-30 16:00:00 +2013,7,30,1843,1820,23,2042,2048,-6,"9E",3472,"N930XJ","JFK","DTW",87,509,18,20,2013-07-30 18:00:00 +2013,7,30,1856,1905,-9,2008,2045,-37,"WN",542,"N271LV","LGA","MKE",117,738,19,5,2013-07-30 19:00:00 +2013,7,30,1907,1909,-2,2132,2200,-28,"UA",1259,"N79279","LGA","IAH",185,1416,19,9,2013-07-30 19:00:00 +2013,7,31,657,700,-3,834,833,1,"UA",544,"N425UA","LGA","ORD",110,733,7,0,2013-07-31 07:00:00 +2013,7,31,700,704,-4,955,1004,-9,"UA",1103,"N39415","EWR","PDX",332,2434,7,4,2013-07-31 07:00:00 +2013,7,31,810,815,-5,943,955,-12,"EV",4872,"N723EV","LGA","RIC",55,292,8,15,2013-07-31 08:00:00 +2013,7,31,858,900,-2,1115,1126,-11,"EV",5109,"N724EV","LGA","CHS",89,641,9,0,2013-07-31 09:00:00 +2013,7,31,910,915,-5,1219,1215,4,"VX",161,"N846VA","EWR","LAX",321,2454,9,15,2013-07-31 09:00:00 +2013,7,31,938,940,-2,1059,1110,-11,"WN",1098,"N489WN","LGA","MKE",111,738,9,40,2013-07-31 09:00:00 +2013,7,31,1115,1120,-5,1225,1233,-8,"B6",208,"N292JB","JFK","PWM",50,273,11,20,2013-07-31 11:00:00 +2013,7,31,1258,1205,53,1533,1430,63,"MQ",3658,"N522MQ","LGA","ATL",117,762,12,5,2013-07-31 12:00:00 +2013,7,31,1414,1410,4,1632,1630,2,"FL",349,"N921AT","LGA","ATL",114,762,14,10,2013-07-31 14:00:00 +2013,7,31,1444,1430,14,1731,1735,-4,"B6",301,"N585JB","JFK","FLL",147,1069,14,30,2013-07-31 14:00:00 +2013,7,31,1452,1455,-3,1638,1701,-23,"9E",4120,"N831AY","JFK","CLE",71,425,14,55,2013-07-31 14:00:00 +2013,7,31,1712,1659,13,1811,1825,-14,"UA",244,"N841UA","EWR","BOS",40,200,16,59,2013-07-31 16:00:00 +2013,7,31,1724,1709,15,1853,1855,-2,"UA",1443,"N16217","LGA","ORD",113,733,17,9,2013-07-31 17:00:00 +2013,7,31,1851,1859,-8,2123,2121,2,"FL",778,"N893AT","LGA","ATL",105,762,18,59,2013-07-31 18:00:00 +2013,7,31,1855,1859,-4,2121,2147,-26,"B6",711,"N568JB","JFK","LAS",297,2248,18,59,2013-07-31 18:00:00 +2013,8,1,655,700,-5,812,833,-21,"UA",544,"N475UA","LGA","ORD",107,733,7,0,2013-08-01 07:00:00 +2013,8,1,828,835,-7,1052,1024,28,"EV",4519,"N12567","EWR","AVL",91,583,8,35,2013-08-01 08:00:00 +2013,8,1,829,830,-1,1038,1028,10,"EV",4297,"N17984","EWR","DTW",80,488,8,30,2013-08-01 08:00:00 +2013,8,1,1726,1605,81,1828,1740,48,"AA",1750,"N3AJAA","JFK","BOS",41,187,16,5,2013-08-01 16:00:00 +2013,8,1,1730,1725,5,2051,2045,6,"AA",221,"N5FRAA","JFK","MIA",160,1089,17,25,2013-08-01 17:00:00 +2013,8,1,1950,1731,139,2110,1849,141,"B6",2580,"N249JB","EWR","BOS",45,200,17,31,2013-08-01 17:00:00 +2013,8,2,854,759,55,1159,1100,59,"UA",518,"N533UA","EWR","LAX",330,2454,7,59,2013-08-02 07:00:00 +2013,8,2,1009,1015,-6,1111,1129,-18,"UA",1163,"N33714","EWR","BOS",45,200,10,15,2013-08-02 10:00:00 +2013,8,2,1237,1240,-3,1518,1545,-27,"UA",1186,"N14107","EWR","MIA",141,1085,12,40,2013-08-02 12:00:00 +2013,8,2,1332,1315,17,1505,1449,16,"EV",4552,"N14171","EWR","GSO",73,445,13,15,2013-08-02 13:00:00 +2013,8,2,1347,1345,2,1625,1635,-10,"AA",753,"N3CAAA","LGA","DFW",187,1389,13,45,2013-08-02 13:00:00 +2013,8,2,1404,1359,5,1635,1636,-1,"UA",1108,"N27205","EWR","IAH",179,1400,13,59,2013-08-02 13:00:00 +2013,8,2,1513,1521,-8,1733,1738,-5,"UA",354,"N572UA","LGA","DEN",239,1620,15,21,2013-08-02 15:00:00 +2013,8,2,1516,1505,11,1746,1758,-12,"UA",503,"N848UA","EWR","AUS",196,1504,15,5,2013-08-02 15:00:00 +2013,8,2,2108,2059,9,2343,2359,-16,"UA",1682,"N57439","EWR","FLL",139,1065,20,59,2013-08-02 20:00:00 +2013,8,2,2145,2057,48,13,2359,14,"UA",1241,"N77258","EWR","TPA",133,997,20,57,2013-08-02 20:00:00 +2013,8,3,841,829,12,1022,1004,18,"MQ",3363,"N805MQ","JFK","RDU",77,427,8,29,2013-08-03 08:00:00 +2013,8,3,1022,1025,-3,1255,1308,-13,"B6",925,"N629JB","JFK","TPA",131,1005,10,25,2013-08-03 10:00:00 +2013,8,3,1105,1015,50,1422,1315,67,"UA",317,"N526UA","EWR","SFO",357,2565,10,15,2013-08-03 10:00:00 +2013,8,3,1120,1120,0,1224,1233,-9,"B6",208,"N328JB","JFK","PWM",48,273,11,20,2013-08-03 11:00:00 +2013,8,3,1129,1130,-1,1247,1256,-9,"EV",4974,"N720EV","LGA","BTV",41,258,11,30,2013-08-03 11:00:00 +2013,8,3,1146,1130,16,1234,1230,4,"EV",3264,"N15983","EWR","ALB",31,143,11,30,2013-08-03 11:00:00 +2013,8,3,1309,1310,-1,1530,1532,-2,"FL",348,"N982AT","LGA","ATL",108,762,13,10,2013-08-03 13:00:00 +2013,8,3,1330,1330,0,1534,1553,-19,"DL",2043,"N333NB","JFK","ATL",102,760,13,30,2013-08-03 13:00:00 +2013,8,3,1357,1405,-8,1458,1516,-18,"B6",2480,"N183JB","EWR","BOS",41,200,14,5,2013-08-03 14:00:00 +2013,8,3,1609,1540,29,2105,1750,NA,"WN",2269,"N446WN","EWR","DEN",NA,1605,15,40,2013-08-03 15:00:00 +2013,8,3,2113,1705,248,2351,2000,231,"DL",503,"N3760C","JFK","SAN",305,2446,17,5,2013-08-03 17:00:00 +2013,8,3,2151,2150,1,38,45,-7,"B6",1201,"N729JB","JFK","FLL",137,1069,21,50,2013-08-03 21:00:00 +2013,8,4,711,700,11,842,835,7,"WN",1696,"N605SW","EWR","STL",133,872,7,0,2013-08-04 07:00:00 +2013,8,4,832,834,-2,1032,1032,0,"B6",219,"N216JB","JFK","CLT",94,541,8,34,2013-08-04 08:00:00 +2013,8,4,1144,1100,44,1421,1349,32,"DL",695,"N906DE","JFK","MCO",133,944,11,0,2013-08-04 11:00:00 +2013,8,4,1545,1543,2,1919,1909,10,"DL",31,"N377DA","JFK","SLC",282,1990,15,43,2013-08-04 15:00:00 +2013,8,4,1619,1445,94,1825,1642,103,"9E",3318,"N905XJ","JFK","BUF",57,301,14,45,2013-08-04 14:00:00 +2013,8,5,738,742,-4,847,857,-10,"B6",8,"N183JB","JFK","PWM",50,273,7,42,2013-08-05 07:00:00 +2013,8,5,1058,1100,-2,1208,1211,-3,"US",2144,"N948UW","LGA","BOS",36,184,11,0,2013-08-05 11:00:00 +2013,8,5,1239,1155,44,1349,1323,26,"EV",4974,"N741EV","LGA","BTV",41,258,11,55,2013-08-05 11:00:00 +2013,8,5,1649,1650,-1,1843,1859,-16,"DL",1473,"N327NB","LGA","MEM",141,963,16,50,2013-08-05 16:00:00 +2013,8,5,1731,1734,-3,2002,1956,6,"FL",771,"N326AT","LGA","ATL",108,762,17,34,2013-08-05 17:00:00 +2013,8,5,1742,1731,11,1903,1849,14,"B6",2580,"N346JB","EWR","BOS",37,200,17,31,2013-08-05 17:00:00 +2013,8,5,2106,2021,45,2252,2200,52,"UA",1464,"N37462","EWR","CLE",65,404,20,21,2013-08-05 20:00:00 +2013,8,5,2132,2129,3,2331,2326,5,"EV",4700,"N17984","EWR","CLT",79,529,21,29,2013-08-05 21:00:00 +2013,8,5,2255,2255,0,15,19,-4,"B6",2002,"N179JB","JFK","BUF",54,301,22,55,2013-08-05 22:00:00 +2013,8,6,659,700,-1,850,900,-10,"9E",3879,"N8674A","EWR","CVG",91,569,7,0,2013-08-06 07:00:00 +2013,8,6,753,800,-7,920,915,5,"US",2171,"N746UW","LGA","DCA",44,214,8,0,2013-08-06 08:00:00 +2013,8,6,836,836,0,1110,1137,-27,"UA",1058,"N23707","LGA","IAH",182,1416,8,36,2013-08-06 08:00:00 +2013,8,6,1015,1015,0,1118,1129,-11,"UA",1163,"N37462","EWR","BOS",38,200,10,15,2013-08-06 10:00:00 +2013,8,6,1057,1105,-8,1302,1314,-12,"DL",1031,"N359NB","LGA","DTW",80,502,11,5,2013-08-06 11:00:00 +2013,8,6,1448,1431,17,1603,1605,-2,"EV",5713,"N833AS","LGA","IAD",53,229,14,31,2013-08-06 14:00:00 +2013,8,6,1517,1520,-3,1640,1705,-25,"AA",2223,"N553AA","LGA","STL",125,888,15,20,2013-08-06 15:00:00 +2013,8,6,1616,1605,11,1930,1925,5,"DL",1394,"N3749D","JFK","PDX",343,2454,16,5,2013-08-06 16:00:00 +2013,8,6,1654,1700,-6,1950,2000,-10,"AA",773,"N4XXAA","LGA","DFW",187,1389,17,0,2013-08-06 17:00:00 +2013,8,6,1732,1705,27,1956,1935,21,"UA",1269,"N13716","EWR","DEN",222,1605,17,5,2013-08-06 17:00:00 +2013,8,6,1758,1800,-2,2015,2039,-24,"DL",61,"N685DA","LGA","ATL",105,762,18,0,2013-08-06 18:00:00 +2013,8,6,1819,1820,-1,2126,2052,34,"9E",3542,"N601LR","JFK","MSP",203,1029,18,20,2013-08-06 18:00:00 +2013,8,6,1824,1830,-6,2021,2038,-17,"DL",2131,"N333NB","LGA","DTW",79,502,18,30,2013-08-06 18:00:00 +2013,8,7,825,830,-5,930,950,-20,"AA",1838,"N3KKAA","JFK","BOS",39,187,8,30,2013-08-07 08:00:00 +2013,8,7,859,901,-2,1215,1204,11,"B6",63,"N605JB","JFK","SEA",348,2422,9,1,2013-08-07 09:00:00 +2013,8,7,905,915,-10,1209,1231,-22,"DL",2379,"N927DA","LGA","FLL",142,1076,9,15,2013-08-07 09:00:00 +2013,8,7,952,957,-5,1150,1201,-11,"US",2075,"N766US","LGA","CLT",80,544,9,57,2013-08-07 09:00:00 +2013,8,7,1134,1133,1,1432,1451,-19,"UA",1201,"N38473","EWR","SFO",342,2565,11,33,2013-08-07 11:00:00 +2013,8,7,1336,1325,11,1803,1801,2,"UA",15,"N67052","EWR","HNL",590,4963,13,25,2013-08-07 13:00:00 +2013,8,7,1839,1800,39,2030,1950,40,"MQ",3526,"N546MQ","LGA","CMH",70,479,18,0,2013-08-07 18:00:00 +2013,8,7,1859,1754,65,2028,1905,83,"EV",4394,"N13202","EWR","DCA",41,199,17,54,2013-08-07 17:00:00 +2013,8,8,912,915,-3,1046,1039,7,"DL",867,"N353NB","JFK","BOS",50,187,9,15,2013-08-08 09:00:00 +2013,8,8,1032,1000,32,1207,1125,42,"EV",5736,"N835AS","LGA","IAD",42,229,10,0,2013-08-08 10:00:00 +2013,8,8,1140,1145,-5,1337,1359,-22,"DL",401,"N302DQ","EWR","ATL",97,746,11,45,2013-08-08 11:00:00 +2013,8,8,1155,1200,-5,1302,1317,-15,"DL",1006,"N338NB","JFK","BOS",42,187,12,0,2013-08-08 12:00:00 +2013,8,8,1242,1245,-3,1507,1535,-28,"AA",745,"N3FHAA","LGA","DFW",178,1389,12,45,2013-08-08 12:00:00 +2013,8,8,2041,1929,72,13,2212,121,"UA",1506,"N37420","EWR","LAS",323,2227,19,29,2013-08-08 19:00:00 +2013,8,8,NA,2155,NA,NA,2329,NA,"EV",3267,"N13994","EWR","ORF",NA,284,21,55,2013-08-08 21:00:00 +2013,8,8,NA,1625,NA,NA,1815,NA,"MQ",3411,"N722MQ","LGA","RDU",NA,431,16,25,2013-08-08 16:00:00 +2013,8,9,545,536,9,808,806,2,"UA",1591,"N24211","EWR","IAH",176,1400,5,36,2013-08-09 05:00:00 +2013,8,9,841,815,26,1008,955,13,"EV",4872,"N738EV","LGA","RIC",55,292,8,15,2013-08-09 08:00:00 +2013,8,9,952,901,51,1328,1204,84,"B6",63,"N621JB","JFK","SEA",343,2422,9,1,2013-08-09 09:00:00 +2013,8,9,1118,1000,78,1431,1307,84,"UA",642,"N505UA","JFK","SFO",346,2586,10,0,2013-08-09 10:00:00 +2013,8,9,1604,1520,44,1738,1636,62,"EV",4580,"N14570","EWR","MKE",125,725,15,20,2013-08-09 15:00:00 +2013,8,9,1832,1830,2,2054,2038,16,"DL",2131,"N340NB","LGA","DTW",82,502,18,30,2013-08-09 18:00:00 +2013,8,9,1910,1901,9,2123,2024,59,"EV",4131,"N12996","EWR","RIC",59,277,19,1,2013-08-09 19:00:00 +2013,8,9,1932,1659,153,2143,1825,198,"UA",244,"N839UA","EWR","BOS",45,200,16,59,2013-08-09 16:00:00 +2013,8,9,2111,1920,111,2230,2045,105,"AA",1762,"N3FBAA","JFK","BOS",50,187,19,20,2013-08-09 19:00:00 +2013,8,10,557,602,-5,837,843,-6,"UA",1289,"N27724","EWR","MCO",132,937,6,2,2013-08-10 06:00:00 +2013,8,10,559,600,-1,746,752,-6,"DL",731,"N357NB","LGA","DTW",86,502,6,0,2013-08-10 06:00:00 +2013,8,10,814,818,-4,955,1014,-19,"EV",3825,"N14916","EWR","CMH",75,463,8,18,2013-08-10 08:00:00 +2013,8,10,830,834,-4,1021,1032,-11,"B6",219,"N265JB","JFK","CLT",85,541,8,34,2013-08-10 08:00:00 +2013,8,10,941,945,-4,1227,1305,-38,"AA",1871,"N3KAAA","LGA","MIA",145,1096,9,45,2013-08-10 09:00:00 +2013,8,10,1103,1105,-2,1252,1313,-21,"DL",1031,"N319NB","LGA","DTW",87,502,11,5,2013-08-10 11:00:00 +2013,8,11,823,825,-2,1115,1104,11,"DL",857,"N380DA","JFK","SAN",322,2446,8,25,2013-08-11 08:00:00 +2013,8,11,1328,1329,-1,1518,1514,4,"EV",4201,"N13969","EWR","MEM",141,946,13,29,2013-08-11 13:00:00 +2013,8,11,1452,1435,17,1651,1642,9,"EV",4572,"N11539","EWR","GSP",92,594,14,35,2013-08-11 14:00:00 +2013,8,11,2019,1825,114,2233,2032,121,"DL",1715,"N325NB","LGA","MSY",156,1183,18,25,2013-08-11 18:00:00 +2013,8,12,628,625,3,901,915,-14,"WN",16,"N708SW","EWR","HOU",189,1411,6,25,2013-08-12 06:00:00 +2013,8,12,638,632,6,855,841,14,"EV",4122,"N18556","EWR","SDF",108,642,6,32,2013-08-12 06:00:00 +2013,8,12,843,800,43,945,909,36,"B6",1491,"N328JB","JFK","ACK",40,199,8,0,2013-08-12 08:00:00 +2013,8,12,957,1000,-3,1132,1133,-1,"UA",673,"N810UA","LGA","ORD",120,733,10,0,2013-08-12 10:00:00 +2013,8,12,1155,1200,-5,1349,1358,-9,"EV",4302,"N14180","EWR","MCI",155,1092,12,0,2013-08-12 12:00:00 +2013,8,12,1156,1155,1,1458,1454,4,"DL",1174,"N399DA","LGA","PBI",134,1035,11,55,2013-08-12 11:00:00 +2013,8,12,1341,1345,-4,1646,1645,1,"AA",117,"N320AA","JFK","LAX",345,2475,13,45,2013-08-12 13:00:00 +2013,8,12,1604,1610,-6,1809,1810,-1,"EV",5461,"N758EV","LGA","RDU",66,431,16,10,2013-08-12 16:00:00 +2013,8,12,1653,1700,-7,1812,1815,-3,"US",2156,"N946UW","LGA","BOS",42,184,17,0,2013-08-12 17:00:00 +2013,8,12,1801,1755,6,2202,2120,42,"AA",177,"N329AA","JFK","SFO",376,2586,17,55,2013-08-12 17:00:00 +2013,8,12,2248,2255,-7,5,19,-14,"B6",2002,"N353JB","JFK","BUF",56,301,22,55,2013-08-12 22:00:00 +2013,8,13,558,600,-2,837,834,3,"B6",27,"N651JB","EWR","MCO",127,937,6,0,2013-08-13 06:00:00 +2013,8,13,710,715,-5,1040,1030,10,"AA",443,"N323AA","JFK","MIA",149,1089,7,15,2013-08-13 07:00:00 +2013,8,13,805,805,0,1131,1055,36,"DL",1109,"N313US","LGA","TPA",146,1010,8,5,2013-08-13 08:00:00 +2013,8,13,1027,1017,10,1147,1124,23,"B6",518,"N351JB","JFK","BOS",41,187,10,17,2013-08-13 10:00:00 +2013,8,13,1505,1456,9,1742,1747,-5,"UA",1289,"N77261","EWR","MCO",137,937,14,56,2013-08-13 14:00:00 +2013,8,13,1516,1525,-9,1640,1642,-2,"EV",4580,"N16963","EWR","MKE",121,725,15,25,2013-08-13 15:00:00 +2013,8,13,1708,1659,9,1931,1919,12,"DL",2042,"N359NB","EWR","ATL",109,746,16,59,2013-08-13 16:00:00 +2013,8,13,NA,1100,NA,NA,1211,NA,"US",2144,NA,"LGA","BOS",NA,184,11,0,2013-08-13 11:00:00 +2013,8,14,1105,1059,6,1352,1336,16,"UA",1712,"N76522","EWR","IAH",203,1400,10,59,2013-08-14 10:00:00 +2013,8,14,1215,1200,15,1512,1450,22,"AA",3,"N319AA","JFK","LAX",331,2475,12,0,2013-08-14 12:00:00 +2013,8,14,1505,1505,0,1849,1835,14,"AA",1769,"N396AA","JFK","MIA",159,1089,15,5,2013-08-14 15:00:00 +2013,8,14,1550,1550,0,1849,1845,4,"AA",763,"N3CHAA","LGA","DFW",190,1389,15,50,2013-08-14 15:00:00 +2013,8,14,1554,1555,-1,1704,1729,-25,"UA",220,"N409UA","EWR","ORD",106,719,15,55,2013-08-14 15:00:00 +2013,8,14,1641,1643,-2,1905,1907,-2,"EV",5601,"N717EV","LGA","CLT",93,544,16,43,2013-08-14 16:00:00 +2013,8,14,1712,1706,6,2154,2111,43,"B6",803,"N630JB","JFK","SJU",202,1598,17,6,2013-08-14 17:00:00 +2013,8,14,1813,1725,48,2139,2045,54,"AA",221,"N5CSAA","JFK","MIA",150,1089,17,25,2013-08-14 17:00:00 +2013,8,15,556,600,-4,646,656,-10,"US",1909,"N950UW","LGA","PHL",31,96,6,0,2013-08-15 06:00:00 +2013,8,15,750,755,-5,911,930,-19,"AA",309,"N4XMAA","LGA","ORD",110,733,7,55,2013-08-15 07:00:00 +2013,8,15,843,843,0,1041,1044,-3,"US",2071,"N746UW","LGA","CLT",89,544,8,43,2013-08-15 08:00:00 +2013,8,15,1101,850,131,1204,1014,110,"9E",3466,"N915XJ","JFK","DCA",40,213,8,50,2013-08-15 08:00:00 +2013,8,15,1158,1200,-2,1350,1354,-4,"US",1879,"N154UW","JFK","CLT",83,541,12,0,2013-08-15 12:00:00 +2013,8,15,1411,1325,46,1538,1505,33,"MQ",3493,"N738MQ","LGA","CLE",62,419,13,25,2013-08-15 13:00:00 +2013,8,15,1429,1429,0,1656,1659,-3,"MQ",3669,"N539MQ","LGA","ATL",119,762,14,29,2013-08-15 14:00:00 +2013,8,15,1506,1459,7,1735,1756,-21,"UA",595,"N823UA","EWR","SAN",314,2425,14,59,2013-08-15 14:00:00 +2013,8,15,1615,1524,51,1833,1807,26,"UA",1178,"N39423","EWR","IAH",183,1400,15,24,2013-08-15 15:00:00 +2013,8,15,1654,1543,71,1921,1840,41,"UA",404,"N504UA","EWR","SEA",300,2402,15,43,2013-08-15 15:00:00 +2013,8,15,1756,1700,56,2050,1955,55,"WN",3928,"N932WN","EWR","HOU",197,1411,17,0,2013-08-15 17:00:00 +2013,8,15,1908,1900,8,2146,2216,-30,"DL",1643,"N711ZX","JFK","SEA",312,2422,19,0,2013-08-15 19:00:00 +2013,8,15,1937,1930,7,2143,2156,-13,"9E",3285,"N917XJ","JFK","MSY",167,1182,19,30,2013-08-15 19:00:00 +2013,8,15,2024,2029,-5,2253,2247,6,"EV",5804,"N14158","EWR","OMA",155,1134,20,29,2013-08-15 20:00:00 +2013,8,15,2122,2119,3,2352,2354,-2,"B6",527,"N703JB","EWR","MCO",127,937,21,19,2013-08-15 21:00:00 +2013,8,16,627,631,-4,907,905,2,"UA",224,"N407UA","LGA","IAH",193,1416,6,31,2013-08-16 06:00:00 +2013,8,16,633,634,-1,836,826,10,"US",745,"N195UW","EWR","CLT",93,529,6,34,2013-08-16 06:00:00 +2013,8,16,725,729,-4,1031,1019,12,"B6",461,"N729JB","LGA","PBI",155,1035,7,29,2013-08-16 07:00:00 +2013,8,16,730,703,27,1004,940,24,"UA",390,"N842UA","EWR","MCO",131,937,7,3,2013-08-16 07:00:00 +2013,8,16,758,800,-2,936,1005,-29,"DL",2119,"N916DL","LGA","MSP",138,1020,8,0,2013-08-16 08:00:00 +2013,8,16,834,825,9,1112,1105,7,"AA",719,"N3CWAA","LGA","DFW",186,1389,8,25,2013-08-16 08:00:00 +2013,8,16,1059,1100,-1,1340,1349,-9,"DL",695,"N991DL","JFK","MCO",138,944,11,0,2013-08-16 11:00:00 +2013,8,16,1150,1155,-5,1301,1310,-9,"MQ",3386,"N836MQ","JFK","DCA",50,213,11,55,2013-08-16 11:00:00 +2013,8,16,1408,1415,-7,1630,1629,1,"DL",673,"N301DQ","EWR","ATL",123,746,14,15,2013-08-16 14:00:00 +2013,8,16,1452,1455,-3,1808,1800,8,"AA",1751,"N3JVAA","JFK","TPA",173,1005,14,55,2013-08-16 14:00:00 +2013,8,16,1604,1555,9,1714,1729,-15,"UA",655,"N449UA","EWR","ORD",109,719,15,55,2013-08-16 15:00:00 +2013,8,16,1708,1710,-2,2004,2015,-11,"AA",181,"N319AA","JFK","LAX",315,2475,17,10,2013-08-16 17:00:00 +2013,8,16,1746,1706,40,2212,2111,61,"B6",803,"N552JB","JFK","SJU",204,1598,17,6,2013-08-16 17:00:00 +2013,8,16,1759,1800,-1,2028,2102,-34,"B6",359,"N621JB","JFK","BUR",311,2465,18,0,2013-08-16 18:00:00 +2013,8,17,755,755,0,917,930,-13,"AA",309,"N4YRAA","LGA","ORD",111,733,7,55,2013-08-17 07:00:00 +2013,8,17,1021,820,121,1225,1041,104,"9E",4105,"N8696C","JFK","CHS",101,636,8,20,2013-08-17 08:00:00 +2013,8,17,1539,1540,-1,1750,1740,10,"US",2081,"N722US","LGA","CLT",100,544,15,40,2013-08-17 15:00:00 +2013,8,17,1721,1729,-8,2012,2055,-43,"VX",193,"N527VA","EWR","SFO",333,2565,17,29,2013-08-17 17:00:00 +2013,8,17,1738,1734,4,2007,2000,7,"FL",623,"N603AT","LGA","ATL",123,762,17,34,2013-08-17 17:00:00 +2013,8,17,2009,1659,190,2155,1920,155,"UA",485,"N820UA","EWR","DEN",204,1605,16,59,2013-08-17 16:00:00 +2013,8,18,540,545,-5,918,921,-3,"B6",939,"N589JB","JFK","BQN",194,1576,5,45,2013-08-18 05:00:00 +2013,8,18,744,750,-6,1011,1030,-19,"AA",715,"N426AA","LGA","DFW",186,1389,7,50,2013-08-18 07:00:00 +2013,8,18,903,906,-3,1139,1152,-13,"UA",436,"N434UA","EWR","IAH",188,1400,9,6,2013-08-18 09:00:00 +2013,8,18,1005,1007,-2,1231,1255,-24,"UA",1412,"N24224","EWR","LAX",308,2454,10,7,2013-08-18 10:00:00 +2013,8,18,1026,1030,-4,1310,1325,-15,"AA",19,"N320AA","JFK","LAX",303,2475,10,30,2013-08-18 10:00:00 +2013,8,18,1250,1250,0,1531,1547,-16,"DL",1375,"N385DN","JFK","SLC",258,1990,12,50,2013-08-18 12:00:00 +2013,8,18,1415,1355,20,1603,1615,-12,"EV",5816,"N13997","EWR","TVC",93,644,13,55,2013-08-18 13:00:00 +2013,8,18,1617,1615,2,1843,1900,-17,"9E",3926,"N8965E","JFK","SDF",109,662,16,15,2013-08-18 16:00:00 +2013,8,18,1804,1805,-1,2051,2040,11,"DL",569,"N3749D","JFK","ATL",124,760,18,5,2013-08-18 18:00:00 +2013,8,18,1817,1825,-8,2122,2147,-25,"AS",7,"N419AS","EWR","SEA",324,2402,18,25,2013-08-18 18:00:00 +2013,8,18,1818,1830,-12,2116,2140,-24,"B6",305,"N805JB","EWR","FLL",140,1065,18,30,2013-08-18 18:00:00 +2013,8,18,2052,2055,-3,2237,2245,-8,"EV",4672,"N29917","EWR","STL",135,872,20,55,2013-08-18 20:00:00 +2013,8,18,2123,2100,23,2215,2210,5,"US",2164,"N967UW","LGA","BOS",36,184,21,0,2013-08-18 21:00:00 +2013,8,19,538,545,-7,811,813,-2,"UA",439,"N585UA","LGA","IAH",184,1416,5,45,2013-08-19 05:00:00 +2013,8,19,1058,1100,-2,1342,1349,-7,"DL",695,"N943DL","JFK","MCO",139,944,11,0,2013-08-19 11:00:00 +2013,8,19,1156,1200,-4,1347,1409,-22,"UA",791,"N821UA","EWR","PHX",278,2133,12,0,2013-08-19 12:00:00 +2013,8,19,1341,1349,-8,1630,1639,-9,"UA",1149,"N15710","EWR","PBI",143,1023,13,49,2013-08-19 13:00:00 +2013,8,19,1523,1519,4,1825,1813,12,"UA",1600,"N58101","EWR","LAX",335,2454,15,19,2013-08-19 15:00:00 +2013,8,19,1558,1559,-1,1843,1910,-27,"DL",706,"N3757D","JFK","AUS",192,1521,15,59,2013-08-19 15:00:00 +2013,8,19,1601,1555,6,1735,1739,-4,"9E",3459,"N605LR","JFK","BNA",113,765,15,55,2013-08-19 15:00:00 +2013,8,19,1629,1630,-1,1948,1959,-11,"VX",27,"N854VA","JFK","SFO",331,2586,16,30,2013-08-19 16:00:00 +2013,8,19,1658,1659,-1,1845,1928,-43,"UA",485,"N459UA","EWR","DEN",203,1605,16,59,2013-08-19 16:00:00 +2013,8,19,1910,1915,-5,2146,2205,-19,"AA",791,"N3GDAA","LGA","DFW",189,1389,19,15,2013-08-19 19:00:00 +2013,8,19,2013,2021,-8,2122,2200,-38,"UA",1464,"N16713","EWR","CLE",58,404,20,21,2013-08-19 20:00:00 +2013,8,20,600,605,-5,848,855,-7,"B6",601,"N659JB","JFK","FLL",147,1069,6,5,2013-08-20 06:00:00 +2013,8,20,1053,1100,-7,1230,1253,-23,"9E",3767,"N8492C","EWR","DTW",76,488,11,0,2013-08-20 11:00:00 +2013,8,20,1109,1115,-6,1224,1254,-30,"EV",5273,"N753EV","LGA","PIT",51,335,11,15,2013-08-20 11:00:00 +2013,8,20,1318,1322,-4,1601,1617,-16,"UA",1164,"N77510","EWR","FLL",146,1065,13,22,2013-08-20 13:00:00 +2013,8,20,1440,1444,-4,1636,1642,-6,"EV",4633,"N14558","EWR","GSP",96,594,14,44,2013-08-20 14:00:00 +2013,8,20,1745,1700,45,1909,1845,24,"MQ",3216,"N694MQ","JFK","ORF",54,290,17,0,2013-08-20 17:00:00 +2013,8,20,2043,2011,32,2315,2254,21,"UA",1416,"N76516","EWR","IAH",198,1400,20,11,2013-08-20 20:00:00 +2013,8,21,557,602,-5,658,729,-31,"UA",569,"N401UA","EWR","ORD",105,719,6,2,2013-08-21 06:00:00 +2013,8,21,558,600,-2,830,815,15,"FL",347,"N168AT","LGA","ATL",116,762,6,0,2013-08-21 06:00:00 +2013,8,21,722,615,67,1027,910,77,"AA",1895,"N3KFAA","EWR","MIA",156,1085,6,15,2013-08-21 06:00:00 +2013,8,21,737,740,-3,1039,1055,-16,"VX",11,"N837VA","JFK","SFO",344,2586,7,40,2013-08-21 07:00:00 +2013,8,21,1500,1505,-5,1650,1710,-20,"EV",4181,"N27152","EWR","MCI",147,1092,15,5,2013-08-21 15:00:00 +2013,8,21,1515,1525,-10,1730,1740,-10,"MQ",3532,"N717MQ","LGA","XNA",157,1147,15,25,2013-08-21 15:00:00 +2013,8,21,1651,1655,-4,1916,1950,-34,"AA",1507,"N454AA","EWR","DFW",178,1372,16,55,2013-08-21 16:00:00 +2013,8,21,2001,2000,1,2222,2230,-8,"DL",1147,"N936DL","LGA","ATL",108,762,20,0,2013-08-21 20:00:00 +2013,8,21,2103,2101,2,48,100,-12,"B6",1103,"N784JB","JFK","SJU",196,1598,21,1,2013-08-21 21:00:00 +2013,8,21,2151,2159,-8,2246,2319,-33,"EV",4625,"N14974","EWR","BWI",32,169,21,59,2013-08-21 21:00:00 +2013,8,22,27,2155,152,308,43,145,"B6",425,"N663JB","JFK","TPA",125,1005,21,55,2013-08-22 21:00:00 +2013,8,22,628,630,-2,851,923,-32,"UA",236,"N595UA","JFK","LAX",298,2475,6,30,2013-08-22 06:00:00 +2013,8,22,800,815,-15,910,935,-25,"MQ",3355,"N502MQ","LGA","BNA",97,764,8,15,2013-08-22 08:00:00 +2013,8,22,801,805,-4,1123,1055,28,"DL",1109,"N320US","LGA","TPA",136,1010,8,5,2013-08-22 08:00:00 +2013,8,22,1028,1030,-2,1401,1345,16,"AA",179,"N339AA","JFK","SFO",326,2586,10,30,2013-08-22 10:00:00 +2013,8,22,1529,1411,78,1837,1702,95,"B6",1883,"N536JB","JFK","MCO",126,944,14,11,2013-08-22 14:00:00 +2013,8,22,1531,1455,36,1755,1645,70,"MQ",3359,"N806MQ","JFK","RDU",68,427,14,55,2013-08-22 14:00:00 +2013,8,22,1613,1535,38,1917,1750,87,"WN",1873,"N949WN","EWR","DEN",271,1605,15,35,2013-08-22 15:00:00 +2013,8,22,1806,1810,-4,1951,2005,-14,"UA",1053,"N17233","EWR","CLE",64,404,18,10,2013-08-22 18:00:00 +2013,8,22,2259,2000,179,57,2225,152,"MQ",3662,"N5PBMQ","LGA","ATL",101,762,20,0,2013-08-22 20:00:00 +2013,8,23,611,614,-3,805,809,-4,"US",2063,"N536UW","JFK","CLT",83,541,6,14,2013-08-23 06:00:00 +2013,8,23,616,620,-4,823,840,-17,"DL",1743,"N3753","JFK","ATL",109,760,6,20,2013-08-23 06:00:00 +2013,8,23,826,834,-8,1022,1032,-10,"EV",3854,"N15980","EWR","DTW",84,488,8,34,2013-08-23 08:00:00 +2013,8,23,1002,1006,-4,1113,1123,-10,"EV",4348,"N26549","EWR","IAD",52,212,10,6,2013-08-23 10:00:00 +2013,8,23,1038,1040,-2,1220,1240,-20,"EV",5512,"N750EV","LGA","MEM",136,963,10,40,2013-08-23 10:00:00 +2013,8,23,1630,1610,20,1903,1845,18,"MQ",3357,"N519MQ","LGA","ATL",105,762,16,10,2013-08-23 16:00:00 +2013,8,23,1653,1705,-12,2007,2020,-13,"AA",1999,"N3KGAA","EWR","MIA",156,1085,17,5,2013-08-23 17:00:00 +2013,8,23,1852,1900,-8,2015,2012,3,"US",2160,"N956UW","LGA","BOS",36,184,19,0,2013-08-23 19:00:00 +2013,8,23,1915,1920,-5,2202,2210,-8,"AA",1691,"N200AA","EWR","DFW",185,1372,19,20,2013-08-23 19:00:00 +2013,8,23,2058,2051,7,11,2358,13,"B6",165,"N641JB","JFK","PDX",328,2454,20,51,2013-08-23 20:00:00 +2013,8,23,2126,2125,1,17,2359,18,"UA",611,"N447UA","EWR","IAH",186,1400,21,25,2013-08-23 21:00:00 +2013,8,24,642,647,-5,803,809,-6,"B6",905,"N563JB","JFK","ORD",109,740,6,47,2013-08-24 06:00:00 +2013,8,24,1055,1055,0,1441,1445,-4,"B6",403,"N621JB","JFK","SJU",201,1598,10,55,2013-08-24 10:00:00 +2013,8,24,1502,1505,-3,1700,1715,-15,"MQ",3402,"N723MQ","LGA","TVC",96,655,15,5,2013-08-24 15:00:00 +2013,8,24,1550,1555,-5,1716,1744,-28,"B6",1105,"N231JB","JFK","ORD",110,740,15,55,2013-08-24 15:00:00 +2013,8,24,1823,1829,-6,2114,2148,-34,"UA",212,"N524UA","EWR","SFO",319,2565,18,29,2013-08-24 18:00:00 +2013,8,25,700,700,0,957,1004,-7,"DL",763,"N191DN","JFK","LAX",314,2475,7,0,2013-08-25 07:00:00 +2013,8,25,749,755,-6,1047,1115,-28,"AA",59,"N323AA","JFK","SFO",340,2586,7,55,2013-08-25 07:00:00 +2013,8,25,953,955,-2,1141,1213,-32,"9E",4060,"N8932C","LGA","DAY",74,549,9,55,2013-08-25 09:00:00 +2013,8,25,1120,1120,0,1226,1230,-4,"B6",34,"N298JB","JFK","BTV",46,266,11,20,2013-08-25 11:00:00 +2013,8,25,1133,1138,-5,1358,1415,-17,"UA",1550,"N41135","EWR","MCO",118,937,11,38,2013-08-25 11:00:00 +2013,8,25,1529,1529,0,1714,1730,-16,"EV",4576,"N11165","EWR","GRR",84,605,15,29,2013-08-25 15:00:00 +2013,8,25,1649,1655,-6,1826,1900,-34,"US",681,"N650AW","EWR","PHX",257,2133,16,55,2013-08-25 16:00:00 +2013,8,25,1828,1815,13,2105,2140,-35,"DL",17,"N195DN","JFK","LAX",306,2475,18,15,2013-08-25 18:00:00 +2013,8,25,1834,1835,-1,2140,2155,-15,"AA",269,"N3GKAA","JFK","SEA",335,2422,18,35,2013-08-25 18:00:00 +2013,8,25,1852,1855,-3,2044,2050,-6,"MQ",3349,"N521MQ","LGA","MSP",144,1020,18,55,2013-08-25 18:00:00 +2013,8,25,2043,2045,-2,2319,2354,-35,"UA",1241,"N13750","EWR","TPA",131,997,20,45,2013-08-25 20:00:00 +2013,8,25,NA,1300,NA,NA,1555,NA,"UA",207,NA,"EWR","SFO",NA,2565,13,0,2013-08-25 13:00:00 +2013,8,26,626,625,1,736,740,-4,"WN",1708,"N8614M","LGA","MDW",103,725,6,25,2013-08-26 06:00:00 +2013,8,26,748,750,-2,1006,1030,-24,"AA",715,"N488AA","LGA","DFW",176,1389,7,50,2013-08-26 07:00:00 +2013,8,26,952,905,47,1122,1111,11,"EV",4172,"N17196","EWR","MSP",137,1008,9,5,2013-08-26 09:00:00 +2013,8,26,1148,1200,-12,1406,1450,-44,"AA",3,"N338AA","JFK","LAX",293,2475,12,0,2013-08-26 12:00:00 +2013,8,26,1151,1200,-9,1257,1309,-12,"US",2146,"N961UW","LGA","BOS",43,184,12,0,2013-08-26 12:00:00 +2013,8,26,1517,1514,3,1628,1648,-20,"UA",253,"N412UA","EWR","ORD",109,719,15,14,2013-08-26 15:00:00 +2013,8,26,1539,1545,-6,1656,1710,-14,"MQ",3694,"N508MQ","EWR","ORD",104,719,15,45,2013-08-26 15:00:00 +2013,8,26,1719,1735,-16,1911,1938,-27,"YV",2751,"N905FJ","LGA","CLT",83,544,17,35,2013-08-26 17:00:00 +2013,8,26,1950,1955,-5,2127,2145,-18,"MQ",3374,"N852MQ","JFK","RDU",64,427,19,55,2013-08-26 19:00:00 +2013,8,26,2054,2100,-6,2155,2214,-19,"US",2197,"N705UW","LGA","DCA",45,214,21,0,2013-08-26 21:00:00 +2013,8,27,555,600,-5,828,851,-23,"B6",371,"N593JB","LGA","FLL",136,1076,6,0,2013-08-27 06:00:00 +2013,8,27,738,745,-7,841,855,-14,"B6",1818,"N587JB","JFK","BOS",35,187,7,45,2013-08-27 07:00:00 +2013,8,27,844,852,-8,1127,1208,-41,"UA",223,"N426UA","EWR","SNA",293,2434,8,52,2013-08-27 08:00:00 +2013,8,27,933,940,-7,1146,1212,-26,"9E",4065,"N8896A","LGA","SDF",96,659,9,40,2013-08-27 09:00:00 +2013,8,27,1033,1038,-5,1230,1247,-17,"EV",4237,"N16183","EWR","OMA",150,1134,10,38,2013-08-27 10:00:00 +2013,8,27,1208,1139,29,1309,1254,15,"B6",1307,"N249JB","JFK","IAD",44,228,11,39,2013-08-27 11:00:00 +2013,8,27,1355,1405,-10,1449,1516,-27,"B6",2480,"N229JB","EWR","BOS",38,200,14,5,2013-08-27 14:00:00 +2013,8,27,1509,1510,-1,1735,1735,0,"MQ",3202,"N606MQ","JFK","IND",94,665,15,10,2013-08-27 15:00:00 +2013,8,27,1520,1527,-7,1655,1701,-6,"UA",274,"N463UA","EWR","CLE",61,404,15,27,2013-08-27 15:00:00 +2013,8,27,1859,1900,-1,2057,2143,-46,"DL",961,"N3746H","JFK","DEN",209,1626,19,0,2013-08-27 19:00:00 +2013,8,28,1123,1125,-2,1249,1300,-11,"WN",1517,"N751SW","LGA","BNA",104,764,11,25,2013-08-28 11:00:00 +2013,8,28,1219,1030,109,1634,1331,183,"UA",1257,"N76528","LGA","IAH",184,1416,10,30,2013-08-28 10:00:00 +2013,8,28,1224,1200,24,1524,1334,110,"UA",255,"N812UA","LGA","ORD",134,733,12,0,2013-08-28 12:00:00 +2013,8,28,1323,1330,-7,1447,1458,-11,"B6",286,"N236JB","JFK","ROC",61,264,13,30,2013-08-28 13:00:00 +2013,8,28,1433,1256,97,1633,1521,72,"EV",4682,"N14105","EWR","MSY",159,1167,12,56,2013-08-28 12:00:00 +2013,8,28,1926,1606,200,2216,1909,187,"B6",283,"N506JB","JFK","MCO",120,944,16,6,2013-08-28 16:00:00 +2013,8,28,2221,2125,56,26,2354,32,"B6",97,"N712JB","JFK","DEN",210,1626,21,25,2013-08-28 21:00:00 +2013,8,28,2223,2100,83,2350,2245,65,"MQ",3384,"N503MQ","LGA","CLT",73,544,21,0,2013-08-28 21:00:00 +2013,8,29,607,611,-4,953,954,-1,"B6",1403,"N627JB","JFK","SJU",202,1598,6,11,2013-08-29 06:00:00 +2013,8,29,659,705,-6,947,955,-8,"AA",707,"N3BUAA","LGA","DFW",175,1389,7,5,2013-08-29 07:00:00 +2013,8,29,706,710,-4,923,957,-34,"UA",478,"N403UA","EWR","MCO",119,937,7,10,2013-08-29 07:00:00 +2013,8,29,801,805,-4,957,950,7,"9E",3611,"N8928A","JFK","PIT",62,340,8,5,2013-08-29 08:00:00 +2013,8,29,813,815,-2,1050,1110,-20,"DL",1167,"N305DQ","JFK","TPA",134,1005,8,15,2013-08-29 08:00:00 +2013,8,29,1322,1325,-3,1601,1627,-26,"UA",483,"N562UA","EWR","FLL",145,1065,13,25,2013-08-29 13:00:00 +2013,8,29,1729,1735,-6,1938,1944,-6,"EV",6065,"N14916","EWR","IND",93,645,17,35,2013-08-29 17:00:00 +2013,8,29,1747,1734,13,2003,2000,3,"FL",623,"N934AT","LGA","ATL",102,762,17,34,2013-08-29 17:00:00 +2013,8,29,1812,1800,12,2002,2011,-9,"DL",1321,"N329NB","EWR","MSP",138,1008,18,0,2013-08-29 18:00:00 +2013,8,29,1820,1828,-8,2026,2034,-8,"US",2039,"N172US","EWR","CLT",79,529,18,28,2013-08-29 18:00:00 +2013,8,29,1935,1945,-10,2135,2156,-21,"EV",4361,"N16981","EWR","TYS",85,631,19,45,2013-08-29 19:00:00 +2013,8,29,2004,2013,-9,2159,2242,-43,"EV",4333,"N12172","EWR","TUL",151,1215,20,13,2013-08-29 20:00:00 +2013,8,29,2047,2100,-13,2328,2323,5,"DL",1247,"N905DE","LGA","ATL",100,762,21,0,2013-08-29 21:00:00 +2013,8,30,653,700,-7,755,833,-38,"UA",331,"N437UA","LGA","ORD",109,733,7,0,2013-08-30 07:00:00 +2013,8,30,1257,1300,-3,1417,1430,-13,"UA",1734,"N41135","EWR","ORD",108,719,13,0,2013-08-30 13:00:00 +2013,8,30,1427,1429,-2,1817,1830,-13,"B6",703,"N703JB","JFK","SJU",198,1598,14,29,2013-08-30 14:00:00 +2013,8,30,1634,1635,-1,1906,1944,-38,"B6",423,"N519JB","JFK","LAX",305,2475,16,35,2013-08-30 16:00:00 +2013,8,30,1645,1650,-5,1818,1859,-41,"DL",1473,"N357NB","LGA","MEM",128,963,16,50,2013-08-30 16:00:00 +2013,8,30,1659,1700,-1,1905,1945,-40,"AA",257,"N624AA","JFK","LAS",280,2248,17,0,2013-08-30 17:00:00 +2013,8,30,1911,1825,46,2035,2009,26,"EV",5207,"N744EV","LGA","BGR",59,378,18,25,2013-08-30 18:00:00 +2013,8,30,2057,2059,-2,2323,2358,-35,"B6",523,"N779JB","JFK","LAX",302,2475,20,59,2013-08-30 20:00:00 +2013,8,31,606,605,1,831,839,-8,"B6",583,"N190JB","JFK","MCO",125,944,6,5,2013-08-31 06:00:00 +2013,8,31,618,620,-2,830,837,-7,"DL",1743,"N373DA","JFK","ATL",104,760,6,20,2013-08-31 06:00:00 +2013,8,31,655,700,-5,922,957,-35,"DL",763,"N713TW","JFK","LAX",299,2475,7,0,2013-08-31 07:00:00 +2013,8,31,843,847,-4,1045,1129,-44,"UA",1289,"N36444","EWR","LAS",283,2227,8,47,2013-08-31 08:00:00 +2013,8,31,913,920,-7,1152,1220,-28,"VX",407,"N634VA","JFK","LAX",315,2475,9,20,2013-08-31 09:00:00 +2013,8,31,926,930,-4,1201,1218,-17,"B6",199,"N521JB","LGA","MCO",118,950,9,30,2013-08-31 09:00:00 +2013,8,31,1958,2001,-3,2248,2254,-6,"B6",1083,"N537JB","JFK","MCO",131,944,20,1,2013-08-31 20:00:00 +2013,9,1,751,800,-9,1035,1104,-29,"B6",1511,"N612JB","EWR","RSW",146,1068,8,0,2013-09-01 08:00:00 +2013,9,1,817,820,-3,1201,1230,-29,"AA",1357,"N5FFAA","JFK","SJU",199,1598,8,20,2013-09-01 08:00:00 +2013,9,1,1503,1510,-7,1615,1630,-15,"MQ",3433,"N503MQ","JFK","DCA",46,213,15,10,2013-09-01 15:00:00 +2013,9,1,1609,1615,-6,1854,1845,9,"MQ",3357,"N519MQ","LGA","ATL",109,762,16,15,2013-09-01 16:00:00 +2013,9,1,1748,1810,-22,1914,1955,-41,"MQ",3526,"N521MQ","LGA","CMH",69,479,18,10,2013-09-01 18:00:00 +2013,9,1,1907,1819,48,2202,2118,44,"B6",153,"N796JB","JFK","PBI",134,1028,18,19,2013-09-01 18:00:00 +2013,9,1,1936,1940,-4,2127,2125,2,"MQ",3374,"N828MQ","JFK","RDU",74,427,19,40,2013-09-01 19:00:00 +2013,9,1,1959,2005,-6,2215,2149,26,"B6",105,"N520JB","JFK","ORD",135,740,20,5,2013-09-01 20:00:00 +2013,9,1,2104,2025,39,2206,2140,26,"AA",1742,"N3BPAA","JFK","BOS",38,187,20,25,2013-09-01 20:00:00 +2013,9,2,711,715,-4,821,840,-19,"WN",1022,"N298WN","EWR","BNA",107,748,7,15,2013-09-02 07:00:00 +2013,9,2,743,726,17,1109,1048,21,"UA",1296,"N38451","EWR","SFO",360,2565,7,26,2013-09-02 07:00:00 +2013,9,2,854,901,-7,1114,1143,-29,"B6",189,"N595JB","JFK","SAN",296,2446,9,1,2013-09-02 09:00:00 +2013,9,2,927,929,-2,1114,1129,-15,"MQ",3565,"N519MQ","LGA","CLT",83,544,9,29,2013-09-02 09:00:00 +2013,9,2,1433,1433,0,1559,1607,-8,"UA",667,"N842UA","EWR","CLE",68,404,14,33,2013-09-02 14:00:00 +2013,9,2,1552,1559,-7,1849,1919,-30,"DL",1373,"N3739P","JFK","MIA",150,1089,15,59,2013-09-02 15:00:00 +2013,9,2,1828,1500,208,2126,1724,242,"EV",5215,"N708EV","LGA","CHS",125,641,15,0,2013-09-02 15:00:00 +2013,9,2,1840,1805,35,2119,2040,39,"DL",569,"N3740C","JFK","ATL",103,760,18,5,2013-09-02 18:00:00 +2013,9,2,1931,1908,23,2223,2220,3,"UA",1515,"N17730","EWR","MIA",146,1085,19,8,2013-09-02 19:00:00 +2013,9,2,2135,2140,-5,2251,2250,1,"MQ",3660,"N519MQ","LGA","BNA",107,764,21,40,2013-09-02 21:00:00 +2013,9,3,603,605,-2,705,734,-29,"UA",1622,"N38403","EWR","ORD",102,719,6,5,2013-09-03 06:00:00 +2013,9,3,610,600,10,725,740,-15,"WN",452,"N792SW","LGA","STL",120,888,6,0,2013-09-03 06:00:00 +2013,9,3,706,710,-4,1026,1025,1,"AA",1345,"N328AA","JFK","MIA",162,1089,7,10,2013-09-03 07:00:00 +2013,9,3,940,939,1,1151,1208,-17,"EV",4140,"N27962","EWR","ATL",116,746,9,39,2013-09-03 09:00:00 +2013,9,3,957,1000,-3,1218,1237,-19,"DL",1847,"N926DL","LGA","ATL",110,762,10,0,2013-09-03 10:00:00 +2013,9,3,1138,1125,13,1245,1300,-15,"WN",1517,"N952WN","LGA","BNA",106,764,11,25,2013-09-03 11:00:00 +2013,9,3,1623,1627,-4,1800,1754,6,"EV",6101,"N12967","LGA","IAD",55,229,16,27,2013-09-03 16:00:00 +2013,9,3,1626,1550,36,1818,1753,25,"EV",4667,"N11193","EWR","MSP",148,1008,15,50,2013-09-03 15:00:00 +2013,9,3,1903,1903,0,2054,2109,-15,"EV",5795,"N18101","EWR","CLT",84,529,19,3,2013-09-03 19:00:00 +2013,9,3,1955,1959,-4,2211,2249,-38,"UA",1022,"N76269","EWR","IAH",171,1400,19,59,2013-09-03 19:00:00 +2013,9,4,817,820,-3,1051,1110,-19,"B6",281,"N231JB","JFK","HOU",182,1428,8,20,2013-09-04 08:00:00 +2013,9,4,852,854,-2,1143,1213,-30,"B6",15,"N505JB","JFK","SFO",323,2586,8,54,2013-09-04 08:00:00 +2013,9,4,1052,1100,-8,1157,1215,-18,"US",2144,"N959UW","LGA","BOS",41,184,11,0,2013-09-04 11:00:00 +2013,9,4,1154,1200,-6,1412,1455,-43,"AA",3,"N336AA","JFK","LAX",300,2475,12,0,2013-09-04 12:00:00 +2013,9,4,1432,1439,-7,1553,1607,-14,"9E",3712,"N8942A","JFK","BWI",36,184,14,39,2013-09-04 14:00:00 +2013,9,4,1649,1700,-11,1925,1955,-30,"WN",3928,"N410WN","EWR","HOU",184,1411,17,0,2013-09-04 17:00:00 +2013,9,4,1704,1640,24,1941,1947,-6,"B6",423,"N635JB","JFK","LAX",307,2475,16,40,2013-09-04 16:00:00 +2013,9,4,1707,1715,-8,1832,1905,-33,"AA",345,"N4XPAA","LGA","ORD",107,733,17,15,2013-09-04 17:00:00 +2013,9,4,1729,1735,-6,1910,1933,-23,"EV",4382,"N16963","EWR","DTW",79,488,17,35,2013-09-04 17:00:00 +2013,9,4,1810,1815,-5,1934,1957,-23,"UA",1053,"N36272","EWR","CLE",67,404,18,15,2013-09-04 18:00:00 +2013,9,4,1951,2000,-9,2047,2114,-27,"US",2162,"N948UW","LGA","BOS",38,184,20,0,2013-09-04 20:00:00 +2013,9,4,1958,2001,-3,2209,2248,-39,"B6",65,"N509JB","JFK","ABQ",227,1826,20,1,2013-09-04 20:00:00 +2013,9,5,807,810,-3,1032,1054,-22,"DL",857,"N384DA","JFK","SAN",305,2446,8,10,2013-09-05 08:00:00 +2013,9,5,946,950,-4,1056,1120,-24,"WN",172,"N277WN","LGA","MKE",110,738,9,50,2013-09-05 09:00:00 +2013,9,5,1012,1020,-8,1310,1309,1,"B6",53,"N536JB","JFK","PBI",140,1028,10,20,2013-09-05 10:00:00 +2013,9,5,1039,929,70,1334,1234,60,"UA",456,"N418UA","EWR","FLL",150,1065,9,29,2013-09-05 09:00:00 +2013,9,5,1101,1105,-4,1217,1215,2,"MQ",3230,"N505MQ","JFK","DCA",49,213,11,5,2013-09-05 11:00:00 +2013,9,5,1354,1400,-6,1453,1507,-14,"US",2150,"N945UW","LGA","BOS",31,184,14,0,2013-09-05 14:00:00 +2013,9,5,1452,1500,-8,1602,1618,-16,"US",2185,"N753US","LGA","DCA",44,214,15,0,2013-09-05 15:00:00 +2013,9,5,1556,1559,-3,1742,1750,-8,"EV",3846,"N26545","EWR","AVL",90,583,15,59,2013-09-05 15:00:00 +2013,9,5,1719,1725,-6,1900,1921,-21,"EV",3850,"N13913","EWR","DAY",83,533,17,25,2013-09-05 17:00:00 +2013,9,5,1725,1730,-5,1919,1950,-31,"EV",5298,"N712EV","LGA","OMA",154,1148,17,30,2013-09-05 17:00:00 +2013,9,5,1854,1900,-6,1952,2014,-22,"US",2160,"N954UW","LGA","BOS",33,184,19,0,2013-09-05 19:00:00 +2013,9,5,2105,2108,-3,2254,2328,-34,"B6",775,"N206JB","JFK","MSY",155,1182,21,8,2013-09-05 21:00:00 +2013,9,5,2150,2049,61,2312,2232,40,"EV",4672,"N13913","EWR","STL",126,872,20,49,2013-09-05 20:00:00 +2013,9,6,610,620,-10,748,818,-30,"EV",5599,"N200PQ","EWR","MSP",141,1008,6,20,2013-09-06 06:00:00 +2013,9,6,643,640,3,746,810,-24,"WN",465,"N400WN","LGA","MKE",103,738,6,40,2013-09-06 06:00:00 +2013,9,6,726,735,-9,1030,1035,-5,"AA",2279,"N3DVAA","LGA","MIA",158,1096,7,35,2013-09-06 07:00:00 +2013,9,6,852,900,-8,1154,1158,-4,"DL",120,"N713TW","JFK","LAX",305,2475,9,0,2013-09-06 09:00:00 +2013,9,6,906,912,-6,1018,1025,-7,"B6",208,"N316JB","JFK","PWM",52,273,9,12,2013-09-06 09:00:00 +2013,9,6,1123,1120,3,1218,1235,-17,"MQ",3704,"N537MQ","EWR","ORD",100,719,11,20,2013-09-06 11:00:00 +2013,9,6,1142,1145,-3,1340,1400,-20,"DL",401,"N324NB","EWR","ATL",100,746,11,45,2013-09-06 11:00:00 +2013,9,6,1241,1247,-6,1550,1535,15,"B6",553,"N527JB","JFK","PBI",161,1028,12,47,2013-09-06 12:00:00 +2013,9,6,1253,1300,-7,1404,1415,-11,"US",2181,"N769US","LGA","DCA",41,214,13,0,2013-09-06 13:00:00 +2013,9,6,1323,1329,-6,1431,1509,-38,"AA",331,"N4XYAA","LGA","ORD",102,733,13,29,2013-09-06 13:00:00 +2013,9,6,1554,1600,-6,1659,1715,-16,"US",2154,"N948UW","LGA","BOS",40,184,16,0,2013-09-06 16:00:00 +2013,9,6,1717,1715,2,1940,2015,-35,"AA",2488,"N4WVAA","EWR","DFW",169,1372,17,15,2013-09-06 17:00:00 +2013,9,6,1732,1734,-2,1939,2000,-21,"FL",623,"N330AT","LGA","ATL",105,762,17,34,2013-09-06 17:00:00 +2013,9,6,1943,1900,43,2235,2151,44,"B6",883,"N715JB","JFK","MCO",128,944,19,0,2013-09-06 19:00:00 +2013,9,7,655,700,-5,924,945,-21,"DL",2285,"N360NB","LGA","MCO",129,950,7,0,2013-09-07 07:00:00 +2013,9,7,721,730,-9,1001,1045,-44,"VX",183,"N853VA","EWR","SFO",320,2565,7,30,2013-09-07 07:00:00 +2013,9,7,809,815,-6,1008,1037,-29,"DL",914,"N365NB","LGA","DEN",205,1620,8,15,2013-09-07 08:00:00 +2013,9,7,1112,1100,12,1212,1218,-6,"US",2177,"N944UW","LGA","DCA",39,214,11,0,2013-09-07 11:00:00 +2013,9,7,1120,1115,5,1402,1428,-26,"9E",3493,"N909XJ","LGA","SRQ",141,1047,11,15,2013-09-07 11:00:00 +2013,9,7,1122,1110,12,1237,1315,-38,"EV",5299,"N710EV","LGA","MEM",117,963,11,10,2013-09-07 11:00:00 +2013,9,7,1142,1145,-3,1340,1357,-17,"DL",401,"N320NB","EWR","ATL",96,746,11,45,2013-09-07 11:00:00 +2013,9,7,1317,1325,-8,1459,1534,-35,"EV",4417,"N16170","EWR","OMA",149,1134,13,25,2013-09-07 13:00:00 +2013,9,7,1323,1329,-6,1433,1444,-11,"MQ",3760,"N517MQ","EWR","ORD",106,719,13,29,2013-09-07 13:00:00 +2013,9,7,1357,1345,12,1649,1700,-11,"AA",1073,"N3DYAA","LGA","MIA",146,1096,13,45,2013-09-07 13:00:00 +2013,9,7,1503,1450,13,1628,1627,1,"9E",3393,"N602LR","JFK","DCA",39,213,14,50,2013-09-07 14:00:00 +2013,9,7,1755,1750,5,2015,2053,-38,"UA",535,"N560UA","JFK","LAX",301,2475,17,50,2013-09-07 17:00:00 +2013,9,7,1815,1629,106,1947,1836,71,"US",423,"N524UW","JFK","CLT",73,541,16,29,2013-09-07 16:00:00 +2013,9,7,2057,2054,3,2354,2359,-5,"B6",523,"N599JB","JFK","LAX",301,2475,20,54,2013-09-07 20:00:00 +2013,9,8,805,815,-10,932,948,-16,"9E",3317,"N931XJ","JFK","BUF",57,301,8,15,2013-09-08 08:00:00 +2013,9,8,1545,1545,0,1846,1855,-9,"DL",31,"N3769L","JFK","SLC",257,1990,15,45,2013-09-08 15:00:00 +2013,9,8,1636,1620,16,1931,1935,-4,"AA",172,"N3ELAA","EWR","MIA",139,1085,16,20,2013-09-08 16:00:00 +2013,9,8,1652,1635,17,1941,1951,-10,"B6",1801,"N537JB","JFK","FLL",137,1069,16,35,2013-09-08 16:00:00 +2013,9,8,1656,1700,-4,1842,1839,3,"UA",689,"N469UA","LGA","ORD",119,733,17,0,2013-09-08 17:00:00 +2013,9,8,1701,1700,1,1935,1955,-20,"AA",211,"N3BRAA","JFK","IAH",176,1417,17,0,2013-09-08 17:00:00 +2013,9,8,1715,1720,-5,1819,1851,-32,"EV",4109,"N10156","EWR","BNA",104,748,17,20,2013-09-08 17:00:00 +2013,9,9,845,850,-5,1111,1144,-33,"UA",1626,"N38473","EWR","SAN",301,2425,8,50,2013-09-09 08:00:00 +2013,9,9,849,835,14,947,1001,-14,"9E",3492,"N905XJ","JFK","DCA",40,213,8,35,2013-09-09 08:00:00 +2013,9,9,1223,1230,-7,1408,1405,3,"AA",329,"N468AA","LGA","ORD",106,733,12,30,2013-09-09 12:00:00 +2013,9,9,1444,1352,52,1537,1453,44,"EV",4201,"N19554","EWR","MHT",37,209,13,52,2013-09-09 13:00:00 +2013,9,9,1542,1550,-8,1800,1818,-18,"9E",3488,"N922XJ","LGA","MCI",145,1107,15,50,2013-09-09 15:00:00 +2013,9,9,1619,1625,-6,1726,1743,-17,"EV",4473,"N11544","EWR","ROC",43,246,16,25,2013-09-09 16:00:00 +2013,9,9,1747,1759,-12,2015,2052,-37,"B6",299,"N623JB","LGA","MCO",120,950,17,59,2013-09-09 17:00:00 +2013,9,9,1818,1820,-2,2013,2041,-28,"9E",4245,"N834AY","JFK","CHS",86,636,18,20,2013-09-09 18:00:00 +2013,9,9,1937,1930,7,2216,2244,-28,"UA",1224,"N24224","EWR","LAX",311,2454,19,30,2013-09-09 19:00:00 +2013,9,9,1956,2000,-4,2138,2211,-33,"EV",4361,"N13964","EWR","TYS",84,631,20,0,2013-09-09 20:00:00 +2013,9,9,2026,2029,-3,2255,2331,-36,"UA",1615,"N35407","EWR","AUS",186,1504,20,29,2013-09-09 20:00:00 +2013,9,10,635,639,-4,833,852,-19,"EV",4122,"N15980","EWR","SDF",94,642,6,39,2013-09-10 06:00:00 +2013,9,10,637,645,-8,906,938,-32,"B6",525,"N503JB","JFK","TPA",133,1005,6,45,2013-09-10 06:00:00 +2013,9,10,739,746,-7,928,943,-15,"B6",1273,"N317JB","JFK","CHS",85,636,7,46,2013-09-10 07:00:00 +2013,9,10,812,817,-5,1103,1127,-24,"B6",929,"N643JB","JFK","RSW",145,1074,8,17,2013-09-10 08:00:00 +2013,9,10,929,929,0,1128,1129,-1,"MQ",3565,"N534MQ","LGA","CLT",73,544,9,29,2013-09-10 09:00:00 +2013,9,10,945,1000,-15,1402,1445,-43,"HA",51,"N383HA","JFK","HNL",601,4983,10,0,2013-09-10 10:00:00 +2013,9,10,1535,1540,-5,1825,1901,-36,"DL",2280,"N909DE","JFK","FLL",144,1069,15,40,2013-09-10 15:00:00 +2013,9,10,1552,1600,-8,1846,1905,-19,"AA",1156,"N3JJAA","LGA","DFW",185,1389,16,0,2013-09-10 16:00:00 +2013,9,10,1557,1545,12,1708,1733,-25,"9E",3459,"N908XJ","JFK","BNA",99,765,15,45,2013-09-10 15:00:00 +2013,9,10,1803,1648,75,2028,1919,69,"EV",4705,"N13123","EWR","ATL",106,746,16,48,2013-09-10 16:00:00 +2013,9,10,1948,2000,-12,2055,2114,-19,"US",2162,"N955UW","LGA","BOS",41,184,20,0,2013-09-10 20:00:00 +2013,9,10,2158,2205,-7,2310,2331,-21,"EV",5311,"N612QX","LGA","BGR",55,378,22,5,2013-09-10 22:00:00 +2013,9,11,15,2245,90,111,2351,80,"B6",1816,"N284JB","JFK","SYR",39,209,22,45,2013-09-11 22:00:00 +2013,9,11,634,640,-6,825,910,-45,"US",621,"N523UW","JFK","PHX",274,2153,6,40,2013-09-11 06:00:00 +2013,9,11,702,710,-8,1002,1025,-23,"AA",1345,"N332AA","JFK","MIA",147,1089,7,10,2013-09-11 07:00:00 +2013,9,11,712,730,-18,946,1045,-59,"VX",183,"N852VA","EWR","SFO",318,2565,7,30,2013-09-11 07:00:00 +2013,9,11,845,850,-5,1102,1108,-6,"UA",1643,"N67134","EWR","DEN",221,1605,8,50,2013-09-11 08:00:00 +2013,9,11,1241,1245,-4,1433,1444,-11,"DL",1131,"N345NW","LGA","DTW",91,502,12,45,2013-09-11 12:00:00 +2013,9,11,1322,1329,-7,1606,1625,-19,"UA",464,"N830UA","EWR","PBI",146,1023,13,29,2013-09-11 13:00:00 +2013,9,11,1331,1325,6,1558,1545,13,"F9",507,"N216FR","LGA","DEN",223,1620,13,25,2013-09-11 13:00:00 +2013,9,11,1455,1455,0,1704,1718,-14,"B6",575,"N317JB","JFK","MSY",153,1182,14,55,2013-09-11 14:00:00 +2013,9,11,1459,1505,-6,1701,1701,0,"EV",4326,"N11184","EWR","CLT",83,529,15,5,2013-09-11 15:00:00 +2013,9,11,1553,1600,-7,1837,1905,-28,"AA",1156,"N3KTAA","LGA","DFW",191,1389,16,0,2013-09-11 16:00:00 +2013,9,11,1639,1627,12,1752,1754,-2,"EV",6101,"N16561","LGA","IAD",43,229,16,27,2013-09-11 16:00:00 +2013,9,12,902,910,-8,1109,1104,5,"DL",1152,"N359NB","EWR","DTW",87,488,9,10,2013-09-12 09:00:00 +2013,9,12,907,910,-3,1206,1215,-9,"AA",1121,"N3DCAA","LGA","DFW",180,1389,9,10,2013-09-12 09:00:00 +2013,9,12,954,1000,-6,1218,1133,45,"FL",353,"N928AT","LGA","CAK",64,397,10,0,2013-09-12 10:00:00 +2013,9,12,1419,1415,4,NA,1550,NA,"AA",1170,"N592AA","LGA","STL",NA,888,14,15,2013-09-12 14:00:00 +2013,9,12,1557,1529,28,NA,1742,NA,"EV",4684,"N14977","EWR","SDF",NA,642,15,29,2013-09-12 15:00:00 +2013,9,12,1657,1659,-2,NA,2006,NA,"UA",1078,"N76516","EWR","SAT",NA,1569,16,59,2013-09-12 16:00:00 +2013,9,12,NA,1520,NA,NA,1705,NA,"AA",341,"N4YAAA","LGA","ORD",NA,733,15,20,2013-09-12 15:00:00 +2013,9,13,616,610,6,724,725,-1,"WN",249,"N915WN","EWR","MDW",110,711,6,10,2013-09-13 06:00:00 +2013,9,13,756,800,-4,1010,1020,-10,"DL",1743,"N3773D","JFK","ATL",104,760,8,0,2013-09-13 08:00:00 +2013,9,13,1005,1005,0,1213,1214,-1,"DL",2319,"N911DE","LGA","MSP",139,1020,10,5,2013-09-13 10:00:00 +2013,9,13,1252,1115,97,1627,1428,119,"9E",3493,"N914XJ","LGA","SRQ",153,1047,11,15,2013-09-13 11:00:00 +2013,9,13,1319,1059,140,1558,1254,184,"MQ",3281,"N724MQ","LGA","CMH",75,479,10,59,2013-09-13 10:00:00 +2013,9,13,1342,1345,-3,1509,1523,-14,"EV",4552,"N48901","EWR","GSO",74,445,13,45,2013-09-13 13:00:00 +2013,9,13,1446,1450,-4,1724,1744,-20,"UA",1200,"N15710","EWR","SAN",320,2425,14,50,2013-09-13 14:00:00 +2013,9,13,1457,1459,-2,1755,1734,21,"DL",2347,"N913DL","LGA","ATL",112,762,14,59,2013-09-13 14:00:00 +2013,9,13,1513,1520,-7,1708,1705,3,"AA",341,"N554AA","LGA","ORD",113,733,15,20,2013-09-13 15:00:00 +2013,9,13,1842,1841,1,2006,2010,-4,"B6",2202,"N197JB","JFK","BUF",59,301,18,41,2013-09-13 18:00:00 +2013,9,13,2033,1935,58,2333,2250,43,"AA",2437,"N3EWAA","LGA","MIA",154,1096,19,35,2013-09-13 19:00:00 +2013,9,13,NA,630,NA,NA,833,NA,"EV",4535,"N27200","EWR","MSP",NA,1008,6,30,2013-09-13 06:00:00 +2013,9,14,524,530,-6,736,808,-32,"UA",1441,"N74856","EWR","IAH",167,1400,5,30,2013-09-14 05:00:00 +2013,9,14,730,735,-5,923,950,-27,"WN",849,"N244WN","EWR","MSY",158,1167,7,35,2013-09-14 07:00:00 +2013,9,14,1326,1325,1,1551,1625,-34,"WN",3133,"N421LV","EWR","AUS",191,1504,13,25,2013-09-14 13:00:00 +2013,9,14,1805,1815,-10,2048,2135,-47,"AA",1611,"N3GKAA","LGA","MIA",142,1096,18,15,2013-09-14 18:00:00 +2013,9,15,658,700,-2,817,835,-18,"WN",329,"N290WN","EWR","STL",125,872,7,0,2013-09-15 07:00:00 +2013,9,15,758,635,83,930,833,57,"US",2023,"N564UW","EWR","CLT",74,529,6,35,2013-09-15 06:00:00 +2013,9,15,830,830,0,1009,1030,-21,"DL",2119,"N322US","LGA","MSP",144,1020,8,30,2013-09-15 08:00:00 +2013,9,15,1227,1235,-8,1445,1503,-18,"UA",1605,"N26208","EWR","LAS",296,2227,12,35,2013-09-15 12:00:00 +2013,9,15,1302,1312,-10,1601,1624,-23,"B6",1639,"N621JB","LGA","RSW",152,1080,13,12,2013-09-15 13:00:00 +2013,9,15,1447,1455,-8,1551,1634,-43,"9E",3393,"N922XJ","JFK","DCA",46,213,14,55,2013-09-15 14:00:00 +2013,9,15,1637,1645,-8,1755,1820,-25,"MQ",3216,"N642MQ","JFK","ORF",53,290,16,45,2013-09-15 16:00:00 +2013,9,15,1651,1655,-4,1823,1845,-22,"AA",2223,"N200AA","LGA","STL",128,888,16,55,2013-09-15 16:00:00 +2013,9,15,1712,1715,-3,1909,1905,4,"AA",345,"N494AA","LGA","ORD",117,733,17,15,2013-09-15 17:00:00 +2013,9,15,1807,1810,-3,2044,2007,37,"EV",4278,"N11547","EWR","CAE",89,602,18,10,2013-09-15 18:00:00 +2013,9,15,1837,1830,7,1958,1950,8,"MQ",3486,"N522MQ","LGA","BNA",105,764,18,30,2013-09-15 18:00:00 diff --git a/radiant.data/tests/testthat/data/jpeg_example.jpeg b/radiant.data/tests/testthat/data/jpeg_example.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..766b8a92dbefe8ff1998e419991fc1bdb7b68efe GIT binary patch literal 9622 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 XPqLN2K79T4;G6#s_Kme9#B%}wO{yZU literal 0 HcmV?d00001 diff --git a/radiant.data/tests/testthat/data/sql_example.sql b/radiant.data/tests/testthat/data/sql_example.sql new file mode 100644 index 0000000..000de66 --- /dev/null +++ b/radiant.data/tests/testthat/data/sql_example.sql @@ -0,0 +1 @@ +SELECT * FROM sleep diff --git a/radiant.data/tests/testthat/data/sqlite_example.sqlite b/radiant.data/tests/testthat/data/sqlite_example.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..a63cb4a7ce50c5924d22cfb47cb92ab40c5e0c70 GIT binary patch literal 193536 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 XnP@2BUWNgvvyLvHd}iX_k2A3wm#yTaWm=B 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 t!~ZbIKW^o(yZ`Hn`p52 "3.4.4") c("keepNA", "niceNames") else "keepNA" + expect_equal(deparse(list(dec = 4L, b = "a"), control = dctrl), "list(dec = 4, b = \"a\")") +}) + +context("Radiant functions") + +test_that("set_attr", { + foo <- . %>% set_attr("foo", "something") + expect_equal(3 %>% foo() %>% attr("foo"), "something") +}) + +test_that("add_class", { + foo <- . %>% + .^2 %>% + add_class("foo") + expect_equal(3 %>% foo() %>% class(), c("foo", "numeric")) +}) + +test_that("sig_star", { + sig_stars(c(.0009, .049, .009, .4, .09)) %>% + expect_equal(c("***", "*", "**", "", ".")) +}) + +test_that("sshh", { + expect_equal(sshh(c(message("should be null"), test = 3)), NULL) + expect_equal(sshh(warning("should be null")), NULL) +}) + +test_that("sshhr", { + test <- 3 %>% set_names("test") + expect_equal(sshhr(c(message("should be null"), test = 3)), test) + expect_equal(sshhr(c(warning("should be null"), test = 3)), c("should be null", test)) +}) + +test_that("get_data", { + res1 <- get_data(mtcars, "mpg:disp", filt = "mpg > 20", rows = 1:5) + rownames(res1) <- seq_len(nrow(res1)) + res2 <- mtcars[mtcars$mpg > 20, c("mpg", "cyl", "disp")][1:5, 1:3] + rownames(res2) <- seq_len(nrow(res2)) + expect_equal(res1, res2) +}) + +test_that("get_class", { + expect_equal(get_class(diamonds), sapply(diamonds, class) %>% tolower()) +}) + +test_that("is.empty(", { + expect_true(is.empty("")) + expect_true(is.empty(NULL)) + expect_true(is.empty(NA)) + expect_false(is.empty(3)) + expect_true(is.empty(c())) + expect_true(is.empty("nothing", empty = "nothing")) +}) + +test_that("select column", { + dataset <- get_data(diamonds, vars = "price:clarity") + expect_equal(colnames(dataset), c("price", "carat", "clarity")) +}) + +test_that("select character vector", { + dataset <- get_data(diamonds, vars = c("price", "carat", "clarity")) + expect_equal(colnames(dataset), c("price", "carat", "clarity")) +}) + +test_that("filter", { + dataset <- get_data(diamonds, filt = "cut == 'Very Good'") + expect_equal(nrow(dataset), 677) +}) + +test_that("filter_data", { + dataset <- filter_data(diamonds, filt = "cut == 'Very Good' & price > 5000") + expect_equal(nrow(dataset), 187) + expect_equal(sum(dataset$price), 1700078) +}) + +test_that("filter_data factor", { + dataset <- filter_data(diamonds, filt = "clarity %in% c('SI2','SI1') & price > 18000") + expect_equal(nrow(dataset), 14) + expect_equal(sum(dataset$price), 256587) +}) + +context("Explore") + +test_that("explore 8 x 2", { + result <- explore(diamonds, "price:x") + expect_equal(colnames(result$tab), c("variable", "mean", "sd")) + # dput(result) + expect_equal(result, structure(list( + tab = structure(list( + variable = structure(1:8, + .Label = c("price", "carat", "clarity", "cut", "color", "depth", "table", "x"), class = "factor" + ), + mean = c( + 3907.186, 0.794283333333333, 0.0133333333333333, + 0.0336666666666667, 0.127333333333333, 61.7526666666667, + 57.4653333333333, 5.72182333333333 + ), sd = c( + 3956.91540005997, + 0.473826329139292, 0.114716791286006, 0.180399751234967, + 0.333401571319236, 1.44602785395269, 2.24110219949434, 1.12405453974662 + ) + ), class = "data.frame", row.names = c(NA, -8L), radiant_nrow = 8L), + df_name = "diamonds", vars = c( + "price", "carat", "clarity", + "cut", "color", "depth", "table", "x" + ), byvar = NULL, fun = c( + "mean", + "sd" + ), top = "fun", tabfilt = "", tabsort = "", tabslice = "", + nr = Inf, data_filter = "", arr = "", rows = NULL + ), class = c("explore", "list"))) +}) + +test_that("explore 1 x 2", { + result <- explore(diamonds, "price") + expect_equal(result, structure(list( + tab = structure(list( + variable = structure(1L, .Label = "price", class = "factor"), + mean = 3907.186, sd = 3956.91540005997 + ), class = "data.frame", row.names = c( + NA, + -1L + ), radiant_nrow = 1L), df_name = "diamonds", vars = "price", byvar = NULL, + fun = c("mean", "sd"), top = "fun", tabfilt = "", tabsort = "", tabslice = "", + nr = Inf, data_filter = "", arr = "", rows = NULL + ), class = c( + "explore", + "list" + ))) +}) + +test_that("explore 1 x 1", { + result <- explore(diamonds, "price", fun = "n_obs") + expect_equal(colnames(result$tab), c("variable", "n_obs")) +}) + +test_that("explore 1 x 1 x 1", { + result <- explore(diamonds, "price", byvar = "color", fun = "n_obs") + expect_equal(colnames(result$tab), c("color", "variable", "n_obs")) +}) + +test_that("explore 1 x 1 x 2", { + result <- explore(diamonds, "price", byvar = c("color", "cut"), fun = "n_obs") + expect_equal(colnames(result$tab), c("color", "cut", "variable", "n_obs")) + expect_equal(result$tab[1, ], structure(list( + color = structure(1L, .Label = c( + "D", "E", "F", + "G", "H", "I", "J" + ), class = "factor"), cut = structure(1L, .Label = c( + "Fair", + "Good", "Very Good", "Premium", "Ideal" + ), class = "factor"), + variable = structure(1L, .Label = "price", class = "factor"), + n_obs = 15L + ), radiant_nrow = 35L, row.names = 1L, class = "data.frame")) +}) + +test_that("explore 2 x 2 x 2", { + result <- explore(diamonds, c("price", "carat"), byvar = c("color", "cut"), fun = c("n_obs", "mean")) + expect_equal(colnames(result$tab), c("color", "cut", "variable", "n_obs", "mean")) +}) + +test_that("transform ts", { + input <- list( + tr_ts_start_year = 1971, + tr_ts_start_period = 1, + tr_ts_end_year = NA, + tr_ts_end_period = NA, + tr_ts_frequency = 52 + ) + tr_ts <- list( + start = c(input$tr_ts_start_year, input$tr_ts_start_period), + end = c(input$tr_ts_end_year, input$tr_ts_end_period), + frequency = input$tr_ts_frequency + ) + tr_ts <- lapply(tr_ts, function(x) x[!is.na(x)]) %>% + { + .[sapply(., length) > 0] + } + dat <- do.call(mutate_at, c(list(.tbl = mtcars, .vars = c("mpg", "cyl")), .funs = ts, tr_ts)) + + expect_equal(dat$mpg, ts(mtcars$mpg, start = c(1971, 1), frequency = 52)) + expect_equal(dat$cyl, ts(mtcars$cyl, start = c(1971, 1), frequency = 52)) + + dctrl <- if (getRversion() > "3.4.4") c("keepNA", "niceNames") else "keepNA" + + tr_ts <- deparse(tr_ts, control = dctrl, width.cutoff = 500L) %>% + sub("list\\(", ", ", .) %>% + sub("\\)$", "", .) + + expect_equal(tr_ts, ", start = c(1971, 1), frequency = 52") +}) + +## 'manual' testing of read_files to avoid adding numerous dataset to package +# files <- list.files("tests/testthat/data", full.names = TRUE) +# for (f in files) { +# radiant.data::read_files(f, type = "rmd", clipboard = FALSE) +# radiant.data::read_files(f, type = "r", clipboard = FALSE) +# } + +## 'manual' testing with Dropbox folder +# files <- list.files("~/Dropbox/radiant.data/data", full.names = TRUE) +# for (f in files) { +# radiant.data::read_files(f, type = "rmd", clipboard = FALSE) +# radiant.data::read_files(f, type = "r", clipboard = FALSE) +# } + +## 'manual' testing with Google Drive folder +# files <- list.files("~/Google Drive/radiant.data/data", full.names = TRUE) +# for (f in files) { +# radiant.data::read_files(f, type = "rmd", clipboard = FALSE) +# radiant.data::read_files(f, type = "r", clipboard = FALSE) +# } + +## load code into clipboard +# radiant.data::read_files(type = "r") +# radiant.data::read_files(type = "rmd") \ No newline at end of file diff --git a/radiant.data/vignettes/pkgdown/_combine.Rmd b/radiant.data/vignettes/pkgdown/_combine.Rmd new file mode 100644 index 0000000..8bb9c11 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_combine.Rmd @@ -0,0 +1,314 @@ +> Combine two datasets + +There are six _join_ (or _merge_) options available in Radiant from the
    dplyr package developed by Hadley Wickham et.al. + +The examples below are adapted from the Cheatsheet for dplyr join functions by Jenny Bryan and focus on three small datasets, `superheroes`, `publishers`, and `avengers`, to illustrate the different _join_ types and other ways to combine datasets in R and Radiant. The data are also available in csv format through the links below: + +* superheroes.csv +* publishers.csv +* avengers.csv + +```{r results = 'asis', echo = FALSE} +tab_small <- "class='table table-condensed table-hover' style='width:30%;'" +tab_big <- "class='table table-condensed table-hover' style='width:70%;'" +data(superheroes, package = "radiant.data", envir = environment()) +knitr::kable( + superheroes, align = 'l', format = 'html', + caption = "Superheroes", table.attr = tab_big +) +``` + +```{r results = 'asis', echo = FALSE} +data(publishers, package = "radiant.data", envir = environment()) +knitr::kable( + publishers, align = 'l', format = 'html', + caption = "Publishers", table.attr = tab_small +) +``` + +In the screen-shot of the _Data > Combine_ tab below we see the two datasets. The tables share the variable _publisher_ which is automatically selected for the join. Different join options are available from the `Combine type` dropdown. You can also specify a name for the combined dataset in the `Combined dataset` text input box. + +

    + +
    + +### Inner join (superheroes, publishers) + +If x = superheroes and y = publishers: + +> An inner join returns all rows from x with matching values in y, and all columns from both x and y. If there are multiple matches between x and y, all match combinations are returned. + +```{r results = 'asis', echo = FALSE} +dplyr::inner_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +In the table above we lose _Hellboy_ because, although this hero does appear in `superheroes`, the publisher (_Dark Horse Comics_) does not appear in `publishers`. The join result has all variables from `superheroes`, plus _yr\_founded_, from `publishers`. We can visualize an inner join with the venn-diagram below: + +

    + +The R(adiant) commands are: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "inner_join") + +# R +inner_join(superheroes, publishers, by = "publisher") +``` + +
    + +### Left join (superheroes, publishers) + +> A left join returns all rows from x, and all columns from x and y. If there are multiple matches between x and y, all match combinations are returned. + +```{r results = 'asis', echo = FALSE} +dplyr::left_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +The join result contains `superheroes` with variable `yr_founded` from `publishers`. _Hellboy_, whose publisher does not appear in `publishers`, has an `NA` for _yr_founded_. We can visualize a left join with the venn-diagram below: + +

    + +The R(adiant) commands are: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "left_join") + +# R +left_join(superheroes, publishers, by = "publisher") +``` + +
    + +### Right join (superheroes, publishers) + +> A right join returns all rows from y, and all columns from y and x. If there are multiple matches between y and x, all match combinations are returned. + +```{r results = 'asis', echo = FALSE} +dplyr::right_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +The join result contains all rows and columns from `publishers` and all variables from `superheroes`. We lose _Hellboy_, whose publisher does not appear in `publishers`. _Image_ is retained in the table but has `NA` values for the variables _name_, _alignment_, and _gender_ from `superheroes`. Notice that a join can change both the row and variable order so you should not rely on these in your analysis. We can visualize a right join with the venn-diagram below: + +

    + +The R(adiant) commands are: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "right_join") + +# R +right_join(superheroes, publishers, by = "publisher") +``` + +
    + +### Full join (superheroes, publishers) + +> A full join combines two datasets, keeping rows and columns that appear in either. + +```{r results = 'asis', echo = FALSE} +dplyr::full_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +In this table we keep _Hellboy_ (even though _Dark Horse Comics_ is not in `publishers`) and _Image_ (even though the publisher is not listed in `superheroes`) and get variables from both datasets. Observations without a match are assigned the value NA for variables from the _other_ dataset. We can visualize a full join with the venn-diagram below: + +

    + +The R(adiant) commands are: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "full_join") + +# R +full_join(superheroes, publishers, by = "publisher") +``` + +### Semi join (superheroes, publishers) + +> A semi join keeps only columns from x. Whereas an inner join will return one row of x for each matching row of y, a semi join will never duplicate rows of x. + +```{r results = 'asis', echo = FALSE} +dplyr::semi_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +We get a similar table as with `inner_join` but it contains only the variables in `superheroes`. The R(adiant) commands are: + +```r +# Radiant +combine_data(superheroes, publishers, by = "publisher", type = "semi_join") + +# R +semi_join(superheroes, publishers, by = "publisher") +``` + +
    + +### Anti join (superheroes, publishers) + +> An anti join returns all rows from x without matching values in y, keeping only columns from x + +```{r results = 'asis', echo = FALSE} +dplyr::anti_join(superheroes, publishers, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +We now get **only** _Hellboy_, the only superhero not in `publishers` and we do not get the variable _yr\_founded_ either. We can visualize an anti join with the venn-diagram below: + +

    + +
    + +### Dataset order + +Note that the order of the datasets selected may matter for a join. If we setup the _Data > Combine_ tab as below the results are as follows: + +

    + +
    + +### Inner join (publishers, superheroes) + +```{r results = 'asis', echo = FALSE} +dplyr::inner_join(publishers, superheroes, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +Every publisher that has a match in `superheroes` appears multiple times, once for each match. Apart from variable and row order, this is the same result we had for the inner join shown above. + +
    + +### Left and Right join (publishers, superheroes) + +Apart from row and variable order, a left join of `publishers` and `superheroes` is equivalent to a right join of `superheroes` and `publishers`. Similarly, a right join of `publishers` and `superheroes` is equivalent to a left join of `superheroes` and `publishers`. + +
    + +### Full join (publishers, superheroes) + +As you might expect, apart from row and variable order, a full join of `publishers` and `superheroes` is equivalent to a full join of `superheroes` and `publishers`. + +
    + +### Semi join (publishers, superheroes) + +```{r results = 'asis', echo = FALSE} +dplyr::semi_join(publishers, superheroes, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_small) +``` + +With semi join the effect of switching the dataset order is more clear. Even though there are multiple matches for each publisher only one is shown. Contrast this with an inner join where "If there are multiple matches between x and y, all match combinations are returned." We see that publisher _Image_ is lost in the table because it is not in `superheroes`. + +
    + +### Anti join (publishers, superheroes) + +```{r results = 'asis', echo = FALSE} +dplyr::anti_join(publishers, superheroes, by = "publisher") %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_small) +``` + +Only publisher _Image_ is retained because both _Marvel_ and _DC_ are in `superheroes`. We keep only variables in `publishers`. + +
    + +### Additional tools to combine datasets (avengers, superheroes) + +When two datasets have the same columns (or rows) there are additional ways in which we can combine them into a new dataset. We have already used the `superheroes` dataset and will now try to combine it with the `avengers` data. These two datasets have the same number of rows and columns and the columns have the same names. + +In the screen-shot of the _Data > Combine_ tab below we see the two datasets. There is no need to select variables to combine the datasets here. Any variables in `Select variables` are ignored in the commands below. Again, you can specify a name for the combined dataset in the `Combined dataset` text input box. + +

    + +
    + +### Bind rows + +```{r results = 'asis', echo = FALSE} +data(avengers, package = "radiant.data", envir = environment()) +dplyr::bind_rows(avengers, superheroes) %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +If the `avengers` dataset were meant to extend the list of superheroes we could just stack the two datasets, one below the other. The new datasets has 14 rows and 4 columns. Due to a coding error in the `avengers` dataset (i.e.., _Magneto_ is *not* an _Avenger_) there is a duplicate row in the new combined dataset. Something we probably don't want. + +The R(adiant) commands are: + +```r +# Radiant +combine_data(avengers, superheroes, type = "bind_rows") + +# R +bind_rows(avengers, superheroes) +``` + +
    + +### Bind columns + +```{r results = 'asis', echo = FALSE} +dplyr::bind_cols(avengers, superheroes) %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +If the dataset had different columns for the same superheroes we could combine the two datasets, side by side. In radiant you will see an error message if you try to bind these columns because they have the same name. Something that we should always avoid. The method can be useful if we *know* the order of the row ids of two dataset are the same but the columns are all different. + +
    + +### Intersect + +```{r results = 'asis', echo = FALSE} +dplyr::intersect(avengers, superheroes) %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +A good way to check if two datasets with the same columns have duplicate rows is to choose `intersect` from the `Combine type` dropdown. There is indeed one row that is identical in the `avengers` and `superheroes` data (i.e., _Magneto_). + +The R(adiant) commands are the same as shown above, except you will need to replace `bind_rows` by `intersect`. + +
    + +### Union + +```{r results = 'asis', echo = FALSE} +dplyr::union(avengers, superheroes) %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +A `union` of `avengers` and `superheroes` will combine the datasets but will omit duplicate rows (i.e., it will keep only one _copy_ of the row for _Magneto_). Likely what we want here. + +The R(adiant) commands are the same as shown above, except you will need to replace `bind_rows` by `union`. + +
    + +### Setdiff + +```{r results = 'asis', echo = FALSE} +dplyr::setdiff(avengers, superheroes) %>% + knitr::kable(., align = 'l', format = 'html', table.attr = tab_big) +``` + +Finally, a `setdiff` will keep rows from `avengers` that are _not_ in `superheroes`. If we reverse the inputs (i.e., choose `superheroes` from the `Datasets` dropdown and `superheroes` from the `Combine with` dropdown) we will end up with all rows from `superheroes` that are not in `avengers`. In both cases the entry for _Magneto_ will be omitted. + +The R(adiant) commands are the same as shown above, except you will need to replace `bind_rows` by `setdiff`. + +
    + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the combined dataset by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +For additional discussion see the chapter on relational data in R for data science and Tidy Explain + +### R-functions + +For help with the `combine_data` function see _Data > Combine_ diff --git a/radiant.data/vignettes/pkgdown/_explore.Rmd b/radiant.data/vignettes/pkgdown/_explore.Rmd new file mode 100644 index 0000000..0d21001 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_explore.Rmd @@ -0,0 +1,41 @@ +> Summarize and explore your data + +Generate summary statistics for one or more variables in your data. The most powerful feature in _Data > Explore_ is that you can easily describe the data _by_ one or more other variables. Where the _Data > Pivot_ tab works best for frequency tables and to summarize a single numeric variable, the _Data > Explore_ tab allows you to summarize multiple variables at the same time using various statistics. + +For example, if we select `price` from the `diamonds` dataset and click the `Create table` button we can see the number of observations (n), the mean, the variance, etc. However, the mean price for each clarity level of the diamond can also be easily provided by choosing `clarity` as the `Group by` variable. + +> Note that when a categorical variable (`factor`) is selected from the `Numeric variable(s)` dropdown menu it will be converted to a numeric variable if required for the selected function. If the factor levels are numeric these will be used in all calculations. Since the mean, standard deviation, etc. are not relevant for non-binary categorical variables, these will be converted to 0-1 (binary) variables where the first level is coded as 1 and all other levels as 0. + +The created summary table can be stored in Radiant by clicking the `Store` button. This can be useful if you want to create plots of the summarized data in _Data > Visualize_. To download the table to _csv_ format click the download icon on the top-right. + +You can select options from `Column header` dropdown to switch between different column headers. Select either `Function` (e.g., mean, median, etc), `Variable` (e.g., price, carat, etc), or the levels of the (first) `Group by` variable (e.g., Fair-Ideal). + +

    + +## Functions + +Below you will find a brief description of several functions available from the `Apply function(s)` dropdown menu. Most functions, however, will be self-explanatory. + +* `n` calculates the number of observations, or rows, in the data or in a group if a `Group by` variable has been selected (`n` uses the `length` function in R) +* `n_distinct` calculates the number of distinct values +* `n_missing` calculates the number of missing values +* `cv` is the coefficient of variation (i.e., mean(x) / sd(x)) +* `sd` and `var` calculate the sample standard deviation and variance for numeric data +* `me` calculates the margin of error for a numeric variable using a 95% confidence level +* `prop` calculates a proportion. For a variable with only values 0 or 1 this is equivalent to `mean`. For other numeric variables it captures the occurrence of the maximum value. +For a `factor` it captures the occurrence of the first level. +* `sdprop` and `varprop` calculate the sample standard deviation and variance for a proportion +* `meprop` calculates the margin of error for a proportion using a 95% confidence level +* `sdpop` and `varpop` calculate the population standard deviation and variance + +### Filter data + +Use the `Filter data` box to select (or omit) specific sets of rows from the data. See the helpfile for _Data > View_ for details. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the summary table by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### R-functions + +For an overview of related R-functions used by Radiant to summarize and explore data see _Data > Explore_ diff --git a/radiant.data/vignettes/pkgdown/_footer.md b/radiant.data/vignettes/pkgdown/_footer.md new file mode 100644 index 0000000..c9f6da4 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_footer.md @@ -0,0 +1,2 @@ + +© Vincent Nijs (2023) Creative Commons License diff --git a/radiant.data/vignettes/pkgdown/_manage.Rmd b/radiant.data/vignettes/pkgdown/_manage.Rmd new file mode 100644 index 0000000..740d66c --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_manage.Rmd @@ -0,0 +1,57 @@ +> Manage data and state: Load data into Radiant, Save data to disk, Remove a dataset from memory, or Save/Load the state of the app + +### Datasets + +When you first start Radiant a dataset (`diamonds`) with information on diamond prices is shown. + +It is good practice to add a description of the data and variables to each file you use. For the files that are bundled with Radiant you will see a brief overview of the variables etc. below a table of the first 10 rows of the data. To add a description for your own data click the `Add/edit data description` check-box. A text-input box will open below the table where you can add text in +markdown format. The description provided for the `diamonds` data included with Radiant should serve as a good example. After adding or editing a description click the `Update description` button. + +To rename a dataset loaded in Radiant click the `Rename data` check box, enter a new name, and click the `Rename` button + +### Load data + +The best way to load and save data for use in Radiant (and R) is to use the R-data format (rds or rda). These are binary files that can be stored compactly and read into R quickly. Select `rds` (or `rda`) from the `Load data of type` dropdown and click `Browse` to locate the file(s) you want to load on your computer. + +You can get data from a spreadsheet (e.g., Excel or Google sheets) into Radiant in two ways. First, you can save data from the spreadsheet in csv format and then, in Radiant, choose `csv` from the `Load data of type` dropdown. Most likely you will have a header row in the csv file with variable names. If the data are not comma separated you can choose semicolon or tab separated. To load a csv file click 'Browse' and locate the file on your computer. + +Alternatively, you can select and copy the data in the spreadsheet using CTRL-C (or CMD-C on mac), go to Radiant, choose `clipboard` from the `Load data of type` dropdown, and click the `Paste` button. This is a short-cut that can be convenient for smaller datasets that are cleanly formatted. + +If the data is available in R's global workspace (e.g., you opened a data set in Rstudio and then started Radiant from the `addins` menu) you can move (or copy) it to Radiant by selecting `from global workspace`. Select the data.frame(s) you want to use and click the `Load` button. + +To access all data files bundled with Radiant choose `examples` from the `Load data of type` dropdown and then click the `Load` button. These files are used to illustrate the various data and analysis tools accessible in Radiant. For example, the `avengers` and `publishers` data are used to illustrate how to combine data in R(adiant) (i.e., _Data > Combine_). + +If `csv` data is available online choose `csv (url)` from the dropdown, paste the url into the text input shown, and press `Load`. If an `rda` file is available online choose `rda (url)` from the dropdown, paste the url into the text input, and press `Load`. + +### Save data + +As mentioned above, the most convenient way to get data in and out of Radiant is to use the R-data format (rds or rda). Choose `rds` (or `rda`) from the `Save data to type` dropdown and click the `Save` button to save the selected dataset to file. + +Again, it is good practice to add a description of the data and variables to each file you use. To add a description for your own data click the 'Add/edit data description' check-box, add text to the text-input window shown in +markdown format, and then click the `Update description` button. When you save the data as an rds (or rda) file the description you created (or edited) will automatically be added to the file as an `attribute`. + +Getting data from Radiant into a spreadsheet can be achieved in two ways. First, you can save data in csv format and load the file into the spreadsheet (i.e., choose `csv` from the `Save data to type` dropdown and click the `Save` button). Alternatively, you can copy the data from Radiant into the clipboard by choosing `clipboard` from the dropdown and clicking the `Copy` button, open the spreadsheet, and paste the data from Radiant using CTRL-V (or CMD-V on mac). + +To move or copy data from Radiant into R(studio)'s global workspace select `to global workspace` from the `Save data to type` dropdown and click the `Save` button. + +### Save and load state + +It is convenient to work with state files if you want complete your work at another time, perhaps on another computer, or to review previous work you completed using Radiant. You can save and load the state of the Radiant app just as you would a data file. The state file (extension `.state.rda`) will contain (1) the data loaded in Radiant, (2) settings for the analyses you were working on, (3) and any reports or code from the _Report_ menu. To save the current state of the app to your hard-disk click the icon in the navbar and then click `Save radiant state file`. To load load a previous state click the icon in the navbar and the click `Load radiant state file`. + +You can also share a state file with others that would like to replicate your analyses. As an example, download and then load the state file radiant-example.state.rda as described above. You will navigate automatically to the _Data > Visualize_ tab and will see a plot. See also the _Data > View_ tab for some additional settings loaded from the state file. There is also a report in _Report > Rmd_ created using the Radiant interface. The html file radiant-example.nb.html contains the output created by clicking the `Knit report` button. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use and then click `Stop`, the `r_data` environment and the `r_info` and `r_state` lists will be put into Rstudio's global workspace. If you start radiant again from the `Addins` menu it will use `r_data`, `r_info`, and `r_state` to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant. + +Use `Refresh` in the menu in the navbar to return to a clean/new state. + +### Remove data from memory + +If data are loaded in memory that you no longer need in the current session check the `Remove data from memory` box. Then select the data to remove and click the `Remove data` button. One datafile will always remain open. + +### Using commands to load and save data + +R-code can be used in _Report > Rmd_ or _Report > R_ to load data from a file directly into the active Radiant session. Use `register("insert-dataset-name")` to add a dataset to the `Datasets` dropdown. R-code can also be used to extract data from Radiant and save it to disk. + +### R-functions + +For an overview of related R-functions used by Radiant to load and save data see _Data > Manage_ diff --git a/radiant.data/vignettes/pkgdown/_pivotr.Rmd b/radiant.data/vignettes/pkgdown/_pivotr.Rmd new file mode 100644 index 0000000..c8e0388 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_pivotr.Rmd @@ -0,0 +1,45 @@ +> Create pivot tables to explore your data + +If you have used pivot-tables in Excel the functionality provided in the _Data > Pivot_ tab should be familiar to you. Similar to the _Data > Explore_ tab, you can generate summary statistics for variables in your data. You can also generate frequency tables. Perhaps the most powerful feature in _Data > Pivot_ is that you can easily describe the data _by_ one or more other variables. + +For example, with the `diamonds` data loaded, select `clarity` and `cut` from the `Categorical variables` drop-down. The categories for the first variable will be the column headers but you can drag-and-drop the selected variables to change their ordering. After selecting these two variables, and clicking on the `Create pivot table` button, a frequency table of diamonds with different levels of clarity and quality of cut is shown. Choose `Row`, `Column`, or `Total` from the `Normalize by` drop-down to normalize cell frequencies or create an index from a summary statistic by the row, column, or overall total. If a normalize option is selected it can be convenient to check the `Percentage` box to express the numbers as percentages. Choose `Color bar` or `Heat map` from the `Conditional formatting` drop-down to emphasize the highest frequency counts. + +It is also possible to summarize numerical variables. Select `price` from the `Numeric variables` drop-down. This will create the table shown below. Just as in the _Data > View_ tab you can sort the table by clicking on the column headers. You can also use sliders (e.g., click in the input box below `I1`) to limit the view to values in a specified range. To view only information for diamonds with a `Very good`, `Premium` or `Ideal` cut click in the input box below the `cut` header. + +

    + +Below you will find a brief description of several functions available from the `Apply function` dropdown menu. Most functions, however, will be self-explanatory. + +* `n` calculates the number of observations, or rows, in the data or in a group if a `Group by` variable has been selected (`n` uses the `length` function in R) +* `n_distinct` calculates the number of distinct values +* `n_missing` calculates the number of missing values +* `cv` is the coefficient of variation (i.e., mean(x) / sd(x)) +* `sd` and `var` calculate the sample standard deviation and variance for numeric data +* `me` calculates the margin of error for a numeric variable using a 95% confidence level +* `prop` calculates a proportion. For a variable with only values 0 or 1 this is equivalent to `mean`. For other numeric variables it captures the occurrence of the maximum value. +For a `factor` it captures the occurrence of the first level. +* `sdprop` and `varprop` calculate the sample standard deviation and variance for a proportion +* `meprop` calculates the margin of error for a proportion using a 95% confidence level +* `sdpop` and `varpop` calculate the population standard deviation and variance + +You can also create a bar chart based on the generated table (see image above). To download the table in _csv_ format or the plot in _png_ format click the appropriate download icon on the right. + +> Note that when a categorical variable (`factor`) is selected from the `Numeric variable(s)` dropdown menu it will be converted to a numeric variable if required for the selected function(s). If the factor levels are numeric these will be used in all calculations. Since the mean, standard deviation, etc. are not relevant for non-binary categorical variables, these will be converted to 0-1 (binary) variables where the first level is coded as 1 and all other levels as 0. + +### Filter data + +Use the `Filter data` box to select (or omit) specific sets of rows from the data to tabulate. See the help file for _Data > View_ for details. + +### Store + +The created pivot table can be stored in Radiant by clicking the `Store` button. This can be useful if you want do additional analysis on the table or to create plots of the summarized data in _Data > Visualize_. To download the table to _csv_ format click the download icon on the top-right. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the pivot table by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +If a plot was created it can be customized using `ggplot2` commands (e.g., `plot(result) + labs(title = "Pivot graph")`). See _Data > Visualize_ for details. + +### R-functions + +For an overview of related R-functions used by Radiant to create pivot tables see _Data > Pivot_ diff --git a/radiant.data/vignettes/pkgdown/_report_r.Rmd b/radiant.data/vignettes/pkgdown/_report_r.Rmd new file mode 100644 index 0000000..ac337ee --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_report_r.Rmd @@ -0,0 +1,71 @@ +> Create a (reproducible) report using R + +The _Report > R_ tab allows you to run R-code with access to all functions and data in Radiant. By clicking the `Knit report (R)` button, the code will be evaluated and the output will be shown on the right of the _Report > R_ page. To evaluate only a part of the code use the cursor to select a section and press `CTRL-enter` (`CMD-enter` on mac). + +You can load an R-code file into Radiant by clicking the `Load report` button and selecting an .r or .R file. If you started Radiant from Rstudio you can save a report in HTML, Word, or PDF format by selecting the desired format from the drop-down menu and clicking `Save report`. To save just the code choose `R` from the dropdown and press the `Save report` button. + +If you started Radiant from Rstudio, you can also click the `Read files` button to browse for files and generate code to read it into Radiant. For example, read rda, rds, xls, yaml, and feather and add them to the `Datasets` dropdown. If the file type you want to load is not currently supported, the path to the file will be returned. The file path used will be relative to the Rstudio-project root. Paths to files synced to a local Dropbox or Google Drive folder will use the `find_dropbox` and `find_gdrive` functions to enhances reproducibility. + +As an example you can copy-and-paste the code below into the editor and press `Knit report (R)` to generate results. + +```r +## get the active dataset and show the first few observations +.get_data() %>% + head() + +## access a dataset +diamonds %>% + select(price, clarity) %>% + head() + +## add a variable to the diamonds data +diamonds <- mutate(diamonds, log_price = log(price)) + +## show the first observations in the price and log_price columns +diamonds %>% + select(price, log_price) %>% + head() + +## create a histogram of prices +diamonds %>% + ggplot(aes(x = price)) + + geom_histogram() + +## and a histogram of log-prices using radiant.data::visualize +visualize(diamonds, xvar = "log_price", custom = TRUE) + +## open help in the R-studio viewer from Radiant +help(package = "radiant.data") + +## If you are familiar with Shiny you can call reactives when the code +## is evaluated inside a Shiny app. For example, if you transformed +## some variables in Data > Transform you can call the transform_main +## reacive to see the latest result. Very useful for debugging +# transform_main() %>% head() +head() +``` + +## Options + +The editor used in _Report > Rmd_ and _Report > R_ has several options that can be set in `.Rprofile`. + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +``` + +Notes: + +* `vim.keys` enables a set of special keyboard short-cuts. If you have never used VIM you probably don't want this +* For an overview of available editor themes see: `shinyAce::getAceThemes()` +* Tabs are converted to 2 spaces by default (i.e., 'soft' tabs). You can change the number of spaces used from 2 to, for example, 4 +* `showInvisibles` shows tabs and spaces in the editor +* Autocomplete has options "live", "enabled", and "disabled" + +### R-functions + +For an overview of related R-functions used by Radiant to generate reproducible reports see _Report_ diff --git a/radiant.data/vignettes/pkgdown/_report_rmd.Rmd b/radiant.data/vignettes/pkgdown/_report_rmd.Rmd new file mode 100644 index 0000000..03423da --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_report_rmd.Rmd @@ -0,0 +1,61 @@ +> Create a (reproducible) report using Rmarkdown + +The best way to store your work in Radiant is to use the _Report > Rmd_ feature and save a state file with all your results and settings. The report feature in Radiant should be used in conjunction with the icons shown on the bottom left of your screen on most pages. + +The editor shown on the left in _Report > Rmd_ shows past commands in **R-code chunks**. These _chunks_ can include R-code you typed or R-code generated by Radiant and added to the report after clicking an icon. All code chunks start with ```` ```{r} ```` and are closed by ```` ``` ```` + +By default Radiant will add the R-code generated for the analysis you just completed to the bottom of the report. After clicking a icon Radiant will, by default, switch to the _Report > Rmd_ tab. Click inside the editor window on the left and scroll down to see the generated commands. + +If you want more control over where the R-code generated by Radiant is put into your report, choose `Manual paste` instead or `Auto paste` from the appropriate drop-down in the _Report > Rmd_ tab. When `Manual paste` is selected, the code is put into the clipboard when you click and you can paste it where you want in the editor window. + +If you started Radiant from Rstudio, you can also choose to have commands sent to an Rmarkdown (R-code) document open in Rstudio by selecting `To Rmd` (`To R`) instead of `Auto paste` or `Manual paste`. If you choose `To Rmd` the editor in _Report > Rmd_ will be hidden (i.e., "Preview only") and clicking on `Knit report (Rmd)` will source the text and code directly from Rstudio. + +By default, the app will switch to the _Report > Rmd_ tab after you click the icon. However, if you don't want to switch tabs after clicking a icon, choose `Don't switch tab` from the appropriate drop-down in the _Report > Rmd_ tab. `Don't switch tab` is the default option when you choose `To Rmd`. + +You can add text or additional commands to create an Rmarkdown document. An Rmarkdown file (extension .Rmd) is a plain text file that can be opened in Notepad (Windows), TextEdit (Mac), Rstudio, Sublime Text, or any other text editor. Please do **not** use Word to edit Rmarkdown files. + +Using Rmarkdown is extremely powerful because you can replicate your entire analysis quickly without having to generate all the required R-code again. By clicking the `Knit report (Rmd)` button on the top-left of your screen, the output from the analysis will be (re)created and shown on the right of the _Report > Rmd_ page. To evaluate only a part of the report use the cursor to select a section and press `CTRL-enter` (`CMD-enter` on mac) to create the (partial) output. + +You can add text, bullets, headers, etc. around the code chunks to describe and explain the results using markdown. For an interactive markdown tutorial visit commonmark.org. + +If you started Radiant from Rstudio you can save the report in various formats (i.e., Notebook, HTML, Word, Powerpoint, or PDF). For more on generating powerpoint presentation see https://bookdown.org/yihui/rmarkdown/powerpoint-presentation.html. To save the Rmarkdown file open in the editor select `Rmd` (or `Rmd + Data (zip)`) and press `Save report`. Previously saved Rmarkdown files can be loaded into Radiant by using the `Load report` button. For more + +You can also click the `Read files` button to browse for files and generate code to read it into Radiant. For example, read rda, rds, xls, yaml, and feather and add them to the `Datasets` dropdown. You can also read images, R-code, and text (e.g., Rmd or md) to include in your report. If the file type you want to load is not currently supported, the path to the file will be returned. If Radiant was started from an Rstudio project, the file paths used will be relative to the project root. Paths to files synced to local Dropbox or Google Drive folder will use the `find_dropbox` and `find_gdrive` functions to enhances reproducibility. + +## State + +The best way to save your analyses and settings is to save the `state` of the application to a file by clicking on the icon in the navbar and then clicking on `Save radiant state file`. The state file (extension rda) will contain (1) the data loaded in Radiant, (2) settings for the analyses you were working on, (3) and any reports or code from the _Report > Rmd_ and _Report > R_. Save the state file to your hard-disk and, when you are ready to continue, simply load it by icon in the navbar and then clicking on `Load radiant state file` + +If you are using Radiant for a class I suggest you use the _Report > Rmd_ feature to complete assignments and cases. When you are done, generate an (HTML) Notebook (or Word or PDF) report by clicking the `Save report` button. Submit both the report and your state file. + +## Options + +The editor used in _Report > Rmd_ and _Report > R_ has several options that can be set in `.Rprofile`. You can use `usethis::edit_r_profile()` to alter the settings in .Rprofile + +```r +options(radiant.ace_vim.keys = FALSE) +options(radiant.ace_theme = "cobalt") +options(radiant.ace_tabSize = 2) +options(radiant.ace_useSoftTabs = TRUE) +options(radiant.ace_showInvisibles = TRUE) +options(radiant.ace_autoComplete = "live") +options(radiant.powerpoint_style = "~/Dropbox/rmd-styles/style.potx") +options(radiant.word_style = "~/Dropbox/rmd-styles/style.docx") +options(radiant.theme = bslib::bs_theme(version = 4, bootswatch = "darkly")) +``` + +Notes: + +* `vim.keys` enables a set of special keyboard short-cuts. If you have never used VIM you probably don't want this +* For an overview of available editor themes see: `shinyAce::getAceThemes()` +* Tabs are converted to 2 spaces by default (i.e., 'soft' tabs). You can change the number of spaces used from 2 to, for example, 4 +* `showInvisibles` shows tabs and spaces in the editor +* Autocomplete has options "live", "enabled", and "disabled" +* Radiant has default styles for Word and Powerpoint files. These can be replaced with styles files you created however. Click the links below to download the style files used in Radiant to your computer. Edit the files and use `options` as shown above to tell Radiant where to find the style files you want to use. + * Word style file + * Powerpoint style file +* The `theme` option can be used to change the appearance of the Radiant interface. For an overview of available themes see: https://rstudio.github.io/bslib/articles/theming/index.html#bootswatch + +### R-functions + +For an overview of related R-functions used by Radiant to generate reproducible reports see _Report_ diff --git a/radiant.data/vignettes/pkgdown/_state.Rmd b/radiant.data/vignettes/pkgdown/_state.Rmd new file mode 100644 index 0000000..e21c166 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_state.Rmd @@ -0,0 +1,9 @@ +> Save, load, share, or view state + +It is convenient to work with state files if you want complete your work at another time, perhaps on another computer, or to review previous work you completed using Radiant. You can save and load the state of the Radiant app just as you would a data file. The state file (extension `.rda`) will contain (1) the data loaded in Radiant, (2) settings for the analyses you were working on, (3) and any reports or code from the _Report_ menu. To save the current state of the app to your hard-disk click the icon in the navbar and then click `Save radiant state file`. To load load a previous state click the icon in the navbar and the click `Load radiant state file`. + +You can also share a state file with others that would like to replicate your analyses. As an example, download and then load the state file radiant-example.state.rda as described above. You will navigate automatically to the _Data > Visualize_ tab and will see a plot. See also the _Data > View_ tab for some additional settings loaded from the state file. There is also a report in _Report > Rmd_ created using the Radiant interface. The html file radiant-example.nb.html contains the output created by clicking the `Knit report` button. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use and then click `Stop`, the `r_data` environment and the `r_info` and `r_state` lists will be put into Rstudio's global workspace. If you start radiant again from the `Addins` menu it will use `r_data`, `r_info`, and `r_state` to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant. + +Use `Refresh` in the menu in the navbar to return to a clean/new state. diff --git a/radiant.data/vignettes/pkgdown/_transform.Rmd b/radiant.data/vignettes/pkgdown/_transform.Rmd new file mode 100644 index 0000000..5ea1b1e --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_transform.Rmd @@ -0,0 +1,315 @@ +> Transform variables + +### Transform command log + +All transformations applied in the _Data > Transform_ tab can be logged. If, for example, you apply a `Ln (natural log)` transformation to numeric variables the following code is generated and put in the `Transform command log` window at the bottom of your screen when you click the `Store` button. + +```r +## transform variable +diamonds <- mutate_ext( + diamonds, + .vars = vars(price, carat), + .funs = log, + .ext = "_ln" +) +``` + +This is an important feature if you want to re-run a report with new, but similar, data. Even more important is that there is a record of the steps taken to transform the data and to generate results, i.e., your work is now reproducible. + +To add commands contained in the command log window to a report in _Report > Rmd_ click the icon. + +### Filter data + +Even if a filter has been specified it will be ignored for (most) functions available in _Data > Transform_. To create a new dataset based on a filter navigate to the _Data > View_ tab and click the `Store` button. Alternatively, to create a new dataset based on a filter, select `Split data > Holdout sample` from the `Transformation type` dropdown. + +### Hide summaries + +For larger datasets, or when summaries are not needed, it can useful to click `Hide summaries`before selecting the transformation type and specifying how you want to alter the data. If you do want to see summaries make sure that `Hide summaries` is not checked. + + +### Change variables + +#### Bin + +The `Bin` command is a convenience function for the `xtile` command discussed below when you want to create multiple quintile/decile/... variables. To calculate quintiles enter `5` as the `Nr bins`. The `reverse` option replaces 1 by 5, 2 by 4, ..., 5 by 1. Choose an appropriate extension for the new variable(s). + +#### Change type + +When you select `Type` from the `Transformation type` drop-down another drop-down menu is shown that will allow you to change the type (or class) of one or more variables. For example, you can change a variable of type integer to a variable of type factor. Click the `Store` button to commit the changes to the data set. A description of the transformation options is provided below. + +1. As factor: convert a variable to type factor (i.e., a categorical variable) +2. As number: convert a variable to type numeric +3. As integer: convert a variable to type integer +4. As character: convert a variable to type character (i.e., strings) +4. As times series: convert a variable to type ts +5. As date (mdy): convert a variable to a date if the dates are structured as month-day-year +6. As date (dmy): convert a variable to a date if the dates are structured as day-month-year +7. As date (ymd): convert a variable to a date if the dates are structured as year-month-day +8. As date/time (mdy_hms): convert a variable to a date if the dates are structured as month-day-year-hour-minute-second +9. As date/time (mdy_hm): convert a variable to a date if the dates are structured as month-day-year-hour-minute +10. As date/time (dmy\_hms): convert a variable to a date if the dates are structured as day-month-year-hour-minute-second +11. As date/time (dmy\_hm): convert a variable to a date if the dates are structured as day-month-year-hour-minute +12. As date/time (ymd\_hms): convert a variable to a date if the dates are structured as year-month-day-hour-minute-second +13. As date/time (ymd\_hm): convert a variable to a date if the dates are structured as year-month-day-hour-minute + +**Note:** When converting a variable to type `ts` (i.e., time series) you should, at least, specify a starting period and the frequency data. For example, for weekly data that starts in the 4th week of the year, enter `4` as the `Start period` and set `Frequency` to `52`. + +#### Normalize + +Choose `Normalize` from the `Transformation type` drop-down to standardize one or more variables. For example, in the diamonds data we may want to express price of a diamond per-carat. Select `carat` as the `Normalizing variable` and `price` in the `Select variable(s)` box. You will see summary statistics for the new variable (e.g., `price_carat`) in the main panel. Commit changes to the data by clicking the `Store` button. + +#### Recode + +To use the recode feature select the variable you want to change and choose `Recode` from the `Transformation type` drop-down. Provide one or more recode commands, separated by a `;`, and press return to see information about the changed variable. Note that you can specify a name for the recoded variable in the `Recoded variable name` input box (press return to submit changes). Finally, click `Store` to add the recoded variable to the data. Some examples are given below. + +1. Set values below 20 to `Low` and all others to `High` + + ```r + lo:20 = 'Low'; else = 'High' + ``` + +2. Set above 20 to `High` and all others to `Low` + + ```r + 20:hi = 'High'; else = 'Low' + ``` + +3. Set values 1 through 12 to `A`, 13:24 to `B`, and the remainder to `C` + + ```r + 1:12 = 'A'; 13:24 = 'B'; else = 'C' + ``` + +4. Collapse age categories for a _Basics > Tables > Cross-tabs_ cross-tab analysis. In the example below `<25` and `25-34` are recoded to `<35`, `35-44` and `35-44` are recoded to `35-54`, and `55-64` and `>64` are recoded to `>54` + + + ```r + '<25' = '<35'; '25-34' = '<35'; '35-44' = '35-54'; '45-54' = '35-54'; '55-64' = '>54'; '>64' = '>54' + ``` + +5. To exclude a particular value (e.g., an outlier in the data) for subsequent analyses we can recode it to a missing value. For example, if we want to remove the maximum value from a variable called `sales` that is equal to 400 we would (1) select the variable `sales` in the `Select variable(s)` box and enter the command below in the `Recode` box. Press `return` and `Store` to add the recoded variable to the data + + + ```r + 400 = NA + ``` + +5. To recode specific numeric values (e.g., carat) to a new value (1) select the variable `carat` in the `Select variable(s)` box and enter the command below in the `Recode` box to set the value for carat to 2 in all rows where carat is currently larger than or equal to 2. Press `return` and `Store` to add the recoded variable to the data + + ```r + 2:hi = 2 + ``` + +**Note:** Do not use `=` in a variable label when using the recode function (e.g., `50:hi = '>= 50'`) as this will cause an error. + +#### Reorder or remove levels + +If a (single) variable of type `factor` is selected in `Select variable(s)`, choose `Reorder/Remove levels` from the `Transformation type` drop-down to reorder and/or remove levels. Drag-and-drop levels to reorder them or click the $\times$ to remove them. Note that, by default, removing one or more levels will introduce missing values in the data. If you prefer to recode the removed levels into a new level, for example "other", simply type "other" in the `Replacement level name` input box and press `return`. If the resulting factor levels appear as intended, press `Store` to commit the changes. To temporarily exclude levels from the data use the `Filter data` box (see the help file linked in the _Data > View_ tab). + +#### Rename + +Choose `Rename` from the `Transformation type` drop-down, select one or more variables, and enter new names for them in the `Rename` box. Separate names by a `,`. Press return to see summaries for the renamed variables on screen and press `Store` to alter the variable names in the data. + +#### Replace + +Choose `Replace` from the `Transformation type` drop-down if you want to replace existing variables in the data with new ones created using, for example, `Create`, `Transform`, `Clipboard`, etc.. Select one or more variables to overwrite and the same number of replacement variables. Press `Store` to alter the data. + +#### Transform + +When you select `Transform` from the `Transformation type` drop-down another drop-down menu is shown you can use to apply common transformations to one or more variables in the data. For example, to take the (natural) log of a variable select the variable(s) you want to transform and choose `Ln (natural log)` from the `Apply function` drop-down. The transformed variable will have the extension specified in the `Variable name extension` input (e.g,. `_ln`). Make sure to press `return` after changing the extension. Click the `Store` button to add the (changed) variable(s) to the data set. A description of the transformation functions included in Radiant is provided below. + +1. Ln: create a natural log-transformed version of the selected variable (i.e., log(x) or ln(x)) +2. Square: multiply a variable by itself (i.e., x^2 or square(x)) +3. Square-root: take the square-root of a variable (i.e., x^.5) +4. Absolute: Absolute value of a variable (i.e., abs(x)) +5. Center: create a new variable with a mean of zero (i.e., x - mean(x)) +6. Standardize: create a new variable with a mean of zero and standard deviation of one (i.e., (x - mean(x))/sd(x)) +7. Inverse: 1/x + +### Create new variable(s) + +#### Clipboard + +Although not recommended, you can manipulate your data in a spreadsheet (e.g., Excel or Google sheets) and copy-and-paste the data back into Radiant. If you don't have the original data in a spreadsheet already use the clipboard feature in _Data > Manage_ so you can paste it into the spreadsheet or click the download icon on the top right of your screen in the _Data > View_ tab. Apply your transformations in the spreadsheet program and then copy the new variable(s), with a header label, to the clipboard (i.e., CTRL-C on windows and CMD-C on mac). Select `Clipboard` from the `Transformation type` drop-down and paste the new data into the `Paste from spreadsheet` box. It is key that new variable(s) have the same number of observations as the data in Radiant. To add the new variables to the data click `Store`. + +> **Note:** Using the clipboard feature for data transformation is discouraged because it is not reproducible. + +#### Create + +Choose `Create` from the `Transformation type` drop-down. This is the most flexible command to create new or transform existing variables. However, it also requires some basic knowledge of R-syntax. A new variable can be any function of other variables in the (active) dataset. Some examples are given below. In each example the name to the left of the `=` sign is the name of the new variable. To the right of the `=` sign you can include other variable names and basic R-functions. After you type the command press `return` to see summary statistics for the new variable. If the result is as expected press `Store` to add it to the dataset. + +> **Note:** If one or more variables is selected from the `Select variables` list they will be used to _group_ the data before creating the new variable (see example 1. below). If this is not the intended result make sure that no variables are selected when creating new variables + +1. Create a new variable `z` that is equal to the mean of price. To calculate the mean of price per group (e.g., per level of clarity) select `clarity` from the `Select variables` list before creating `z` + + ```r + z = mean(price) + ``` + +2. Create a new variable `z` that is the difference between variables x and y + + ```r + z = x - y + ``` + +3. Create a new variable `z` that is a transformation of variable `x` with mean equal to zero (see also `Transform > Center`): + + ```r + z = x - mean(x) + ``` + +4. Create a new _logical) variable `z` that takes on the value TRUE when `x > y` and FALSE otherwise + + ```r + z = x > y + ``` + +5. Create a new _logical_ `z` that takes on the value TRUE when `x` is equal to `y` and FALSE otherwise + + ```r + z = x == y + ``` + +6. Create a variable `z` that is equal to `x` lagged by 3 periods + + ```r + z = lag(x,3) + ``` + +7. Create a categorical variable with two levels (i.e., `smaller` and `bigger`) + + ```r + z = ifelse(x < y, 'smaller', 'bigger') + ``` + +8. Create a categorical variable with three levels. An alternative approach would be to use the `Recode` function described below + + ```r + z = ifelse(x < 60, '< 60', ifelse(x > 65, '> 65', '60-65')) + ``` + +9. Convert an outlier to a missing value. For example, if we want to remove the maximum value from a variable called `sales` that is equal to 400 we could use an `ifelse` statement and enter the command below in the `Create` box. Press `return` and `Store` to add the `sales_rc` to the data. Note that if we had entered `sales` on the left-hand side of the `=` sign the original variable would have been overwritten + + ```r + sales_rc = ifelse(sales > 400, NA, sales) + ``` + +10. If a respondent with ID 3 provided information on the wrong scale in a survey (e.g., income in \$1s rather than in \$1000s) we could use an `ifelse` statement and enter the command below in the `Create` box. As before, press `return` and `Store` to add `sales_rc` to the data + + ```r + income_rc = ifelse(ID == 3, income/1000, income) + ``` + +11. If multiple respondents made the same scaling mistake (e.g., those with ID 1, 3, and 15) we again use `Create` and enter: + + ```r + income_rc = ifelse(ID %in% c(1, 3, 15), income/1000, income) + ``` + +12. If a date variable is in a format not available through the `Type` menu you can use the `parse_date_time` function. For a date formatted as `2-1-14` you would specify the command below (note that this format will also be parsed correctly by the `mdy` function in the `Type` menu) + + ```r + date = parse_date_time(x, '%m%d%y') + ``` + +13. Determine the time difference between two dates/times in seconds + + ```r + tdiff = as_duration(time2 - time1) + ``` + +14. Extract the month from a date variable + + ```r + m = month(date) + ``` + +15. Other attributes that can be extracted from a date or date-time variable are `minute`, `hour`, `day`, `week`, `quarter`, `year`, `wday` (for weekday). For `wday` and `month` it can be convenient to add `label = TRUE` to the call. For example, to extract the weekday from a date variable and use a label rather than a number + + ```r + wd = wday(date, label = TRUE) + ``` + +16. Calculate the distance between two locations using lat-long information + + ```r + dist = as_distance(lat1, long1, lat2, long2) + ``` + +17. Calculate quintiles for a variable `recency` by using the `xtile` command. To create deciles replace `5` by `10`. + + ```r + rec_iq = xtile(recency, 5) + ``` + +18. To reverse the ordering of the quintiles created in 17 above use `rev = TRUE` + + ```r + rec_iq = xtile(recency, 5, rev = TRUE) + ``` + +19. To remove text from entries in a character or factor variable use `sub` to remove only the first instance or `gsub` to remove all instances. For example, suppose each row for a variable `bk_score` has the letters "clv" before a number (e.g., "clv150"). We could replace each occurrence of "clv" by "" as follows: + + ```r + bk_score = sub("clv", "", bk_score) + ``` + +Note: For examples 7, 8, and 15 above you may need to change the new variable to type `factor` before using it for further analysis (see also `Change type` above) + + +### Clean data + +#### Remove missing values + +Choose `Remove missing` from the `Transformation type` drop-down to eliminate rows with one or more missing values. Rows with missing values for `Select variables` will be removed. Press `Store` to change the data. If missing values were present you will see the number of observations in the data summary change (i.e., the value of _n_ changes) as variables are selected. + +#### Reorder or remove variables + +Choose `Reorder/Remove variables` from the `Transformation type` drop-down. Drag-and-drop variables to reorder them in the data. To remove a variable click the $\times$ symbol next to the label. Press `Store` to commit the changes. + +#### Remove duplicates + +It is common to have one or more variables in a dataset that have only unique values (i.e., no duplicates). Customer IDs, for example, should be unique unless the dataset contains multiple orders for the same customer. To remove duplicates select one or more variables to determine _uniqueness_. Choose `Remove duplicates` from the `Transformation type` drop-down and check how the displayed summary statistics change. Press `Store` to change the data. If there are duplicate rows you will see the number of observations in the data summary change (i.e., the value of _n_ and _n\_distinct_ will change). + +#### Show duplicates + +If there are duplicates in the data use `Show duplicates` to get a better sense for the data points that have the same value in multiple rows. If you want to explore duplicates using the _Data > View_ tab make sure to `Store` them in a different dataset (i.e., make sure **not** to overwrite the data you are working on). If you choose to show duplicates based on all columns in the data only one of the duplicate rows will be shown. These rows are **exactly** the same so showing 2 or 3 isn't helpful. If, however, we are looking for duplicates based on a subset of the available variables Radiant will generate a dataset with **all** relevant rows. + +### Expand data + +#### Expand grid + +Create a dataset with all combinations of values for a selection of variables. This is useful to generate datasets for prediction in, for example, _Model > Estimate > Linear regression (OLS)_ or _Model > Estimate > Logistic regression (GLM)_. Suppose you want to create a dataset with all possible combinations of values for `cut` and `color` of a diamond. By selecting `Expand grid` from the `Transformation type` dropdown and `cut` and `color` in the `Select variable(s)` box we can see in the screenshot below that there are 35 possible combinations (i.e., `cut` has 5 unique values and `color` has 7 unique values so 5 x 7 combinations are possible). Choose a name for the new dataset (e.g., diamonds\_expand) and click the `Store` button to add it to the `Datasets` dropdown. + +

    + +#### Table-to-data + +Turn a frequency table into a dataset. The number of rows will equal the sum of all frequencies. + + +### Split data + +#### Holdout sample + +To create a holdout sample based on a filter, select `Holdout sample` from the `Transformation type` dropdown. By default the _opposite_ of the active filter is used. For example, if analysis is conducted on observations with `date < '2014-12-13'` then the holdout sample will contain rows with `date >= '2014-12-13'` if the `Reverse filter` box is checked. + +#### Training variable + +To create a variable that can be used to (randomly) filter a dataset for model training and testing, select `Training variable` from the `Transformation type` dropdown. Specify either the number of observations to use for training (e.g., set `Size` to 2000) or a proportion of observations to select (e.g., set `Size` to .7). The new variable will have a value `1` for training and `0` test data. + +It is also possible to select one or morel variables for `blocking` in random assignment to the training and test samples. This can help ensure that, for example, the proportion of positive and negative and negative cases (e.g., "buy" vs "no buy") for a variable of interest is (almost) identical in the training and test sample. + +### Tidy data + +#### Gather columns + +Combine multiple variables into one column. If you have the `diamonds` dataset loaded, select `cut` and `color` in the `Select variable(s)` box after selecting `Gather columns` from the `Transformation type` dropdown. This will create new variables `key` and `value`. `key` has two levels (i.e., `cut` and `color`) and `value` captures all values in `cut` and `color`. + +#### Spread column + +_Spread_ one column into multiple columns. The opposite of `gather`. For a detailed discussion about _tidy_ data see the tidy-data vignette. + +### R-functions + +For an overview of related R-functions used by Radiant to transform data see _Data > Transform_ diff --git a/radiant.data/vignettes/pkgdown/_view.Rmd b/radiant.data/vignettes/pkgdown/_view.Rmd new file mode 100644 index 0000000..2b21c50 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_view.Rmd @@ -0,0 +1,61 @@ +> Show data as an interactive table + +### Datasets + +Choose one of the datasets from the `Datasets` dropdown. Files are loaded into Radiant through the _Data > Manage_ tab. + +### Filter data + +There are several ways to select a subset of the data to view. The `Filter data` box on the left (click the check-box) can be used with `>` and `<` symbols. You can also combine subset commands, for example, `x > 3 & y == 2` would show only those rows for which the variable `x` has values larger than 3 **AND** for which `y` is equal to 2. Note that in R, and most other programming languages, `=` is used to _assign_ a value and `==` to determine if values are equal to each other. In contrast, `!=` is used to determine if two values are _unequal_. You can also use expressions that have an **OR** condition. For example, to select rows where `Salary` is smaller than \$100,000 **OR** larger than \$20,000 use `Salary > 20000 | Salary < 100000`. `|` is the symbol for **OR** and `&` is the symbol for **AND** + +It is also possible to filter using dates. For example, to select rows with dates before June 1st, 2014 enter `date < "2014-6-1"` into the filter box and press return. + +You can also use string matching to select rows. For example, type `grepl('ood', cut)` to select rows with `Good` or `Very good` cut. This search is case sensitive by default. For case insensitive search use `grepl("GOOD", cut, ignore.case = TRUE)`. Type your statement in the `Filter` box and press return to see the result on screen or an error below the box if the expression is invalid. + +It is important to note that these filters are _persistent_ and will be applied to any analysis conducted through in Radiant. To deactivate a filter un-check the `Filter data` check-box. To remove a filter simply delete it. + + +```{r operators, results = 'asis', echo = FALSE} +tab_large <- "class='table table-condensed table-hover' style='width:60%;'" +data.frame( + "Operator" = c("`<`","`<=`","`>`","`>=`","`==`","`!=`","`|`","`&`", "`%in%`", "is.na"), + "Description" = c("less than", "less than or equal to", "greater than", "greater than or equal to", "exactly equal to", "not equal to", "x OR y", "x AND y", "x is one of y", "is missing"), + "Example" = c("`price < 5000`", "`carat <= 2`", "`price > 1000`", "`carat >= 2`", "`cut == 'Fair'`", "`cut != 'Fair'`", "`price > 10000 | cut == 'Premium'`", "`carat < 2 & cut == 'Fair'`", "`cut %in% c('Fair', 'Good')`", "`is.na(price)`") + ) %>% +knitr::kable(align = 'l', format = 'html', escape = FALSE, table.attr = tab_large) +``` + +Filters can also be used with R-code to quickly view a sample from the selected dataset. For example, `runif(n()) > .9` could be used to sample approximately 10% of the rows in the data and `1:n() < 101` would select only the first 100 rows in the data. + +### Select variables to show + +By default all columns in the data are shown. Click on any variable to focus on it alone. To select several variables use the SHIFT and ARROW keys on your keyboard. On a mac the CMD key can also be used to select multiple variables. The same effect is achieved on windows using the CTRL key. To select all variable use CTRL-A (or CMD-A on mac). + +### Browse the data + +By default only 10 rows of data are shown at a time. You can change this setting through the `Show ... entries` dropdown. Press the `Next` and `Previous` buttons at the bottom-right of the screen to page through the data. + +### Sort + +Click on a column header in the table to sort the data. Clicking again will toggle between sorting in ascending and descending order. To sort on multiple columns at once press shift and then click on the 2nd, 3rd, etc. column to sort by. + +### Column filters and Search + +For variables that have a limited number of different values (i.e., a factor) you can select the levels to keep from the column filter below the variable name. For example, to filter on rows with ideal cut click in the box below the `cut` column header and select `Ideal` from the dropdown menu shown. You can also type a string into these column filters and then press return. Note that matching is case-insensitive. In fact, typing `eal` would produce the same result because the search will match any part of a string. Similarly, you can type a string to select rows based on character variables (e.g., street names). + +For numeric variables the column filter boxes have some special features that make them almost as powerful as the `Filter data` box. For numeric and integer variables you can use `...` to indicate a range. For example, to select `price` values between \$500 and \$2000 type `500 ... 2000` and press return. The range is inclusive of the values typed. Furthermore, if we want to filter on `carat` `0.32 ...` will show only diamonds with carat values larger than or equal to 0.32. Numeric variables also have a slider that you can use to define the range of values to keep. + +If you want to get _really_ fancy you can use the search box on the top right to search across all columns in the data using **regular expressions**. For example, to find all rows that have an entry in _any_ column ending with the number 72 type `72$` (i.e., the `$` sign is used to indicate the end of an entry). For all rows with entries that start with 60 use `^60` (i.e., the `^` is used to indicate the first character in an entry). Regular expressions are incredibly powerful for search but this is a _big_ topic area. To learn more about regular expressions see this tutorial. + + +### Store filters + +It is important to note that column sorting, column filters, and search are **not** persistent. To store these settings for use in other parts of Radiant press the `Store` button. You can store the data and settings under a different dataset name by changing the value in the text input to the left of the `Store` button. This feature can also be used to select a subset of variables to keep. Just select the ones you want to keep and press the `Store` button. For more control over the variables you want to keep or remove and to specify their order in the dataset use the _Data > Transform_ tab. + +To download the data in _csv_ format click the icon on the top right of your screen. + +Click the report () icon on the bottom left of your screen or press `ALT-enter` on your keyboard to add the filter and sort commands used by Radiant to a (reproducible) report in _Report > Rmd_. + +### R-functions + +For an overview of related R-functions used by Radiant to view, search, and filter data see _Data > View_ diff --git a/radiant.data/vignettes/pkgdown/_visualize.Rmd b/radiant.data/vignettes/pkgdown/_visualize.Rmd new file mode 100644 index 0000000..da0f788 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/_visualize.Rmd @@ -0,0 +1,141 @@ +> Visualize data + +### Filter data + +Use the `Filter data` box to select (or omit) specific sets of rows from the data. See the help file for _Data > View_ for details. + +### Plot-type + +Select the plot type you want. For example, with the `diamonds` data loaded select `Distribution` and all (X) variables (use CTRL-a or CMD-a). This will create a histogram for all numeric variables and a bar-plot for all categorical variables in the data set. Density plots can only be used with numeric variables. Scatter plots are used to visualize the relationship between two variables. Select one or more variables to plot on the Y-axis and one or more variables to plot on the X-axis. If one of the variables is categorical (i.e., a {factor}) it should be specified as an X-variable. Information about additional variables can be added through the `Color` or `Size` dropdown. Line plots are similar to scatter plots but they connect-the-dots and are particularly useful for time-series data. Surface plots are similar to `Heat maps` and require 3 input variables: X, Y, and Fill. Bar plots are used to show the relationship between a categorical (or integer) variable (X) and the (mean) value of a numeric variable (Y). Box-plots are also used when we have a numeric Y-variable and a categorical X-variable. They are more informative than bar charts but also require a bit more effort to evaluate. + +> Note that when a categorical variable (`factor`) is selected as the `Y-variable` in a Bar chart it will be converted to a numeric variable if required for the selected function. If the factor levels are numeric these will be used in all calculations. Since the mean, standard deviation, etc. are not relevant for non-binary categorical variables, these will be converted to 0-1 (binary) variables where the first level is coded as 1 and all other levels as 0. For example, if we select `color` from the `diamonds` data as the Y-variable, and `mean` as the function to apply, then each bar will represent the proportion of observations with the value `D`. + +### Box plots + +The upper and lower "hinges" of the box correspond to the first and third quartiles (the 25th and 75th percentiles) in the data. The middle hinge is the median value of the data. The upper whisker extends from the upper hinge (i.e., the top of the box) to the highest value in the data that is within 1.5 x IQR of the upper hinge. IQR is the inter-quartile range, or distance, between the 25th and 75th percentile. The lower whisker extends from the lower hinge to the lowest value in the data within 1.5 x IQR of the lower hinge. Data beyond the end of the whiskers could be outliers and are plotted as points (as suggested by Tukey). + +In sum: +1. The lower whisker extends from Q1 to max(min(data), Q1 - 1.5 x IQR) +2. The upper whisker extends from Q3 to min(max(data), Q3 + 1.5 x IQR) + +where Q1 is the 25th percentile and Q3 is the 75th percentile. You may have to read the two bullets above a few times before it sinks in. The plot below should help to explain the structure of the box plot. + +

    +Source + +### Sub-plots and heat-maps + +`Facet row` and `Facet column` can be used to split the data into different groups and create separate plots for each group. + +If you select a scatter or line plot a `Color` drop-down will be shown. Selecting a `Color` variable will create a type of heat-map where the colors are linked to the values of the `Color` variable. Selecting a categorical variable from the `Color` dropdown for a line plot will split the data into groups and will show a line of a different color for each group. + +### Line, loess, and jitter + +To add a linear or non-linear regression line to a scatter plot check the `Line` and/or `Loess` boxes. If your data take on a limited number of values, `Jitter` can be useful to get a better feel for where most of the data points are located. `Jitter`-ing simply adds a small random value to each data point so they do not overlap completely in the plot(s). + +### Axis scale + +The relationship between variables depicted in a scatter plot may be non-linear. There are numerous transformations we might apply to the data so this relationship becomes (approximately) linear (see _Data > Transform_) and easier to estimate using, for example, _Model > Estimate > Linear regression (OLS)_. Perhaps the most common data transformation applied to business data is the (natural) logarithm. To see if log transformation(s) may be appropriate for your data check the `Log X` and/or `Log Y` boxes (e.g., for a scatter or bar plot). + +By default the scale of the Y-axis is the same across sub-plots when using `Facet row`. To allow the Y-axis to be specific to each sub-plot click the `Scale-y` check-box. + +### Flip axes + +To switch the variables on the X- and Y-axis check the `Flip` box. + +### Plot height and width + +To make plots bigger or smaller adjust the values in the height and width boxes on the bottom left of the screen. + +### Keep plots + +The best way to keep/store plots is to generate a `visualize` command by clicking the report () icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. Alternatively, click the icon on the top right of your screen to save a png-file to disk. + +### Customizing plots in _Report > Rmd_ + +To customize a plot first generate the `visualize` command by clicking the report () icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. The example below illustrates how to customize a command in the _Report > Rmd_ tab. Notice that `custom` is set to `TRUE`. + +```r +visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) + + labs( + title = "A scatterplot", + y = "Price in $", + x = "Carats" + ) +``` + +The default resolution for plots is 144 dots per inch (dpi). You can change this setting up or down in _Report > Rmd_. For example, the code-chunk header below ensures the plot will be 7" wide, 3.5" tall, with a resolution of 600 dpi. + +```` ```{r fig.width = 7, fig.height = 3.5, dpi = 600} ```` + +If you have the `svglite` package installed, the code-chunk header below will produce graphs in high quality `svg` format. + +```` ```{r fig.width = 7, fig.height = 3.5, dev = "svglite"} ```` + +**Some common customization commands:** + +* Add a title: `+ labs(title = "my title")` +* Add a sub-title: `+ labs(subtitle = "my sub-title")` +* Add a caption below figure: `+ labs(caption = "Based on data from ...")` +* Change label: `+ labs(x = "my X-axis label")` or `+ labs(y = "my Y-axis label")` +* Remove all legends: `+ theme(legend.position = "none")` +* Change legend title: `+ labs(color = "New legend title")` or `+ labs(fill = "New legend title")` +* Rotate tick labels: `+ theme(axis.text.x = element_text(angle = 90, hjust = 1))` +* Set plot limits: `+ ylim(5000, 8000)` or `+ xlim("VS1","VS2")` +* Remove size legend: `+ scale_size(guide = "none")` +* Change size range: `+ scale_size(range=c(1,6))` +* Draw a horizontal line: `+ geom_hline(yintercept = 0.1)` +* Draw a vertical line: `+ geom_vline(xintercept = 8)` +* Scale the y-axis as a percentage: `+ scale_y_continuous(labels = scales::percent)` +* Scale the y-axis in millions: `+ scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6))` +* Display y-axis in \$'s: `+ scale_y_continuous(labels = scales::dollar_format())` +* Use `,` as a thousand separator for the y-axis: `+ scale_y_continuous(labels = scales::comma)` + +For more on how to customize plots for communication see http://r4ds.had.co.nz/graphics-for-communication.html. + +See also the ggplot2 documentation site https://ggplot2.tidyverse.org. + +Suppose we create a set of three bar charts in _Data > Visualize_ using the `Diamond` data. To add a title above the group of plots and impose a one-column layout we could use `patchwork` as follows: + +```r +library(patchwork) +plot_list <- visualize( + diamonds, + xvar = c("clarity", "cut", "color"), + yvar = "price", + type = "bar", + custom = TRUE +) +wrap_plots(plot_list, ncol = 1) + plot_annotation(title = "Three bar plots") +``` + +See the patchwork documentation site for additional information on how to customize groups of plots. + +### Making plots interactive in _Report > Rmd_ + +It is possible to transform (most) plots generated in Radiant into interactive graphics using the `plotly` library. After setting `custom = TRUE` you can use the `ggplotly` function to convert a single plot. See example below: + +```r +visualize(diamonds, xvar = "price", custom = TRUE) %>% + ggplotly() %>% + render() +``` + +If more than one plot is created, you can use the `subplot` function from the `plotly` package. Provide a value for the `nrows` argument to setup the plot layout grid. In the example below four plots are created. Because `nrow = 2` the plots will be displayed in a 2 X 2 grid. + +```r +visualize(diamonds, xvar = c("carat", "clarity", "cut", "color"), custom = TRUE) %>% + subplot(nrows = 2) %>% + render() +``` + +For additional information on the `plotly` library see the links below: + +* Getting started: https://plot.ly/r/getting-started/ +* Reference: https://plot.ly/r/reference/ +* Book: https://cpsievert.github.io/plotly_book +* Code: https://github.com/ropensci/plotly + +### R-functions + +For an overview of related R-functions used by Radiant to visualize data see _Data > Visualize_ diff --git a/radiant.data/vignettes/pkgdown/combine.Rmd b/radiant.data/vignettes/pkgdown/combine.Rmd new file mode 100644 index 0000000..1d3184b --- /dev/null +++ b/radiant.data/vignettes/pkgdown/combine.Rmd @@ -0,0 +1,14 @@ +--- +title: "Combine data sets (Data > Combine)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r include = FALSE} +library(dplyr) +``` + +```{r child = "_combine.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/explore.Rmd b/radiant.data/vignettes/pkgdown/explore.Rmd new file mode 100644 index 0000000..504e9d7 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/explore.Rmd @@ -0,0 +1,14 @@ +--- +title: "Summarize and explore your data (Data > Explore)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r include = FALSE} +library(dplyr) +``` + +```{r child = "_explore.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/images/by-sa.png b/radiant.data/vignettes/pkgdown/images/by-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..2332cc49dd634c62e4013e13e5e4f06747c7e250 GIT binary patch literal 2284 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 literal 0 HcmV?d00001 diff --git a/radiant.data/vignettes/pkgdown/manage.Rmd b/radiant.data/vignettes/pkgdown/manage.Rmd new file mode 100644 index 0000000..1e69511 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/manage.Rmd @@ -0,0 +1,10 @@ +--- +title: "Loading and Saving data (Data > Manage)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_manage.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/pivotr.Rmd b/radiant.data/vignettes/pkgdown/pivotr.Rmd new file mode 100644 index 0000000..43d44c8 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/pivotr.Rmd @@ -0,0 +1,10 @@ +--- +title: "Create pivot tables (Data > Pivot)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_pivotr.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/report_r.Rmd b/radiant.data/vignettes/pkgdown/report_r.Rmd new file mode 100644 index 0000000..a3a48b6 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/report_r.Rmd @@ -0,0 +1,10 @@ +--- +title: "Create a reproducible report using R (Report > R)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_report_r.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/report_rmd.Rmd b/radiant.data/vignettes/pkgdown/report_rmd.Rmd new file mode 100644 index 0000000..4a2987a --- /dev/null +++ b/radiant.data/vignettes/pkgdown/report_rmd.Rmd @@ -0,0 +1,10 @@ +--- +title: "Create a reproducible report using Rmarkdown (Report > Rmd)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_report_rmd.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/state.Rmd b/radiant.data/vignettes/pkgdown/state.Rmd new file mode 100644 index 0000000..c9ad149 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/state.Rmd @@ -0,0 +1,10 @@ +--- +title: "Loading and Saving the State of the application" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_state.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/transform.Rmd b/radiant.data/vignettes/pkgdown/transform.Rmd new file mode 100644 index 0000000..4b10311 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/transform.Rmd @@ -0,0 +1,11 @@ +--- +title: "Transform variables (Data > Transform)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_transform.Rmd"} +``` + +```{r child = "_footer.md"} +``` + diff --git a/radiant.data/vignettes/pkgdown/view.Rmd b/radiant.data/vignettes/pkgdown/view.Rmd new file mode 100644 index 0000000..baf25c9 --- /dev/null +++ b/radiant.data/vignettes/pkgdown/view.Rmd @@ -0,0 +1,14 @@ +--- +title: "View data in an interactive table (Data > View)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r include = FALSE} +library(dplyr) +``` + +```{r child = "_view.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.data/vignettes/pkgdown/visualize.Rmd b/radiant.data/vignettes/pkgdown/visualize.Rmd new file mode 100644 index 0000000..4036edd --- /dev/null +++ b/radiant.data/vignettes/pkgdown/visualize.Rmd @@ -0,0 +1,10 @@ +--- +title: "Visualize data (Data > Visualize)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_visualize.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.design b/radiant.design deleted file mode 160000 index faefeb7..0000000 --- a/radiant.design +++ /dev/null @@ -1 +0,0 @@ -Subproject commit faefeb7e9be7ed855df176babf6d61909227ed2d diff --git a/radiant.design/.Rbuildignore b/radiant.design/.Rbuildignore new file mode 100644 index 0000000..8005c25 --- /dev/null +++ b/radiant.design/.Rbuildignore @@ -0,0 +1,13 @@ +^CRAN-RELEASE$ +^.*\.Rproj$ +^\.Rproj\.user$ +^inst/rstudio$ +^build$ +^docs$ +^vignettes$ +^\.travis\.yml$ +radiant.design.code-workspace +_pkgdown.yml +cran-comments.md +.vscode/ +^CRAN-SUBMISSION$ diff --git a/radiant.design/.gitignore b/radiant.design/.gitignore new file mode 100644 index 0000000..7bddf7c --- /dev/null +++ b/radiant.design/.gitignore @@ -0,0 +1,11 @@ +.Rproj.user +.Rhistory +.Rapp.history +.RData +.Ruserdata +radiant.design.Rproj +.DS_Store +revdep/ +docs/ +cran-comments.md +.vscode/ diff --git a/radiant.design/.travis.yml b/radiant.design/.travis.yml new file mode 100644 index 0000000..86973d3 --- /dev/null +++ b/radiant.design/.travis.yml @@ -0,0 +1,29 @@ +language: r +# cache: packages +r: + - oldrel + - release + - devel +warnings_are_errors: true +sudo: required +dist: trusty + +r_packages: + - devtools + +r_github_packages: + - trestletech/shinyAce + - radiant-rstats/radiant.data + +after_success: + - Rscript -e 'pkgdown::build_site()' + +## based on https://www.datacamp.com/community/tutorials/cd-package-docs-pkgdown-travis +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_PAT + keep-history: true + local-dir: docs + on: + branch: master diff --git a/radiant.design/CRAN-RELEASE b/radiant.design/CRAN-RELEASE new file mode 100644 index 0000000..34f8590 --- /dev/null +++ b/radiant.design/CRAN-RELEASE @@ -0,0 +1,2 @@ +This package was submitted to CRAN on 2019-03-04. +Once it is accepted, delete this file and tag the release (commit 17986a2df3). diff --git a/radiant.design/CRAN-SUBMISSION b/radiant.design/CRAN-SUBMISSION new file mode 100644 index 0000000..26c6b89 --- /dev/null +++ b/radiant.design/CRAN-SUBMISSION @@ -0,0 +1,3 @@ +Version: 1.6.6 +Date: 2024-05-15 02:25:41 UTC +SHA: 8c714199cc6e55d627dd53a7469ffb154cc7302f diff --git a/radiant.design/DESCRIPTION b/radiant.design/DESCRIPTION new file mode 100644 index 0000000..29040eb --- /dev/null +++ b/radiant.design/DESCRIPTION @@ -0,0 +1,34 @@ +Package: radiant.design +Type: Package +Title: Design Menu for Radiant: Business Analytics using R and Shiny +Version: 1.6.6 +Date: 2024-5-14 +Authors@R: person("Vincent", "Nijs", , "radiant@rady.ucsd.edu", c("aut", "cre")) +Description: The Radiant Design menu includes interfaces for design of + experiments, sampling, and sample size calculation. The application extends + the functionality in 'radiant.data'. +Depends: + R (>= 4.3.0), + radiant.data (>= 1.6.6), +Imports: + dplyr (>= 1.0.7), + magrittr (>= 1.5), + shiny (>= 1.8.1), + AlgDesign (>= 1.1.7.3), + import (>= 1.1.0), + pwr (>= 1.1.2), + randomizr (>= 0.20.0), + mvtnorm (>= 1.2.0), + polycor, + shiny.i18n +Suggests: + testthat (>= 2.0.0), + pkgdown (>= 1.1.0) +URL: https://github.com/radiant-rstats/radiant.design/, + https://radiant-rstats.github.io/radiant.design/, + https://radiant-rstats.github.io/docs/ +BugReports: https://github.com/radiant-rstats/radiant.design/issues/ +License: AGPL-3 | file LICENSE +LazyData: true +Encoding: UTF-8 +RoxygenNote: 7.3.1 diff --git a/radiant.design/LICENSE b/radiant.design/LICENSE new file mode 100644 index 0000000..fa3c043 --- /dev/null +++ b/radiant.design/LICENSE @@ -0,0 +1,105 @@ +Radiant is licensed under AGPL3 (see https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) and https://www.r-project.org/Licenses/AGPL-3). The radiant help files are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA (https://creativecommons.org/licenses/by-nc-sa/4.0/). + +As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +If you are interested in using Radiant please email me at radiant@rady.ucsd.edu + +ALL HELPFILES IN THE RADIANT APPLICATION USE THE FOLLOWING LICENSE (https://creativecommons.org/licenses/by-nc-sa/4.0/) +======================================================================================================================== + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + +Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. +Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. +BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. +Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. +Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. +Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. +License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. +Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. +Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. +Licensor means the individual(s) or entity(ies) granting rights under this Public License. +NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. +Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. +Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. +You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + +License grant. +Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: +reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and +produce, reproduce, and Share Adapted Material for NonCommercial purposes only. +Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. +Term. The term of this Public License is specified in Section 6(a). +Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. +Downstream recipients. +Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. +No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. +No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). +Other rights. + +Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. +Patent and trademark rights are not licensed under this Public License. +To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +Attribution. + +If You Share the Licensed Material (including in modified form), You must: + +retain the following if it is supplied by the Licensor with the Licensed Material: +identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); +a copyright notice; +a notice that refers to this Public License; +a notice that refers to the disclaimer of warranties; +a URI or hyperlink to the Licensed Material to the extent reasonably practicable; +indicate if You modified the Licensed Material and retain an indication of any previous modifications; and +indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. +You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. +If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. +ShareAlike. +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. +You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. +You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; +if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and +You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. +To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. +The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + +This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. +Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + +automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or +upon express reinstatement by the Licensor. +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. +For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. +Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + +The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. +Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + +For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. +To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. +No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. +Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/radiant.design/NAMESPACE b/radiant.design/NAMESPACE new file mode 100644 index 0000000..06d8cf5 --- /dev/null +++ b/radiant.design/NAMESPACE @@ -0,0 +1,52 @@ +# Generated by roxygen2: do not edit by hand + +S3method(plot,sample_size_comp) +S3method(summary,doe) +S3method(summary,randomizer) +S3method(summary,sample_size) +S3method(summary,sample_size_comp) +S3method(summary,sampling) +export(doe) +export(estimable) +export(radiant.design) +export(radiant.design_viewer) +export(radiant.design_window) +export(randomizer) +export(sample_size) +export(sample_size_comp) +export(sampling) +import(radiant.data) +import(shiny) +importFrom(AlgDesign,optFederov) +importFrom(dplyr,"%>%") +importFrom(dplyr,arrange) +importFrom(dplyr,arrange_at) +importFrom(dplyr,bind_cols) +importFrom(dplyr,desc) +importFrom(dplyr,distinct) +importFrom(dplyr,right_join) +importFrom(dplyr,select_at) +importFrom(import,from) +importFrom(magrittr,"%<>%") +importFrom(magrittr,set_colnames) +importFrom(mvtnorm,pmvnorm) +importFrom(polycor,hetcor) +importFrom(pwr,ES.h) +importFrom(pwr,plot.power.htest) +importFrom(pwr,pwr.2p.test) +importFrom(pwr,pwr.2p2n.test) +importFrom(pwr,pwr.t.test) +importFrom(pwr,pwr.t2n.test) +importFrom(radiant.data,launch) +importFrom(randomizr,block_ra) +importFrom(randomizr,complete_ra) +importFrom(stats,addmargins) +importFrom(stats,as.formula) +importFrom(stats,coef) +importFrom(stats,cor) +importFrom(stats,lm) +importFrom(stats,na.omit) +importFrom(stats,power.prop.test) +importFrom(stats,power.t.test) +importFrom(stats,qnorm) +importFrom(stats,runif) diff --git a/radiant.design/NEWS.md b/radiant.design/NEWS.md new file mode 100644 index 0000000..42a9f56 --- /dev/null +++ b/radiant.design/NEWS.md @@ -0,0 +1,125 @@ +# radiant.design 1.6.6 + +* Require Shiny 1.8.1. Adjustments related to icon-buttons were made to address a breaking change in Shiny 1.8.1 +* Reverting changes that removed `req(input$dataset)` in different places + +# radiant.design 1.6.2 + +* Require shiny 1.8.0. This fixes a bug in the shiny 1.7 versions that caused issues with all radiant packages. + +# radiant.design 1.6.1 + +* Addressed package documentation issue due changes in roxygen2 + +# radiant.design 1.6.0 + +* Add option to slice and sort data before sampling (requires radiant.data 1.5.0) +* Update dependency on mvtnorm to address issue with conflicting 'standardize' function + +# radiant.design 1.5.0 + +* Improvements to screenshot feature. Navigation bar is omitted and the image is adjusted to the length of the UI. +* Removed all references to `aes_string` which is being depricated in ggplot soon +* Code cleanup + +# radiant.design 1.4.1.0 + +* Fixed `is_empty` function clash with `rlang` +* Adjustments to work with the latest version of `shiny` and `bootstrap4` + +# radiant.design 1.3.4.0 + +* Minor adjustments in anticipation of dplyr 1.0.0 + +# radiant.design 1.3.0.0 + +* Allow for missing values in `randomizer` and `sampling` functions +* Added note that the design factors used as input to calculate a correlation using polycor::hetcor are assumed to be ordinal + +# radiant.design 1.2.0.0 + +* Update action buttons that initiate calculations when one or more relevant inputs are changed. When, for example, an experimental design should be updated, a spinning "refresh" icon will be shown +* Allow fractions as input for the `Random assignment` tool + +# radiant.design 1.1.3.0 + +* Added `estimable` function that can be used to determine which coefficients could be estimated based on a partial factorial design. Adapted from a function written by Blakeley MsShane at https://github.com/fzettelmeyer/mktg482/blob/master/R/expdesign.R +* Documentation updates (i.e., key functions for each tool) +* New `Random assignment` tool based on the `randomizr` package. Uses the `randomizr::block_ra` function for stratified random sampling. See the help file for more information +* Various enhancements to make _Design > Random sampling_ more flexible. See the updated help file + +# radiant.design 1.1.0.0 + +* Numerous small code changes to support enhanced auto-completion, tooltips, and annotations in shinyAce 0.4.1 + +# radiant.design 0.9.9.0 + +* Checked for issues with upcoming dplyr 0.8.0 +* Option to pass additional arguments to `shiny::runApp` when starting radiant such as the port to use. For example, radiant.design::radiant.design("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda", port = 8080) +* Use the `pwr` package for sample size calculations when comparing groups (i.e., Design > Sample size (compare)) +* Load a state file on startup by providing a (relative) file path or a url + +# radiant.design 0.9.7.0 + +## Major changes + +* Using [`shinyFiles`](https://github.com/thomasp85/shinyFiles) to provide convenient access to data located on a server + +## Minor changes + +* Revert from `svg` to `png` for plots in `_Report > Rmd_ and _Report > R_. `svg` scatter plots with many point get to big for practical use on servers that have to transfer images to a local browser +* Removed dependency on `methods` package + +# radiant.design 0.9.5.0 + +## Major changes + +* Various changes to the code to accomodate the use of `shiny::makeReactiveBinding`. The advantage is that the code generated for _Report > Rmd_ and _Report > R_ will no longer have to use `r_data` to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as well. + +# radiant.design 0.9.2.0 + +## Major changes + +* Upload and download data using the Rstudio file browser. Allows using relative paths to files (e.g., data or images inside an Rstudio project) +* Enhanced keyboard shortcuts +* `Create design` button indicates when the design should be updated based on changes in user input + +# radiant.design 0.8.9.0 + +## Minor changes + +* Upgraded tidyr dependency to 0.7.2 +* Upgraded dplyr dependency to 0.7.4 +* Applied `styler` on code + +# radiant.design 0.8.1.0 + +## Minor changes + +- Code cleanup +- Documentation updates + +## Bug fixes + +- Fix for incomplete final line warning in sampling.md + +# radiant.design 0.8.0.0 + +## Minor changes + +- Option to set random seed in Design > Sampling +- UI updates for DOE +- Show df name in output +- Use ALT-enter as a short-cut to report +- Documentation added on how to customize plots + +## Bug fixes + +- Fix for random seed when input is NA +- Cleanup report arguments for sample size calculations +- Print full factorial up to 5,000 lines +- Check that return value from optFederov was not a try-error + +## Deprecated + +- Use of *_each is deprecated diff --git a/radiant.design/R/aaa.R b/radiant.design/R/aaa.R new file mode 100644 index 0000000..2c313b9 --- /dev/null +++ b/radiant.design/R/aaa.R @@ -0,0 +1,21 @@ +# to avoid 'no visible binding for global variable' NOTE +globalVariables(c(".", "rnd_number")) + +#' radiant.design +#' +#' @name radiant.design +#' @import radiant.data shiny +#' @importFrom dplyr %>% arrange arrange_at desc +#' @importFrom magrittr %<>% +#' @importFrom stats as.formula cor na.omit power.prop.test power.t.test qnorm runif coef lm +#' @importFrom import from +NULL + +#' 100 random names +#' @details A list of 100 random names. Description provided in attr(rndnames,"description") +#' @docType data +#' @keywords datasets +#' @name rndnames +#' @usage data(rndnames) +#' @format A data frame with 100 rows and 2 variables +NULL diff --git a/radiant.design/R/doe.R b/radiant.design/R/doe.R new file mode 100644 index 0000000..bf9a1fd --- /dev/null +++ b/radiant.design/R/doe.R @@ -0,0 +1,240 @@ +#' Create (partial) factorial design +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/doe.html} for an example in Radiant +#' +#' @param factors Categorical variables used as input for design +#' @param int Vector of interaction terms to consider when generating design +#' @param trials Number of trials to create. If NA then all feasible designs will be considered until a design with perfect D-efficiency is found +#' @param seed Random seed to use as the starting point +#' +#' @return A list with all variables defined in the function as an object of class doe +#' +#' @examples +#' doe(c("price; $10; $13; $16", "food; popcorn; gourmet; no food")) +#' doe( +#' c("price; $10; $13; $16", "food; popcorn; gourmet; no food"), +#' int = "price:food", trials = 9, seed = 1234 +#' ) +#' +#' @seealso \code{\link{summary.doe}} to summarize results +#' +#' @importFrom AlgDesign optFederov +#' @importFrom mvtnorm pmvnorm +#' @importFrom polycor hetcor +#' @importFrom dplyr right_join +#' +#' @export +doe <- function(factors, int = "", trials = NA, seed = NA) { + df_list <- gsub("[ ]{2,}", " ", paste0(factors, collapse = "\n")) %>% + gsub("/", "", .) %>% + gsub("\\\\n", "\n", .) %>% + gsub("[ ]*;[ ]*", ";", .) %>% + gsub(";{2,}", ";", .) %>% + gsub("[;]+[ ]{0,}\n", "\n", .) %>% + gsub("[ ]{1,}\n", "\n", .) %>% + gsub("\n[ ]+", "\n", .) %>% + gsub("[\n]{2,}", "\n", .) %>% + gsub("[ ]+", "_", .) %>% + strsplit(., "\n") %>% + .[[1]] %>% + strsplit(";\\s*") + + df_names <- c() + if (length(df_list) < 2) { + return("DOE requires at least two factors" %>% add_class("doe")) + } + + for (i in seq_len(length(df_list))) { + dt <- df_list[[i]] %>% gsub("^\\s+|\\s+$", "", .) + df_names <- c(df_names, dt[1]) + df_list[[i]] <- dt[-1] + } + names(df_list) <- df_names + model <- paste0("~ ", paste0(df_names, collapse = " + ")) + nInt <- 0 + if (!is.empty(int)) { + model <- paste0(model, " + ", paste0(int, collapse = " + ")) + nInt <- length(int) + } + + part_fac <- function(df, model = ~., int = 0, trials = NA, seed = 172110) { + full <- expand.grid(df) + + ############################################### + # eliminate combinations from full + # by removing then from the variable _experiment_ + # http://stackoverflow.com/questions/18459311/creating-a-fractional-factorial-design-in-r-without-prohibited-pairs?rq=1 + ############################################### + + levs <- sapply(df, length) + nr_levels <- sum(levs) + min_trials <- nr_levels - length(df) + 1 + max_trials <- nrow(full) + + ## make sure the number of trials set by the user is within an appropriate range + if (!is.empty(trials)) { + max_trials <- min_trials <- max(min(trials, max_trials), min_trials) + } + + ## define a data.frame that will store design spec + eff <- data.frame( + Trials = min_trials:max_trials, + "D-efficiency" = NA, + "Balanced" = NA, + check.names = FALSE, + stringsAsFactors = FALSE + ) + + for (i in min_trials:max_trials) { + seed %>% + gsub("[^0-9]", "", .) %>% + (function(x) if (!is.empty(x)) set.seed(seed)) + design <- try(AlgDesign::optFederov( + model, + data = full, nRepeats = 50, + nTrials = i, maxIteration = 1000, + approximate = FALSE + ), silent = TRUE) + + if (inherits(design, "try-error")) next + ind <- which(eff$Trials %in% i) + eff[ind, "D-efficiency"] <- design$Dea + eff[ind, "Balanced"] <- all(i %% levs == 0) + + if (design$Dea == 1) break + } + + if (!inherits(design, "try-error")) { + cor_mat <- sshhr(polycor::hetcor(design$design, std.err = FALSE)$correlations) + } + + if (exists("cor_mat")) { + detcm <- det(cor_mat) + + full <- arrange_at(full, .vars = names(df)) %>% + data.frame(trial = 1:nrow(full), ., stringsAsFactors = FALSE) + + part <- arrange_at(design$design, .vars = names(df)) %>% + (function(x) suppressMessages(dplyr::right_join(full, x))) + + list( + df = df, + cor_mat = cor_mat, + detcm = detcm, + Dea = design$Dea, + part = part, + full = full, + eff = na.omit(eff), + seed = seed + ) + } else if (!is.na(trials)) { + "No solution exists for the selected number of trials" + } else { + "No solution found" + } + } + + part_fac(df_list, model = as.formula(model), int = nInt, trials = trials, seed = seed) %>% + add_class("doe") +} + +#' Summary method for doe function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/doe.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{doe}} +#' @param eff If TRUE print efficiency output +#' @param part If TRUE print partial factorial +#' @param full If TRUE print full factorial +#' @param est If TRUE print number of effects that will be estimable using the partial factorial design +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods. +#' +#' @seealso \code{\link{doe}} to calculate results +#' +#' @examples +#' c("price; $10; $13; $16", "food; popcorn; gourmet; no food") %>% +#' doe() %>% +#' summary() +#' +#' @export +summary.doe <- function(object, eff = TRUE, part = TRUE, full = TRUE, est = TRUE, dec = 3, ...) { + if (!is.list(object)) { + return(object) + } + + cat("Experimental design\n") + cat("# trials for partial factorial:", nrow(object$part), "\n") + cat("# trials for full factorial :", nrow(object$full), "\n") + if (!is.empty(object$seed)) { + cat("Random seed :", object$seed, "\n") + } + + cat("\nAttributes and levels:\n") + nl <- names(object$df) + for (i in nl) { + cat(paste0(i, ":"), paste0(object$df[[i]], collapse = ", "), "\n") + } + + if (eff) { + cat("\nDesign efficiency:\n") + format_df(object$eff, dec = dec) %>% + print(row.names = FALSE) + + cat("\nPartial factorial design correlations:\n") + cat("** Note: Variables are assumed to be ordinal **\n") + round(object$cor_mat, ifelse(object$detcm == 1, 0, dec)) %>% + print(row.names = FALSE) + } + + if (part) { + cat("\nPartial factorial design:\n") + print(object$part, row.names = FALSE) + } + + if (est) { + cat("\nEstimable effects from partial factorial design:\n\n") + cat(paste(" ", estimable(object), collapse = "\n"), "\n") + } + + if (full) { + cat("\nFull factorial design:\n") + print(object$full, row.names = FALSE) + } +} + +#' Determine coefficients that can be estimated based on a partial factorial design +#' +#' @description A function to determine which coefficients can be estimated based on a partial factorial design. Adapted from a function written by Blakeley McShane at https://github.com/fzettelmeyer/mktg482/blob/master/R/expdesign.R +#' +#' @param design An experimental design generated by the doe function that includes a partial and full factorial design +#' @examples +#' design <- doe(c("price; $10; $13; $16", "food; popcorn; gourmet; no food"), trials = 6) +#' estimable(design) +#' +#' @export +estimable <- function(design) { + if (!inherits(design, "doe")) { + return(add_class("The estimable function requires input of type 'doe'. Please use the ratiant.design::doe function to generate an appropriate design", "doe")) + } + + full <- design$full + fm <- as.formula(paste("trial ~ ", paste(colnames(full)[-1], collapse = "*"))) + mod1 <- lm(fm, data = full) + coef1 <- coef(mod1) + + mod2 <- lm(fm, data = design$part) + coef2 <- coef(mod2) + coef2 <- coef2[!is.na(coef2)] + + ## format levels + hasLevs <- sapply(full[, -1, drop = FALSE], function(x) is.factor(x) || is.logical(x) || is.character(x)) + if (sum(hasLevs) > 0) { + for (i in names(hasLevs[hasLevs])) { + names(coef2) %<>% gsub(paste0("^", i), paste0(i, "|"), .) %>% + gsub(paste0(":", i), paste0(":", i, "|"), .) + } + } + + names(coef2[-1]) +} diff --git a/radiant.design/R/radiant.R b/radiant.design/R/radiant.R new file mode 100644 index 0000000..4b8ac0f --- /dev/null +++ b/radiant.design/R/radiant.R @@ -0,0 +1,48 @@ +#' Launch radiant.design in the default browser +#' +#' @description Launch radiant.design in the default web browser +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.design() +#' } +#' @export +radiant.design <- function(state, ...) radiant.data::launch(package = "radiant.design", run = "browser", state, ...) + +#' Launch radiant.design in an Rstudio window +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.design_window() +#' } +#' @export +radiant.design_window <- function(state, ...) radiant.data::launch(package = "radiant.design", run = "window", state, ...) + +#' Launch radiant.design in the Rstudio viewer +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.design_viewer() +#' } +#' @export +radiant.design_viewer <- function(state, ...) radiant.data::launch(package = "radiant.design", run = "viewer", state, ...) diff --git a/radiant.design/R/randomizer.R b/radiant.design/R/randomizer.R new file mode 100644 index 0000000..2f8c095 --- /dev/null +++ b/radiant.design/R/randomizer.R @@ -0,0 +1,142 @@ +#' Randomize cases into experimental conditions +#' +#' @details Wrapper for the complete_ra and block_ra from the randomizr package. See \url{https://radiant-rstats.github.io/docs/design/randomizer.html} for an example in Radiant +#' +#' @param dataset Dataset to sample from +#' @param vars The variables to sample +#' @param conditions Conditions to assign to +#' @param blocks A vector to use for blocking or a data.frame from which to construct a blocking vector +#' @param probs A vector of assignment probabilities for each treatment conditions. By default each condition is assigned with equal probability +#' @param label Name to use for the generated condition variable +#' @param seed Random seed to use as the starting point +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param na.rm Remove rows with missing values (FALSE or TRUE) +#' @param envir Environment to extract data from +#' +#' @return A list of variables defined in randomizer as an object of class randomizer +#' +#' @importFrom randomizr complete_ra block_ra +#' @importFrom dplyr select_at bind_cols +#' @importFrom magrittr set_colnames +#' +#' @examples +#' randomizer(rndnames, "Names", conditions = c("test", "control")) %>% str() +#' +#' @seealso \code{\link{summary.sampling}} to summarize results +#' @export +randomizer <- function(dataset, vars, + conditions = c("A", "B"), + blocks = NULL, probs = NULL, + label = ".conditions", + seed = 1234, + data_filter = "", + arr = "", + rows = NULL, + na.rm = FALSE, + envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + + if (!is.empty(blocks)) { + vars <- c(vars, blocks) + } + + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, na.rm = na.rm, envir = envir) + + ## use seed if provided + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) set.seed(seed) + + if (is.empty(probs)) { + probs <- length(conditions) %>% + (function(x) rep(1 / x, x)) + } else if (length(probs) == 1) { + probs <- rep(probs, length(conditions)) + } else if (length(probs) != length(conditions)) { + probs <- NULL + } + + if (length(blocks) > 0) { + blocks_vct <- do.call(paste, c(select_at(dataset, .vars = blocks), sep = "-")) + cond <- randomizr::block_ra(blocks = blocks_vct, conditions = conditions, prob_each = probs) %>% + as.data.frame() %>% + set_colnames(label) + } else { + cond <- randomizr::complete_ra(N = nrow(dataset), conditions = conditions, prob_each = probs) %>% + as.data.frame() %>% + set_colnames(label) + } + + dataset <- bind_cols(cond, dataset) + + # removing unneeded arguments + rm(cond, envir) + + as.list(environment()) %>% add_class("randomizer") +} + +#' Summary method for the randomizer function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/randomizer.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{randomizer}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @importFrom stats addmargins +#' @importFrom dplyr distinct +#' +#' @examples +#' randomizer(rndnames, "Names", conditions = c("test", "control")) %>% summary() +#' +#' @seealso \code{\link{randomizer}} to generate the results +#' +#' @export +summary.randomizer <- function(object, dec = 3, ...) { + if (is.empty(object$blocks)) { + cat("Random assignment (simple random)\n") + } else { + cat("Random assignment (blocking)\n") + } + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + if (!is.empty(object$blocks)) { + cat("Variables :", setdiff(object$vars, object$blocks), "\n") + cat("Blocks :", object$blocks, "\n") + } else { + cat("Variables :", object$vars, "\n") + } + cat("Conditions :", object$conditions, "\n") + cat("Probabilities:", round(object$probs, dec), "\n") + if (!is.empty(object$seed)) { + cat("Random seed :", object$seed, "\n") + } + is_unique <- object$dataset[, -1, drop = FALSE] %>% + (function(x) ifelse(nrow(x) > nrow(distinct(x)), "Based on selected variables some duplicate rows exist", "Based on selected variables, no duplicate rows exist")) + cat("Duplicates :", is_unique, "\n\n") + + cat("Assigment frequencies:\n") + if (is.empty(object$blocks_vct)) { + tab <- table(object$dataset[[object$label]]) + } else { + tab <- table(object$blocks_vct, object$dataset[[object$label]]) + } + tab %>% + addmargins() %>% + print() + + cat("\nAssigment proportions:\n") + tab %>% + prop.table() %>% + round(dec) %>% + print() +} diff --git a/radiant.design/R/sample_size.R b/radiant.design/R/sample_size.R new file mode 100644 index 0000000..15f1856 --- /dev/null +++ b/radiant.design/R/sample_size.R @@ -0,0 +1,103 @@ +#' Sample size calculation +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sample_size.html} for an example in Radiant +#' +#' @param type Choose "mean" or "proportion" +#' @param err_mean Acceptable Error for Mean +#' @param sd_mean Standard deviation for Mean +#' @param err_prop Acceptable Error for Proportion +#' @param p_prop Initial proportion estimate for Proportion +#' @param conf_lev Confidence level +#' @param incidence Incidence rate (i.e., fraction of valid respondents) +#' @param response Response rate +#' @param pop_correction Apply correction for population size ("yes","no") +#' @param pop_size Population size +#' +#' @return A list of variables defined in sample_size as an object of class sample_size +#' +#' @examples +#' sample_size(type = "mean", err_mean = 2, sd_mean = 10) +#' +#' @seealso \code{\link{summary.sample_size}} to summarize results +#' @export +sample_size <- function(type, err_mean = 2, sd_mean = 10, err_prop = .1, + p_prop = .5, conf_lev = 0.95, incidence = 1, + response = 1, pop_correction = "no", pop_size = 1000000) { + if (pop_correction == "yes" && is_not(pop_size)) pop_size <- 1000000 + if (is_not(conf_lev) || conf_lev < 0 || conf_lev > 1) conf_lev <- 0.95 + zval <- -qnorm((1 - conf_lev) / 2) + + if (type == "mean") { + if (is_not(err_mean)) { + return("Please select an acceptable error greater than 0" %>% + add_class("sample_size")) + } + n <- (zval^2 * sd_mean^2) / err_mean^2 + rm(err_prop, p_prop) + } else { + if (is_not(err_prop)) { + return("Please select an acceptable error greater than 0" %>% + add_class("sample_size")) + } + n <- (zval^2 * p_prop * (1 - p_prop)) / err_prop^2 + rm(err_mean, sd_mean) + } + + if (pop_correction == "yes") { + n <- n * pop_size / ((n - 1) + pop_size) + } else { + rm(pop_size) + } + + n <- ceiling(n) + + as.list(environment()) %>% add_class("sample_size") +} + +#' Summary method for the sample_size function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sample_size.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{sample_size}} +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' sample_size(type = "mean", err_mean = 2, sd_mean = 10) %>% +#' summary() +#' +#' @seealso \code{\link{sample_size}} to generate the results +#' +#' @export +summary.sample_size <- function(object, ...) { + if (is.character(object)) { + return(object) + } + + cat("Sample size calculation\n") + + if (object$type == "mean") { + cat("Calculation type : Mean\n") + cat("Acceptable Error :", object$err_mean, "\n") + cat("Standard deviation :", object$sd_mean, "\n") + } else { + cat("Calculation type : Proportion\n") + cat("Acceptable Error :", object$err_prop, "\n") + cat("Proportion :", object$p_prop, "\n") + } + + cat("Confidence level :", object$conf_lev, "\n") + cat("Incidence rate :", object$incidence, "\n") + cat("Response rate :", object$response, "\n") + + if (object$pop_correction == "no") { + cat("Population correction: None\n") + } else { + cat("Population correction: Yes\n") + cat("Population size :", format_nr(object$pop_size, dec = 0), "\n") + } + + cat("\nRequired sample size :", format_nr(object$n, dec = 0)) + cat("\nRequired contact attempts:", format_nr(ceiling(object$n / object$incidence / object$response), dec = 0)) + + rm(object) +} diff --git a/radiant.design/R/sample_size_comp.R b/radiant.design/R/sample_size_comp.R new file mode 100644 index 0000000..6a23687 --- /dev/null +++ b/radiant.design/R/sample_size_comp.R @@ -0,0 +1,211 @@ +#' Sample size calculation for comparisons +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +#' +#' @param type Choose "mean" or "proportion" +#' @param n1 Sample size for group 1 +#' @param n2 Sample size for group 2 +#' @param p1 Proportion 1 (only used when "proportion" is selected) +#' @param p2 Proportion 2 (only used when "proportion" is selected) +#' @param delta Difference in means between two groups (only used when "mean" is selected) +#' @param sd Standard deviation (only used when "mean" is selected) +#' @param conf_lev Confidence level +#' @param power Power +#' @param ratio Sampling ratio (n1 / n2) +#' @param alternative Two or one sided test +#' +#' @return A list of variables defined in sample_size_comp as an object of class sample_size_comp +#' +#' @seealso \code{\link{summary.sample_size_comp}} to summarize results +#' +#' @examples +#' sample_size_comp( +#' type = "proportion", p1 = 0.1, p2 = 0.15, +#' conf_lev = 0.95, power = 0.8 +#' ) +#' +#' @importFrom pwr pwr.2p.test pwr.2p2n.test ES.h pwr.t.test pwr.t2n.test +#' +#' @export +sample_size_comp <- function(type, n1 = NULL, n2 = NULL, p1 = NULL, p2 = NULL, delta = NULL, + sd = NULL, conf_lev = NULL, power = NULL, ratio = 1, + alternative = "two.sided") { + if (!is.null(n1) && is.na(n1)) n1 <- NULL + if (!is.null(n2) && is.na(n2)) n2 <- NULL + if (!is.null(power) && is.na(power)) power <- NULL + if (!is.null(conf_lev) && is.na(conf_lev)) conf_lev <- NULL + sig.level <- if (is.empty(conf_lev)) NULL else 1 - conf_lev + adj <- ifelse(alternative == "two.sided", 2, 1) + + if (type == "mean") { + if (!is.null(delta) && is.na(delta)) delta <- NULL + if (!is.null(delta)) delta <- abs(delta) + if (!is.null(sd) && is.na(sd)) sd <- NULL + + if (!is.empty(sd) && sd <= 0) { + return("The standard deviation must be larger than 0" %>% add_class("sample_size_comp")) + } + + nr_null <- any(is.null(n2), is.null(n1)) + is.null(delta) + is.null(sd) + is.null(power) + is.null(conf_lev) + if (nr_null == 0 || nr_null > 1) { + return("Exactly one of 'Sample size', 'Delta', 'Std. deviation',\n'Confidence level', and 'Power' must be blank or NULL" %>% add_class("sample_size_comp")) + } + + if (is.null(power) || is.null(sig.level)) { + res <- try(pwr::pwr.t2n.test(n1 = as.numeric(n1), n2 = as.numeric(n2), d = delta / sd, sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + } else if (is.null(n1) && is.null(n2)) { + res <- try(pwr::pwr.t.test(d = delta / sd, sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n1 <- n2 <- res$n + } else if (is.null(n1)) { + res <- try(pwr::pwr.t2n.test(n2 = as.numeric(n2), d = delta / sd, sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n1 <- res$n1 + } else if (is.null(n2)) { + res <- try(pwr::pwr.t2n.test(n1 = as.numeric(n1), d = delta / sd, sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n2 <- res$n2 + } else { + res <- try(pwr::pwr.t2n.test(n1 = as.numeric(n1), n2 = as.numeric(n2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) { + if (is.null(delta)) { + delta <- res$d * sd + } else { + sd <- abs(delta / res$d) + } + } + } + } else { + if (!is.null(p1) && is.na(p1)) p1 <- NULL + if (!is.null(p2) && is.na(p2)) p2 <- NULL + + if (!is.null(p1) && !is.null(p2)) { + if (p1 == p2) { + return("Proportion 1 and 2 should not be set equal. Please change the proportion values" %>% add_class("sample_size_comp")) + } else if (p1 > p2 && alternative == "less") { + return("Proportion 1 must be smaller than proportion 2 if the alternative\n hypothesis is 'p1 less than p2'" %>% add_class("sample_size_comp")) + } else if (p1 < p2 && alternative == "greater") { + return("Proportion 1 must be larger than proportion 2 if the alternative\nhypothesis is 'p1 greater than p2'" %>% add_class("sample_size_comp")) + } + } + + if (!is.empty(p1) && (p1 < 0 || p1 > 1)) { + return("Proportion 1 must be between 0 and 1" %>% add_class("sample_size_comp")) + } + if (!is.empty(p2) && (p2 < 0 || p2 > 1)) { + return("Proportion 2 must be between 0 and 1" %>% add_class("sample_size_comp")) + } + + nr_null <- any(is.null(n2), is.null(n1)) + is.null(power) + is.null(p1) + is.null(p2) + is.null(conf_lev) + if (nr_null == 0 || nr_null > 1) { + return("Exactly one of 'Sample size', 'Proportion 1', 'Proportion 2',\n'Confidence level', and 'Power' must be blank or NULL" %>% add_class("sample_size_comp")) + } + + backout.ES.h <- function(h, p) { + sort( + c( + sin((h - 2 * asin(sqrt(p))) / 2)^2, + sin((-h - 2 * asin(sqrt(p))) / 2)^2 + ), + decreasing = TRUE + ) + } + + if (is.null(power) || is.null(sig.level)) { + res <- try(pwr::pwr.2p2n.test(n1 = as.numeric(n1), n2 = as.numeric(n2), h = pwr::ES.h(p1 = p1, p2 = p2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + } else if (is.null(n1) && is.null(n2)) { + res <- try(pwr::pwr.2p.test(h = pwr::ES.h(p1 = p1, p2 = p2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n1 <- n2 <- res$n + } else if (is.null(n1)) { + res <- try(pwr::pwr.2p2n.test(n2 = as.numeric(n2), h = pwr::ES.h(p1 = p1, p2 = p2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n1 <- res$n1 + } else if (is.null(n2)) { + res <- try(pwr::pwr.2p2n.test(n1 = as.numeric(n1), h = pwr::ES.h(p1 = p1, p2 = p2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) n2 <- res$n2 + } else { + res <- try(pwr::pwr.2p2n.test(n1 = as.numeric(n1), n2 = as.numeric(n2), sig.level = sig.level, power = power, alternative = alternative), silent = TRUE) + if (!inherits(res, "try-error")) { + if (is.null(p1)) { + p1 <- backout.ES.h(res$h, p2) + if (alternative != "two.sided") { + p1 <- ifelse(alternative == "less", p1[2], p1[1]) + } + } else { + p2 <- backout.ES.h(res$h, p1) + if (alternative != "two.sided") { + p2 <- ifelse(alternative == "less", p2[1], p2[2]) + } + } + } + } + } + + as.list(environment()) %>% add_class("sample_size_comp") +} + +#' Summary method for the sample_size_comp function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{sample_size_comp}} +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{sample_size_comp}} to generate the results +#' +#' @examples +#' sample_size_comp( +#' type = "proportion", p1 = 0.1, p2 = 0.15, +#' conf_lev = 0.95, power = 0.8 +#' ) %>% summary() +#' +#' @importFrom pwr ES.h +#' +#' @export +summary.sample_size_comp <- function(object, ...) { + if (is.character(object)) { + return(object) + } + if (inherits(object$res, "try-error")) { + return("Provided input does not generate valid results. Update input values ...") + } + + cat("Sample size calculation for comparison of", ifelse(object$type == "proportion", "proportions", "means"), "\n") + cat(paste0("Sample size 1 : ", format_nr(ceiling(object$n1), dec = 0), "\n")) + cat(paste0("Sample size 2 : ", format_nr(ceiling(object$n2), dec = 0), "\n")) + cat(paste0("Total sample size: ", format_nr(ceiling(object$n1) + ceiling(object$n2), dec = 0), "\n")) + + if (object$type == "mean") { + cat("Delta :", object$delta, "\n") + cat("Std. deviation :", object$sd, "\n") + cat("Effect size :", object$delta / object$sd, "\n") + } else { + cat("Proportion 1 :", object$p1, "\n") + cat("Proportion 2 :", object$p2, "\n") + cat("Effect size :", pwr::ES.h(p1 = object$p1[1], p2 = object$p2[1]) %>% abs(), "\n") + } + cat("Confidence level :", 1 - object$res$sig.level, "\n") + cat("Power :", object$res$power, "\n") + cat("Alternative :", object$alternative, "\n\n") +} + +#' Plot method for the sample_size_comp function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{sample_size_comp}} +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{sample_size_comp}} to generate the results +#' +#' @examples +#' sample_size_comp( +#' type = "proportion", p1 = 0.1, p2 = 0.15, +#' conf_lev = 0.95, power = 0.8 +#' ) %>% plot() +#' +#' @importFrom pwr plot.power.htest +#' +#' @export +plot.sample_size_comp <- function(x, ...) { + if (is.character(x) || inherits(x$res, "try-error")) { + return(" ") + } + pwr::plot.power.htest(x$res) +} diff --git a/radiant.design/R/sampling.R b/radiant.design/R/sampling.R new file mode 100644 index 0000000..6898695 --- /dev/null +++ b/radiant.design/R/sampling.R @@ -0,0 +1,89 @@ +#' Simple random sampling +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sampling.html} for an example in Radiant +#' +#' @param dataset Dataset to sample from +#' @param vars The variables to sample +#' @param sample_size Number of units to select +#' @param seed Random seed to use as the starting point +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param na.rm Remove rows with missing values (FALSE or TRUE) +#' @param envir Environment to extract data from +#' +#' @return A list of class 'sampling' with all variables defined in the sampling function +#' +#' @examples +#' sampling(rndnames, "Names", 10) +#' +#' @seealso \code{\link{summary.sampling}} to summarize results +#' @export +sampling <- function(dataset, vars, sample_size, + seed = 1234, data_filter = "", + arr = "", rows = NULL, + na.rm = FALSE, envir = parent.frame()) { + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, na.rm = na.rm, envir = envir) + if (is_not(sample_size)) { + return(add_class("Please select a sample size of 1 or greater", "sampling")) + } + + ## use seed if provided + seed %>% + gsub("[^0-9]", "", .) %>% + (function(x) if (!is.empty(x)) set.seed(x)) + + rnd_number <- data.frame(rnd_number = runif(nrow(dataset), min = 0, max = 1)) + dataset <- bind_cols(rnd_number, dataset) + seldat <- arrange(dataset, desc(rnd_number)) %>% + .[seq_len(max(1, sample_size)), , drop = FALSE] + + # removing unneeded arguments + rm(envir) + + as.list(environment()) %>% add_class("sampling") +} + +#' Summary method for the sampling function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/design/sampling.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{sampling}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @importFrom dplyr distinct +#' +#' @examples +#' sampling(rndnames, "Names", 10) %>% summary() +#' +#' @seealso \code{\link{sampling}} to generate the results +#' +#' @export +summary.sampling <- function(object, dec = 3, ...) { + cat("Sampling (simple random)\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Variables :", object$var, "\n") + if (!is.empty(object$seed)) { + cat("Random seed:", object$seed, "\n") + } + if (is.empty(object$sample_size) || object$sample_size < 1) { + cat("Sample size: 1 (invalid input provided)\n") + } else { + cat("Sample size:", object$sample_size, "\n") + } + + is_unique <- object$dataset[, -1, drop = FALSE] %>% + (function(x) ifelse(nrow(x) > nrow(distinct(x)), "Based on selected variables some duplicate rows exist", "Based on selected variables, no duplicate rows exist")) + cat("Duplicates :", is_unique, "\n\n") +} diff --git a/radiant.design/README.md b/radiant.design/README.md new file mode 100644 index 0000000..71774d3 --- /dev/null +++ b/radiant.design/README.md @@ -0,0 +1,188 @@ +# Radiant - Business analytics using R and Shiny + + + +[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/radiant.design)](https://CRAN.R-project.org/package=radiant.design) + + +Radiant is an open-source platform-independent browser-based interface for business analytics in [R](https://www.r-project.org/). The application is based on the [Shiny](https://shiny.posit.co/) package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.design/issues. For other questions and comments please use radiant@rady.ucsd.edu. + +## Key features + +- Explore: Quickly and easily summarize, visualize, and analyze your data +- Cross-platform: It runs in a browser on Windows, Mac, and Linux +- Reproducible: Recreate results and share work with others as a state file or an [Rmarkdown](https://rmarkdown.rstudio.com/) report +- Programming: Integrate Radiant's analysis functions with your own R-code +- Context: Data and examples focus on business applications + + + + +#### Playlists + +There are two youtube playlists with video tutorials. The first provides a general introduction to key features in Radiant. The second covers topics relevant in a course on business analytics (i.e., Probability, Decision Analysis, Hypothesis Testing, Linear Regression, and Simulation). + +* Introduction to Radiant +* Radiant Tutorial Series + +#### Explore + +Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., `Estimate` in _Model > Estimate > Logistic regression (GLM)_). This facilitates rapid exploration and understanding of the data. + +#### Cross-platform + +Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server. + +#### Reproducible + +To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using [Rmarkdown](https://rmarkdown.rstudio.com/). See also the section on `Saving and loading state` below + +If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to [Joe Cheng](https://github.com/jcheng5). + +#### Programming + +Although Radiant's web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant's functions directly from R-code). For more information about programming with Radiant see the [programming](https://radiant-rstats.github.io/docs/programming.html) page on the documentation site. + +#### Context + +Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve. + +## How to install Radiant + +- Required: [R](https://cran.r-project.org/) version 4.0.0 or later +- Required: [Rstudio](https://posit.co/download/rstudio-server/) + +In Rstudio you can start and update Radiant through the `Addins` menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Once all packages are installed, select `Start radiant` from the `Addins` menu in Rstudio or use the command below to launch the app: + +```r +radiant::radiant() +``` + +To launch Radiant in Rstudio's viewer pane use the command below: + +```r +radiant::radiant_viewer() +``` + +To launch Radiant in an Rstudio Window use the command below: + +```r +radiant::radiant_window() +``` + +To easily update Radiant and the required packages, install the `radiant.update` package using: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("remotes") +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never") +``` + +Then select `Update radiant` from the `Addins` menu in Rstudio or use the command below: + +```r +radiant.update::radiant.update() +``` + +See the [installing radiant](https://radiant-rstats.github.io/docs/install.html) page additional for details. + +**Optional:** You can also create a launcher on your Desktop to start Radiant by typing `radiant::launcher()` in the R(studio) console and pressing return. A file called `radiant.bat` (windows) or `radiant.command` (mac) will be created that you can double-click to start Radiant in your default browser. The `launcher` command will also create a file called `update_radiant.bat` (windows) or `update_radiant.command` (mac) that you can double-click to update Radiant to the latest release. + +When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click `Stop`. The Radiant process will stop and the browser window will close (Chrome) or gray-out. + +## Documentation + +Documentation and tutorials are available at and in the Radiant web interface (the icons on each page and the icon in the navigation bar). + +Individual Radiant packages also each have their own [pkgdown](https://github.com/r-lib/pkgdown) sites: + +* http://radiant-rstats.github.io/radiant +* http://radiant-rstats.github.io/radiant.data +* http://radiant-rstats.github.io/radiant.design +* http://radiant-rstats.github.io/radiant.basics +* http://radiant-rstats.github.io/radiant.model +* http://radiant-rstats.github.io/radiant.multivariate + +Want some help getting started? Watch the tutorials on the [documentation site](https://radiant-rstats.github.io/docs/tutorials.html). + + +## Reporting issues + +Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant. + +## Try Radiant online + +Not ready to install Radiant on your computer? Try it online at the link below: + +https://vnijs.shinyapps.io/radiant + +Do **not** upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons. + +## Running Radiant on shinyapps.io + +To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running `radiant/inst/app/for.shinyapps.io.R`. Finally, open `radiant/inst/app/ui.R` and [deploy](https://shiny.posit.co/articles/shinyapps.html) the application. + +## Running Radiant on shiny-server + +You can also host Radiant using [shiny-server](https://posit.co/download/shiny-server/). First, install radiant on the server using the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Then clone the radiant repo and point shiny-server to the `inst/app/` directory. As a courtesy, please let me know if you intend to use Radiant on a server. + +When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in _Report > Rmd_ and _Report > R_ will not be evaluated for security reasons. If you have `sudo` access to the server and have appropriate security in place you can change these settings by adding the following lines to `.Rprofile` for the `shiny` user on the server. + +```bash +options(radiant.maxRequestSize = -1) ## no file size limit +options(radiant.report = TRUE) +``` + +## Running Radiant in the cloud (e.g., AWS) + +To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details + +## Saving and loading state + +To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on `Save radiant state file` (see also the _Data > Manage_ tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file [`radiant-example.state.rda`](https://radiant-rstats.github.io/docs/examples/radiant-example.state.rda) by clicking on the icon in the navbar and then on `Load radiant state file`. Go to _Data > View_ and _Data > Visualize_ to see some of the settings from the previous "state" of the app. There is also a report in _Report > Rmd_ that was created using the Radiant interface. The html file `radiant-example.nb.html` contains the output. + +A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use `Refresh` in the menu in the navigation bar to return to a clean/new state. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > `Stop` to stop the app, lists called `r_data`, `r_info`, and `r_state` will be put into Rstudio's global workspace. If you start radiant again using `radiant::radiant()` it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state. + +**Technical note**: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called `r_state`. If there is, this value is used. The `r_state` list is created when saving state using `reactiveValuesToList(input)`. An example of a call to `numericInput` is given below where the `state_init` function from `radiant.R` is used to check if a value from `r_state` can be used. + +```r +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0)) +``` + +## Source code + +The source code for the radiant application is available on GitHub at . `radiant.data`, offers tools to load, save, view, visualize, summarize, combine, and transform data. `radiant.design` builds on `radiant.data` and adds tools for experimental design, sampling, and sample size calculation. `radiant.basics` covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. `radiant.model` covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, `radiant.multivariate` includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis. + +These tools are used in the _Business Analytics_, _Quantitative Analysis_, _Research for Marketing Decisions_, _Applied Market Research_, _Consumer Behavior_, _Experiments in Firms_, _Pricing_, _Pricing Analytics_, and _Customer Analytics_ classes at the Rady School of Management (UCSD). + +## Credits + +Radiant would not be possible without [R](https://cran.r-project.org/) and [Shiny](https://shiny.posit.co/). I would like to thank [Joe Cheng](https://github.com/jcheng5), [Winston Chang](https://github.com/wch), and [Yihui Xie](https://github.com/yihui) for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, shinyFiles, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page. + + +## License + + +Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +The documentation, images, and videos for the `radiant.data` package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for `radiant.design`, `radiant.basics`, `radiant.model`, and `radiant.multivariate`, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA. + +If you are interested in using any of the radiant packages please email me at radiant@rady.ucsd.edu + +© Vincent Nijs (2023) Creative Commons License \ No newline at end of file diff --git a/radiant.design/_pkgdown.yml b/radiant.design/_pkgdown.yml new file mode 100644 index 0000000..c4cfe58 --- /dev/null +++ b/radiant.design/_pkgdown.yml @@ -0,0 +1,80 @@ +url: https://radiant-rstats.github.io/radiant.design + +template: + params: + docsearch: + api_key: f8828bfa522c01496b23a387c7bec90e + index_name: radiant_design + +navbar: + title: "radiant.design" + left: + - icon: fa-home fa-lg + href: index.html + - text: "Reference" + href: reference/index.html + - text: "Articles" + href: articles/index.html + - text: "Changelog" + href: news/index.html + - text: "Other Packages" + menu: + - text: "radiant" + href: https://radiant-rstats.github.io/radiant/ + - text: "radiant.data" + href: https://radiant-rstats.github.io/radiant.data/ + - text: "radiant.design" + href: https://radiant-rstats.github.io/radiant.design/ + - text: "radiant.basics" + href: https://radiant-rstats.github.io/radiant.basics/ + - text: "radiant.model" + href: https://radiant-rstats.github.io/radiant.model/ + - text: "radiant.multivariate" + href: https://radiant-rstats.github.io/radiant.multivariate/ + - text: "docker" + href: https://github.com/radiant-rstats/docker + right: + - icon: fa-twitter fa-lg + href: https://twitter.com/vrnijs + - icon: fa-github fa-lg + href: https://github.com/radiant-rstats + +reference: +- title: Design > Design of Experiments (DOE) + desc: Functions used to create (fractional) factorial experimental designs + contents: + - doe + - summary.doe + - estimable +- title: Design > Sample + desc: Functions used with Design > Sample + contents: + - sampling + - summary.sampling + - randomizer + - summary.randomizer + - sample_size + - summary.sample_size + - sample_size_comp + - summary.sample_size_comp + - plot.sample_size_comp +- title: Data sets + desc: Data sets bundled with radiant.design + contents: + - rndnames +- title: Starting radiant.design + desc: Functions used to start the radiant.design shiny app + contents: + - radiant.design + - radiant.design_viewer + - radiant.design_window +articles: +- title: Design Menu + desc: > + These vignettes provide an introduction to the Design menu in radiant + contents: + - pkgdown/doe + - pkgdown/sampling + - pkgdown/randomizer + - pkgdown/sample_size + - pkgdown/sample_size_comp diff --git a/radiant.design/build/build.R b/radiant.design/build/build.R new file mode 100644 index 0000000..0f6d467 --- /dev/null +++ b/radiant.design/build/build.R @@ -0,0 +1,87 @@ +setwd(rstudioapi::getActiveProject()) +curr <- getwd() +pkg <- basename(curr) + +## building package for mac and windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) stop("Change R-version") + +dirsrc <- "../minicran/src/contrib" + +if (rv < "3.4") { + dirmac <- fs::path("../minicran/bin/macosx/mavericks/contrib", rv) +} else if (rv > "3.6") { + dirmac <- c( + fs::path("../minicran/bin/macosx/big-sur-arm64/contrib", rv), + fs::path("../minicran/bin/macosx/contrib", rv) + ) +} else { + dirmac <- fs::path("../minicran/bin/macosx/el-capitan/contrib", rv) +} + +dirwin <- fs::path("../minicran/bin/windows/contrib", rv) + +if (!fs::file_exists(dirsrc)) fs::dir_create(dirsrc, recursive = TRUE) +for (d in dirmac) { + if (!fs::file_exists(d)) fs::dir_create(d, recursive = TRUE) +} +if (!fs::file_exists(dirwin)) fs::dir_create(dirwin, recursive = TRUE) + +# delete older version of radiant +rem_old <- function(pkg) { + unlink(paste0(dirsrc, "/", pkg, "*")) + for (d in dirmac) { + unlink(paste0(d, "/", pkg, "*")) + } + unlink(paste0(dirwin, "/", pkg, "*")) +} + +sapply(pkg, rem_old) + +## avoid 'loaded namespace' stuff when building for mac +system(paste0(Sys.which("R"), " -e \"setwd('", getwd(), "'); app <- '", pkg, "'; source('build/build_mac.R')\"")) + +win <- readline(prompt = "Did you build on Windows? y/n: ") +if (grepl("[yY]", win)) { + + fl <- list.files(pattern = "*.zip", path = "~/Dropbox/r-packages/", full.names = TRUE) + for (f in fl) { + print(f) + file.copy(f, "~/gh/") + } + + ## move packages to radiant_miniCRAN. must package in Windows first + # path <- normalizePath("../") + pth <- fs::path_abs("../") + + sapply(list.files(pth, pattern = "*.tar.gz", full.names = TRUE), file.copy, dirsrc) + unlink("../*.tar.gz") + for (d in dirmac) { + sapply(list.files(pth, pattern = "*.tgz", full.names = TRUE), file.copy, d) + } + unlink("../*.tgz") + sapply(list.files(pth, pattern = "*.zip", full.names = TRUE), file.copy, dirwin) + unlink("../*.zip") + + tools::write_PACKAGES(dirwin, type = "win.binary") + for (d in dirmac) { + tools::write_PACKAGES(d, type = "mac.binary") + } + tools::write_PACKAGES(dirsrc, type = "source") + + # commit to repo + setwd("../minicran") + system("git add --all .") + mess <- paste0(pkg, " package update: ", format(Sys.Date(), format = "%m-%d-%Y")) + system(paste0("git commit -m '", mess, "'")) + system("git push") +} + +setwd(curr) + +# remove.packages(c("radiant.model", "radiant.data")) +# radiant.update::radiant.update() +# install.packages("radiant.update") diff --git a/radiant.design/build/build_mac.R b/radiant.design/build/build_mac.R new file mode 100644 index 0000000..1452bac --- /dev/null +++ b/radiant.design/build/build_mac.R @@ -0,0 +1,6 @@ +## build for mac +app <- basename(getwd()) +curr <- setwd("../") +f <- devtools::build(app) +system(paste0("R CMD INSTALL --build ", f)) +setwd(curr) diff --git a/radiant.design/build/build_win.R b/radiant.design/build/build_win.R new file mode 100644 index 0000000..e6861ce --- /dev/null +++ b/radiant.design/build/build_win.R @@ -0,0 +1,26 @@ +## build for windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) + stop("Change R-version using Rstudio > Tools > Global Options > Rversion") + +## build for windows +setwd(rstudioapi::getActiveProject()) +f <- devtools::build(binary = TRUE) +devtools::install(upgrade = "never") + +fl <- list.files(pattern = "*.zip", path = "../", full.names = TRUE) + +for (f in fl) { + print(glue::glue("Copying: {f}")) + file.copy(f, "C:/Users/vnijs/Dropbox/r-packages/", overwrite = TRUE) + unlink(f) +} + +#options(repos = c(RSM = "https://radiant-rstats.github.io/minicran")) +#install.packages("radiant.data", type = "binary") +# remove.packages(c("radiant.data", "radiant.model")) +#install.packages("radiant.update") +# radiant.update::radiant.update() diff --git a/radiant.design/data/rndnames.rda b/radiant.design/data/rndnames.rda new file mode 100644 index 0000000000000000000000000000000000000000..52dc57afd4407d75b05822dcf2ea48cd2a070815 GIT binary patch literal 1518 zcmV5-CC=V?D=|6>2I*`aJoPO)Fm2ip>TN#1+Txre-oKfP{$YPVXgt=9Il zC#|h*JU-pR*OS)M)((DuwmQ|6vum}skE^&=>kyxG{r`T?E~FMcmyj}=!f2!vX%Xc) z+nn@z^k^tmVYC>UB4g_^4vXx?>@vF3BF5KxY^R@yeyL>XnjpPkD`HmjY(2Ky=T!84 zdM3=<|4d0nR#GNDvo;~{Y-yzuXNp|C-hfKWS`5k=g|W_Mm6sBitc&~g;6Y5*vQi?p zl(Edi{85$ih*aKe-eoF9m$crjdw*2$Ji}HaWy)#DeecXD7H8JX=WN$w&qoC%OEF3^ z%L(hLaYcx}LPp|>$*DTJ{XQov-cM5wJMDd7YnS2!lTDWEvBNV{+CuYEoRQ5Y zJQK08E(tjuT+)_VXLSkxWtX5oCb4hvz+GwF0 ze4;FeKB7e(^?XEnVr(kFh}08SX~6d=1~pzC&|sQEKS4R27`tnkh`7ueo_heNgidoV`CIh;I`VtlcUSL};YZR|Q7Ye+R?CPa=ZkOWL zng;9Lu3chsS2jyx$e5WE-BJed_lERU=0*%j-^;MnKxzZkyPBaP*_jw7i85|hL$!Nr zK-;ZUjSSk6o}%Vx)@0FVw0Yk+u3NG*DjoEXz5p;mEC(@<4Y~)-o6N|DzHcM1C3bEI zLa!;-46w(ROQ`}{7c{mKJxJoBv{PUoR^GqDsAS(6%49(#J5i3YsL@de+8Rq}OQ(nr zoAoIHeF~zhJS5QAXY}s`Lhh4x8=4&uc*zLZ)!xv#K)NZi0>gD{?Dt@P1Z`mDX`>Fn zJoUBVx9~}aCAyYEm?>lFmc%1GKew|(@mGDSh&%92^5QOgA~i+RyVrUzdT zz4^R0yq`mO;>JX-C`zLH2ys5a`O8*}gN6I7KxqZ(5gNMUWI$lQ?xcz=n|eyRCJRfV!KUcB7-aDV?E5!3HPJ$VeZeY> z9$e89m|t1?lkeOtDE0^lFBN+wD;T}2y?Gbep;)w)8Hb^0g_E4gy3~HDX9kD6Z;tvn z!RZdaLt>ocs?n*g7^~~XkMMc&V|*T64S!N_8|7N73*lB6J?9)AzJ7Z;^v{pyJxi)v z*lJq6*o2b8SUi3EK74)se6-86>kY&H=>i^%rg=PX$C|s-FxTs8>u-ELJUsmKUEprY zF0pc6_!Ik4R!{zY@d5`~KKDj0-~c#MoSf<$cd>T+1^$eisqJ^3?>D?(VLo8A%$Z;X0PE?7K#BZ;JXQIj*&y$LmRX*R%a00i1R1`+Q8B16AOofxE zn?o6H6NU8{)nNFk1&%TQ?2rMX1b@ZVPWlnp3i3hd=?b(z{PldS*m=l&5&~7_Ebe5H zRnVC+Zaxe0s5*hm=xecPru-r*?#0{c7q2V!@xCd8?T0m$+d(A7Sba$+>$h#Z1(Wp| UoK_jE)Ytm0J>0Oq#(`v3p{ literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/global.R b/radiant.design/inst/app/global.R new file mode 100644 index 0000000..32b0ac1 --- /dev/null +++ b/radiant.design/inst/app/global.R @@ -0,0 +1,33 @@ +# translation code +library(shiny.i18n) +# file with translations +i18n <- Translator$new(translation_csvs_path = "../translations") + +# change this to zh +i18n$set_translation_language("zh") +# translation code end + +## sourcing from radiant.data +options(radiant.path.data = system.file(package = "radiant.data")) +source(file.path(getOption("radiant.path.data"), "app/global.R"), encoding = getOption("radiant.encoding", default = "UTF-8"), local = TRUE) + +ifelse(grepl("radiant.design", getwd()) && file.exists("../../inst"), "..", system.file(package = "radiant.design")) %>% + options(radiant.path.design = .) + +## setting path for figures in help files +addResourcePath("figures_design", "tools/help/figures/") + +## setting path for www resources +addResourcePath("www_design", file.path(getOption("radiant.path.design"), "app/www/")) + +## loading urls and ui +source("init.R", encoding = getOption("radiant.encoding", "UTF-8"), local = TRUE) +options(radiant.url.patterns = make_url_patterns()) + +if (!"package:radiant.design" %in% search() && + isTRUE(getOption("radiant.development")) && + getOption("radiant.path.design") == "..") { + options(radiant.from.package = FALSE) +} else { + options(radiant.from.package = TRUE) +} diff --git a/radiant.design/inst/app/help.R b/radiant.design/inst/app/help.R new file mode 100644 index 0000000..b7ed7a0 --- /dev/null +++ b/radiant.design/inst/app/help.R @@ -0,0 +1,24 @@ +help_design <- c( + "Design of Experiments" = "doe.md", "Random sampling" = "sampling.md", + "Random assignment" = "randomizer.md", "Sample size (single)" = "sample_size.Rmd", + "Sample size (compare)" = "sample_size_comp.Rmd" +) +output$help_design <- reactive(append_help("help_design", file.path(getOption("radiant.path.design"), "app/tools/help"), Rmd = TRUE)) + +observeEvent(input$help_design_all, { + help_switch(input$help_design_all, "help_design") +}) +observeEvent(input$help_design_none, { + help_switch(input$help_design_none, "help_design", help_on = FALSE) +}) + +help_design_panel <- tagList( + wellPanel( + HTML(""), + checkboxGroupInput( + "help_design", NULL, help_design, + selected = state_group("help_design"), inline = TRUE + ) + ) +) diff --git a/radiant.design/inst/app/init.R b/radiant.design/inst/app/init.R new file mode 100644 index 0000000..faf0a3b --- /dev/null +++ b/radiant.design/inst/app/init.R @@ -0,0 +1,31 @@ +# import_fs("radiant.design", libs = "mvtnorm", incl = "pmvnorm") + +## urls for menu +r_url_list <- getOption("radiant.url.list") +r_url_list[["Random sampling"]] <- "design/sampling/" +r_url_list[["Random assignment"]] <- "design/randomize/" +r_url_list[["Sample size (single)"]] <- "design/sample-size/" +r_url_list[["Sample size (compare)"]] <- "design/sample-size-comp/" +r_url_list[["Design of Experiments"]] <- "design/doe/" +options(radiant.url.list = r_url_list) +rm(r_url_list) + +## design menu +options( + radiant.design_ui = + tagList( + navbarMenu( + i18n$t("Design"), + tags$head( + tags$script(src = "www_design/js/run_return.js") + ), + "DOE", + tabPanel(i18n$t("Design of Experiments"), uiOutput("doe")), + "----", i18n$t("Sample"), + tabPanel(i18n$t("Random sampling"), uiOutput("sampling")), + tabPanel(i18n$t("Random assignment"), uiOutput("randomizer")), + tabPanel(i18n$t("Sample size (single)"), uiOutput("sample_size")), + tabPanel(i18n$t("Sample size (compare)"), uiOutput("sample_size_comp")) + ) + ) +) diff --git a/radiant.design/inst/app/server.R b/radiant.design/inst/app/server.R new file mode 100644 index 0000000..73bd791 --- /dev/null +++ b/radiant.design/inst/app/server.R @@ -0,0 +1,59 @@ +if (isTRUE(getOption("radiant.from.package"))) { + library(radiant.design) +} + +shinyServer(function(input, output, session) { + + ## source shared functions + source(file.path(getOption("radiant.path.data"), "app/init.R"), encoding = getOption("radiant.encoding"), local = TRUE) + source(file.path(getOption("radiant.path.data"), "app/radiant.R"), encoding = getOption("radiant.encoding"), local = TRUE) + + ## source data & app tools from radiant.data + for (file in list.files( + c( + file.path(getOption("radiant.path.data"), "app/tools/app"), + file.path(getOption("radiant.path.data"), "app/tools/data") + ), + pattern = "\\.(r|R)$", + full.names = TRUE)) { + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + } + + ## setting up help + source("help.R", encoding = getOption("radiant.encoding"), local = TRUE) + + ## help ui + output$help_design_ui <- renderUI({ + sidebarLayout( + sidebarPanel( + help_data_panel, + help_design_panel, + uiOutput("help_text"), + width = 3 + ), + mainPanel( + HTML(paste0("

    Select help files to show and search


    ")), + htmlOutput("help_data"), + htmlOutput("help_design") + ) + ) + }) + + ## packages to use for example data + options(radiant.example.data = c("radiant.data", "radiant.design")) + + ## 'sourcing' package functions in the server.R environment for development + if (!isTRUE(getOption("radiant.from.package"))) { + for (file in list.files("../../R", pattern = "\\.(r|R)$", full.names = TRUE)) { + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + } + cat("\nGetting radiant.design from source ...\n") + } + + ## source analysis tools for design app + for (file in list.files(c("tools/analysis"), pattern = "\\.(r|R)$", full.names = TRUE)) + source(file, encoding = getOption("radiant.encoding"), local = TRUE) + + ## save state on refresh or browser close + saveStateOnRefresh(session) +}) diff --git a/radiant.design/inst/app/tools/analysis/doe_ui.R b/radiant.design/inst/app/tools/analysis/doe_ui.R new file mode 100644 index 0000000..b01cec4 --- /dev/null +++ b/radiant.design/inst/app/tools/analysis/doe_ui.R @@ -0,0 +1,352 @@ +## list of function arguments +doe_args <- as.list(formals(doe)) + +## list of function inputs selected by user +doe_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(doe_args)) { + doe_args[[i]] <- input[[paste0("doe_", i)]] + } + doe_args +}) + +output$ui_doe_int <- renderUI({ + req(!is.empty(input$doe_factors)) + vars <- gsub("[ ]{2,}", " ", input$doe_factors) %>% + gsub("/", "", .) %>% + gsub("\\\\n", "\n", .) %>% + gsub("[ ]*;[ ]*", ";", .) %>% + gsub(";{2,}", ";", .) %>% + gsub("[;]+[ ]{0,}\n", "\n", .) %>% + gsub("[ ]{1,}\n", "\n", .) %>% + gsub("\n[ ]+", "\n", .) %>% + gsub("[\n]{2,}", "\n", .) %>% + gsub("[ ]+", "_", .) %>% + strsplit(., "\n") %>% + .[[1]] %>% + strsplit(";\\s*") %>% + sapply(function(x) x[1]) %>% + unique() + + req(length(vars) > 1) + choices <- iterms(vars, 2) + + selectInput( + "doe_int", + label = "Interactions:", choices = choices, + selected = state_init("doe_int"), + multiple = TRUE, size = min(3, length(choices)), selectize = FALSE + ) +}) + +output$ui_doe_levels <- renderUI({ + req(input$doe_max > 2) + make_level <- function(nr) { + textInput( + paste0("doe_level", nr), paste0("Level ", nr, ":"), + value = state_init(paste0("doe_level", nr)) + ) + } + lapply(3:input$doe_max, make_level) +}) + +## add a spinning refresh icon if the design needs to be (re)calculated +run_refresh(doe_args, "doe", init = "factors", label = i18n$t("Create design"), relabel = "Update design", data = FALSE) + +output$ui_doe <- renderUI({ + tagList( + wellPanel( + actionButton("doe_run", "Create design", width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") + ), + wellPanel( + tags$table( + tags$td( + numericInput( + "doe_max", + label = i18n$t("Max levels:"), min = 2, max = 10, + value = state_init("doe_max", init = 2), + width = "80px" + ) + ), + tags$td( + numericInput( + "doe_trials", + label = i18n$t("# trials:"), min = 1, step = 1, + value = state_init("doe_trials", init = NA), + width = "65px" + ) + ), + tags$td( + numericInput( + "doe_seed", + label = i18n$t("Rnd. seed:"), min = 0, + value = state_init("doe_seed", init = 1234), ## prev default seed 172110 + width = "100%" + ) + ) + ), + tagList( + tags$label(i18n$t("Variable name:")), + actionLink( + inputId = "doe_add", + label = NULL, + icon = icon("plus-circle", verify_fa = FALSE), + title = i18n$t("Add variable") + ), + actionLink( + inputId = "doe_del", + label = NULL, + icon = icon("minus-circle", verify_fa = FALSE), + title = i18n$t("Remove variable") + ) + ), + textInput("doe_name", NULL, value = state_init("doe_name", "")), + textInput("doe_level1", label = i18n$t("Level 1:"), value = state_init("doe_level1")), + textInput("doe_level2", label = i18n$t("Level 2:"), value = state_init("doe_level2")), + uiOutput("ui_doe_levels"), + uiOutput("ui_doe_int") + ), + wellPanel( + HTML(sprintf( + "
    ", + i18n$t("Save factorial design:") + )), + tags$table( + tags$td(download_button("doe_download_part", i18n$t("Partial"))), + tags$td(download_button("doe_download_full", i18n$t("Full"))) + ), + HTML(sprintf( + "

    ", + i18n$t("Save factors:") + )), + download_button("doe_download", i18n$t("Factors"), class = "btn-primary"), + HTML(sprintf( + "

    ", + i18n$t("Upload factors:") + )), + file_upload_button( + "doe_upload", + label = i18n$t("Upload factors:"), accept = ".txt", + buttonLabel = i18n$t("Factors"), title = i18n$t("Upload DOE factors"), class = "btn-primary" + ) + ), + help_and_report( + modal_title = i18n$t("Design of Experiments"), + fun_name = "doe", + help_file = inclMD(file.path(getOption("radiant.path.design"), "app/tools/help/doe.md")) + ) + ) +}) + +observeEvent(input$doe_add, { + req(input$doe_max) + dup <- input$doe_name + for (i in 1:input$doe_max) { + dtmp <- input[[paste0("doe_level", i)]] + if (!is.empty(dtmp)) dup <- c(dup, dtmp) + } + dup <- paste(dup, collapse = "; ") + + if (is.empty(input$doe_factors)) { + val <- dup + } else { + val <- paste0(input$doe_factors, "\n", dup) + } + + updateTextInput(session = session, "doe_factors", value = val) +}) + +observeEvent(input$doe_del, { + input$doe_factors %>% + strsplit("\n") %>% + unlist() %>% + head(., -1) %>% + paste0(collapse = "\n") %>% + updateTextInput(session = session, "doe_factors", value = .) +}) + +doe_maker <- function(id = "factors", rows = 5, pre = "doe_", + placeholder = i18n$t("Upload an experimental design using the 'Upload factors' button or create a new design using the inputs on the left of the screen. For help, click the ? icon on the bottom left of the screen") + ) { + id <- paste0(pre, id) + tags$textarea( + state_init(id), + id = id, + type = "text", + rows = rows, + autocomplete = "off", + autocorrect = "off", + autocapitalize = "off", + spellcheck = "false", + placeholder = placeholder, + class = "form-control" + ) +} + +## output is called from the main radiant ui.R +output$doe <- renderUI({ + register_print_output("summary_doe", ".summary_doe") + + ## single tab with components stacked + doe_output_panels <- tagList( + tabPanel( + i18n$t("Summary"), + HTML(sprintf("", i18n$t("Design factors:"))), + doe_maker("factors", rows = 5), + HTML(sprintf( + "
    ", + i18n$t("Generated experimental design:") + )), + verbatimTextOutput("summary_doe") + ) + ) + + stat_tab_panel( + menu = i18n$t("Design > DOE"), + tool = i18n$t("Design of Experiments"), + data = NULL, + tool_ui = "ui_doe", + output_panels = doe_output_panels + ) +}) + +.doe <- eventReactive(input$doe_run, { + req(!is.empty(input$doe_factors)) + + int <- "" + if (length(input$doe_int) > 0) { + int <- input$doe_int + } + + withProgress(message = "Generating design", value = 1, { + do.call(doe, doe_inputs()) + }) +}) + +.summary_doe <- reactive({ + summary(.doe(), eff = TRUE, part = TRUE, full = TRUE) +}) + +dl_doe_download_part <- function(path) { + .doe() %>% + (function(x) if (class(x)[1] == "character") x else x$part) %>% + write.csv(path, row.names = FALSE) +} + +download_handler( + id = "doe_download_part", + label = i18n$t("Partial"), + fun = dl_doe_download_part, + fn = "part_factorial", + caption = "Save partial factorial", + btn = "button" +) + +dl_doe_download_full <- function(path) { + .doe() %>% + (function(x) if (class(x)[1] == "character") x else x$full) %>% + write.csv(path, row.names = FALSE) +} + +download_handler( + id = "doe_download_full", + label = i18n$t("Full"), + fun = dl_doe_download_full, + fn = "full_factorial", + caption = "Save full factorial", + btn = "button" +) + +dl_doe_download <- function(path) { + cat(paste0(input$doe_factors, "\n"), file = path) +} + +download_handler( + id = "doe_download", + label = i18n$t("Factors"), + fun = dl_doe_download, + fn = "doe_factors", + caption = "Save DOE factors", + type = "txt", + class = "btn-primary", + btn = "button" +) + +if (!getOption("radiant.shinyFiles", FALSE)) { + doe_uploadfile <- shinyFiles::shinyFileChoose( + input = input, + id = "doe_upload", + session = session, + roots = volumes, + filetype = "txt" + ) +} + +observeEvent(input$doe_upload, { + if (getOption("radiant.shinyFiles", FALSE)) { + path <- shinyFiles::parseFilePaths(sf_volumes, input$doe_upload) + if (inherits(path, "try-error") || is.empty(path$datapath)) { + return() + } else { + path <- path$datapath + } + inFile <- data.frame( + name = basename(path), + datapath = path, + stringsAsFactors = FALSE + ) + } else { + inFile <- input$doe_upload + } + + fct <- paste0(readLines(inFile$datapath), collapse = "\n") + updateTextInput(session = session, "doe_factors", value = fct) + + ## cleaning out previous settings + updateNumericInput(session = session, "doe_max", value = 2) + updateNumericInput(session = session, "doe_trials", value = NA) + updateTextInput(session = session, "doe_name", value = "") + for (i in 1:10) { + r_state[[paste0("doe_level", i)]] <<- NULL + updateTextInput(session = session, paste0("doe_level", i), value = "") + } +}) + +doe_report <- function() { + if (getOption("radiant.local", default = FALSE)) { + pdir <- getOption("radiant.launch_dir") + xcmd <- paste0('# write.csv(result$part, file = "part_factorial.csv")') + } else { + xcmd <- "" + } + inp_out <- list(list(eff = TRUE, part = TRUE, full = TRUE)) + + inp <- clean_args(doe_inputs(), doe_args) + if (!is.empty(inp[["factors"]])) { + inp[["factors"]] <- strsplit(inp[["factors"]], "\n")[[1]] + } + + update_report( + inp_main = inp, + fun_name = "doe", + outputs = "summary", + inp_out = inp_out, + figs = FALSE, + xcmd = xcmd + ) +} + +observeEvent(input$doe_report, { + r_info[["latest_screenshot"]] <- NULL + doe_report() +}) + +observeEvent(input$doe_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_doe_screenshot") +}) + +observeEvent(input$modal_doe_screenshot, { + doe_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.design/inst/app/tools/analysis/randomizer_ui.R b/radiant.design/inst/app/tools/analysis/randomizer_ui.R new file mode 100644 index 0000000..9139a59 --- /dev/null +++ b/radiant.design/inst/app/tools/analysis/randomizer_ui.R @@ -0,0 +1,245 @@ +## list of function arguments +rndr_args <- as.list(formals(randomizer)) + +## list of function inputs selected by user +rndr_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + rndr_args$data_filter <- if (input$show_filter) input$data_filter else "" + rndr_args$arr <- if (input$show_filter) input$data_arrange else "" + rndr_args$rows <- if (input$show_filter) input$data_rows else "" + rndr_args$dataset <- input$dataset + for (i in r_drop(names(rndr_args))) { + rndr_args[[i]] <- input[[paste0("rndr_", i)]] + } + + rndr_args$conditions <- unlist(strsplit(rndr_args$conditions, "(\\s*,\\s*|\\s*;\\s*)")) %>% + fix_names() %T>% { + updateTextInput(session, "rndr_conditions", value = paste0(., collapse = ", ")) + } + + rndr_args +}) + +output$ui_rndr_vars <- renderUI({ + vars <- varnames() + selectInput( + inputId = "rndr_vars", label = i18n$t("Variables:"), + choices = vars, selected = state_multiple("rndr_vars", vars, vars), + multiple = TRUE, selectize = FALSE, + size = min(12, length(vars)) + ) +}) + +output$ui_rndr_blocks <- renderUI({ + vars <- varnames() + selectizeInput( + inputId = "rndr_blocks", label = i18n$t("Blocking variables:"), + choices = vars, selected = state_multiple("rndr_blocks", vars, c()), + multiple = TRUE, + options = list( + placeholder = i18n$t("Select blocking variables"), + plugins = list("remove_button") + ) + ) +}) + +output$ui_rndr_conditions <- renderUI({ + textAreaInput( + "rndr_conditions", label = i18n$t("Condition labels:"), + rows = 2, + placeholder = i18n$t("Type condition labels separated by comma's and press return"), + value = state_init("rndr_conditions", "A, B") + ) +}) + +output$ui_rndr_probs <- renderUI({ + req(input$rndr_conditions) + textInput( + "rndr_probs", label = i18n$t("Probabilities:"), + value = state_init("rndr_probs", ""), + placeholder = i18n$t("Probabilities:") + ) +}) + +output$ui_rndr_name <- renderUI({ + req(input$dataset) + textInput("rndr_name", label = i18n$t("Store as:"), placeholder = i18n$t("Provide a name"), value = "") +}) + +## add a spinning refresh icon if the simulation needs to be (re)run +run_refresh(rndr_args, "rndr", init = "vars", label = i18n$t("Assign conditions"), relabel = i18n$t("Re-assign conditions"), data = FALSE) + +output$ui_randomizer <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + actionButton("rndr_run", label = i18n$t("Assign conditions"), width = "100%", icon = icon("play", verify_fa = FALSE), class = "btn-success") + ), + wellPanel( + uiOutput("ui_rndr_vars"), + uiOutput("ui_rndr_blocks"), + uiOutput("ui_rndr_conditions"), + uiOutput("ui_rndr_probs"), + textInput( + "rndr_label", label = i18n$t("Condition variable name:"), + placeholder = i18n$t("Provide a variable name"), + value = state_init("rndr_label", "默认变量名") + ), + numericInput("rndr_seed", label = i18n$t("Rnd. seed:"), min = 0, value = state_init("rndr_seed", init = 1234)) + ), + wellPanel( + tags$table( + tags$td(uiOutput("ui_rndr_name")), + tags$td(actionButton("rndr_store", label = i18n$t("Store"), icon = icon("plus", verify_fa = FALSE)), class = "top") + ) + ), + help_and_report( + modal_title = i18n$t("Random assignment"), + fun_name = "randomizer", + help_file = inclMD(file.path(getOption("radiant.path.design"), "app/tools/help/randomizer.md")) + ) + ) +}) + +output$randomizer <- renderUI({ + register_print_output("summary_randomizer", ".summary_randomizer") + + ## one output with components stacked + rndr_output_panels <- tagList( + tabPanel( + i18n$t("Summary"), + download_link("dl_randomizer"), br(), + verbatimTextOutput("summary_randomizer"), + conditionalPanel( + "input.rndr_vars != undefined && input.rndr_vars != null && input.rndr_vars.length > 0", + DT::dataTableOutput("table_randomizer") + ) + ) + ) + + stat_tab_panel( + menu = i18n$t("Design > Sample"), + tool = i18n$t("Random assignment"), + tool_ui = "ui_randomizer", + output_panels = rndr_output_panels + ) +}) + +.randomizer <- eventReactive(input$rndr_run, { + validate( + need(input$rndr_vars, "Select at least one variables") + ) + + withProgress(message = "Randomly assigning", value = 1, { + rndi <- rndr_inputs() + rndi$envir <- r_data + asNum <- function(x) ifelse(length(x) > 1, as.numeric(x[1]) / as.numeric(x[2]), as.numeric(x)) + rndi$probs <- unlist(strsplit(rndi$probs, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + strsplit("/") %>% + sapply(asNum) + do.call(randomizer, rndi) + }) +}) + +.summary_randomizer <- reactive({ + if (not_pressed(input$rndr_run) || not_available(input$rndr_vars)) { + i18n$t( + "For random assignment each row in the data should be distinct (i.e., no duplicates). Please select an appropriate dataset." + ) %>% + suggest_data("rndnames") + } else { + summary(.randomizer()) + } +}) + +output$table_randomizer <- DT::renderDataTable({ + req(input$rndr_run) + withProgress(message = "Generating assignments", value = 1, { + isolate(.randomizer()$dataset) %>% dtab(dom = "tip") + }) +}) + +randomizer_report <- function() { + xcmd <- "# dtab(result$dataset, dom = \"tip\", nr = 100)" + + if (!is.empty(input$rndr_name)) { + dataset <- fix_names(input$rndr_name) + if (input$rndr_name != dataset) { + updateTextInput(session, inputId = "rndr_name", value = dataset) + } + xcmd <- paste0(xcmd, "\n", dataset, " <- result$dataset\nregister(\"", dataset, "\")") + } + + rndi <- rndr_inputs() + rndi$probs <- radiant.data::make_vec(rndi$probs) + + update_report( + inp_main = clean_args(rndi, rndr_args), + fun_name = "randomizer", outputs = "summary", + xcmd = xcmd, figs = FALSE + ) +} + +dl_randomizer <- function(path) { + resp <- .randomizer() + if ("dataset" %in% names(resp)) { + resp$dataset %>% write.csv(file = path, row.names = FALSE) + } else { + cat("No valid dataset available", file = path) + } +} + +download_handler( + id = "dl_randomizer", + fun = dl_randomizer, + fn = function() paste0(input$dataset, "_rnd"), + type = "csv", + caption = i18n$t("Save random assignment") +) + +observeEvent(input$rndr_store, { + req(input$rndr_name) + resp <- .randomizer() + if (!"dataset" %in% names(resp)) { + cat("No valid dataset available") + return() + } + + dataset <- fix_names(input$rndr_name) + if (input$rndr_name != dataset) { + updateTextInput(session, inputId = "rndr_name", value = dataset) + } + + r_data[[dataset]] <- resp$dataset + register(dataset) + updateSelectInput(session, "dataset", selected = input$dataset) + + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + sprintf(i18n$t("Dataset '%s' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen."), + dataset) + ), + footer = modalButton(i18n$t("OK")), + size = "s", + easyClose = TRUE + ) + ) +}) + +observeEvent(input$randomizer_report, { + r_info[["latest_screenshot"]] <- NULL + randomizer_report() +}) + +observeEvent(input$randomizer_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_randomizer_screenshot") +}) + +observeEvent(input$modal_randomizer_screenshot, { + randomizer_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.design/inst/app/tools/analysis/sample_size_comp_ui.R b/radiant.design/inst/app/tools/analysis/sample_size_comp_ui.R new file mode 100644 index 0000000..a01668b --- /dev/null +++ b/radiant.design/inst/app/tools/analysis/sample_size_comp_ui.R @@ -0,0 +1,192 @@ +############################### +# Sample size +############################### +ssc_type <- setNames( + c("mean", "proportion"), + c(i18n$t("Mean"), i18n$t("Proportion")) +) +# ssc_alternative <- c("Two sided" = "two.sided", "One sided" = "one.sided") +ssc_alternative <- setNames( + c("two.sided", "less", "greater"), + c(i18n$t("Two sided"), i18n$t("Group 1 less than Group 2"), i18n$t("Group 1 greater than Group 2")) +) +## list of function arguments +ssc_args <- as.list(formals(sample_size_comp)) + +## list of function inputs selected by user +ssc_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(ssc_args)) { + ssc_args[[i]] <- input[[paste0("ssc_", i)]] + } + ssc_args +}) + +output$ui_sample_size_comp <- renderUI({ + tagList( + wellPanel( + radioButtons( + inputId = "ssc_type", label = NULL, choices = ssc_type, + selected = state_init("ssc_type", "mean"), inline = TRUE + ), + numericInput( + "ssc_n1", i18n$t("Sample size (n1):"), + min = 1, + value = state_init("ssc_n1", NA), step = 1 + ), + numericInput( + "ssc_n2", i18n$t("Sample size (n2):"), + min = 1, + value = state_init("ssc_n2", NA), step = 1 + ), + conditionalPanel( + condition = "input.ssc_type == 'mean'", + numericInput( + "ssc_delta", i18n$t("Delta:"), + value = state_init("ssc_delta", 2), step = 1 + ), + numericInput( + "ssc_sd", i18n$t("Standard deviation:"), + min = 0, + value = state_init("ssc_sd", 10), step = 1 + ) + ), + conditionalPanel( + condition = "input.ssc_type != 'mean'", + numericInput( + "ssc_p1", i18n$t("Proportion 1 (p1):"), + min = 0, + max = 1, value = state_init("ssc_p1", .1), step = .05 + ), + numericInput( + "ssc_p2", i18n$t("Proportion 2 (p2):"), + min = 0, max = 1, + value = state_init("ssc_p2", .15), step = .05 + ) + ), + numericInput( + "ssc_conf_lev", i18n$t("Confidence level:"), + min = 0, max = 1, + value = state_init("ssc_conf_lev", 0.95), step = .05 + ), + numericInput( + "ssc_power", i18n$t("Power:"), + min = 0, max = 1, + value = state_init("ssc_power", 0.8), step = .05 + ), + selectInput( + inputId = "ssc_alternative", label = i18n$t("Alternative hypothesis:"), + choices = ssc_alternative, + selected = state_single("ssc_alternative", ssc_alternative, "two.sided") + ), + checkboxInput("ssc_show_plot", i18n$t("Show plot"), state_init("ssc_show_plot", FALSE)) + ), + help_and_report( + modal_title = i18n$t("Sample size (compare)"), fun_name = "sample_size_comp", + help_file = inclRmd(file.path(getOption("radiant.path.design"), "app/tools/help/sample_size_comp.Rmd")) + ) + ) +}) + +ssc_plot_width <- function() 650 +ssc_plot_height <- function() 650 + +output$sample_size_comp <- renderUI({ + register_print_output("summary_sample_size_comp", ".summary_sample_size_comp") + register_plot_output( + "plot_sample_size_comp", ".plot_sample_size_comp", + width_fun = "ssc_plot_width", + height_fun = "ssc_plot_height" + ) + + ## one output with components stacked + ssc_output_panels <- tagList( + tabPanel(i18n$t("Summary"), verbatimTextOutput("summary_sample_size_comp")), + tabPanel( + i18n$t("Summary"), + conditionalPanel( + "input.ssc_show_plot == true", + download_link("dlp_ssc"), + plotOutput("plot_sample_size_comp", height = "100%") + ) + ) + ) + + stat_tab_panel( + menu = i18n$t("Design > Sample"), + tool = i18n$t("Sample size (compare)"), + data = NULL, + tool_ui = "ui_sample_size_comp", + output_panels = ssc_output_panels + ) +}) + +.sample_size_comp <- reactive({ + do.call(sample_size_comp, ssc_inputs()) +}) + +.summary_sample_size_comp <- reactive({ + if (is.null(input$ssc_type)) { + return(invisible()) + } + summary(.sample_size_comp()) +}) + +.plot_sample_size_comp <- reactive({ + req(input$ssc_show_plot == TRUE) + plot(.sample_size_comp()) +}) + +sample_size_comp_report <- function() { + ssc <- ssc_inputs() + if (input$ssc_type == "mean") { + ssc$p1 <- ssc$p2 <- NULL + } else { + ssc$delta <- ssc$sd <- NULL + } + + inp_out <- list("", "") + outputs <- "summary" + figs <- FALSE + if (isTRUE(input$ssc_show_plot)) { + inp_out[[2]] <- list(custom = FALSE) + outputs <- c("summary", "plot") + figs <- TRUE + } + + update_report( + inp_main = clean_args(ssc, ssc_args), + fun_name = "sample_size_comp", + inp_out = inp_out, + outputs = outputs, + figs = figs, + fig.width = ssc_plot_width(), + fig.height = ssc_plot_height() + ) +} + +download_handler( + id = "dlp_ssc", + fun = download_handler_plot, + fn = function() paste0("sample_size_comp_", input$ssc_type), + type = "png", + caption = i18n$t("Save sample size comparison plot"), + plot = .plot_sample_size_comp, + width = ssc_plot_width, + height = ssc_plot_height +) + +observeEvent(input$sample_size_comp_report, { + r_info[["latest_screenshot"]] <- NULL + sample_size_comp_report() +}) + +observeEvent(input$sample_size_comp_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_sample_size_comp_screenshot") +}) + +observeEvent(input$modal_sample_size_comp_screenshot, { + sample_size_comp_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.design/inst/app/tools/analysis/sample_size_ui.R b/radiant.design/inst/app/tools/analysis/sample_size_ui.R new file mode 100644 index 0000000..ef8eb15 --- /dev/null +++ b/radiant.design/inst/app/tools/analysis/sample_size_ui.R @@ -0,0 +1,181 @@ +############################### +# Sample size +############################### +ss_type <- setNames( + c("mean", "proportion"), + c(i18n$t("Mean"), i18n$t("Proportion")) +) + +ss_pop_correction <- setNames( + c("yes", "no"), + c(i18n$t("Yes"), i18n$t("No")) +) + +## list of function arguments +ss_args <- as.list(formals(sample_size)) + +## list of function inputs selected by user +ss_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + for (i in names(ss_args)) { + ss_args[[i]] <- input[[paste0("ss_", i)]] + } + ss_args +}) + +output$ui_sample_size <- renderUI({ + tagList( + wellPanel( + radioButtons( + inputId = "ss_type", label = NULL, choices = ss_type, + selected = state_init("ss_type", "mean"), inline = TRUE + ), + conditionalPanel( + condition = "input.ss_type == 'mean'", + tags$div( + title = i18n$t("The acceptable error is the level of precision you require (i.e., the range within which the true mean should lie). For example, ± $10. A lower acceptable error requires a larger sample size."), + # HTML(''), + numericInput( + "ss_err_mean", i18n$t("Acceptable Error:"), + min = 0, + value = state_init("ss_err_mean", 2), step = .1 + ) + ), + tags$div( + title = i18n$t("How much variation is there likely to be in the population? This number is often determined from a previous survey or a pilot study. The higher the standard deviation, the larger the required sample size."), + numericInput( + "ss_sd_mean", i18n$t("Standard deviation:"), + min = 0, + value = state_init("ss_sd_mean", 10), step = .1 + ) + ) + ), + conditionalPanel( + condition = "input.ss_type != 'mean'", + tags$div( + title = i18n$t("The acceptable error is the level of precision you require (i.e., the range within which the true proportion should lie). For example, ± 0.02. A lower acceptable error requires a larger sample size."), + numericInput( + "ss_err_prop", i18n$t("Acceptable Error:"), + min = 0, + max = 1, value = state_init("ss_err_prop", .1), step = .01 + ) + ), + tags$div( + title = i18n$t("What do you expect the sample proportion to be? This number is often determined from a previous survey or a pilot study. If no such information is availabvle use 0.5."), + numericInput( + "ss_p_prop", i18n$t("Proportion:"), + min = 0, max = 1, + value = state_init("ss_p_prop", .5), step = .05 + ) + ) + ), + tags$div( + title = i18n$t("Common values for the confidence level are 0.9, 0.95, and 0.99"), + numericInput( + "ss_conf_lev", i18n$t("Confidence level:"), + min = 0, max = 1, + value = state_init("ss_conf_lev", 0.95), step = .1 + ) + ), + tags$div( + title = i18n$t("The probability that a respondent will be part of the target segment of interest"), + numericInput( + "ss_incidence", i18n$t("Incidence rate:"), + min = 0, max = 1, + value = state_init("ss_incidence", 1), step = .05 + ) + ), + tags$div( + title = i18n$t("The probability of a response"), + numericInput( + "ss_response", i18n$t("Response rate:"), + min = 0, max = 1, + value = state_init("ss_response", 1), step = .05 + ) + ), + tags$div( + title = i18n$t("If the sample size is relatively larger compared to the size of the target population you should consider adjusting for population size"), + radioButtons( + inputId = "ss_pop_correction", + choices = ss_pop_correction, + label = i18n$t("Correct for population size:"), + selected = state_init("ss_pop_correction", "no"), + inline = TRUE + ) + ), + conditionalPanel( + condition = "input.ss_pop_correction == 'yes'", + tags$div( + title = i18n$t("Size of the target population of interest"), + numericInput( + "ss_pop_size", i18n$t("Population size:"), + min = 1, + value = state_init("ss_pop_size", 10^6), step = 1000 + ) + ) + ) + ), + help_and_report( + modal_title = i18n$t("Sample size (single)"), fun_name = "sample_size", + help_file = inclRmd(file.path(getOption("radiant.path.design"), "app/tools/help/sample_size.Rmd")) + ) + ) +}) + +output$sample_size <- renderUI({ + register_print_output("summary_sample_size", ".summary_sample_size") + + ## one output with components stacked + ss_output_panels <- tagList( + tabPanel(i18n$t("Summary"), verbatimTextOutput("summary_sample_size")) + ) + + stat_tab_panel( + menu = i18n$t("Design > Sample"), + tool = i18n$t("Sample size (single)"), + data = NULL, + tool_ui = "ui_sample_size", + output_panels = ss_output_panels + ) +}) + +.sample_size <- reactive({ + do.call(sample_size, ss_inputs()) +}) + +.summary_sample_size <- reactive({ + if (is.null(input$ss_type)) { + return(invisible()) + } + summary(.sample_size()) +}) + +sample_size_report <- function() { + ss <- ss_inputs() + if (input$ss_type == "mean") { + ss$err_prop <- ss$p_prop <- NULL + } else { + ss$err_mean <- ss$sd_mean <- NULL + } + + inp_main <- clean_args(ss, ss_args) + update_report( + inp_main = inp_main, + fun_name = "sample_size", outputs = "summary", figs = FALSE + ) +} + +observeEvent(input$sample_size_report, { + r_info[["latest_screenshot"]] <- NULL + sample_size_report() +}) + +observeEvent(input$sample_size_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_sample_size_screenshot") +}) + +observeEvent(input$modal_sample_size_screenshot, { + sample_size_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.design/inst/app/tools/analysis/sampling_ui.R b/radiant.design/inst/app/tools/analysis/sampling_ui.R new file mode 100644 index 0000000..31611bc --- /dev/null +++ b/radiant.design/inst/app/tools/analysis/sampling_ui.R @@ -0,0 +1,218 @@ +############################### +# Sampling +############################### + +## list of function arguments +smp_args <- as.list(formals(sampling)) + +## list of function inputs selected by user +smp_inputs <- reactive({ + ## loop needed because reactive values don't allow single bracket indexing + smp_args$data_filter <- if (input$show_filter) input$data_filter else "" + smp_args$arr <- if (input$show_filter) input$data_arrange else "" + smp_args$rows <- if (input$show_filter) input$data_rows else "" + smp_args$dataset <- input$dataset + for (i in r_drop(names(smp_args))) { + smp_args[[i]] <- input[[paste0("smp_", i)]] + } + smp_args +}) + +output$ui_smp_vars <- renderUI({ + vars <- varnames() + selectInput( + inputId = "smp_vars", label = i18n$t("Variables:"), + choices = vars, selected = state_multiple("smp_vars", vars, vars), + multiple = TRUE, selectize = FALSE, + size = min(12, length(vars)) + ) +}) + +output$ui_smp_name <- renderUI({ + req(input$dataset) + textInput("smp_name", i18n$t("Store as:"), "", placeholder = i18n$t("Provide a name")) +}) + +output$ui_sampling <- renderUI({ + req(input$dataset) + tagList( + wellPanel( + uiOutput("ui_smp_vars"), + tags$table( + tags$td(numericInput( + "smp_sample_size", i18n$t("Sample size:"), + min = 1, + value = state_init("smp_sample_size", 1) + )), + tags$td(numericInput( + "smp_seed", + label = i18n$t("Rnd. seed:"), min = 0, + value = state_init("smp_seed", init = 1234) + )) + ), + checkboxInput("smp_sframe", i18n$t("Show sampling frame "), value = state_init("smp_sframe", FALSE)) + ), + wellPanel( + tags$table( + tags$td(uiOutput("ui_smp_name")), + tags$td(actionButton("smp_store", i18n$t("Store"), icon = icon("plus", verify_fa = FALSE)), class = "top") + ) + ), + help_and_report( + modal_title = i18n$t("Sampling"), fun_name = "sampling", + help_file = inclMD(file.path(getOption("radiant.path.design"), "app/tools/help/sampling.md")) + ) + ) +}) + +output$sampling <- renderUI({ + register_print_output("summary_sampling", ".summary_sampling") + + ## one output with components stacked + smp_output_panels <- tagList( + tabPanel( + i18n$t("Summary"), + download_link("dl_sample"), br(), + verbatimTextOutput("summary_sampling"), + DT::dataTableOutput("table_sampling"), + conditionalPanel( + "input.smp_sframe == true", + DT::dataTableOutput("table_sampling_frame") + ) + ) + ) + + stat_tab_panel( + menu = i18n$t("Design > Sample"), + tool = i18n$t("Random sampling"), + tool_ui = "ui_sampling", + output_panels = smp_output_panels + ) +}) + +.sampling <- reactive({ + validate( + need(input$smp_vars, i18n$t("Select at least one variable")), + need(available(input$smp_vars), i18n$t("Some selected variables are not available in this dataset")) + ) + smpi <- smp_inputs() + smpi$envir <- r_data + do.call(sampling, smpi) +}) + +.summary_sampling <- reactive({ + if (not_available(input$smp_vars)) { + i18n$t("For random sampling each row in the data should be distinct(i.e., no duplicates). Please select an appropriate dataset.") %>% + suggest_data("rndnames") + } else if (is.empty(input$smp_sample_size)) { + i18n$t("Please select a sample size of 1 or greater") + } else { + summary(.sampling()) + } +}) + +output$table_sampling <- DT::renderDataTable({ + req(input$smp_vars, input$smp_sample_size) + withProgress(message = "Generating sample", value = 1, { + smp <- .sampling()$seldat + dom <- ifelse(nrow(smp) <= 10, "t", "tip") + dtab(smp, dom = dom, caption = i18n$t("Selected cases")) + }) +}) + +output$table_sampling_frame <- DT::renderDataTable({ + req(input$smp_vars, input$smp_sample_size, input$smp_sframe) + withProgress(message = "Show sampling frame", value = 1, { + smp <- .sampling() + dtab(smp$dataset, dom = "tip", caption = i18n$t("Sampling frame")) + }) +}) + +sampling_report <- function() { + req(input$smp_sample_size) + nr <- min(100, max(input$smp_sample_size, 1)) + xcmd <- paste0("# dtab(result$seldat, dom = \"tip\", caption = \"Selected cases\", nr = ", nr, ")") + if (isTRUE(input$smp_sframe)) { + xcmd <- paste0(xcmd, "\n# dtab(result$dataset, dom = \"tip\", caption = \"Sampling frame\", nr = 100)") + } + if (!is.empty(input$smp_name)) { + dataset <- fix_names(input$smp_name) + if (input$smp_name != dataset) { + updateTextInput(session, inputId = "smp_name", value = dataset) + } + xcmd <- paste0(xcmd, "\n", dataset, " <- select(result$seldat, -rnd_number)\nregister(\"", dataset, "\")") + } + + update_report( + inp_main = clean_args(smp_inputs(), smp_args), + fun_name = "sampling", outputs = "summary", + xcmd = xcmd, figs = FALSE + ) +} + +dl_sample <- function(path) { + resp <- .sampling() + if ("seldat" %in% names(resp)) { + seldat <- resp$seldat %>% select_at(setdiff(colnames(.), "rnd_number")) + write.csv(seldat, file = path, row.names = FALSE) + } else { + cat("No valid sample available", file = path) + } +} + +download_handler( + id = "dl_sample", + fun = dl_sample, + fn = function() paste0(input$dataset, "_sample"), + type = "csv", + caption = "Save random sample" +) + +observeEvent(input$smp_store, { + req(input$smp_name) + resp <- .sampling() + if (!"seldat" %in% names(resp)) { + cat(i18n$t("No valid sample available")) + return() + } + + dataset <- fix_names(input$smp_name) + if (input$smp_name != dataset) { + updateTextInput(session, inputId = "smp_name", value = dataset) + } + + r_data[[dataset]] <- resp$seldat %>% select_at(setdiff(colnames(.), "rnd_number")) + register(dataset) + updateSelectInput(session, "dataset", selected = input$dataset) + + ## See https://shiny.posit.co/reference/shiny/latest/modalDialog.html + showModal( + modalDialog( + title = i18n$t("Data Stored"), + span( + sprintf( + i18n$t("Dataset '%s' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen."), + dataset + ) + ), + footer = modalButton(i18n$t("OK")), + size = "s", + easyClose = TRUE + ) + ) +}) + +observeEvent(input$sampling_report, { + r_info[["latest_screenshot"]] <- NULL + sampling_report() +}) + +observeEvent(input$sampling_screenshot, { + r_info[["latest_screenshot"]] <- NULL + radiant_screenshot_modal("modal_sampling_screenshot") +}) + +observeEvent(input$modal_sampling_screenshot, { + sampling_report() + removeModal() ## remove shiny modal after save +}) diff --git a/radiant.design/inst/app/tools/help/doe.md b/radiant.design/inst/app/tools/help/doe.md new file mode 100644 index 0000000..21d45da --- /dev/null +++ b/radiant.design/inst/app/tools/help/doe.md @@ -0,0 +1,69 @@ +> 实验设计 + +## 示例 + +假设我们想使用三个因素测试不同的电影院设计方案。 + +- **价格(Price)**:10 美元、13 美元或 16 美元 +- **视线(Sight)**:确定影院座位布局应为阶梯式还是非阶梯式 +- **食物(Food)**:确定应提供热狗和爆米花、美食,还是不提供任何食物 + +## 最大水平数 + +纳入分析的因素分别有 3、2 和 3 个水平,因此我们在 “最大水平数(Max levels)” 输入框中输入`3`。 + +## 变量名和水平 + +这里我们输入感兴趣的因素。例如,输入`price`作为变量名,将 10 美元作为水平 1,13 美元作为水平 2,16 美元作为水平 3。然后点击图标。这会将所提供的因素信息以 Radiant 分析所需的格式添加到 “设计因素(Design factors)” 窗口中。要删除 “设计因素” 窗口中的最后一行,点击图标。 + +输入三个因素的必要信息后,屏幕应显示如下: + +

    + +## 创建设计 + +现在可以通过点击 “创建设计(Create design)” 按钮生成实验设计,将产生以下输出。 + +

    + +在我们的示例中,理想设计包含 18 次试验。然而,这意味着部分因子设计和完全因子设计的规模相同。我们想知道是否可以减少试验次数,详见下方的 “试验次数(# trials)” 部分。 + +## 试验次数 + +该输入可用于控制生成的试验次数。如果留空,Radiant 将尝试使用AlgDesign包中的`optFederov`函数找到合适的试验次数。 + +让我们查看 “设计效率(Design efficiency)” 中的输出。在我们的示例中,目标是找到一个试验次数少于 18 次的设计,且该设计仍能让我们估计感兴趣的效应(例如,不同价格、视线和食物水平的主效应)。注意,有几个设计被认为是 “平衡的(balanced)”(即每个水平包含在相同数量的试验中)。我们要寻找一个平衡且因素间相关性最小的设计(例如,D 效率评分高于 0.8)。可以将 D 效率评分视为运行测试 / 实验后,我们能多清晰地估计感兴趣效应的度量。理想的 D 效率评分为 1,但高于 0.8 的评分被认为是合理的。 + +具有平衡设计的最小试验次数是 6 次。该设计之所以平衡,只是因为 6 能被 3 和 2(即我们因素的水平数)整除。然而,其 D 效率评分相当低(0.513)。下一个最小的平衡设计有 12 次试验,且具有高得多的 D 效率。如果我们想估计每个因素水平对电影院选择或偏好的主效应,这个设计是合理的选择。 + +要生成所需的部分因子设计,在 “试验次数(# trials)” 输入框中输入`12`,然后按 “创建设计(Create design)”,将产生以下输出。 + +

    + +输出中的 “试验(trial)” 列显示了从完全因子设计中选择的轮廓。请注意,只有当 D 效率等于 1 时,部分因子设计的(多系列)相关矩阵的非对角线元素才都会等于 0。polycor包用于估计因素间的相关性。 + +## 随机种子 + +部分因子设计可能不是唯一的(即可能存在多个同样好的试验或轮廓组合)。通过设置随机种子,每次点击 “创建设计” 时,都会生成相同的试验集。然而,要查看其他部分因子设计,清空 “随机种子(Rnd. seed)” 框并多次点击 “创建设计”,观察所选试验集的变化。 + +## 交互作用 + +请注意,如果我们使用包含 12 次试验的设计,将无法估计`price`、`sight`和`food`之间所有可能的交互作用。这是部分因子设计固有的权衡!事实上,如果我们确实想估计哪怕一个交互作用(例如,选择`price:sight`),合适的设计需要 18 次试验(即包含所有可能因素水平组合的完全因子设计的试验次数)。 + +## 部分因子和完全因子设计 + +点击 “部分(Partial)” 或 “完全(Full)” 按钮,以 csv 格式下载部分因子或完全因子设计。 + +## 上传和下载 + +要下载输入的因素列表,点击 “下载(Download)” 按钮。要上传先前创建的因素集,点击 “上传(Upload)” 按钮并浏览找到所需文件。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建设计。 + +### R 函数 + +有关 Radiant 中用于实验设计的相关 R 函数概述,请参见*设计 > 实验设计*。 + +`doe`工具中使用的来自`AlgDesign`包的核心函数是`optFederov`。 diff --git a/radiant.design/inst/app/tools/help/figures/doe_factors.png b/radiant.design/inst/app/tools/help/figures/doe_factors.png new file mode 100644 index 0000000000000000000000000000000000000000..4d07aa4cf383cdc82a77ca8adfea2f48c3d6c608 GIT binary patch literal 117841 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�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 literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/figures/doe_output_partial.png b/radiant.design/inst/app/tools/help/figures/doe_output_partial.png new file mode 100644 index 0000000000000000000000000000000000000000..772eb649b44c1dfd5a5cfbc3af135d49b63ae182 GIT binary patch literal 262196 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 LEZDeO4kXP~pEVcS0$4ux;$I1f(@V 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 KDCT2+R~?cnu^4NEhxlT8Vqh_5LDFkHK6JdS1u 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

    = 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

    R%Gc)^{!!LE;yW_f)^dFILve_s%#U*xDqr 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%0DqpkIUR^Jp7 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 h@zHxxDA{2@vG_ntL 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%0AIM?A(}Pk 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

    F-DA4U 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%0A>8*3KGh(ZL!Lv#>C^;2TYQ3iny#dq0S!~$jL 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 literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/figures/sample_size_ex1a.png b/radiant.design/inst/app/tools/help/figures/sample_size_ex1a.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6e492fe159cc69453f1793d8ace96785870b64 GIT binary patch literal 88020 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

    0A9gGQ>X_#o}hC;#e4$k@@) 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 literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/figures/sample_size_ex2b.png b/radiant.design/inst/app/tools/help/figures/sample_size_ex2b.png new file mode 100644 index 0000000000000000000000000000000000000000..2303ed46dc0659e862d09e55973ae81445c6a8bc GIT binary patch literal 95035 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�j)f^l1Zg)47HS`Qi6V}^N_%{L$!;1Q3h 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 literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/figures/sampling.png b/radiant.design/inst/app/tools/help/figures/sampling.png new file mode 100644 index 0000000000000000000000000000000000000000..e63474072efc40436269a41f88136ac12352559c GIT binary patch literal 112813 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 literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/randomizer.md b/radiant.design/inst/app/tools/help/randomizer.md new file mode 100644 index 0000000..a774f9e --- /dev/null +++ b/radiant.design/inst/app/tools/help/randomizer.md @@ -0,0 +1,29 @@ +> 随机分配受访者到实验条件 + +使用随机分配工具时,需选择数据集中每行均唯一(即无重复)的数据集。Radiant 中捆绑了一个符合此要求的数据集,可通过 “数据> 管理” 标签页获取(即从 “加载数据类型” 下拉菜单中选择`Examples`,然后点击 “加载”)。从 “数据集” 下拉菜单中选择`rndnames`。 + +`Names`是该数据集中的唯一标识符。如果我们选择这个变量并指定两个(或更多)“条件(Conditions)”(例如 “test(测试)” 和 “control(对照)”),将显示一个表格,其中包含`.conditions`列,表明每个人被(随机)分配到哪个条件。 + +默认情况下,“随机分配” 工具会为每个条件使用相等的概率。但如下方截图所示,也可以指定分配概率(例如 30% 分配到 “test”,70% 分配到 “control” 条件)。 + +

    + +如果我们预期某些变量可能预测实验结果,则可以使用 “区组化(blocking)” 来减少抽样变异。在区组随机分配(或分层随机分配)中,受试者首先根据一个或多个特征被分为不同区组(或层),然后在每个区组内进行随机分配。例如,如果我们选择`Gender`作为 “区组变量(Blocking variable)”,“随机分配” 工具将根据我们预先指定的 “概率(Probabilities)”,尝试将恰好 30% 的男性和恰好 30% 的女性分配到处理条件。如下方截图所示,男性和女性到测试组和对照组的分配结果完全符合预期。 + +

    + +默认情况下,随机种子设为`1234`,以确保抽样结果可重复。如果 “随机种子(Rnd. seed)” 输入框为空,每次生成样本时所选行都会变化。 + +要下载包含`.conditions`列分配结果的数据(CSV 格式),点击屏幕右上角的图标。也可以通过为数据集命名并点击 “存储(Store)” 按钮,将相同数据存储到 Radiant 中。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向
    *报告 > Rmd*添加代码以(重新)生成样本。 + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本*。 + +更多信息请参见 Radiant 的 “随机分配” 工具所使用的`randomizr`包的说明文档。 + +`randomizer`工具中使用的来自`randomizr`包的核心函数是`complete_ra`和`block_ra`。 diff --git a/radiant.design/inst/app/tools/help/sample_size.Rmd b/radiant.design/inst/app/tools/help/sample_size.Rmd new file mode 100644 index 0000000..37333a4 --- /dev/null +++ b/radiant.design/inst/app/tools/help/sample_size.Rmd @@ -0,0 +1,100 @@ +> 确定测试样本数据计算出的均值或比例所需的样本量 + +### 示例 1 + +我们计划开展一家互联网服务提供商(ISP)业务,需要为商业计划和模型估计家庭一周的平均互联网使用时间。为了有 95% 的把握使样本均值在总体均值的 10 分钟范围内,我们必须随机选择多少户家庭?假设之前的家庭使用情况调查显示标准差为 60.95 分钟。 + +**答案:** + +由于我们感兴趣的是估计总体中的平均(或均值)互联网使用时间,因此选择 “均值(Mean)” 的样本量计算。在下方截图中,我们输入 10(分钟)作为可接受误差,60.95 作为样本标准差的估计值,置信水平为 95%。 + +

    + +如你所见,所需样本量为 143,即我们需要从目标总体中获得 143 份有效响应,才能在给定的可接受误差、置信水平和样本标准差下对总体均值进行推断。该数值假设发生率和响应率均为 1(或 100%)。假设我们市场中只有 75% 的家庭在家中接入互联网,且预期响应率为 20%,那么需要联系的家庭数量是多少? + +

    + +在上方截图中,发生率设为 75%,响应率设为 20%。所需有效响应数量与之前相同(143),但联系请求数量现在为 143÷0.75÷0.2 = 954。 + +来源 + +### 示例 2 + +假设你想调查某人群中 HIV 抗体的真实流行率是否为 10%。你计划随机抽样以估计该流行率,并希望有 95% 的置信度使总体真实比例落在根据样本计算的误差范围内。 + +假设总体规模为 5000,流行率的初始估计值为 10%,可接受误差为 4%。 + +**答案:** + +由于我们想要估计目标人群中 HIV 抗体阳性者的比例,因此选择 “比例(Proportion)” 的样本量计算。在下方截图中,我们输入 4% 作为可接受误差,10% 作为比例(p)的初始估计值,置信水平为 95%。 + +

    + +如你所见,所需样本量为 217,即我们需要 217 份有效响应,才能在给定的可接受误差和置信水平下对总体比例进行推断。该数值同样假设发生率和响应率为 100%。示例表明目标总体仅为 5000 人,因此可能值得应用总体规模校正。 + +

    + +在上方截图中,我们点击 “是(Yes)” 以应用总体校正,然后输入 5000 作为总体规模。所需有效响应数量从 217 略微降至 208。 + +一般而言,当所需样本量(n)相对于总体规模(N)较大时,总体规模会对所需样本量产生显著影响。例如,如果总体仅为 250 人,校正后的样本量将为 117,而非 217。 + +来源 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建样本量计算。 + +### 技术说明 + +#### 均值的样本量: + +$$ + n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + +其中n为样本量,z是与期望置信水平相关的 z 值(例如,95% 置信水平对应的 z 值为 1.96),s是样本标准差,E是可接受误差。即使你之前没见过上述公式,可能也记得置信区间的公式: + +$$ + x \pm z \frac{s}{\sqrt{n}} +$$ + +xˉ两侧的区间等于E(即可接受误差)。两边平方并整理项可得样本量公式: + +$$ + E = z \frac{s}{\sqrt{n}} \; \Rightarrow \; n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + +#### 比例的样本量: + +$$ + n = \frac{ z^2 \times p(1-p) }{ E^2 } +$$ + +其中n为样本量,z是与期望置信水平相关的 z 值(例如,95% 置信水平对应的 z 值为 1.96),p是样本比例,E是可接受误差。即使你之前没见过上述公式,可能也记得置信区间的公式: + +$$ + p \pm z \sqrt{ \frac{p(1-p)}{n} } +$$ + +p两侧的区间等于E(即可接受误差)。两边平方并整理项可得样本量公式: + +$$ + E = z \sqrt{ \frac{p(1-p)}{n} } \; \Rightarrow \; n = \frac{ z^2 p(1-p) }{ E^2 } +$$ + +#### 总体校正 + +虽然我们始终可以应用总体校正,但当所需样本量(n)相对于总体规模(N)较大时,总体规模才会对所需样本量产生显著影响。 +$$ + n^* = \frac{ nN }{ n - 1 + N } +$$ + +例如,假设我们确定需要从 5000 人的总体中抽取 217 人的样本,那么经总体规模校正后的样本量(n∗)计算如下: + +$$ + n^* = \frac{ 217 \times 5000 }{ 217 - 1 + 5000 } = 208 +$$ + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本* 。 diff --git a/radiant.design/inst/app/tools/help/sample_size.md b/radiant.design/inst/app/tools/help/sample_size.md new file mode 100644 index 0000000..37333a4 --- /dev/null +++ b/radiant.design/inst/app/tools/help/sample_size.md @@ -0,0 +1,100 @@ +> 确定测试样本数据计算出的均值或比例所需的样本量 + +### 示例 1 + +我们计划开展一家互联网服务提供商(ISP)业务,需要为商业计划和模型估计家庭一周的平均互联网使用时间。为了有 95% 的把握使样本均值在总体均值的 10 分钟范围内,我们必须随机选择多少户家庭?假设之前的家庭使用情况调查显示标准差为 60.95 分钟。 + +**答案:** + +由于我们感兴趣的是估计总体中的平均(或均值)互联网使用时间,因此选择 “均值(Mean)” 的样本量计算。在下方截图中,我们输入 10(分钟)作为可接受误差,60.95 作为样本标准差的估计值,置信水平为 95%。 + +

    + +如你所见,所需样本量为 143,即我们需要从目标总体中获得 143 份有效响应,才能在给定的可接受误差、置信水平和样本标准差下对总体均值进行推断。该数值假设发生率和响应率均为 1(或 100%)。假设我们市场中只有 75% 的家庭在家中接入互联网,且预期响应率为 20%,那么需要联系的家庭数量是多少? + +

    + +在上方截图中,发生率设为 75%,响应率设为 20%。所需有效响应数量与之前相同(143),但联系请求数量现在为 143÷0.75÷0.2 = 954。 + +来源 + +### 示例 2 + +假设你想调查某人群中 HIV 抗体的真实流行率是否为 10%。你计划随机抽样以估计该流行率,并希望有 95% 的置信度使总体真实比例落在根据样本计算的误差范围内。 + +假设总体规模为 5000,流行率的初始估计值为 10%,可接受误差为 4%。 + +**答案:** + +由于我们想要估计目标人群中 HIV 抗体阳性者的比例,因此选择 “比例(Proportion)” 的样本量计算。在下方截图中,我们输入 4% 作为可接受误差,10% 作为比例(p)的初始估计值,置信水平为 95%。 + +

    + +如你所见,所需样本量为 217,即我们需要 217 份有效响应,才能在给定的可接受误差和置信水平下对总体比例进行推断。该数值同样假设发生率和响应率为 100%。示例表明目标总体仅为 5000 人,因此可能值得应用总体规模校正。 + +

    + +在上方截图中,我们点击 “是(Yes)” 以应用总体校正,然后输入 5000 作为总体规模。所需有效响应数量从 217 略微降至 208。 + +一般而言,当所需样本量(n)相对于总体规模(N)较大时,总体规模会对所需样本量产生显著影响。例如,如果总体仅为 250 人,校正后的样本量将为 117,而非 217。 + +来源 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建样本量计算。 + +### 技术说明 + +#### 均值的样本量: + +$$ + n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + +其中n为样本量,z是与期望置信水平相关的 z 值(例如,95% 置信水平对应的 z 值为 1.96),s是样本标准差,E是可接受误差。即使你之前没见过上述公式,可能也记得置信区间的公式: + +$$ + x \pm z \frac{s}{\sqrt{n}} +$$ + +xˉ两侧的区间等于E(即可接受误差)。两边平方并整理项可得样本量公式: + +$$ + E = z \frac{s}{\sqrt{n}} \; \Rightarrow \; n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + +#### 比例的样本量: + +$$ + n = \frac{ z^2 \times p(1-p) }{ E^2 } +$$ + +其中n为样本量,z是与期望置信水平相关的 z 值(例如,95% 置信水平对应的 z 值为 1.96),p是样本比例,E是可接受误差。即使你之前没见过上述公式,可能也记得置信区间的公式: + +$$ + p \pm z \sqrt{ \frac{p(1-p)}{n} } +$$ + +p两侧的区间等于E(即可接受误差)。两边平方并整理项可得样本量公式: + +$$ + E = z \sqrt{ \frac{p(1-p)}{n} } \; \Rightarrow \; n = \frac{ z^2 p(1-p) }{ E^2 } +$$ + +#### 总体校正 + +虽然我们始终可以应用总体校正,但当所需样本量(n)相对于总体规模(N)较大时,总体规模才会对所需样本量产生显著影响。 +$$ + n^* = \frac{ nN }{ n - 1 + N } +$$ + +例如,假设我们确定需要从 5000 人的总体中抽取 217 人的样本,那么经总体规模校正后的样本量(n∗)计算如下: + +$$ + n^* = \frac{ 217 \times 5000 }{ 217 - 1 + 5000 } = 208 +$$ + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本* 。 diff --git a/radiant.design/inst/app/tools/help/sample_size_comp.Rmd b/radiant.design/inst/app/tools/help/sample_size_comp.Rmd new file mode 100644 index 0000000..041d36e --- /dev/null +++ b/radiant.design/inst/app/tools/help/sample_size_comp.Rmd @@ -0,0 +1,37 @@ +> 确定均值或比例比较所需的样本量 + +留一个输入项为空以确定其数值。默认情况下,样本量输入项(*n1_和_n2*)留空,此时会计算两组的所需样本量。如果为_n1_和_n2_都提供了数值,则会计算其他留空输入项中的任意一项的数值。如果仅输入了_n1_(或_n2_)的数值,则必须提供所有其他输入项的数值,以确定_n2_(或_n1_)的所需样本量。 + +### 输入项 + +- 样本量:所需受访者数量 +- 置信水平:1 - 显著性水平(例如,0.95 = 1 - 0.05)。1, 2 +- 检验效能:1 - β(例如,0.8 = 1 - 0.2)。3 + +### 均值比较的输入项 + +- 差异(Delta):我们希望检测到的组间均值差异 +- 标准差:假设的标准差 + +### 比例比较的输入项 + +- 比例 1:组 1 中的假设比例(例如,0.1) +- 比例 2:比例 1 加上我们希望检测到的差异(例如,0.1 + 0.05 = 0.15) + +**注意:** 要使对照组样本量(*n1*)与测试组样本量(*n2*)匹配,需将两个样本量输入项都留空(即两组规模相同)。如果提供了_n1_或_n2_的数值,组规模可能会不同。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +21−α称为**置信水平**。常用的置信水平为 0.95(或 95%)。 + +3β(Beta)是原假设实际为假时接受原假设的概率。检验效能计算为 1 - β。常用的检验效能水平为 0.8(或 80%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建样本量计算。 + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本*。 + +`sample_size_comp`工具中使用的来自`pwr`包的核心函数是`pwr.t2n.test`、`pwr.t.test`、`pwr.2p.test`、`pwr.2p2n.test`和`pwr.2p2n.test`。 diff --git a/radiant.design/inst/app/tools/help/sample_size_comp.md b/radiant.design/inst/app/tools/help/sample_size_comp.md new file mode 100644 index 0000000..041d36e --- /dev/null +++ b/radiant.design/inst/app/tools/help/sample_size_comp.md @@ -0,0 +1,37 @@ +> 确定均值或比例比较所需的样本量 + +留一个输入项为空以确定其数值。默认情况下,样本量输入项(*n1_和_n2*)留空,此时会计算两组的所需样本量。如果为_n1_和_n2_都提供了数值,则会计算其他留空输入项中的任意一项的数值。如果仅输入了_n1_(或_n2_)的数值,则必须提供所有其他输入项的数值,以确定_n2_(或_n1_)的所需样本量。 + +### 输入项 + +- 样本量:所需受访者数量 +- 置信水平:1 - 显著性水平(例如,0.95 = 1 - 0.05)。1, 2 +- 检验效能:1 - β(例如,0.8 = 1 - 0.2)。3 + +### 均值比较的输入项 + +- 差异(Delta):我们希望检测到的组间均值差异 +- 标准差:假设的标准差 + +### 比例比较的输入项 + +- 比例 1:组 1 中的假设比例(例如,0.1) +- 比例 2:比例 1 加上我们希望检测到的差异(例如,0.1 + 0.05 = 0.15) + +**注意:** 要使对照组样本量(*n1*)与测试组样本量(*n2*)匹配,需将两个样本量输入项都留空(即两组规模相同)。如果提供了_n1_或_n2_的数值,组规模可能会不同。 + +1**显著性水平**(通常用α表示)是你愿意接受的、在原假设实际为真时拒绝原假设的最高概率。常用的显著性水平为 0.05(或 5%)。 + +21−α称为**置信水平**。常用的置信水平为 0.95(或 95%)。 + +3β(Beta)是原假设实际为假时接受原假设的概率。检验效能计算为 1 - β。常用的检验效能水平为 0.8(或 80%)。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)创建样本量计算。 + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本*。 + +`sample_size_comp`工具中使用的来自`pwr`包的核心函数是`pwr.t2n.test`、`pwr.t.test`、`pwr.2p.test`、`pwr.2p2n.test`和`pwr.2p2n.test`。 diff --git a/radiant.design/inst/app/tools/help/sampling.md b/radiant.design/inst/app/tools/help/sampling.md new file mode 100644 index 0000000..0a1ac08 --- /dev/null +++ b/radiant.design/inst/app/tools/help/sampling.md @@ -0,0 +1,23 @@ +> 使用简单随机抽样从抽样框中选择观测值 + +使用抽样工具时,需选择数据集中每行均唯一(即无重复)的数据集。Radiant 中捆绑了一个符合此要求的数据集,可通过 “数据> 管理” 标签页获取(即从 “加载数据类型(Load data of type)” 下拉菜单中选择`Examples`,然后点击 “加载(Load)”)。从 “数据集(Datasets)” 下拉菜单中选择`rndnames`。 + +`Names`是该数据集中的唯一标识符。如果我们选择这个变量并选择所需的样本量(例如 10),将生成所需长度的名称列表。 + +抽样原理是什么?数据中的每个人被分配一个来自均匀分布的 0 到 1 之间的随机数。然后根据该随机数对行进行排序,从列表中选取得分最高的n人作为样本。通过使用随机数,每个受访者被选入样本的概率相同。例如,如果我们需要从`rndnames`数据集中的 100 人中抽取 10 人的样本,每个人被纳入样本的概率为 10%。默认情况下,随机种子设为`1234`,以确保抽样结果可重复。如果 “随机种子(Rnd. seed)” 输入框为空,每次生成样本时所选行都会变化。 + +

    + +这 100 人的完整列表称为 “抽样框(sampling frame)”。理想情况下,这是目标市场中**所有**抽样单位(如客户或公司)的综合列表。要确定n的适当值,请使用 “设计(Design)” 菜单中的样本量工具。要显示完整的抽样框,点击 “显示抽样框(Show sampling frame)” 复选框。 + +要下载生成的样本数据(CSV 格式),点击屏幕右上角的图标。也可以通过为数据集命名并点击 “存储(Store)” 按钮,将创建的样本存储到 Radiant 中。 + +### 报告 > Rmd + +通过点击屏幕左下角的图标或按键盘上的`ALT-enter`,向*报告 > Rmd*添加代码以(重新)生成样本。 + +### R 函数 + +有关 Radiant 中用于抽样和样本量计算的相关 R 函数概述,请参见*设计 > 样本*。 + +`sampling`工具中使用的来自`stats`包的核心函数是`runif`。该函数用于生成分配给可用数据中每行的随机数。 diff --git a/radiant.design/inst/app/ui.R b/radiant.design/inst/app/ui.R new file mode 100644 index 0000000..7cc91e7 --- /dev/null +++ b/radiant.design/inst/app/ui.R @@ -0,0 +1,13 @@ +## ui for design menu in radiant +navbar_proj( + do.call( + navbarPage, + c( + "Radiant for R", + getOption("radiant.nav_ui"), + getOption("radiant.design_ui"), + getOption("radiant.shared_ui"), + help_menu("help_design_ui") + ) + ) +) diff --git a/radiant.design/inst/app/www/js/run_return.js b/radiant.design/inst/app/www/js/run_return.js new file mode 100644 index 0000000..1f75ae7 --- /dev/null +++ b/radiant.design/inst/app/www/js/run_return.js @@ -0,0 +1,25 @@ +// based on http://stackoverflow.com/a/32340906/1974918 +// and http://stackoverflow.com/a/8774101/1974918 +// run_return.js file not correctly loaded when running radiant design ui.R +$(document).keydown(function (event) { + // ...uploads don't have a visibility property/method ... + if ($("#doe_download").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 79) { + // file dialog pops up twice for some weird reason when using ui.R + // ... but it works when running radiant from package ... + // CMD-o to load factors + $("#doe_upload").click(); + // document.getElementById("doe_upload").click(); + event.preventDefault(); + } else if ($("#doe_download").is(":visible") && (event.metaKey || event.ctrlKey) && event.shiftKey === false && event.keyCode == 83) { + // CMD-s to save factors + document.getElementById("doe_download").click(); + event.preventDefault(); + } + + if ($("#smp_name").is(":focus") && event.keyCode == 13) { + $("#smp_store").click(); + } else if ($("#rndr_name").is(":focus") && event.keyCode == 13) { + $("#rndr_store").click(); + } + +}); \ No newline at end of file diff --git a/radiant.design/inst/translations/translation_zh.csv b/radiant.design/inst/translations/translation_zh.csv new file mode 100644 index 0000000..29e239a --- /dev/null +++ b/radiant.design/inst/translations/translation_zh.csv @@ -0,0 +1,102 @@ +en,zh,source +Help,帮助,"global.R, radiant.R" +Keyboard shortcuts,键盘快捷键,global.R +Rnd. seed:,随机种子:,"doe_ui.R, randomizer.R, sampling_ui.R" +Interactions:,交互:,doe_ui.R +Level :,水平 :,doe_ui.R +Create design,生成设计,doe_ui.R +Max levels:,最大水平数:,doe_ui.R +# trials:,试验次数:,doe_ui.R +"Upload an experimental design using the 'Upload factors' button or create a new design using the inputs on the left of the screen. For help, click the ? icon on the bottom left of the screen",使用“上传因素”按钮上传实验设计,或通过页面左侧的输入创建新设计。如需帮助,请点击左下角的?图标。,doe.R +Variable name:,变量名:,doe.R +Add variable,添加变量,doe.R +Remove variable,移除变量,doe.R +Partial,部分,doe_ui.R +Full,全部,doe_ui.R +Factors,因素,doe_ui.R +Upload factors:,上传因素:,doe.R +Upload DOE factors,上传实验因素,doe_ui.R +Save factorial design:,保存实验设计:,doe_ui.R +Save factors:,保存因素:,doe_ui.R +Summary,摘要,"doe_ui.R, randomizer.R, sample_size_comp.R, sample_size_ui.R, sampling_ui.R" +Design factors:,实验因素,doe_ui.R +Generated experimental design:,生成的实验设计:,doe.R +Level 1:,水平 1:,doe.R +Level 2:,水平 2:,doe.R +Design > DOE,设计 > 实验设计,doe.R +Design of Experiments,实验设计,doe.R +Variables:,变量:,"randomizer.R, sampling_ui.R" +Blocking variables:,分组变量:,randomizer.R +Select blocking variables,选择分组变量,randomizer.R +Condition labels:,条件标签:,randomizer.R +Probabilities:,概率:,randomizer.R +"Enter probabilities (e.g., 1/2 1/2)",输入概率(例如 1/2 1/2),randomizer.R +Store as:,存储为:,"randomizer.R, sampling_ui.R" +Provide a name,请输入名称,"randomizer.R, sampling_ui.R" +Assign conditions,分配条件,randomizer.R +Re-assign conditions,重新分配条件,randomizer.R +Store,存储,"randomizer.R, sampling_ui.R" +Design > Sample,设计 > 抽样,"randomizer.R, sample_size_comp.R, sample_size_ui.R, sampling_ui.R" +Random assignment,随机分配,randomizer.R +Save random assignment,保存随机分配,randomizer.R +"For random assignment each row in the data should be distinct (i.e., no duplicates). Please select an appropriate dataset.",每条记录都应唯一(无重复)。请选择合适的数据集。,randomizer.R +Type condition labels separated by comma's and press return,输入条件标签(用逗号分隔),然后按回车,randomizer.R +Data Stored,数据已存储,"randomizer.R, sampling_ui.R" +OK,确定,"randomizer.R, sampling_ui.R" +Dataset '%s' was successfully added to the datasets dropdown. Add code to Report > Rmd or Report > R to (re)create the results by clicking the report icon on the bottom left of your screen.,数据集‘%s’已成功添加到数据集下拉列表中。要在报告中复现结果,请点击左下角的报告图标,并将代码添加到 Report > Rmd 或 Report > R 中。,"randomizer.R, sampling_ui.R" +Condition variable name:,条件变量名:,randomizer.R +Provide a variable name,请输入变量名,randomizer.R +Sample size (compare),样本量(比较),sample_size_comp.R +Sample size (n1):,样本量 (n1):,sample_size_comp.R +Sample size (n2):,样本量 (n2):,sample_size_comp.R +Mean,均值,"sample_size_comp.R, sample_size_ui.R" +Proportion:,比例,"sample_size_comp.R, sample_size_ui.R" +Delta:,差异值:,sample_size_comp.R +Standard deviation:,标准差,"sample_size_comp.R, sample_size_ui.R" +Confidence level:,置信水平,"sample_size_comp.R, sample_size_ui.R" +Power:,效能,sample_size_comp.R +Alternative hypothesis:,备择假设:,sample_size_comp.R +Two sided,双尾检验,sample_size_comp.R +Group 1 less than Group 2,组1 小于 组2,sample_size_comp.R +Group 1 greater than Group 2,组1 大于 组2,sample_size_comp.R +Show plot,显示图形,sample_size_comp.R +Plot,图表,sample_size_comp.R +Save sample size comparison plot,保存样本量比较图,sample_size_comp.R +Yes,是,sample_size_ui.R +No,否,sample_size_ui.R +"The acceptable error is the level of precision you require (i.e., the range within which the true mean should lie). For example, ± $10. A lower acceptable error requires a larger sample size.",可接受误差是您要求的精度范围(例如,±10美元)。更小的误差要求更大的样本量。,sample_size_ui.R +Acceptable Error:,可接受误差:,sample_size_ui.R +"How much variation is there likely to be in the population? This number is often determined from a previous survey or a pilot study. The higher the standard deviation, the larger the required sample size.",总体可能存在多大的变异?通常通过前期调查或试点研究确定。标准差越大,所需样本量越大。,sample_size_ui.R +What do you expect the sample proportion to be? This number is often determined from a previous survey or a pilot study. If no such information is availabvle use 0.5.,您期望的样本比例是多少?通常通过前期调查或试点研究确定。如无信息请使用0.5。,sample_size_ui.R +"Common values for the confidence level are 0.9, 0.95, and 0.99",置信水平常用值为0.9、0.95 和 0.99,sample_size_ui.R +The probability that a respondent will be part of the target segment of interest,受访者属于目标群体的概率,sample_size_ui.R +Incidence rate:,发生率:,sample_size_ui.R +The probability of a response,响应的概率,sample_size_ui.R +Response rate:,响应率:,sample_size_ui.R +If the sample size is relatively larger compared to the size of the target population you should consider adjusting for population size,如果样本量相对于总体较大,建议调整总体规模,sample_size_ui.R +Correct for population size:,考虑总体规模修正:,sample_size_ui.R +Size of the target population of interest,目标总体的规模,sample_size_ui.R +Population size:,总体规模:,sample_size_ui.R +Sample size (single),样本量(单个),sample_size_ui.R +"The acceptable error is the level of precision you require (i.e., the range within which the true proportion should lie). For example, ± 0.02. A lower acceptable error requires a larger sample size.",可接受误差是您要求的精度范围(例如,±0.02)。更小的误差要求更大的样本量。,sample_size_ui.R +Proportion 1 (p1):,比例 1(p1):,sample_size_comp.R +Proportion 2 (p2):,比例 2(p2):,sample_size_comp.R +No valid sample available,无可用的样本数据,sampling_ui.R +Select at least one variable,请至少选择一个变量,sampling_ui.R +Some selected variables are not available in this dataset,部分选择的变量在数据集中不可用,sampling_ui.R +"For random sampling each row in the data should be distinct(i.e., no duplicates). Please select an appropriate dataset.",为了进行随机抽样,数据中的每一行都应是唯一的(即没有重复项)。请选择一个合适的数据集。\n\n,sampling_ui.R +Please select a sample size of 1 or greater,请选择一个大于等于 1 的样本量,sampling_ui.R +Selected cases,选中的样本,sampling_ui.R +Sampling frame,抽样框架,sampling_ui.R +Sampling,随机抽样,sampling_ui.R +Random sampling,随机抽样,sampling_ui.R +Show sampling frame ,显示抽样框,sampling_ui.R +Proportion,比例,sample_size_ui.R +Sample size:,样本量:,sampling_ui.R +Design,设计,init.R +Design of Experiments,实验设计,init.R +Sample,样本,init.R +Random sampling,随机抽样,init.R +Random assignment,随机分配,init.R +Sample size (single),单样本量,init.R +Sample size (compare),对比样本量,init.R diff --git a/radiant.design/man/doe.Rd b/radiant.design/man/doe.Rd new file mode 100644 index 0000000..24e9e3d --- /dev/null +++ b/radiant.design/man/doe.Rd @@ -0,0 +1,37 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/doe.R +\name{doe} +\alias{doe} +\title{Create (partial) factorial design} +\usage{ +doe(factors, int = "", trials = NA, seed = NA) +} +\arguments{ +\item{factors}{Categorical variables used as input for design} + +\item{int}{Vector of interaction terms to consider when generating design} + +\item{trials}{Number of trials to create. If NA then all feasible designs will be considered until a design with perfect D-efficiency is found} + +\item{seed}{Random seed to use as the starting point} +} +\value{ +A list with all variables defined in the function as an object of class doe +} +\description{ +Create (partial) factorial design +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/doe.html} for an example in Radiant +} +\examples{ +doe(c("price; $10; $13; $16", "food; popcorn; gourmet; no food")) +doe( + c("price; $10; $13; $16", "food; popcorn; gourmet; no food"), + int = "price:food", trials = 9, seed = 1234 +) + +} +\seealso{ +\code{\link{summary.doe}} to summarize results +} diff --git a/radiant.design/man/estimable.Rd b/radiant.design/man/estimable.Rd new file mode 100644 index 0000000..688278a --- /dev/null +++ b/radiant.design/man/estimable.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/doe.R +\name{estimable} +\alias{estimable} +\title{Determine coefficients that can be estimated based on a partial factorial design} +\usage{ +estimable(design) +} +\arguments{ +\item{design}{An experimental design generated by the doe function that includes a partial and full factorial design} +} +\description{ +A function to determine which coefficients can be estimated based on a partial factorial design. Adapted from a function written by Blakeley McShane at https://github.com/fzettelmeyer/mktg482/blob/master/R/expdesign.R +} +\examples{ +design <- doe(c("price; $10; $13; $16", "food; popcorn; gourmet; no food"), trials = 6) +estimable(design) + +} diff --git a/radiant.design/man/plot.sample_size_comp.Rd b/radiant.design/man/plot.sample_size_comp.Rd new file mode 100644 index 0000000..57e6712 --- /dev/null +++ b/radiant.design/man/plot.sample_size_comp.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_size_comp.R +\name{plot.sample_size_comp} +\alias{plot.sample_size_comp} +\title{Plot method for the sample_size_comp function} +\usage{ +\method{plot}{sample_size_comp}(x, ...) +} +\arguments{ +\item{x}{Return value from \code{\link{sample_size_comp}}} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Plot method for the sample_size_comp function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +} +\examples{ +sample_size_comp( + type = "proportion", p1 = 0.1, p2 = 0.15, + conf_lev = 0.95, power = 0.8 +) \%>\% plot() + +} +\seealso{ +\code{\link{sample_size_comp}} to generate the results +} diff --git a/radiant.design/man/radiant.design.Rd b/radiant.design/man/radiant.design.Rd new file mode 100644 index 0000000..16b327f --- /dev/null +++ b/radiant.design/man/radiant.design.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R, R/radiant.R +\name{radiant.design} +\alias{radiant.design} +\title{radiant.design} +\usage{ +radiant.design(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.design in the default web browser +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.design() +} +} diff --git a/radiant.design/man/radiant.design_viewer.Rd b/radiant.design/man/radiant.design_viewer.Rd new file mode 100644 index 0000000..2a3856f --- /dev/null +++ b/radiant.design/man/radiant.design_viewer.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.design_viewer} +\alias{radiant.design_viewer} +\title{Launch radiant.design in the Rstudio viewer} +\usage{ +radiant.design_viewer(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.design in the Rstudio viewer +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.design_viewer() +} +} diff --git a/radiant.design/man/radiant.design_window.Rd b/radiant.design/man/radiant.design_window.Rd new file mode 100644 index 0000000..4ccc74a --- /dev/null +++ b/radiant.design/man/radiant.design_window.Rd @@ -0,0 +1,24 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/radiant.R +\name{radiant.design_window} +\alias{radiant.design_window} +\title{Launch radiant.design in an Rstudio window} +\usage{ +radiant.design_window(state, ...) +} +\arguments{ +\item{state}{Path to state file to load} + +\item{...}{additional arguments to pass to shiny::runApp (e.g, port = 8080)} +} +\description{ +Launch radiant.design in an Rstudio window +} +\details{ +See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +} +\examples{ +\dontrun{ +radiant.design_window() +} +} diff --git a/radiant.design/man/randomizer.Rd b/radiant.design/man/randomizer.Rd new file mode 100644 index 0000000..36974ea --- /dev/null +++ b/radiant.design/man/randomizer.Rd @@ -0,0 +1,62 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/randomizer.R +\name{randomizer} +\alias{randomizer} +\title{Randomize cases into experimental conditions} +\usage{ +randomizer( + dataset, + vars, + conditions = c("A", "B"), + blocks = NULL, + probs = NULL, + label = ".conditions", + seed = 1234, + data_filter = "", + arr = "", + rows = NULL, + na.rm = FALSE, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset to sample from} + +\item{vars}{The variables to sample} + +\item{conditions}{Conditions to assign to} + +\item{blocks}{A vector to use for blocking or a data.frame from which to construct a blocking vector} + +\item{probs}{A vector of assignment probabilities for each treatment conditions. By default each condition is assigned with equal probability} + +\item{label}{Name to use for the generated condition variable} + +\item{seed}{Random seed to use as the starting point} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Rows to select from the specified dataset} + +\item{na.rm}{Remove rows with missing values (FALSE or TRUE)} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of variables defined in randomizer as an object of class randomizer +} +\description{ +Randomize cases into experimental conditions +} +\details{ +Wrapper for the complete_ra and block_ra from the randomizr package. See \url{https://radiant-rstats.github.io/docs/design/randomizer.html} for an example in Radiant +} +\examples{ +randomizer(rndnames, "Names", conditions = c("test", "control")) \%>\% str() + +} +\seealso{ +\code{\link{summary.sampling}} to summarize results +} diff --git a/radiant.design/man/rndnames.Rd b/radiant.design/man/rndnames.Rd new file mode 100644 index 0000000..58a3464 --- /dev/null +++ b/radiant.design/man/rndnames.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/aaa.R +\docType{data} +\name{rndnames} +\alias{rndnames} +\title{100 random names} +\format{ +A data frame with 100 rows and 2 variables +} +\usage{ +data(rndnames) +} +\description{ +100 random names +} +\details{ +A list of 100 random names. Description provided in attr(rndnames,"description") +} +\keyword{datasets} diff --git a/radiant.design/man/sample_size.Rd b/radiant.design/man/sample_size.Rd new file mode 100644 index 0000000..dba2c1b --- /dev/null +++ b/radiant.design/man/sample_size.Rd @@ -0,0 +1,56 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_size.R +\name{sample_size} +\alias{sample_size} +\title{Sample size calculation} +\usage{ +sample_size( + type, + err_mean = 2, + sd_mean = 10, + err_prop = 0.1, + p_prop = 0.5, + conf_lev = 0.95, + incidence = 1, + response = 1, + pop_correction = "no", + pop_size = 1e+06 +) +} +\arguments{ +\item{type}{Choose "mean" or "proportion"} + +\item{err_mean}{Acceptable Error for Mean} + +\item{sd_mean}{Standard deviation for Mean} + +\item{err_prop}{Acceptable Error for Proportion} + +\item{p_prop}{Initial proportion estimate for Proportion} + +\item{conf_lev}{Confidence level} + +\item{incidence}{Incidence rate (i.e., fraction of valid respondents)} + +\item{response}{Response rate} + +\item{pop_correction}{Apply correction for population size ("yes","no")} + +\item{pop_size}{Population size} +} +\value{ +A list of variables defined in sample_size as an object of class sample_size +} +\description{ +Sample size calculation +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sample_size.html} for an example in Radiant +} +\examples{ +sample_size(type = "mean", err_mean = 2, sd_mean = 10) + +} +\seealso{ +\code{\link{summary.sample_size}} to summarize results +} diff --git a/radiant.design/man/sample_size_comp.Rd b/radiant.design/man/sample_size_comp.Rd new file mode 100644 index 0000000..0e8b368 --- /dev/null +++ b/radiant.design/man/sample_size_comp.Rd @@ -0,0 +1,62 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_size_comp.R +\name{sample_size_comp} +\alias{sample_size_comp} +\title{Sample size calculation for comparisons} +\usage{ +sample_size_comp( + type, + n1 = NULL, + n2 = NULL, + p1 = NULL, + p2 = NULL, + delta = NULL, + sd = NULL, + conf_lev = NULL, + power = NULL, + ratio = 1, + alternative = "two.sided" +) +} +\arguments{ +\item{type}{Choose "mean" or "proportion"} + +\item{n1}{Sample size for group 1} + +\item{n2}{Sample size for group 2} + +\item{p1}{Proportion 1 (only used when "proportion" is selected)} + +\item{p2}{Proportion 2 (only used when "proportion" is selected)} + +\item{delta}{Difference in means between two groups (only used when "mean" is selected)} + +\item{sd}{Standard deviation (only used when "mean" is selected)} + +\item{conf_lev}{Confidence level} + +\item{power}{Power} + +\item{ratio}{Sampling ratio (n1 / n2)} + +\item{alternative}{Two or one sided test} +} +\value{ +A list of variables defined in sample_size_comp as an object of class sample_size_comp +} +\description{ +Sample size calculation for comparisons +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +} +\examples{ +sample_size_comp( + type = "proportion", p1 = 0.1, p2 = 0.15, + conf_lev = 0.95, power = 0.8 +) + +} +\seealso{ +\code{\link{summary.sample_size_comp}} to summarize results +} diff --git a/radiant.design/man/sampling.Rd b/radiant.design/man/sampling.Rd new file mode 100644 index 0000000..c26a208 --- /dev/null +++ b/radiant.design/man/sampling.Rd @@ -0,0 +1,53 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sampling.R +\name{sampling} +\alias{sampling} +\title{Simple random sampling} +\usage{ +sampling( + dataset, + vars, + sample_size, + seed = 1234, + data_filter = "", + arr = "", + rows = NULL, + na.rm = FALSE, + envir = parent.frame() +) +} +\arguments{ +\item{dataset}{Dataset to sample from} + +\item{vars}{The variables to sample} + +\item{sample_size}{Number of units to select} + +\item{seed}{Random seed to use as the starting point} + +\item{data_filter}{Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000")} + +\item{arr}{Expression to arrange (sort) the data on (e.g., "color, desc(price)")} + +\item{rows}{Rows to select from the specified dataset} + +\item{na.rm}{Remove rows with missing values (FALSE or TRUE)} + +\item{envir}{Environment to extract data from} +} +\value{ +A list of class 'sampling' with all variables defined in the sampling function +} +\description{ +Simple random sampling +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sampling.html} for an example in Radiant +} +\examples{ +sampling(rndnames, "Names", 10) + +} +\seealso{ +\code{\link{summary.sampling}} to summarize results +} diff --git a/radiant.design/man/summary.doe.Rd b/radiant.design/man/summary.doe.Rd new file mode 100644 index 0000000..12ec239 --- /dev/null +++ b/radiant.design/man/summary.doe.Rd @@ -0,0 +1,38 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/doe.R +\name{summary.doe} +\alias{summary.doe} +\title{Summary method for doe function} +\usage{ +\method{summary}{doe}(object, eff = TRUE, part = TRUE, full = TRUE, est = TRUE, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{doe}}} + +\item{eff}{If TRUE print efficiency output} + +\item{part}{If TRUE print partial factorial} + +\item{full}{If TRUE print full factorial} + +\item{est}{If TRUE print number of effects that will be estimable using the partial factorial design} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods.} +} +\description{ +Summary method for doe function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/doe.html} for an example in Radiant +} +\examples{ +c("price; $10; $13; $16", "food; popcorn; gourmet; no food") \%>\% + doe() \%>\% + summary() + +} +\seealso{ +\code{\link{doe}} to calculate results +} diff --git a/radiant.design/man/summary.randomizer.Rd b/radiant.design/man/summary.randomizer.Rd new file mode 100644 index 0000000..4c980c4 --- /dev/null +++ b/radiant.design/man/summary.randomizer.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/randomizer.R +\name{summary.randomizer} +\alias{summary.randomizer} +\title{Summary method for the randomizer function} +\usage{ +\method{summary}{randomizer}(object, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{randomizer}}} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the randomizer function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/randomizer.html} for an example in Radiant +} +\examples{ +randomizer(rndnames, "Names", conditions = c("test", "control")) \%>\% summary() + +} +\seealso{ +\code{\link{randomizer}} to generate the results +} diff --git a/radiant.design/man/summary.sample_size.Rd b/radiant.design/man/summary.sample_size.Rd new file mode 100644 index 0000000..3a4a7cc --- /dev/null +++ b/radiant.design/man/summary.sample_size.Rd @@ -0,0 +1,27 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_size.R +\name{summary.sample_size} +\alias{summary.sample_size} +\title{Summary method for the sample_size function} +\usage{ +\method{summary}{sample_size}(object, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{sample_size}}} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the sample_size function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sample_size.html} for an example in Radiant +} +\examples{ +sample_size(type = "mean", err_mean = 2, sd_mean = 10) \%>\% + summary() + +} +\seealso{ +\code{\link{sample_size}} to generate the results +} diff --git a/radiant.design/man/summary.sample_size_comp.Rd b/radiant.design/man/summary.sample_size_comp.Rd new file mode 100644 index 0000000..1e87fae --- /dev/null +++ b/radiant.design/man/summary.sample_size_comp.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sample_size_comp.R +\name{summary.sample_size_comp} +\alias{summary.sample_size_comp} +\title{Summary method for the sample_size_comp function} +\usage{ +\method{summary}{sample_size_comp}(object, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{sample_size_comp}}} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the sample_size_comp function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sample_size_comp.html} for an example in Radiant +} +\examples{ +sample_size_comp( + type = "proportion", p1 = 0.1, p2 = 0.15, + conf_lev = 0.95, power = 0.8 +) \%>\% summary() + +} +\seealso{ +\code{\link{sample_size_comp}} to generate the results +} diff --git a/radiant.design/man/summary.sampling.Rd b/radiant.design/man/summary.sampling.Rd new file mode 100644 index 0000000..29eb07b --- /dev/null +++ b/radiant.design/man/summary.sampling.Rd @@ -0,0 +1,28 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/sampling.R +\name{summary.sampling} +\alias{summary.sampling} +\title{Summary method for the sampling function} +\usage{ +\method{summary}{sampling}(object, dec = 3, ...) +} +\arguments{ +\item{object}{Return value from \code{\link{sampling}}} + +\item{dec}{Number of decimals to show} + +\item{...}{further arguments passed to or from other methods} +} +\description{ +Summary method for the sampling function +} +\details{ +See \url{https://radiant-rstats.github.io/docs/design/sampling.html} for an example in Radiant +} +\examples{ +sampling(rndnames, "Names", 10) \%>\% summary() + +} +\seealso{ +\code{\link{sampling}} to generate the results +} diff --git a/radiant.design/tests/testthat.R b/radiant.design/tests/testthat.R new file mode 100644 index 0000000..c2fa8ee --- /dev/null +++ b/radiant.design/tests/testthat.R @@ -0,0 +1,3 @@ +## use shift-cmd-t to run all tests +library(testthat) +test_check("radiant.design") diff --git a/radiant.design/tests/testthat/output/regress1.txt b/radiant.design/tests/testthat/output/regress1.txt new file mode 100644 index 0000000..6c84363 --- /dev/null +++ b/radiant.design/tests/testthat/output/regress1.txt @@ -0,0 +1,24 @@ +Linear regression (OLS) + Data : diamonds + Response variable : price + Explanatory variables: carat, clarity + Null hyp.: the effect of x on price is zero + Alt. hyp.: the effect of x on price is not zero + + coefficient std.error t.value p.value + (Intercept) -6780.993 204.952 -33.086 < .001 *** + carat 8438.030 51.101 165.125 < .001 *** + clarity|SI2 2790.760 201.395 13.857 < .001 *** + clarity|SI1 3608.531 200.508 17.997 < .001 *** + clarity|VS2 4249.906 201.607 21.080 < .001 *** + clarity|VS1 4461.956 204.592 21.809 < .001 *** + clarity|VVS2 5109.476 210.207 24.307 < .001 *** + clarity|VVS1 5027.669 214.251 23.466 < .001 *** + clarity|IF 5265.170 233.658 22.534 < .001 *** + + Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 + + R-squared: 0.904, Adjusted R-squared: 0.904 + F-statistic: 3530.024 df(8,2991), p.value < .001 + Nr obs: 3,000 + diff --git a/radiant.design/tests/testthat/test_stats.R b/radiant.design/tests/testthat/test_stats.R new file mode 100644 index 0000000..ad9ba0a --- /dev/null +++ b/radiant.design/tests/testthat/test_stats.R @@ -0,0 +1,69 @@ +# library(radiant.design) +# library(testthat) + +######### tests ######## +test_that("DOE", { + res1 <- "price; $10; $13; $16\nfood; popcorn; gourmet; no food" %>% doe() + expect_equal(unlist(res1$eff[5, ]), c(Trials = 9, `D-efficiency` = 1, Balanced = TRUE)) +}) + +test_that("Sample size", { + res1 <- sample_size(type = "mean", err_mean = 2, sd_mean = 10) + expect_equal(res1$n, 97) +}) + +test_that("Sample size (compare) -- n2", { + res <- sample_size_comp( + type = "proportion", + n1 = 38073, + p1 = 0.008, + p2 = 0.01, + conf_lev = 0.95, + power = 0.9, + alternative = "less" + ) + # summary(res) + expect_equal(ceiling(res$n2), 38073) +}) + +test_that("Sample size (compare) -- n1 and n2", { + res <- sample_size_comp( + type = "proportion", + p1 = 0.008, + p2 = 0.01, + conf_lev = 0.95, + power = 0.9, + alternative = "less" + ) + # summary(res) + expect_equal(ceiling(res$n1), 38073) + expect_equal(ceiling(res$n2), 38073) +}) + +test_that("Sample size (compare) -- power", { + res <- sample_size_comp( + type = "proportion", + n1 = 38073, + n2 = 38073, + p1 = 0.008, + p2 = 0.01, + conf_lev = 0.95, + alternative = "less" + ) + # summary(res) + expect_equal(round(res$res$power, 1), 0.9) +}) + +test_that("Sample size (compare) -- sig", { + res <- sample_size_comp( + type = "proportion", + n1 = 38073, + n2 = 38073, + p1 = 0.008, + p2 = 0.01, + power = 0.9, + alternative = "less" + ) + # summary(res) + expect_equal(round(res$res$sig.level, 2), 0.05) +}) diff --git a/radiant.design/vignettes/pkgdown/_doe.Rmd b/radiant.design/vignettes/pkgdown/_doe.Rmd new file mode 100644 index 0000000..c367336 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_doe.Rmd @@ -0,0 +1,69 @@ +> Design of Experiments + +## Example + +Suppose we want to test alternative movie theater designs using three factors. + +* **Price** at \$10, \$13, or $16 +* **Sight** to determine if theater setting should be staggered or not staggered +* **Food** to determine if we should offer hot dogs and popcorn, gourmet food, or no food at all + +## Max levels + +The factors to include in the analysis have 3, 2, and 3 levels so we enter `3` in the `Max levels` input. + +## Variable name and level + +Here we enter the factors of interest. For example, enter `price` as the variable name, \$10 as level 1, \$13, as level 2, and \$16 as level 3. Then click the icon. This will add the provided information about the factor to the `Design factors` window in the format Radiant needs for analysis. To remove the last line in the `Design factors` window click the icon. + +After entering the required information for each of the three factors your screen should look as follows: + +

    + +## Create design + +You are now ready to create an experimental design by clicking on the `Create design` button. This will generate the following output. + +

    + +For our example, the ideal design has 18 trials. However, this implies that the partial and the full factorial are the same size. We'd like to find out if it is possible to reduce the number of trials. See `# trials` below. + +## # trials + +This input can be used to control the number of trials to generate. If left blank Radiant will try to find an appropriate number of trials using the `optFederov` function in the AlgDesign package. + +Lets review the output in `Design efficiency`. For our example, the goal is to find a design with less than 18 trials that will still allow us to estimate the effects we are interested in (e.g., the main-effects of the different levels of price, sight, and food). Notice that there are several designs that are considered `balanced` (i.e., each level is included in the same number of trials). We are looking for a design that is balanced and has minimal correlation between factors (e.g., a D-efficiency score above 0.8). You can think of the D-efficiency score as a measure of how cleanly we will be able to estimate the effects of interest after running the test/experiment. The ideal D-efficiency score is 1 but a number above 0.8 is considered reasonable. + +The smallest number of trials with a balanced design is 6. This design is balanced simply because 6 is divisible by 3 and 2 (i.e., the number of levels in our factors). However, the D-efficiency score is rather low (.513). The next smallest balanced design has 12 trials and has a much higher D-efficiency. This design is a reasonable choice if we want to estimate the main-effects of each factor level on movie-theater choice or preference. + +To generate the desired partial factorial design enter `12` in the `# trials` input and press `Create design`. This will generate the following output. + +

    + +The `trial` column in the output shows which profiles have been selected from the full factorial design. Note that the off-diagonal elements of the (polychoric) correlation matrix for a partial factorial design will all be equal to 0 *only* when D-efficiency is equal to 1. The polycor package is used to the estimate the correlations between the factors. + +## Rnd. seed: + +A partial factorial design may not be unique (i.e., there might be multiple combinations of trials or profiles that are equally good). By setting a random seed you ensure the same set of trials will be generated each time you press `Create design`. However, to see alternative partials factorial designs empty the `Rnd. seed` box and press `Create design` a few times to see how the set of selected trials changes. + +## Interactions + +Note that we will not be able to estimate all possible interactions between `price`, `sight`, and `food` if we use a design with 12 trials. This is the trade-off inherent in partial factorial designs! In fact, if we do want to estimate even one interaction (e.g., select `price:sight`) the appropriate design has 18 trials (i.e., the number in the full factorial design that includes all possible combinations of factor levels). + +## Partial and Full factorial design + +Click on the `Partial` or the `Full` button to download the Partial or Full factorial design in csv format . + +## Upload and Download + +To download the list of factors you entered click the `Download` button. To upload a previously created set of factors click the `Upload` button and browse to find the desired file. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the design by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### R-functions + +For an overview of related R-functions used by Radiant for experimental design see _Design > Design of Experiments_ + +The key function from the `AlgDesign` package used in the `doe` tool is `optFederov`. diff --git a/radiant.design/vignettes/pkgdown/_footer.md b/radiant.design/vignettes/pkgdown/_footer.md new file mode 100644 index 0000000..05010f0 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_footer.md @@ -0,0 +1,2 @@ + +© Vincent Nijs (2023) Creative Commons License diff --git a/radiant.design/vignettes/pkgdown/_randomizer.Rmd b/radiant.design/vignettes/pkgdown/_randomizer.Rmd new file mode 100644 index 0000000..85e4baf --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_randomizer.Rmd @@ -0,0 +1,29 @@ +> Randomly assign respondents to experimental conditions + +To use the random assignment tool, select a data set where each row in the data set is unique (i.e., no duplicates). A dataset that fits these requirements is bundled with Radiant and is available through the _Data > Manage_ tab (i.e., choose `Examples` from the `Load data of type` drop-down and press `Load`). Select `rndnames` from the `Datasets` dropdown. + +`Names` is a unique identifier in this dataset. If we select this variable and specify two (or more) `Conditions` (e.g., "test" and "control") a table will be shown with a columns `.conditions` that indicates to which condition each person was (randomly) assigned. + +By default, the `Random assignment` tool will use equal probabilities for each condition. However, as can be seen in the screenshot below, it is also possible to specify the probabilities to use in assignment (e.g., 30% to "test" and 70% to the "control" condition). + +

    + +If we expect that some variables are likely predictive of the outcome of our experiment then we can use `blocking` to decrease sampling variability. In block random assignment (or stratified random assignment) subjects are first sorted into blocks (or strata) based on one or more characteristics before being randomly assigned within each block. For example, if we select `Gender` as a `Blocking variable` the `Random assignment` tool will attempt to put exactly 30% of men and exactly 30% of women in the treatment condition based on the `Probabilities` we specified in advance. As we can see in the screenshot below, the assignment of men and women to the test and control condition turned out exactly as intended. + +

    + +By default, the random seed is set to `1234` to ensure the sampling results are reproducible. If there is no input in `Rnd. seed`, the selected rows will change every time we generate a sample. + +To download data with the assignments in the `.conditions` column in CSV format, click on the icon in the top-right of your screen. The same data can also be stored in Radiant by providing a name for the dataset and then clicking on the `Store` button. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the sample by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### R-functions + +For an overview of related R-functions used by Radiant for sampling and sample size calculations see _Design > Sample_ + +For more information see the vignette for the `randomizr` package that radiant uses for the `Random assignment` tool. + +The key functions from the `randomizr` package used in the `randomizer` tool are `complete_ra` and `block_ra`. diff --git a/radiant.design/vignettes/pkgdown/_sample_size.Rmd b/radiant.design/vignettes/pkgdown/_sample_size.Rmd new file mode 100644 index 0000000..30ce4b5 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_sample_size.Rmd @@ -0,0 +1,102 @@ +> Determine the required sample size to test a mean or proportion calculated from sample data + +### Example 1 + +We would like to start an ISP and need to estimate the average Internet usage of households in one week for our business plan and model. How many households must we randomly select to be 95% sure that the sample mean is within 10 minute of the population mean? Assume that a previous survey of household usage has shown a standard deviation of 60.95 minutes. + +**Answer:** + +Since we are interested in estimating the average (or mean) internet usage in the population we select sample size calculation for `Mean`. In the screen shot below we entered 10 (minutes) as the Acceptable error and 60.95 as the estimate of the Sample standard deviation. The Confidence level is 95%. + +

    + +As you can see the required sample size is equal to 143, i.e., we need 143 valid responses from our target population to make an inference of the population average with the required Acceptable Error, Confidence level, and Sample standard deviation. This number assumes an Incidence and Response rate of 1 (or 100%). Suppose that only 75% of the household in our market have access to internet at home. In addition, suppose that the anticipated response rate is 20%. What would be the required number of households to contact? + +

    + +In the screen shot above the incidence rate is set to 75% and the response rate to 20%. The required number of valid responses is the same as before (143), however the number of contact requests is now equal to 143 / .75 / .2 = 954. + +Source + +### Example 2 + +Suppose that you want to investigate if the true prevalence of HIV antibodies in a population is 10%. You plan to take a random sample of the population to estimate the prevalence. You would like 95% confidence that the true proportion in the population will fall within the error bounds calculated from your sample. + +Let's say that the population size is 5000 and the initial estimate of the prevalence is 10% with an acceptable error of 4%. + +**Answer:** + +Because we want to estimate the proportion of people with HIV antibodies in the population of interest we select sample size calculation for a `Proportion`. In the screen shot below we entered 4% as the Acceptable error and 10% as the initial estimate of the proportion (p). The Confidence level is 95%. + +

    + +As you can see the required sample size is equal to 217, i.e., we need 217 valid responses to make an inference of the population proportion with the required Acceptable error and Confidence level. This number again assumes an Incidence and Response rate of 100%. The example suggests the population of interest has only 5000 people so it may be worthwhile to apply a correction for population size. + +

    + +In the screen shot above we clicked `Yes` to apply the population correction and then entered 5000 as the population size. The required number of valid responses drops only slightly from 217 to 208. + +In general, the size of the population can be influential when the sample size we need ($n$) is large compared to the size of the total population ($N$). For example, if the population was only 250 people the adjusted sample size would have been 117 rather than 217. + +Source + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the sample size calculations by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### Technical notes + +#### Sample size for a mean: + +$$ + n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + +where $n$ is the sample size, $z$ is the z-value associated with the desired level of confidence (e.g., 1.96 for 95% confidence), $s$ is the sample standard deviation, and $E$ is the acceptable error. Even if you have not seen the equation above before you may recall the formula for a confidence interval: + +$$ + x \pm z \frac{s}{\sqrt{n}} +$$ + +The boundaries around $x$ are equal to $E$, i.e., the acceptable error. Squaring both sides and rearranging terms gives the formula for sample size: + +$$ + E = z \frac{s}{\sqrt{n}} \; \Rightarrow \; n = \frac{ z^2 \times s^2 }{ E^2 } +$$ + + +#### Sample size for a proportion: + +$$ + n = \frac{ z^2 \times p(1-p) }{ E^2 } +$$ + +where $n$ is the sample size, $z$ is the z-value associated with the desired level of confidence (e.g., 1.96 for 95% confidence), $p$ is the sample proportion, and $E$ is the acceptable error. Even if you have not seen the equation above before you may recall the formula for a confidence interval: + +$$ + p \pm z \sqrt{ \frac{p(1-p)}{n} } +$$ + +The boundaries around $p$ are equal to $E$, i.e., the acceptable error. Squaring both sides and rearranging terms gives the formula for sample size: + +$$ + E = z \sqrt{ \frac{p(1-p)}{n} } \; \Rightarrow \; n = \frac{ z^2 p(1-p) }{ E^2 } +$$ + +#### Population correction + +While we can always apply a population correction, the size of the population can have a substantial impact on the required sample size when ($n$) is large compared to the size of the total population ($N$). + +$$ + n^* = \frac{ nN }{ n - 1 + N } +$$ + +As an example, suppose we determine that we need to draw a sample of size 217 from a population of 5000. The the sample size adjusted for population size ($n^*$) would be calculated as follows: + +$$ + n^* = \frac{ 217 \times 5000 }{ 217 - 1 + 5000 } = 208 +$$ + +### R-functions + +For an overview of related R-functions used by Radiant for sampling and sample size calculations see _Design > Sample_ diff --git a/radiant.design/vignettes/pkgdown/_sample_size_comp.Rmd b/radiant.design/vignettes/pkgdown/_sample_size_comp.Rmd new file mode 100644 index 0000000..2150f58 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_sample_size_comp.Rmd @@ -0,0 +1,37 @@ +> Determine the required sample size for comparisons of means or proportions + +Leave one of the inputs blank to determine its value. By default the sample size inputs (_n1_ and _n2_) are left empty and the required sample size for both groups is calculated. If values are provided for both _n1_ and _n2_ the value for any one of the other inputs left blank will be calculated. If only a value for _n1_ (_n2_) is entered, all other inputs must be provided to determine the required sample size for _n2_ (_n1_) + +### Input + +* Sample size: Number of respondents required +* Confidence level: 1 - significance level (e.g, .95 = 1 - .05).1, 2 +* Power: 1 - $\beta$ (e.g, .8 = 1 - .2).3 + +### Input for a comparison of means + +* Delta: Difference between group means that we hope to detect +* Std. deviation: Assumed standard deviation + +### Input for a comparison of proportions + +* Proportion 1: Assumed proportion in group 1 (e.g., .1) +* Proportion 2: Proportion 1 plus the difference we hope to detect (e.g., .1 + .05 = .15) + +**Note:** The (match) the control group sample size (_n1_) to the test group sample size (_n2_) leave both inputs for sample size blank (i.e., groups are of the same size). If a value for _n1_ or _n2_ is provided group sizes are likely to differ + +1 The **significance level**, often denoted by $\alpha$, is the highest probability you are willing to accept of rejecting the null hypothesis when it is actually true. A commonly used significance level is 0.05 (or 5%) + +2 $1 - \alpha$ is called the **confidence level**. A commonly used confidence level is 0.95 (or 95%) + +3 Beta ($\beta$), is the probability of accepting the null hypothesis when it is actually false. The power of a test is calculated as 1 - $\beta$. A commonly used power level is 0.8 (or 80%) + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the sample size calculations by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### R-functions + +For an overview of related R-functions used by Radiant for sampling and sample size calculations see _Design > Sample_ + +The key functions from the `pwr` package used in the `sample_size_comp` tool are `pwr.t2n.test`, `pwr.t.test`, `pwr.2p.test`, `pwr.2p2n.test`, and `pwr.2p2n.test`. diff --git a/radiant.design/vignettes/pkgdown/_sampling.Rmd b/radiant.design/vignettes/pkgdown/_sampling.Rmd new file mode 100644 index 0000000..0c4604c --- /dev/null +++ b/radiant.design/vignettes/pkgdown/_sampling.Rmd @@ -0,0 +1,23 @@ +> Use simple random sampling to select observations from a sampling frame + +To use the sampling tool, select a data set where each row in the data set is unique (i.e., no duplicates). A dataset that fits these requirements is bundled with Radiant and is available through the _Data > Manage_ tab (i.e., choose `Examples` from the `Load data of type` drop-down and press `Load`). Select `rndnames` from the `Datasets` dropdown. + +`Names` is a unique identifier in this dataset. If we select this variable and choose the desired sample size, e.g., 10, list of names of the desired length will be created. + +How does this work? Each person in the data is assigned a random number between 0 and 1 from a uniform distribution. Rows are then sorted on that random number and the $n$ people from the list with the highest score are selected for the sample. By using a random number, every respondent has the same probability of being in the sample. For example, if we need a sample of 10 people from the 100 included in the `rndnames` dataset, each individual has a 10% chances of being included in the sample. By default, the random seed is set to `1234` to ensure the sampling results are reproducible. If there is no input in `Rnd. seed`, the selected rows will change every time we generate a sample. + +

    + +The full list of 100 people is called the `sampling frame`. Ideally, this is a comprehensive list of _all_ sampling units (e.g., customers or companies) in your target market. To determine the appropriate value for _n_, use the sample size tools in the _Design_ menu. To show the full sampling frame, click on the `Show sampling frame` check box. + +To download data for the generated sample in CSV format, click on the icon in the top-right of your screen. The created sample can also be stored in Radiant by providing a name for the dataset and then clicking on the `Store` button. + +### Report > Rmd + +Add code to _Report > Rmd_ to (re)create the sample by clicking the icon on the bottom left of your screen or by pressing `ALT-enter` on your keyboard. + +### R-functions + +For an overview of related R-functions used by Radiant for sampling and sample size calculations see _Design > Sample_ + +The key function from the `stats` package used in the `sampling` tool is `runif`. This function is used to generate the random numbers assigned to each row in the available data. diff --git a/radiant.design/vignettes/pkgdown/doe.Rmd b/radiant.design/vignettes/pkgdown/doe.Rmd new file mode 100644 index 0000000..62a6615 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/doe.Rmd @@ -0,0 +1,10 @@ +--- +title: "Design > Design of Experiments" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_doe.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.design/vignettes/pkgdown/images/by-nc-sa.png b/radiant.design/vignettes/pkgdown/images/by-nc-sa.png new file mode 100644 index 0000000000000000000000000000000000000000..76eb5da461b41405c500a557253eec5f65169519 GIT binary patch literal 2374 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 literal 0 HcmV?d00001 diff --git a/radiant.design/vignettes/pkgdown/randomizer.Rmd b/radiant.design/vignettes/pkgdown/randomizer.Rmd new file mode 100644 index 0000000..9ab7d24 --- /dev/null +++ b/radiant.design/vignettes/pkgdown/randomizer.Rmd @@ -0,0 +1,10 @@ +--- +title: "Design > Random assignment" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_randomizer.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.design/vignettes/pkgdown/sample_size.Rmd b/radiant.design/vignettes/pkgdown/sample_size.Rmd new file mode 100644 index 0000000..1855a7f --- /dev/null +++ b/radiant.design/vignettes/pkgdown/sample_size.Rmd @@ -0,0 +1,10 @@ +--- +title: "Design > Sample size" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_sample_size.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.design/vignettes/pkgdown/sample_size_comp.Rmd b/radiant.design/vignettes/pkgdown/sample_size_comp.Rmd new file mode 100644 index 0000000..1aaf13a --- /dev/null +++ b/radiant.design/vignettes/pkgdown/sample_size_comp.Rmd @@ -0,0 +1,10 @@ +--- +title: "Design > Sample size (compare)" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_sample_size_comp.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.design/vignettes/pkgdown/sampling.Rmd b/radiant.design/vignettes/pkgdown/sampling.Rmd new file mode 100644 index 0000000..142c19e --- /dev/null +++ b/radiant.design/vignettes/pkgdown/sampling.Rmd @@ -0,0 +1,10 @@ +--- +title: "Design > Random sampling" +author: "Vincent R. Nijs, Rady School of Management (UCSD)" +--- + +```{r child = "_sampling.Rmd"} +``` + +```{r child = "_footer.md"} +``` diff --git a/radiant.model b/radiant.model deleted file mode 160000 index f18fa8c..0000000 --- a/radiant.model +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f18fa8c52bc21719f428338b8786009a48b23e66 diff --git a/radiant.model/.Rbuildignore b/radiant.model/.Rbuildignore new file mode 100644 index 0000000..61f0b4f --- /dev/null +++ b/radiant.model/.Rbuildignore @@ -0,0 +1,15 @@ +^CRAN-RELEASE$ +^.*\.Rproj$ +^\.Rproj\.user$ +^inst/rstudio$ +build/ +^\.travis\.yml$ +cran-comments.md +_pkgdown.yml +docs/ +vignettes/ +.vscode/ +docker/ +^CRAN-SUBMISSION$ +^.*\.state\.rda$ +solutions/ diff --git a/radiant.model/.gitignore b/radiant.model/.gitignore new file mode 100644 index 0000000..6a1a179 --- /dev/null +++ b/radiant.model/.gitignore @@ -0,0 +1,13 @@ +.Rproj.user +.Rhistory +.Rapp.history +.RData +.Ruserdata +radiant.model.Rproj +.DS_Store +cran-comments.md +docs/ +.vscode/ +docker/ +*.state.rda +solutions/ diff --git a/radiant.model/.travis.yml b/radiant.model/.travis.yml new file mode 100644 index 0000000..efb6cad --- /dev/null +++ b/radiant.model/.travis.yml @@ -0,0 +1,30 @@ +language: r +cache: packages +r: + - oldrel + - release + - devel +warnings_are_errors: true +sudo: required +dist: bionic + +r_packages: + - devtools + +r_github_packages: + - trestletech/shinyAce + - radiant-rstats/radiant.data + - radiant-rstats/radiant.basics + +## based on https://www.datacamp.com/community/tutorials/cd-package-docs-pkgdown-travis +after_success: + - Rscript -e 'pkgdown::build_site()' + +deploy: + provider: pages + skip-cleanup: true + github-token: $GITHUB_PAT + keep-history: true + local-dir: docs + on: + branch: master diff --git a/radiant.model/COPYING b/radiant.model/COPYING new file mode 100644 index 0000000..a148913 --- /dev/null +++ b/radiant.model/COPYING @@ -0,0 +1,728 @@ +The radiant package is licensed to you under the AGPLv3, the terms of +which are included below. The help files are licensed under the creative +commons attribution non-commercial share-alike license [CC-NC-SA]. + +Radiant code license +-------------------------------------------------------------------------------------------- + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. + + +Help file License +-------------------------------------------------------------------------------------------- + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + +"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. +"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. +"Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. +"License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike. +"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. +"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. +"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. +"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. +"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. +"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + +to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; +to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; +to Distribute and Publicly Perform the Work including as incorporated in Collections; and, +to Distribute and Publicly Perform Adaptations. +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + +You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested. +You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. +You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works. +If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. +For the avoidance of doubt: + +Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; +Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, +Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). +Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + +This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. +Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. +8. Miscellaneous + +Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. +Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. +If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. +No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. +This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/radiant.model/CRAN-RELEASE b/radiant.model/CRAN-RELEASE new file mode 100644 index 0000000..934c07a --- /dev/null +++ b/radiant.model/CRAN-RELEASE @@ -0,0 +1,2 @@ +This package was submitted to CRAN on 2020-08-05. +Once it is accepted, delete this file and tag the release (commit a233110bdb). diff --git a/radiant.model/CRAN-SUBMISSION b/radiant.model/CRAN-SUBMISSION new file mode 100644 index 0000000..cb60db6 --- /dev/null +++ b/radiant.model/CRAN-SUBMISSION @@ -0,0 +1,3 @@ +Version: 1.6.7 +Date: 2024-10-11 05:08:01 UTC +SHA: 0ec5376c00fe3f02bf1f1cf7187883fed3784620 diff --git a/radiant.model/DESCRIPTION b/radiant.model/DESCRIPTION new file mode 100644 index 0000000..5c0210b --- /dev/null +++ b/radiant.model/DESCRIPTION @@ -0,0 +1,57 @@ +Package: radiant.model +Type: Package +Title: Model Menu for Radiant: Business Analytics using R and Shiny +Version: 1.6.7 +Date: 2024-10-7 +Authors@R: person("Vincent", "Nijs", , "radiant@rady.ucsd.edu", c("aut", "cre")) +Description: The Radiant Model menu includes interfaces for linear and logistic + regression, naive Bayes, neural networks, classification and regression trees, + model evaluation, collaborative filtering, decision analysis, and simulation. + The application extends the functionality in 'radiant.data'. +Depends: + R (>= 4.3.0), + radiant.data (>= 1.6.6) +Imports: + radiant.basics (>= 1.6.6), + shiny (>= 1.8.1), + nnet (>= 7.3.12), + NeuralNetTools (>= 1.5.1), + sandwich (>= 2.3.4), + car (>= 2.1.3), + ggplot2 (>= 3.4.2), + scales (>= 1.2.1), + data.tree (>= 0.7.4), + stringr (>= 1.1.0), + lubridate (>= 1.7.2), + tidyr (>= 0.8.2), + dplyr (>= 1.1.2), + tidyselect (>= 1.2.0), + rlang (>= 0.4.10), + magrittr (>= 1.5), + DiagrammeR (>= 1.0.9), + import (>= 1.1.0), + psych (>= 1.8.4), + e1071 (>= 1.6.8), + rpart (>= 4.1.11), + ggrepel (>= 0.8), + broom (>= 0.7.0), + patchwork (>= 1.0.0), + ranger (>= 0.11.2), + xgboost (>= 1.6.0.1), + pdp (>= 0.8.1), + vip (>= 0.3.2), + stringi, + yaml, + shiny.i18n +Suggests: + testthat (>= 2.0.0), + pkgdown (>= 1.1.0) +URL: https://github.com/radiant-rstats/radiant.model/, + https://radiant-rstats.github.io/radiant.model/, + https://radiant-rstats.github.io/docs/ +BugReports: https://github.com/radiant-rstats/radiant.model/issues/ +License: AGPL-3 | file LICENSE +LazyData: true +Encoding: UTF-8 +Language: en-US +RoxygenNote: 7.3.2 diff --git a/radiant.model/LICENSE b/radiant.model/LICENSE new file mode 100644 index 0000000..fa3c043 --- /dev/null +++ b/radiant.model/LICENSE @@ -0,0 +1,105 @@ +Radiant is licensed under AGPL3 (see https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0) and https://www.r-project.org/Licenses/AGPL-3). The radiant help files are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA (https://creativecommons.org/licenses/by-nc-sa/4.0/). + +As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +If you are interested in using Radiant please email me at radiant@rady.ucsd.edu + +ALL HELPFILES IN THE RADIANT APPLICATION USE THE FOLLOWING LICENSE (https://creativecommons.org/licenses/by-nc-sa/4.0/) +======================================================================================================================== + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + +Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. +Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. +BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License. +Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. +Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. +Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. +License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike. +Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. +Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. +Licensor means the individual(s) or entity(ies) granting rights under this Public License. +NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. +Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. +Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. +You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. +Section 2 – Scope. + +License grant. +Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: +reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and +produce, reproduce, and Share Adapted Material for NonCommercial purposes only. +Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. +Term. The term of this Public License is specified in Section 6(a). +Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. +Downstream recipients. +Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. +Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply. +No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. +No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). +Other rights. + +Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. +Patent and trademark rights are not licensed under this Public License. +To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes. +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + +Attribution. + +If You Share the Licensed Material (including in modified form), You must: + +retain the following if it is supplied by the Licensor with the Licensed Material: +identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); +a copyright notice; +a notice that refers to this Public License; +a notice that refers to the disclaimer of warranties; +a URI or hyperlink to the Licensed Material to the extent reasonably practicable; +indicate if You modified the Licensed Material and retain an indication of any previous modifications; and +indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. +You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. +If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. +ShareAlike. +In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply. + +The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License. +You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material. +You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply. +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + +for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only; +if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and +You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability. + +Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. +To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. +The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. +Section 6 – Term and Termination. + +This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. +Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + +automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or +upon express reinstatement by the Licensor. +For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. +For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. +Sections 1, 5, 6, 7, and 8 survive termination of this Public License. +Section 7 – Other Terms and Conditions. + +The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. +Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. +Section 8 – Interpretation. + +For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. +To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. +No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. +Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. diff --git a/radiant.model/NAMESPACE b/radiant.model/NAMESPACE new file mode 100644 index 0000000..de1623e --- /dev/null +++ b/radiant.model/NAMESPACE @@ -0,0 +1,273 @@ +# Generated by roxygen2: do not edit by hand + +S3method(plot,confusion) +S3method(plot,crs) +S3method(plot,crtree) +S3method(plot,dtree) +S3method(plot,evalbin) +S3method(plot,evalreg) +S3method(plot,gbt) +S3method(plot,logistic) +S3method(plot,mnl) +S3method(plot,mnl.predict) +S3method(plot,model.predict) +S3method(plot,nb) +S3method(plot,nb.predict) +S3method(plot,nn) +S3method(plot,regress) +S3method(plot,repeater) +S3method(plot,rforest) +S3method(plot,rforest.predict) +S3method(plot,simulater) +S3method(plot,uplift) +S3method(predict,coxp) +S3method(predict,crtree) +S3method(predict,gbt) +S3method(predict,logistic) +S3method(predict,mnl) +S3method(predict,nb) +S3method(predict,nn) +S3method(predict,regress) +S3method(predict,rforest) +S3method(predict,svm) +S3method(print,coxp.predict) +S3method(print,crtree.predict) +S3method(print,gbt.predict) +S3method(print,logistic.predict) +S3method(print,mnl.predict) +S3method(print,nb.predict) +S3method(print,nn.predict) +S3method(print,regress.predict) +S3method(print,rforest.predict) +S3method(print,svm.predict) +S3method(render,DiagrammeR) +S3method(sensitivity,dtree) +S3method(store,crs) +S3method(store,mnl.predict) +S3method(store,model) +S3method(store,model.predict) +S3method(store,nb.predict) +S3method(store,rforest.predict) +S3method(summary,confusion) +S3method(summary,coxp) +S3method(summary,crs) +S3method(summary,crtree) +S3method(summary,dtree) +S3method(summary,evalbin) +S3method(summary,evalreg) +S3method(summary,gbt) +S3method(summary,logistic) +S3method(summary,mnl) +S3method(summary,nb) +S3method(summary,nn) +S3method(summary,regress) +S3method(summary,repeater) +S3method(summary,rforest) +S3method(summary,simulater) +S3method(summary,svm) +S3method(summary,uplift) +export(.as_int) +export(.as_num) +export(MAE) +export(RMSE) +export(Rsq) +export(ann) +export(auc) +export(confint_robust) +export(confusion) +export(coxp) +export(crs) +export(crtree) +export(cv.crtree) +export(cv.gbt) +export(cv.nn) +export(cv.rforest) +export(dtree) +export(dtree_parser) +export(evalbin) +export(evalreg) +export(find_max) +export(find_min) +export(gbt) +export(logistic) +export(minmax) +export(mnl) +export(nb) +export(nn) +export(onehot) +export(pdp_plot) +export(pred_plot) +export(predict_model) +export(print_predict_model) +export(profit) +export(radiant.model) +export(radiant.model_viewer) +export(radiant.model_window) +export(regress) +export(remove_comments) +export(repeater) +export(rforest) +export(rig) +export(scale_df) +export(sdw) +export(sensitivity) +export(sim_cleaner) +export(sim_cor) +export(sim_splitter) +export(sim_summary) +export(simulater) +export(svm) +export(test_specs) +export(uplift) +export(var_check) +export(varimp) +export(varimp_plot) +export(write.coeff) +import(ggplot2) +import(radiant.data) +import(shiny) +importFrom(DiagrammeR,DiagrammeR) +importFrom(DiagrammeR,DiagrammeROutput) +importFrom(DiagrammeR,mermaid) +importFrom(DiagrammeR,renderDiagrammeR) +importFrom(NeuralNetTools,garson) +importFrom(NeuralNetTools,olden) +importFrom(NeuralNetTools,plotnet) +importFrom(broom,augment) +importFrom(car,linearHypothesis) +importFrom(car,vif) +importFrom(data.tree,Clone) +importFrom(data.tree,FormatPercent) +importFrom(data.tree,Get) +importFrom(data.tree,Traverse) +importFrom(data.tree,as.Node) +importFrom(data.tree,isLeaf) +importFrom(data.tree,isNotLeaf) +importFrom(data.tree,isNotRoot) +importFrom(dplyr,across) +importFrom(dplyr,arrange) +importFrom(dplyr,arrange_at) +importFrom(dplyr,bind_cols) +importFrom(dplyr,bind_rows) +importFrom(dplyr,data_frame) +importFrom(dplyr,desc) +importFrom(dplyr,distinct_at) +importFrom(dplyr,everything) +importFrom(dplyr,filter) +importFrom(dplyr,first) +importFrom(dplyr,funs) +importFrom(dplyr,group_by) +importFrom(dplyr,group_by_) +importFrom(dplyr,group_by_at) +importFrom(dplyr,inner_join) +importFrom(dplyr,last) +importFrom(dplyr,min_rank) +importFrom(dplyr,mutate) +importFrom(dplyr,mutate_) +importFrom(dplyr,mutate_all) +importFrom(dplyr,mutate_at) +importFrom(dplyr,mutate_if) +importFrom(dplyr,near) +importFrom(dplyr,pull) +importFrom(dplyr,rename) +importFrom(dplyr,sample_n) +importFrom(dplyr,select) +importFrom(dplyr,select_at) +importFrom(dplyr,slice) +importFrom(dplyr,summarise) +importFrom(dplyr,summarise_) +importFrom(dplyr,summarise_all) +importFrom(dplyr,summarise_at) +importFrom(dplyr,summarize) +importFrom(dplyr,ungroup) +importFrom(e1071,naiveBayes) +importFrom(ggplot2,autoplot) +importFrom(ggrepel,geom_text_repel) +importFrom(graphics,par) +importFrom(import,from) +importFrom(lubridate,is.Date) +importFrom(lubridate,now) +importFrom(magrittr,"%<>%") +importFrom(magrittr,"%>%") +importFrom(magrittr,"%T>%") +importFrom(magrittr,extract2) +importFrom(magrittr,set_colnames) +importFrom(magrittr,set_names) +importFrom(magrittr,set_rownames) +importFrom(nnet,nnet) +importFrom(nnet,nnet.formula) +importFrom(patchwork,plot_annotation) +importFrom(patchwork,wrap_plots) +importFrom(pdp,partial) +importFrom(psych,cohen.kappa) +importFrom(radiant.data,launch) +importFrom(radiant.data,set_attr) +importFrom(radiant.data,visualize) +importFrom(ranger,ranger) +importFrom(rlang,":=") +importFrom(rlang,.data) +importFrom(rlang,parse_exprs) +importFrom(rpart,prune.rpart) +importFrom(rpart,rpart) +importFrom(rpart,rpart.control) +importFrom(sandwich,vcovHC) +importFrom(scales,percent) +importFrom(shiny,getDefaultReactiveDomain) +importFrom(shiny,incProgress) +importFrom(shiny,withProgress) +importFrom(stats,anova) +importFrom(stats,as.formula) +importFrom(stats,binomial) +importFrom(stats,coef) +importFrom(stats,confint) +importFrom(stats,confint.default) +importFrom(stats,contrasts) +importFrom(stats,cor) +importFrom(stats,deviance) +importFrom(stats,dnorm) +importFrom(stats,family) +importFrom(stats,formula) +importFrom(stats,glm) +importFrom(stats,lm) +importFrom(stats,logLik) +importFrom(stats,median) +importFrom(stats,model.frame) +importFrom(stats,model.matrix) +importFrom(stats,na.omit) +importFrom(stats,pnorm) +importFrom(stats,predict) +importFrom(stats,pt) +importFrom(stats,qnorm) +importFrom(stats,qt) +importFrom(stats,quantile) +importFrom(stats,rbinom) +importFrom(stats,relevel) +importFrom(stats,residuals) +importFrom(stats,rlnorm) +importFrom(stats,rnorm) +importFrom(stats,rpois) +importFrom(stats,runif) +importFrom(stats,sd) +importFrom(stats,setNames) +importFrom(stats,step) +importFrom(stats,terms) +importFrom(stats,terms.formula) +importFrom(stats,update) +importFrom(stats,weighted.mean) +importFrom(stats,wilcox.test) +importFrom(stringi,stri_trans_general) +importFrom(stringr,str_match) +importFrom(tidyr,gather) +importFrom(tidyr,spread) +importFrom(tidyselect,where) +importFrom(utils,as.relistable) +importFrom(utils,capture.output) +importFrom(utils,combn) +importFrom(utils,head) +importFrom(utils,relist) +importFrom(utils,tail) +importFrom(utils,write.table) +importFrom(vip,vi) +importFrom(xgboost,xgb.importance) +importFrom(xgboost,xgboost) +importFrom(yaml,yaml.load) diff --git a/radiant.model/NEWS.md b/radiant.model/NEWS.md new file mode 100644 index 0000000..cad6504 --- /dev/null +++ b/radiant.model/NEWS.md @@ -0,0 +1,420 @@ +# radiant.model 1.6.7 + +- Fixed documentation for decision tree sensitivity analysis +- Added a warning in case an integer overflow occurs in decision analysis calculations +- Fixed an issue where loading a yaml file for decision analysis could overwrite an existing tree structure +- Fixed issues with Permutation Importance, Prediction, and Partial Dependence plots with stepwise regression is used. Applies to both logistic and linear regression + +# radiant.model 1.6.6 + +* Require Shiny 1.8.1. Adjustments related to icon-buttons were made to address a breaking change in Shiny 1.8.1 +* Reverting changes that removed `req(input$dataset)` in different places + +# radiant.model 1.6.3 + +* Fix for change in vip package metric name for r2 + +# radiant.model 1.6.0 + +* Added scaling factor for profit calculations in Model > Evaluate Classification +* Replace dplyr::all_equal with all.equal due deprecation warning +* Using "Radiant for R" in UI to differentiate from "Radiant for Python" +* Check if the value of mtry for random forest is less than 0 or larger than the number of variables in the model +* Addressed a package documentation issue due to a change in roxygen2 + +# radiant.model 1.5.0 + +* Improvements to screenshot feature. Navigation bar is omitted and the image is adjusted to the length of the UI. +* Removed all references to `aes_string` which is being deprecated in ggplot +* Replaced "size" argument, deprecated in ggplot2, with "linewidth" +* Added functionality to create pdp plots, prediction plots (pred_plot), and permutation importance plots (varimp) for most available models. Prediction plots are convenient to quickly check for possible interactions which would take longer to generate using PDP +* Added AUC and Adjusted Pseudo R-squared to model fit metrics for logistic regression + +# radiant.model 1.4.10 + +* Fix when parsing commands using strsplit on ';' +* Use `dplyr::near` to avoid issues with user-provided probabilities not summing to 1 due to machine tolerance + +# radiant.model 1.4.8 + +* gsub("[\x80-\xFF]", "", text) is no longer valid in R 4.2.0 and above. Non-asci symbols will now be escaped using stringi + +# radiant.model 1.4.6 + +* Added option to create screenshots of settings on a page. Approach is inspired by the snapper package by @yonicd +* Download decision analysis and decision tree plots generated using mermaid (DiagrammeR) to png format + +# radiant.model 1.4.4 + +* Fix for change in input format for XGBoost that broke cross-validation + +# radiant.model 1.4.3 + +* Fix for breaking change in as.vector for data.frames in the development version of R + +# radiant.model 1.4.2 + +* Fixed `is_empty` function clash with `rlang` +* Adjustments to work with the latest version of `shiny` and `bootstrap4` + +# radiant.model 1.4.1 + +* Fixed an issue where variables used in Decision Analysis with a one letter label caused problems evaluating the tree correctly +* Provide easier access to payoffs, probabilities, etc. from a solved Decisions Analysis tree + +# radiant.model 1.4.0 + +* Allow jitter in regression plots with scatter +* Log transformation of nnet::multinom estimates is no longer needed + +# radiant.model 1.3.16 + +* Remove missing values from _tidy_ model output + +# radiant.model 1.3.15 + +* Allow user to include or exclude variables from the coefficient plot in linear and logistic regression +* Fix for error on R-dev in _Model > Collaborative filtering_ ("Error in xtfrm.data.frame(x) : cannot xtfrm data frames") + +# radiant.model 1.3.14 + +* Fix for issue introduced by version 0.7.0 of the broom package related to degrees of freedom in linear regression +* Fix for NoLD issue (XGBoost) identified by CRAN on Linux +* Fix for NoLD issue (XGBoost) identified by CRAN on Solaris + +# radiant.model 1.3.12 + +* Fix for _Model > Decision analysis_. Indent levels could be affected when the input file contains blank lines +* Improvement in calculating PDP for categorical variables in plot.gbt based on suggestion by @benmarchi (https://github.com/radiant-rstats/radiant.model/issues/4) + +# radiant.model 1.3.9 + +* Minor adjustments in anticipation of dplyr 1.0.0 + +# radiant.model 1.3.8 + +* Fix for cv.rforest when the max of `mtry` exceeds the number of explanatory variables +* Fix to write.coeff when one or more coefficients have a missing value +* Use weighted mean and sd in write.coeff function when needed +* Added flexibility in using constants while defining the spec for other randomly generated variables + +# radiant.model 1.3.5 + +* Adding `OR%` change as a columns in output for _Model > Logistic regression_ and the `write.coeff` function +* Restrict max number of levels in a "groupable" variable used in _Model > Evaluate classification_ and _Model > Multinomial logistic regression_ to no more than 50 +* Avoid rounding the profit measures in _Model > Evaluate classificiation_ + +# radiant.model 1.3.2 + +* Improvements to cv.gbt to allow previously setup evaluation functions to be used in cross validation for hyper parameter tuning +* Random Forest module using the `ranger` package. Includes a `cv.rforest` function for tuning using cross-validation +* Gradient Boosted Trees module using the `xgboost` package. Includes a `cv.gbt` function for tuning using cross-validation. For convenience, all data.frame-to-matrix-conversion is handled by radiant +* Partial Dependence Plots for all trees-based estimation modules and for neural networks +* `onehot` function to make converting a data.frame with categorical variables to a matrix a bit easier + +# radiant.model 1.3.0 + +* Allow specification of multiple summary functions in _Model > Simulate > Repeat_ +* Documentation updates to link to new video tutorials +* Use `patchwork` for grouping multiple plots together +* Allow formula input for `logistic` and `regress` functions +* Adjust correlation plot for NB to accommodate changes in _Basics > Correlation_ +* Fix for repeated simulation (_Model > Simulate > Repeat_) where "Variables to re-simulate" and "Output variables" were not always updated correctly when the set of available variables changed + +# radiant.model 1.2.7 + +* Fix prediction issue when using I(x^2) in a stepwise estimation process and x is removed +* Fix issue finding .as_int and .as_num when use radiant through shiny server + +# radiant.model 1.2.5 + +* Option to drop the intercept for _Model > Multinomial Logistic Regression_ +* Provide access to the variables in a dataset during simulation and repeated simulation. + +# radiant.model 1.2.2 + +* Various fixes related to stepwise estimation of Multinomial, Logistic, and Linear regression model (e.g., VIF calculation, models with only an intercept, perfect multicollinearity, etc.). + +# radiant.model 1.2.1 + +* Fix to ensure environment is not attached as an attribute to data frames generated in the _Model > Simulate_ tool + +# radiant.model 1.2.0 + +* Update action buttons that initiate calculations when one or more relevant inputs are changed. When, for example, a model should be re-estimated, a spinning "refresh" icon will be shown +* Add option to use a formula for the `regress` function +* Improved description of standardization process used. Added link to [Gelman 2008](http://www.stat.columbia.edu/~gelman/research/published/standardizing7.pdf) +* Added an influence plot that shows standardized residuals and cooks-distance + +# radiant.model 1.1.10 + +* Fix for `nobs` in _Model > Multinomial logistic regression_. +* Fix for `write.coeff` for use with _Model > Multinomial logistic regression_ +* Fix for decision trees that reference sub-trees. Environment to evaluate the tree is now explicitly provided. This will now also work with (sub) trees loaded from .yaml files +* Decision analysis now allows basic formulas in all parts of the tree +* Added confusion matrix and misclassification error for _Model > Multinomial Logistic regression (MNL)_ +* Fix for saving multiple residual series for MNL +* Added a module for Multinomial Logistic regression (MNL) in the _Model > Estimate_ menu +* Fix for confusion matrix which couldn't find find the selected dataset in the web-interface +* Documentation fixes and updates +* Improved checks for variables that show no variation +* Numerous small code changes to support enhanced auto-completion, tooltips, and annotations in shinyAce 0.4.1 +* Automatically fix faulty spacing in user input in Model > Decision Analysis + +# radiant.model 1.0.0 + +* Keyboard shortcut (Enter) when defining variable in Model > Simulate +* Allow series of type ts and date in models and prediction +* Autocompletion for functions in Model > Simulate +* Require shinyAce 0.4.0 + +# radiant.model 0.9.9.3 + +* Don't use simulation variables when their type is not selected +* Provide auto-completion for variables and relevant functions in the Simulate > Functions input +* Keyboard shortcuts for add a defined variable (i.e., press enter after adding the last input value) + +# radiant.model 0.9.9.2 + +* Fix for variable definition in _Model > Simulate_ where names of discrete random variables were not properly 'fixed' +* Fix for variable selection in _Model > Decision analysis > Sensitivity_ + +# radiant.model 0.9.9.0 + +* Allow any variable in the prediction dataset to be used to customize a prediction when using _Predict > Data & Command_ +* Fix for `write.coeff` when interactions, quadratic, and/or cubic terms are included in a linear or logistic regression +* Rescale predictions in `cv.nn` so RMSE and MAE are in the original scale even if the data were standardized for estimation +* Rename `scaledf` to `scale_df` for consistency +* Fix for plot sizing and printing of missing values in collaborative filtering +* Fix for `cv.nn` when weights are used in estimation +* Improve documentation for cross-validation of `nn` and `crtree` models (i.e., `cv.nn` and `cv.crtree`) +* Fixes for breaking changes in dplyr 0.8.0 +* Fix to download tables from _Model > Evaluate classificiation_ +* Use an expandable `shinyAce` input for the formula and function inputs in _Model > Simulate_ +* Fixes for repeated simulation with grid-search +* Use `test` instead of `validation` + +# radiant.model 0.9.8.0 + +* Option to add user defined function to simulations. This dramatically increases the flexibility of the simulation tool +* Ensure variable and dataset names are valid for R (i.e., no spaces or symbols), "fixing" the input as needed +* Cross validation functions for decision trees (`cv.crtree`) and neural networks(`cv.nn`) that can use various performance metrics for during evaluation e.g., `auc` or `profit` +* Option to add square and cube terms in _Model > Linear regression_ and _Model > Logistic regression_. +* Option to pass additional arguments to `shiny::runApp` when starting radiant such as the port to use. For example, radiant.model::radiant.model("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda", port = 8080) +* Avoid empty string showing up in auto-generated code for model prediction (i.e., `pred_data` or `pred_cmd`) +* Fix for VIF based on `car` for `regress` and `logistic` +* Load a state file on startup by providing a (relative) file path or a url. For example, radiant.model::radiant.model("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda") +* Don't live-update the active tree input to make it easier to save edits to a new tree without adding edits to the existing tree (Model > Decision analysis) +* Fix for NA error when last line of a decision analysis input is a node without a payoff or probability +* Load input (CMD + O) and Save input (CMD + S) keyboard shortcuts for decision analysis + +# radiant.model 0.9.7.0 + +## Major changes + +* Using [`shinyFiles`](https://github.com/thomasp85/shinyFiles) to provide convenient access to data located on a server + +## Minor changes + +* Fix for simulations that use a data set as part of the analysis +* Replace non-ASCII characters in example datasets +* Remove `rstudioapi` as a direct import +* Revert from `svg` to `png` for plots in `_Report > Rmd_ and _Report > R_. `svg` scatter plots with many point get to big for practical use on servers that have to transfer images to a local browser +* Removed dependency on `methods` package + +# radiant.model 0.9.5.0 + +## Major changes + +* Various changes to the code to accommodate the use of `shiny::makeReactiveBinding`. The advantage is that the code generated for _Report > Rmd_ and _Report > R_ will no longer have to use `r_data` to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as well. +* Improved documentation and examples + +# radiant.model 0.9.2.3 + +## Bug fixes + +* Fix for https://github.com/radiant-rstats/radiant/issues/53 + +# radiant.model 0.9.2.2 + +## Major changes + +* Show the interval used in prediction for _Model > Regression_ and _Model > logistic_ (e.g., "prediction" or "confidence" for linear regression) +* Auto complete in _Model > Decision analysis_ now provides hints based on the current tree input and any others defined in the app. It also provides suggestions for the basic element of the tree (e.g., `type: decision`, `type: chance`, `payoff`, etc.) +* Updated user messages for _Model > Decision analysis_ when input has errors + +# radiant.model 0.9.2.1 + +## Major changes + +* Default interval for predictions from a linear regression is now "confidence" rather than "prediction" +* `Estimate model` button indicates when the output has been invalidated and the model should be re-estimated +* Combined _Evaluate classification_ Summary and Plot into Evaluate tab +* Upload and download data using the Rstudio file browser. Allows using relative paths to files (e.g., data or images inside an Rstudio project) + +## Minor changes + +* Require `shinyAce` 0.3.0 in `radiant.data` and `useSoftTabs` for _Model > Decision Analysis_ + +# radiant.model 0.9.1.0 + +## Major changes + +* Add Poisson as an option for _Model > Simulate_ + +## Bug fixes + +* Fix for [#43](https://github.com/radiant-rstats/radiant/issues/43) where scatter plot was not shown for a dataset with less than 1,000 rows +* Fixed example for logistic regression prediction plot +* Fix for case weights when minimum response value is 0 + +# radiant.model 0.9.0.15 + +## Minor changes + +* Allow character variables in estimation and prediction +* Depend on DiagrammeR 1.0.0 + +# radiant.model 0.9.0.13 + +## Major changes + +* Residual diagnostic plot for Neural Network regression +* Improved handling of case weights for logistic regression and neural networks + +## Minor changes +* Show number of observations used in training and validation in _Model > Evaluate classification_ +* Use Elkan's formula to adjust probabilities when using `priors` in `crtree` (`rpart`) +* Added options to customize tree generated using `crtree` (based on `rpart`) +* Better control of tree plot size in `plot.crtree` +* Cleanup of `crtree` code +* Improved printing of NN weights +* Option to change font size in NN plots +* Keyboard shortcut: Press return when cursor is in textInput to store residuals or predictions + +## Bug fixes + +* Fix for tree labels when (negative) integers are used + +# radiant.model 0.9.0.8 + +## Minor changes + +* Cleanup of lists returned by `evalbin` and `confusion` +* Add intercept in coefficient tables that can be downloaded for linear and logistic regression or using `write.coeff` +* Convert logicals to factors in `crtree` to avoid labels < 0.5 and >= 0.5 +* Improved labeling of decision tree splits in `crtree`. The tooltip (aka hover-over) will contain all levels used, but the tree label may be truncated as needed + +## Bug fixes + +* Fix input reset when screen size or zoom level is changed + +# radiant.model 0.9.0.4 + +* Renamed `ann` to `nn`. The `ann` function is now deprecated + +# radiant.model 0.9.0.3 + +## Major changes + +* Prediction confidence interval provided for logistic regression based on blog post by [Gavin Simpson] (https://www.fromthebottomoftheheap.net/2017/05/01/glm-prediction-intervals-i/) +* Argument added to `logistic` to specify if profiling or the Wald method should be used for confidence intervals. Profiling will be used by default for datasets with fewer than 5,000 rows + +# radiant.model 0.9.0.2 + +## Minor changes + +* Left align tooltip in DiagrammeR plots (i.e., _Model >Decision Analysis_ and _Model > Classification and regression trees_) +* Add information about levels in tree splits to tooltips (_Model > Classification and regression trees_) + +## Bug fixes + +* Fix to ensure DiagrammeR plots are shown in Rmarkdown report generate in _Report > Rmd_ or _Report > R_ + +# radiant.model 0.9.0.1 + +## Major changes + +* Added option to generate normally distributed correlated data in Model > Simulate +* Added option to generate normally distributed simulated data with exact mean and standard deviation in Model > Simulate +* Long lines of code generated for _Report > Rmd_ will be wrapped to enhance readability + +## Minor changes + +* Default names when saving Decision Analysis input and output are now based on tree name +* Allow browser zoom for tree plots in Model > Decision Analysis and Model > Classification and Regression Trees +* Enhanced keyboard shortcuts for estimation and reporting +* Applied `styler` to code + +## Bug fixes + +* Grid search specs ignored when _Model > Simulate > Repeat_ is set to `Simulate` +* The number of repetitions in Model > Simulate was NA when grid search was used +* Fix for large weights that may cause an integer overflow +* Minor fix for coefficient plot in `plot.logistic` +* Fixed state setting for decision analysis sensitivity input +* Fixed for special characters (e.g., curly quote) in input for Model > Decision Analysis +* Check that costs are not assigned to terminal nodes in Decision Analysis Trees. Specifying a cost is only useful if it applies to multiple nodes in a branch. If the cost only applies to a terminal node adjust the payoff instead +* Ensure : are followed by a space in the YAML input to Model > Decision Analysis + +# radiant.model 0.8.7.4 + +## Minor change + +* Upgraded dplyr dependency to 0.7.1 +* Upgraded tidyr dependency to 0.7 + +## Bug fix + +* Fix in `crs` when a tibble is passed + +# radiant.model 0.8.3.0 + +## Major change +* Added option to use robust standard errors in _Linear regression_ and _Logistic regression_. The `HC1` covariance matrix is used to produce results consistent with Stata + +## Minor changes +* Moved coefficient formatting from summary.regress and summary.logistic to make result$coeff more easily accessible +* Added F-score to _Model > Evaluate classification > Confusion_ + +## Bug fixes + +* Fixed RSME typo +* Don't calculate VIFs when stepwise regression selects only one explanatory variable + +# radiant.model 0.8.0.0 + +## Major changes + +* Added Model > Naive Bayes based on e1071 +* Added Model > Classification and regression trees based on rpart +* Added Model > Collaborative Filtering and example dataset (data/cf.rda) +* Various enhancements to evaluate (binary) classification models +* Added Garson plot and moved all plots to the ANN > Plot tab + +## Minor changes + +* Improved plot sizing for Model > Decision Analysis +* Show progress indicators if variable acquisition takes some time +* Expanded coefficient csv file for linear and logistic regression +* Show dataset name in output if dataframe passed directly to analysis function +* As an alternative to using the Estimate button to run a model you can now also use CTRL-enter (CMD-enter on mac) +* Use ALT-enter as a keyboard short-cut to generate code and sent to _Report > Rmd_ or _Report > R_ +* Improved documentation on how to customize plots in _Report > Rmd_ or _Report > R_ + +## Bug fixes + +* Multiple tooltips in sequence in Decision Analysis +* Decision Analysis plot size in PDF was too small +* Replace histogram by distribution in regression plots +* Fix bug in regex for overlapping labels in variables section of Model > Decision Analysis +* Fixes for model with only an intercept (e.g., after stepwise regression) +* Update Predict settings when dataset is changed +* Fix for predict when using center or standardize with a command to generate the predictions +* Show full confusion matrix even if some elements are missing +* Fix for warnings when creating profit and gains charts +* Product dropdown for Model > Collaborative filtering did not list all variables + +## Deprecated + +* Use of *_each is deprecated diff --git a/radiant.model/R/aaa.R b/radiant.model/R/aaa.R new file mode 100644 index 0000000..6cbf130 --- /dev/null +++ b/radiant.model/R/aaa.R @@ -0,0 +1,108 @@ +# to avoid 'no visible binding for global variable' NOTE +globalVariables(c( + ".", "High", "Low", + ".cooksd", ".fitted", ".resid", ".std.resid", "FN", "FP", "Feature", "Importance", "Predictor", + "ROME", "TN", "TP", "TPR", "Variable", "cum_gains", "cum_prop", "cum_resp", "cum_resp_rate", + "index", "index.max", "label", "logit", "n", "nr_obs", "nr_resp", "null.deviance", "obs", + "precision", "pred", "predictor.value", "total", "variable", "llfull", "llnull", "rnk", "Prediction", + "C_resp", "C_n", "T_resp", "T_n", "bins", "inc_uplift", "incremental_resp", "cum_profit", + "incremental_profit", "max_profit" +)) + +#' radiant.model +#' +#' @name radiant.model +#' @import radiant.data shiny ggplot2 +#' @importFrom dplyr mutate_at mutate_if mutate_all summarise_at summarise_all arrange arrange_at select select_at filter mutate mutate_ funs group_by group_by_ summarise summarize summarise_ slice bind_cols bind_rows desc first last min_rank data_frame inner_join arrange_at group_by_at ungroup rename across everything pull +#' @importFrom rlang .data parse_exprs := +#' @importFrom magrittr %>% %<>% %T>% set_colnames set_rownames set_names extract2 +#' @importFrom tidyr spread gather +#' @importFrom lubridate now +#' @importFrom patchwork wrap_plots plot_annotation +#' @importFrom DiagrammeR DiagrammeROutput renderDiagrammeR DiagrammeR mermaid +#' @importFrom utils head tail relist as.relistable combn capture.output write.table +#' @importFrom stats anova as.formula binomial coef confint cor deviance dnorm glm lm na.omit pnorm predict qnorm sd setNames step update weighted.mean wilcox.test rbinom rlnorm rnorm runif rpois terms quantile +#' @importFrom stats residuals formula model.matrix pt qt confint.default family median logLik relevel terms.formula +#' @importFrom import from +NULL + +#' Catalog sales for men's and women's apparel +#' @details Description provided in attr(catalog, "description") +#' @docType data +#' @keywords datasets +#' @name catalog +#' @usage data(catalog) +#' @format A data frame with 200 rows and 5 variables +NULL + +#' Direct marketing data +#' @details Description provided in attr(direct_marketing, "description") +#' @docType data +#' @keywords datasets +#' @name direct_marketing +#' @usage data(direct_marketing) +#' @format A data frame with 1,000 rows and 12 variables +NULL + +#' Houseprices +#' @details Description provided in attr(houseprices, "description") +#' @docType data +#' @keywords datasets +#' @name houseprices +#' @usage data(houseprices) +#' @format A data frame with 128 home sales and 6 variables +NULL + +#' Ideal data for linear regression +#' @details Description provided in attr(ideal, "description") +#' @docType data +#' @keywords datasets +#' @name ideal +#' @usage data(ideal) +#' @format A data frame with 1,000 rows and 4 variables +NULL + +#' Data on DVD sales +#' @details Binary purchase response to coupon value. Description provided in attr(dvd,"description") +#' @docType data +#' @keywords datasets +#' @name dvd +#' @usage data(dvd) +#' @format A data frame with 20,000 rows and 4 variables +NULL + +#' Data on ketchup choices +#' @details Choice behavior for a sample of 300 individuals in a panel of households in Springfield, Missouri (USA). Description provided in attr(ketchup,"description") +#' @docType data +#' @keywords datasets +#' @name ketchup +#' @usage data(ketchup) +#' @format A data frame with 2,798 rows and 14 variables +NULL + +#' Movie ratings +#' @details Use collaborative filtering to create recommendations based on ratings from existing users. Description provided in attr(ratings, "description") +#' @docType data +#' @keywords datasets +#' @name ratings +#' @usage data(ratings) +#' @format A data frame with 110 rows and 4 variables +NULL + +#' Movie contract decision tree +#' @details Use decision analysis to create a decision tree for an actor facing a contract decision +#' @docType data +#' @keywords datasets +#' @name movie_contract +#' @usage data(movie_contract) +#' @format A nested list for decision and chance nodes, probabilities and payoffs +NULL + +#' Kaggle uplift +#' @details Use uplift modeling to quantify the effectiveness of an experimental treatment +#' @docType data +#' @keywords datasets +#' @name kaggle_uplift +#' @usage data(kaggle_uplift) +#' @format A data frame with 1,000 rows and 22 variables +NULL diff --git a/radiant.model/R/cox.R b/radiant.model/R/cox.R new file mode 100644 index 0000000..8b1c2da --- /dev/null +++ b/radiant.model/R/cox.R @@ -0,0 +1,80 @@ +#' Cox Proportional Hazards Regression (minimal) +#' +#' @export +coxp <- function(dataset, + time, + status, + evar, + int = "", + check = "", + form, + data_filter = "", + arr = "", + rows = NULL, + envir = parent.frame()) { + + ## ---- 公式入口 ---------------------------------------------------------- + if (!missing(form)) { + form <- as.formula(format(form)) + vars <- all.vars(form) + time <- vars[1] + status<- vars[2] + evar <- vars[-(1:2)] + } + + ## ---- 基础检查 ---------------------------------------------------------- + if (time %in% evar || status %in% evar) { + return("Time/status variable contained in explanatory variables." %>% + add_class("coxp")) + } + + vars <- unique(c(time, status, evar)) + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + ## ---- 构造公式 ---------------------------------------------------------- + if (missing(form)) { + rhs <- if (length(evar) == 0) "1" else paste(evar, collapse = " + ") + if (!is.empty(int)) rhs <- paste(rhs, paste(int, collapse = " + "), sep = " + ") + form <- as.formula(paste("Surv(", time, ", ", status, ") ~ ", rhs)) + } + + ## ---- 模型估计 ---------------------------------------------------------- + if ("robust" %in% check) { + model <- survival::coxph(form, data = dataset, robust = TRUE) + } else { + model <- survival::coxph(form, data = dataset) + } + + ## ---- 打包返回 ---------------------------------------------------------- + out <- as.list(environment()) + out$model <- model + out$df_name <- df_name + out$type <- "survival" + out$check <- check + add_class(out, c("coxp", "model")) +} + +#' Summary 占位 +#' @export +summary.coxp <- function(object, ...) { + if (is.character(object)) return(object) + summary(object$model) +} + +#' Predict 占位 +#' @export +predict.coxp <- function(object, pred_data = NULL, pred_cmd = "", + dec = 3, envir = parent.frame(), ...) { + if (is.character(object)) return(object) + ## 如需生存预测,可返回 linear.predictors 或 survival 曲线 + pfun <- function(m, newdata) predict(m, newdata = newdata, type = "lp") + predict_model(object, pfun, "coxp.predict", + pred_data, pred_cmd, dec = dec, envir = envir) +} + +#' Print 预测占位 +#' @export +print.coxp.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Cox Proportional Hazards") +} \ No newline at end of file diff --git a/radiant.model/R/crs.R b/radiant.model/R/crs.R new file mode 100644 index 0000000..4824d3c --- /dev/null +++ b/radiant.model/R/crs.R @@ -0,0 +1,319 @@ +#' Collaborative Filtering +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crs.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param id String with name of the variable containing user ids +#' @param prod String with name of the variable with product ids +#' @param pred Products to predict for +#' @param rate String with name of the variable with product ratings +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "training == 1") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A data.frame with the original data and a new column with predicted ratings +#' +#' @seealso \code{\link{summary.crs}} to summarize results +#' @seealso \code{\link{plot.crs}} to plot results if the actual ratings are available +#' +#' @examples +#' crs(ratings, +#' id = "Users", prod = "Movies", pred = c("M6", "M7", "M8", "M9", "M10"), +#' rate = "Ratings", data_filter = "training == 1" +#' ) %>% str() +#' @importFrom dplyr distinct_at +#' +#' @export +crs <- function(dataset, id, prod, pred, rate, + data_filter = "", arr = "", rows = NULL, + envir = parent.frame()) { + vars <- c(id, prod, rate) + df_name <- if (!is_string(dataset)) deparse(substitute(dataset)) else dataset + uid <- get_data(dataset, id, filt = data_filter, arr = arr, rows = rows, na.rm = FALSE, envir = envir) %>% unique() + dataset <- get_data(dataset, vars, na.rm = FALSE, envir = envir) + + ## creating a matrix layout + ## will not be efficient for very large and sparse datasets + ## improvement possible with dplyr or sparse matrix? + + ## make sure spread doesn't complain + cn <- colnames(dataset) + nr <- dplyr::distinct_at(dataset, .vars = base::setdiff(cn, rate), .keep_all = TRUE) %>% + nrow() + if (nr < nrow(dataset)) { + return("Rows are not unique. Data not appropriate for collaborative filtering" %>% add_class("crs")) + } + + dataset <- spread(dataset, !!prod, !!rate) %>% + as.data.frame(stringsAsFactors = FALSE) + + idv <- select_at(dataset, .vars = id) + uid <- seq_len(nrow(dataset))[idv[[1]] %in% uid[[1]]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), id)) + + ## can use : for long sets of products to predict for + if (any(grepl(":", pred))) { + pred <- select( + dataset[1, , drop = FALSE], + !!!rlang::parse_exprs(paste0(pred, collapse = ";")) + ) %>% colnames() + } + + ## stop if insufficient overlap in ratings + if (length(pred) >= (ncol(dataset) - 1)) { + return("Cannot predict for all products. Ratings must overlap on at least two products." %>% add_class("crs")) + } + + if (length(vars) < (ncol(dataset) - 1)) { + vars <- evar <- colnames(dataset)[-1] + } + + ## indices + cn <- colnames(dataset) + nind <- which(cn %in% pred) + ind <- (seq_along(cn))[-nind] + + ## average scores and rankings + avg <- dataset[uid, , drop = FALSE] %>% + .[, nind, drop = FALSE] %>% + summarise_all(mean, na.rm = TRUE) + ravg <- avg + ravg[1, ] <- min_rank(desc(as.numeric(avg))) + ravg <- mutate_all(ravg, as.integer) + + ## actual scores and rankings (if available, else will be NA) + act <- dataset[-uid, , drop = FALSE] %>% .[, nind, drop = FALSE] + ract <- act + + if (nrow(act) == 0) { + return("Invalid filter used. Users to predict for should not be in the training set." %>% + add_class("crs")) + } + + rank <- apply(act, 1, function(x) as.integer(min_rank(desc(x)))) %>% + (function(x) if (length(pred) == 1) x else t(x)) + ract[, pred] <- rank + ract <- bind_cols(idv[-uid, , drop = FALSE], ract) + act <- bind_cols(idv[-uid, , drop = FALSE], act) + + ## CF calculations per row + ms <- apply(dataset[, -nind, drop = FALSE], 1, function(x) mean(x, na.rm = TRUE)) + sds <- apply(dataset[, -nind, drop = FALSE], 1, function(x) sd(x, na.rm = TRUE)) + + ## to forego standardization + # ms <- ms * 0 + # sds <- sds/sds + + ## standardized ratings + if (length(nind) < 2) { + srate <- (dataset[uid, nind] - ms[uid]) / sds[uid] + } else { + srate <- sweep(dataset[uid, nind], 1, ms[uid], "-") %>% sweep(1, sds[uid], "/") + } + ## comfirmed to produce consistent results -- see cf-demo-missing-state.rda and cf-demo-missing.xlsx + srate[is.na(srate)] <- 0 + srate <- mutate_all(as.data.frame(srate, stringsAsFactors = FALSE), ~ ifelse(is.infinite(.), 0, .)) + cors <- sshhr(cor(t(dataset[uid, ind]), t(dataset[-uid, ind]), use = "pairwise.complete.obs")) + + ## comfirmed to produce correct results -- see cf-demo-missing-state.rda and cf-demo-missing.xlsx + cors[is.na(cors)] <- 0 + dnom <- apply(cors, 2, function(x) sum(abs(x), na.rm = TRUE)) + wts <- sweep(cors, 2, dnom, "/") + cf <- (crossprod(wts, as.matrix(srate)) * sds[-uid] + ms[-uid]) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + bind_cols(idv[-uid, , drop = FALSE], .) %>% + set_colnames(c(id, pred)) + + ## Ranking based on CF + rcf <- cf + rank <- apply(select(cf, -1), 1, function(x) as.integer(min_rank(desc(x)))) %>% + (function(x) if (length(pred) == 1) x else t(x)) + rcf[, pred] <- rank + + recommendations <- + inner_join( + bind_cols( + gather(act, "product", "rating", -1, factor_key = TRUE), + select_at(gather(ract, "product", "ranking", -1, factor_key = TRUE), .vars = "ranking"), + select_at(gather(cf, "product", "cf", -1, factor_key = TRUE), .vars = "cf"), + select_at(gather(rcf, "product", "cf_rank", -1, factor_key = TRUE), .vars = "cf_rank") + ), + data.frame( + product = names(avg) %>% factor(., levels = .), + average = t(avg), + avg_rank = t(ravg) + ), + by = "product" + ) %>% + arrange_at(.vars = c(id, "product")) %>% + select_at(.vars = c(id, "product", "rating", "average", "cf", "ranking", "avg_rank", "cf_rank")) + + rm(dataset, ms, sds, srate, cors, dnom, wts, cn, ind, nind, nr, uid, idv, envir) + + as.list(environment()) %>% add_class("crs") +} + +#' Summary method for Collaborative Filter +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crs.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{crs}} +#' @param n Number of lines of recommendations to print. Use -1 to print all lines +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{crs}} to generate the results +#' @seealso \code{\link{plot.crs}} to plot results if the actual ratings are available +#' +#' @examples +#' crs(ratings, +#' id = "Users", prod = "Movies", pred = c("M6", "M7", "M8", "M9", "M10"), +#' rate = "Ratings", data_filter = "training == 1" +#' ) %>% summary() +#' @export +summary.crs <- function(object, n = 36, dec = 2, ...) { + if (is.character(object)) { + return(cat(object)) + } + + cat("Collaborative filtering") + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nFilter :", gsub("\\n", "", object$rows)) + } + cat("\nUser id :", object$id) + cat("\nProduct id :", object$prod) + cat("\nPredict for:", paste0(object$pred, collapse = ", "), "\n") + if (nrow(object$recommendations) > n) { + cat("Rows shown :", n, "out of", format_nr(nrow(object$recommendations), dec = 0), "\n") + } + + if (nrow(object$act) > 0 && !any(is.na(object$act))) { + cat("\nSummary:\n") + + ## From FZs do file output, calculate if actual ratings are available + ## best based on highest average rating + best <- which(object$ravg == 1) + ar1 <- mean(object$ract[, best + 1] == 1) + cat("\n- Average rating picks the best product", format_nr(ar1, dec = 1, perc = TRUE), "of the time") + + ## best based on cf + best <- which(object$rcf == 1, arr.ind = TRUE) + cf1 <- mean(object$ract[best] == 1) + cat("\n- Collaborative filtering picks the best product", format_nr(cf1, dec = 1, perc = TRUE), "of the time") + + ## best based on highest average rating in top 3 + best <- which(object$ravg == 1) + ar3 <- mean(object$ract[, best + 1] < 4) + cat("\n- Pick based on average rating is in the top 3 products", format_nr(ar3, dec = 1, perc = TRUE), "of the time") + + ## best based on cf in top 3 + best <- which(object$rcf == 1, arr.ind = TRUE) + cf3 <- mean(object$ract[best] < 4) + cat("\n- Pick based on collaborative filtering is in the top 3 products", format_nr(cf3, dec = 1, perc = TRUE), "of the time") + + ## best 3 based on highest average rating contains best product + best <- which(object$ravg < 4) + inar3 <- mean(rowSums(object$ract[, best + 1, drop = FALSE] == 1) > 0) + cat("\n- Top 3 based on average ratings contains the best product", format_nr(inar3, dec = 1, perc = TRUE), "of the time") + + ## best 3 based on cf contains best product + best <- which(!object$rcf[, -1, drop = FALSE] < 4, arr.ind = TRUE) + best[, "col"] <- best[, "col"] + 1 + object$ract[best] <- NA + incf3 <- mean(rowSums(object$ract == 1, na.rm = TRUE) > 0) + cat("\n- Top 3 based on collaborative filtering contains the best product", format_nr(incf3, dec = 1, perc = TRUE), "of the time\n") + } + + cat("\nRecommendations:\n\n") + if (n == -1) { + cat("\n") + format_df(object$recommendations, dec = dec) %>% + (function(x) { + x[x == "NA"] <- "" + x + }) %>% + print(row.names = FALSE) + } else { + head(object$recommendations, n) %>% + format_df(dec = dec) %>% + (function(x) { + x[x == "NA"] <- "" + x + }) %>% + print(row.names = FALSE) + } +} + +#' Plot method for the crs function +#' +#' @details Plot that compares actual to predicted ratings. See \url{https://radiant-rstats.github.io/docs/model/crs.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{crs}} +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{crs}} to generate results +#' @seealso \code{\link{summary.crs}} to summarize results +#' +#' @export +plot.crs <- function(x, ...) { + if (is.character(x)) { + return(x) + } + if (any(is.na(x$act)) || all(is.na(x$cf))) { + return("Plotting for Collaborative Filter requires the actual ratings associated\nwith the predictions") + } + + ## use quantile to avoid plotting extreme predictions + lim <- quantile(x$recommendations[, c("rating", "cf")], probs = c(.025, .975), na.rm = TRUE) + + + p <- visualize( + x$recommendations, + xvar = "cf", yvar = "rating", + type = "scatter", facet_col = "product", check = "line", + custom = TRUE + ) + + geom_segment(aes(x = 1, y = 1, xend = 5, yend = 5), color = "blue", linewidth = .05) + + coord_cartesian(xlim = lim, ylim = lim) + + labs( + title = "Recommendations based on Collaborative Filtering", + x = "Predicted ratings", + y = "Actual ratings" + ) + + theme(legend.position = "none") + + sshhr(p) +} + +#' Deprecated: Store method for the crs function +#' +#' @details Return recommendations See \url{https://radiant-rstats.github.io/docs/model/crs.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param object Return value from \code{\link{crs}} +#' @param name Name to assign to the dataset +#' @param ... further arguments passed to or from other methods +#' +#' @export +store.crs <- function(dataset, object, name, ...) { + if (missing(name)) { + object$recommendations + } else { + stop( + paste0( + "This function is deprecated. Use the code below instead:\n\n", + name, " <- ", deparse(substitute(object)), "$recommendations\nregister(\"", + name, ")" + ), + call. = FALSE + ) + } +} \ No newline at end of file diff --git a/radiant.model/R/crtree.R b/radiant.model/R/crtree.R new file mode 100644 index 0000000..fcee852 --- /dev/null +++ b/radiant.model/R/crtree.R @@ -0,0 +1,825 @@ +#' Classification and regression trees based on the rpart package +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crtree.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param type Model type (i.e., "classification" or "regression") +#' @param lev The level in the response variable defined as _success_ +#' @param wts Weights to use in estimation +#' @param minsplit The minimum number of observations that must exist in a node in order for a split to be attempted. +#' @param minbucket the minimum number of observations in any terminal node. If only one of minbucket or minsplit is specified, the code either sets minsplit to minbucket*3 or minbucket to minsplit/3, as appropriate. +#' @param cp Minimum proportion of root node deviance required for split (default = 0.001) +#' @param pcp Complexity parameter to use for pruning +#' @param nodes Maximum size of tree in number of nodes to return +#' @param K Number of folds use in cross-validation +#' @param seed Random seed used for cross-validation +#' @param split Splitting criterion to use (i.e., "gini" or "information") +#' @param prior Adjust the initial probability for the selected level (e.g., set to .5 in unbalanced samples) +#' @param adjprob Setting a prior will rescale the predicted probabilities. Set adjprob to TRUE to adjust the probabilities back to their original scale after estimation +#' @param cost Cost for each treatment (e.g., mailing) +#' @param margin Margin associated with a successful treatment (e.g., a purchase) +#' @param check Optional estimation parameters (e.g., "standardize") +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in crtree as an object of class tree +#' +#' @examples +#' crtree(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% summary() +#' result <- crtree(titanic, "survived", c("pclass", "sex")) %>% summary() +#' result <- crtree(diamonds, "price", c("carat", "clarity"), type = "regression") %>% str() +#' @seealso \code{\link{summary.crtree}} to summarize results +#' @seealso \code{\link{plot.crtree}} to plot results +#' @seealso \code{\link{predict.crtree}} for prediction +#' +#' @importFrom rpart rpart rpart.control prune.rpart +#' +#' @export +crtree <- function(dataset, rvar, evar, type = "", lev = "", wts = "None", + minsplit = 2, minbucket = round(minsplit / 3), cp = 0.001, + pcp = NA, nodes = NA, K = 10, seed = 1234, split = "gini", + prior = NA, adjprob = TRUE, cost = NA, margin = NA, check = "", + data_filter = "", arr = "", rows = NULL, envir = parent.frame()) { + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("crtree")) + } + + ## allow cp to be negative so full tree is built http://stackoverflow.com/q/24150058/1974918 + if (is.empty(cp)) { + return("Please provide a complexity parameter to split the data." %>% add_class("crtree")) + } else if (!is.empty(nodes) && nodes < 2) { + return("The (maximum) number of nodes in the tree should be larger than or equal to 2." %>% add_class("crtree")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + if (!is.empty(wts)) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("crtree") + ) + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("crtree")) + } + + rv <- dataset[[rvar]] + + if (type == "classification" && !is.factor(rv)) { + dataset[[rvar]] <- as_factor(dataset[[rvar]]) + } + + if (is.factor(dataset[[rvar]])) { + if (type == "regression") { + return("Cannot estimate a regression when the response variable is of type factor." %>% add_class("crtree")) + } + + if (lev == "") { + lev <- levels(dataset[[rvar]])[1] + } else { + if (!lev %in% levels(dataset[[rvar]])) { + return(paste0("Specified level is not a level in ", rvar) %>% add_class("crtree")) + } + + dataset[[rvar]] <- factor(dataset[[rvar]], levels = unique(c(lev, levels(dataset[[rvar]])))) + } + + type <- "classification" + method <- "class" + } else { + type <- "regression" + method <- "anova" + } + + ## logicals would get < 0.5 and >= 0.5 otherwise + ## also need to update data in predict_model + ## so the correct type is used in prediction + dataset <- mutate_if(dataset, is.logical, as.factor) + + ## standardize data ... + if ("standardize" %in% check) { + dataset <- scale_df(dataset, wts = wts) + } + + vars <- evar + ## in case : is used + if (length(vars) < (ncol(dataset) - 1)) vars <- evar <- colnames(dataset)[-1] + + form <- paste(rvar, "~ . ") + + seed %>% + gsub("[^0-9]", "", .) %>% + (function(x) if (!is.empty(x)) set.seed(seed)) + + minsplit <- ifelse(is.empty(minsplit), 2, minsplit) + minbucket <- ifelse(is.empty(minbucket), round(minsplit / 3), minbucket) + + ## make max tree + # http://stackoverflow.com/questions/24150058/rpart-doesnt-build-a-full-tree-problems-with-cp + control <- rpart::rpart.control( + cp = cp, + xval = K, + minsplit = minsplit, + minbucket = minbucket, + ) + + parms <- list(split = split) + if (type == "classification") { + ind <- if (which(lev %in% levels(dataset[[rvar]])) == 1) c(1, 2) else c(2, 1) + if (!is.empty(prior) && !is_not(cost) && !is_not(cost)) { + return("Choose either a prior or cost and margin values but not both.\nPlease adjust your settings and try again" %>% add_class("crtree")) + } + + if (!is_not(cost) && !is_not(margin)) { + loss2 <- as_numeric(cost) + loss1 <- as_numeric(margin) - loss2 + + if (loss1 <= 0) { + return("Cost must be smaller than the specied margin.\nPlease adjust the settings and try again" %>% add_class("crtree")) + } else if (loss2 <= 0) { + return("Cost must be larger than zero.\nPlease adjust the settings and try again" %>% add_class("crtree")) + } else { + parms[["loss"]] <- c(loss1, loss2) %>% + .[ind] %>% + { + matrix(c(0, .[1], .[2], 0), byrow = TRUE, nrow = 2) + } + } + } else if (!is.empty(prior)) { + if (!is.numeric(prior)) { + return("Prior did not resolve to a numeric factor" %>% add_class("crtree")) + } else if (prior > 1 || prior < 0) { + return("Prior is not a valid probability" %>% add_class("crtree")) + } else { + ## prior is applied to the selected level + parms[["prior"]] <- c(prior, 1 - prior) %>% + .[ind] + } + } + } + + ## using an input list with do.call ensure that a full "call" is available for cross-validation + crtree_input <- list( + formula = as.formula(form), + data = dataset, + method = method, + parms = parms, + weights = wts, + control = control + ) + + model <- do.call(rpart::rpart, crtree_input) + + if (!is_not(nodes)) { + unpruned <- model + if (nrow(model$frame) > 1) { + cptab <- as.data.frame(model$cptable, stringsAsFactors = FALSE) + cptab$nodes <- cptab$nsplit + 1 + ind <- max(which(cptab$nodes <= nodes)) + model <- sshhr(rpart::prune.rpart(model, cp = cptab$CP[ind])) + } + } else if (!is_not(pcp)) { + unpruned <- model + if (nrow(model$frame) > 1) { + model <- sshhr(rpart::prune.rpart(model, cp = pcp)) + } + } + + ## rpart::rpart does not return residuals by default + model$residuals <- residuals(model, type = "pearson") + + if (is_not(cost) && is_not(margin) && + !is.empty(prior) && !is.empty(adjprob)) { + + ## when prior = 0.5 can use pp <- p / (p + (1 - p) * (1 - bp) / bp) + ## more generally, use Theorem 2 from "The Foundations of Cost-Sensitive Learning" by Charles Elkan + ## in the equation below prior equivalent of b + p <- model$frame$yval2[, 4] + bp <- mean(dataset[[rvar]] == lev) + model$frame$yval2[, 4] <- bp * (p - p * prior) / (prior - p * prior + bp * p - prior * bp) + model$frame$yval2[, 5] <- 1 - model$frame$yval2[, 4] + } + + ## tree model object does not include the data by default + model$model <- dataset + + ## passing on variable classes for plotting + model$var_types <- sapply(dataset, class) + + rm(dataset, envir) ## dataset not needed elsewhere + + as.list(environment()) %>% add_class(c("crtree", "model")) +} + +#' Summary method for the crtree function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crtree.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{crtree}} +#' @param prn Print tree in text form +#' @param splits Print the tree splitting metrics used +#' @param cptab Print the cp table +#' @param modsum Print the model summary +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- crtree(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' summary(result) +#' result <- crtree(diamonds, "price", c("carat", "color"), type = "regression") +#' summary(result) +#' @seealso \code{\link{crtree}} to generate results +#' @seealso \code{\link{plot.crtree}} to plot results +#' @seealso \code{\link{predict.crtree}} for prediction +#' +#' @export +summary.crtree <- function(object, prn = TRUE, splits = FALSE, cptab = FALSE, modsum = FALSE, ...) { + if (is.character(object)) { + return(object) + } + + if (object$type == "classification") { + cat("Classification tree") + } else { + cat("Regression tree") + } + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + if (object$type == "classification") { + cat("\nLevel :", object$lev, "in", object$rvar) + } + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } + cat("Complexity parameter :", object$cp, "\n") + cat("Minimum observations :", object$minsplit, "\n") + if (!is_not(object$nodes)) { + max_nodes <- sum(object$unpruned$frame$var == "") + cat("Maximum nr. nodes :", object$nodes, "out of", max_nodes, "\n") + } + if (!is.empty(object$cost) && !is.empty(object$margin) && object$type == "classification") { + cat("Cost:Margin :", object$cost, ":", object$margin, "\n") + if (!is.empty(object$prior)) object$prior <- "Prior ignored when cost and margin set" + } + if (!is.empty(object$prior) && object$type == "classification") { + cat("Priors :", object$prior, "\n") + cat("Adjusted prob. :", object$adjprob, "\n") + } + if (!is.empty(object$wts, "None") && inherits(object$wts, "integer")) { + cat("Nr obs :", format_nr(sum(object$wts), dec = 0), "\n\n") + } else { + cat("Nr obs :", format_nr(length(object$rv), dec = 0), "\n\n") + } + + ## extra output + if (splits) { + print(object$model$split) + } + + if (cptab) { + print(object$model$cptable) + } + + if (modsum) { + object$model$call <- NULL + print(summary(object$model)) + } else if (prn) { + cat(paste0(capture.output(print(object$model))[c(-1, -2)], collapse = "\n")) + } +} + +#' Plot method for the crtree function +#' +#' @details Plot a decision tree using mermaid, permutation plots , prediction plots, or partial dependence plots. For regression trees, a residual dashboard can be plotted. See \url{https://radiant-rstats.github.io/docs/model/crtree.html} for an example in Radiant. +#' +#' @param x Return value from \code{\link{crtree}} +#' @param plots Plots to produce for the specified rpart tree. "tree" shows a tree diagram. "prune" shows a line graph to evaluate appropriate tree pruning. "imp" shows a variable importance plot +#' @param orient Plot orientation for tree: LR for vertical and TD for horizontal +#' @param width Plot width in pixels for tree (default is "900px") +#' @param labs Use factor labels in plot (TRUE) or revert to default letters used by tree (FALSE) +#' @param nrobs Number of data points to show in dashboard scatter plots (-1 for all) +#' @param dec Decimal places to round results to +#' @param incl Which variables to include in a coefficient plot or PDP plot +#' @param incl_int Which interactions to investigate in PDP plots +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- crtree(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' plot(result) +#' result <- crtree(diamonds, "price", c("carat", "clarity", "cut")) +#' plot(result, plots = "prune") +#' result <- crtree(dvd, "buy", c("coupon", "purch", "last"), cp = .01) +#' plot(result, plots = "imp") +#' +#' @importFrom DiagrammeR DiagrammeR mermaid +#' @importFrom rlang .data +#' +#' @seealso \code{\link{crtree}} to generate results +#' @seealso \code{\link{summary.crtree}} to summarize results +#' @seealso \code{\link{predict.crtree}} for prediction +#' +#' @export +plot.crtree <- function(x, plots = "tree", orient = "LR", + width = "900px", labs = TRUE, + nrobs = Inf, dec = 2, + incl = NULL, incl_int = NULL, + shiny = FALSE, custom = FALSE, ...) { + if (is.empty(plots) || "tree" %in% plots) { + if ("character" %in% class(x)) { + return(paste0("graph LR\n A[\"", x, "\"]") %>% DiagrammeR::DiagrammeR(.)) + } + + ## avoid error when dec is NA or NULL + if (is_not(dec)) dec <- 2 + + df <- x$frame + if (is.null(df)) { + df <- x$model$frame ## make it easier to call from code + type <- x$model$method + nlabs <- labels(x$model, minlength = 0, collapse = FALSE) + } else { + nlabs <- labels(x, minlength = 0, collapse = FALSE) + type <- x$method + } + + if (nrow(df) == 1) { + return(paste0("graph LR\n A[Graph unavailable for single node tree]") %>% DiagrammeR::DiagrammeR(.)) + } + + if (type == "class") { + df$yval <- format_nr(df$yval2[, 4], dec = dec, perc = TRUE) + pre <- "p: " + } else { + df$yval <- round(df$yval, dec) + pre <- "b: " + } + df$yval2 <- NULL + + df$id <- as.integer(rownames(df)) + df$to1 <- NA + df$to2 <- NA + non_leafs <- which(df$var != "") + df$to1[non_leafs] <- df$id[non_leafs + 1] + df$to2[non_leafs] <- df$to1[non_leafs] + 1 + df <- gather(df, "level", "to", !!c("to1", "to2")) + + df$split1 <- nlabs[, 1] + df$split2 <- nlabs[, 2] + + isInt <- x$model$var_types %>% + (function(x) names(x)[x == "integer"]) + if (length(isInt) > 0) { + # inspired by https://stackoverflow.com/a/35556288/1974918 + int_labs <- function(x) { + paste( + gsub("(>=|<)\\s*(-{0,1}[0-9]+.*)", "\\1", x), + gsub("(>=|<)\\s*(-{0,1}[0-9]+.*)", "\\2", x) %>% + as.numeric() %>% + ceiling(.) + ) + } + int_ind <- df$var %in% isInt + df[int_ind, "split1"] %<>% int_labs() + df[int_ind, "split2"] %<>% int_labs() + } + + df$split1_full <- df$split1 + df$split2_full <- df$split2 + + bnr <- 20 + df$split1 <- df$split1 %>% ifelse(nchar(.) > bnr, paste0(strtrim(., bnr), " ..."), .) + df$split2 <- df$split2 %>% ifelse(nchar(.) > bnr, paste0(strtrim(., bnr), " ..."), .) + + df$to <- as.integer(df$to) + df$edge <- ifelse(df$level == "to1", df$split1, df$split2) %>% + (function(x) paste0(" --- |", x, "|")) + ## seems like only unicode letters are supported in mermaid at this time + # df$edge <- ifelse (df$level == "to1", df$split1, df$split2) %>% {paste0("--- |", sub("^>", "\u2265",.), "|")} + # df$edge <- iconv(df$edge, "UTF-8", "ASCII",sub="") + non_leafs <- which(df$var != "") + df$from <- NA + df$from[non_leafs] <- paste0("id", df$id[non_leafs], "[", df$var[non_leafs], "]") + + df$to_lab <- NA + to_lab <- sapply(df$to[non_leafs], function(x) which(x == df$id))[1, ] + df$to_lab[non_leafs] <- paste0("id", df$to[non_leafs], "[", ifelse(df$var[to_lab] == "", "", paste0(df$var[to_lab], "
    ")), "n: ", format_nr(df$n[to_lab], dec = 0), "
    ", pre, df$yval[to_lab], "]") + df <- na.omit(df) + + leafs <- paste0("id", base::setdiff(df$to, df$id)) + + ## still need the below setup to keep the "chance" class + ## when a decision analysis plot is in the report + # style <- paste0( + # "classDef default fill:none, bg:none, stroke-width:0px; + # classDef leaf fill:#9ACD32,stroke:#333,stroke-width:1px; + # class ", paste(leafs, collapse = ","), " leaf;" + # ) + + ## still need this to keep the "chance" class + ## when a decision analysis plot is in the report + style <- paste0( + "classDef default fill:none, bg:none, stroke-width:0px; + classDef leaf fill:#9ACD32,stroke:#333,stroke-width:1px; + classDef chance fill:#FF8C00,stroke:#333,stroke-width:1px; + classDef chance_with_cost fill:#FF8C00,stroke:#333,stroke-width:3px,stroke-dasharray:4,5; + classDef decision fill:#9ACD32,stroke:#333,stroke-width:1px; + classDef decision_with_cost fill:#9ACD32,stroke:#333,stroke-width:3px,stroke-dasharray:4,5; + class ", paste(leafs, collapse = ","), " leaf;" + ) + + ## check orientation for branch labels + brn <- if (orient %in% c("LR", "RL")) { + c("top", "bottom") + } else { + c("left", "right") + } + brn <- paste0("", brn, ": ") + + ## don't print full labels that don't add information + df[df$split1_full == df$split1 & df$split2_full == df$split2, c("split1_full", "split2_full")] <- "" + df$split1_full <- ifelse(df$split1_full == "", "", paste0("
    ", brn[1], gsub(",", ", ", df$split1_full))) + df$split2_full <- ifelse(df$split2_full == "", "", paste0("
    ", brn[2], gsub(",", ", ", df$split2_full))) + + ttip_ind <- 1:(nrow(df) / 2) + ttip <- df[ttip_ind, , drop = FALSE] %>% + { + paste0("click id", .$id, " callback \"n: ", format_nr(.$n, dec = 0), "
    ", pre, .$yval, .$split1_full, .$split2_full, "\"", collapse = "\n") + } + + ## try to link a tooltip directly to an edge using mermaid + ## see https://github.com/rich-iannone/DiagrammeR/issues/267 + # ttip_lev <- filter(df[-ttip_ind,], split1_full != "") + # if (nrow(ttip_lev) == 0) { + # ttip_lev <- "" + # } else { + # ttip_lev <- paste0("click id", ttip_lev$id, " callback \"", ttip_lev$split1_full, "\"", collapse = "\n") + # } + + paste(paste0("graph ", orient), paste(paste0(df$from, df$edge, df$to_lab), collapse = "\n"), style, ttip, sep = "\n") %>% + DiagrammeR::mermaid(., width = width, height = "100%") + } else { + if ("character" %in% class(x)) { + return(x) + } + plot_list <- list() + nrCol <- 1 + if ("prune" %in% plots) { + if (is.null(x$unpruned)) { + df <- data.frame(x$model$cptable, stringsAsFactors = FALSE) + } else { + df <- data.frame(x$unpruned$cptable, stringsAsFactors = FALSE) + } + + if (nrow(df) < 2) { + return("Evaluation of tree pruning not available for single node tree") + } + + df$CP <- sqrt(df$CP * c(Inf, head(df$CP, -1))) %>% round(5) + df$nsplit <- as.integer(df$nsplit + 1) + ind1 <- min(which(df$xerror == min(df$xerror))) + size1 <- c(df$nsplit[ind1], df$CP[ind1]) + ind2 <- min(which(df$xerror < (df$xerror[ind1] + df$xstd[ind1]))) + size2 <- c(df$nsplit[ind2], df$CP[ind2]) + + p <- ggplot(data = df, aes(x = .data$nsplit, y = .data$xerror)) + + geom_line() + + geom_vline(xintercept = size1[1], linetype = "dashed") + + geom_hline(yintercept = min(df$xerror), linetype = "dashed") + + labs( + title = "Evaluate tree pruning based on cross-validation", + x = "Number of nodes", + y = "Relative error" + ) + if (nrow(df) < 10) p <- p + scale_x_continuous(breaks = df$nsplit) + + ## http://stats.stackexchange.com/questions/13471/how-to-choose-the-number-of-splits-in-rpart + if (size1[1] == Inf) size1[2] <- NA + footnote <- paste0("\nMinimum error achieved at prune complexity ", format(size1[2], scientific = FALSE), " (", size1[1], " nodes)") + ind2 <- min(which(df$xerror < (df$xerror[ind1] + df$xstd[ind1]))) + p <- p + + geom_vline(xintercept = size2[1], linetype = "dotdash", color = "blue") + + geom_hline(yintercept = df$xerror[ind1] + df$xstd[ind1], linetype = "dotdash", color = "blue") + + if (size2[1] < size1[1]) { + footnote <- paste0(footnote, ".\nError at pruning complexity ", format(size2[2], scientific = FALSE), " (", size2[1], " nodes) is within one std. of minimum") + } + + plot_list[["prune"]] <- p + labs(caption = footnote) + } + + if ("imp" %in% plots) { + imp <- x$model$variable.importance + if (is.null(imp)) { + return("Variable importance information not available for singlenode tree") + } + + df <- data.frame( + vars = names(imp), + imp = imp / sum(imp), + stringsAsFactors = FALSE + ) %>% + arrange_at(.vars = "imp") + df$vars <- factor(df$vars, levels = df$vars) + + plot_list[["imp"]] <- + visualize(df, yvar = "imp", xvar = "vars", type = "bar", custom = TRUE) + + labs( + title = "Variable importance", + x = "", + y = "Importance" + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("vip" %in% plots) { + # imp <- x$model$variable.importance + # if (is.null(imp)) { + # return("Variable importance information not available for singlenode tree") + # } else { + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = ifelse(x$type == "regression", "Importance (R-square decrease)", "Importance (AUC decrease)") + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("pred_plot" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("pdp" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 || length(incl_int) > 0) { + plot_list <- pdp_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Partial Dependence Plots") + } + } + + if (x$type == "regression" && "dashboard" %in% plots) { + plot_list <- plot.regress(x, plots = "dashboard", lines = "line", nrobs = nrobs, custom = TRUE) + nrCol <- 2 + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } + } +} + +#' Predict method for the crtree function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crtree.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{crtree}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., titanic). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param se Logical that indicates if prediction standard errors should be calculated (default = FALSE) +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- crtree(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' result <- crtree(titanic, "survived", "pclass", lev = "Yes") +#' predict(result, pred_data = titanic) %>% head() +#' @seealso \code{\link{crtree}} to generate the result +#' @seealso \code{\link{summary.crtree}} to summarize results +#' +#' @export +predict.crtree <- function(object, pred_data = NULL, pred_cmd = "", + conf_lev = 0.95, se = FALSE, dec = 3, + envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + pred_val <- try(sshhr(predict(model, pred)), silent = TRUE) + + if (!inherits(pred_val, "try-error")) { + pred_val %<>% + as.data.frame(stringsAsFactors = FALSE) %>% + select(1) %>% + set_colnames("Prediction") + } + + pred_val + } + + predict_model(object, pfun, "crtree.predict", pred_data, pred_cmd, conf_lev, se, dec, envir = envir) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for predict.crtree +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.crtree.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Classification and regression trees") +} + +#' Cross-validation for Classification and Regression Trees +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/crtree.html} for an example in Radiant +#' +#' @param object Object of type "rpart" or "crtree" to use as a starting point for cross validation +#' @param K Number of cross validation passes to use +#' @param repeats Number of times to repeat the K cross-validation steps +#' @param cp Complexity parameter used when building the (e.g., 0.0001) +#' @param pcp Complexity parameter to use for pruning +#' @param seed Random seed to use as the starting point +#' @param trace Print progress +#' @param fun Function to use for model evaluation (e.g., auc for classification or RMSE for regression) +#' @param ... Additional arguments to be passed to 'fun' +#' +#' @return A data.frame sorted by the mean, sd, min, and max of the performance metric +#' +#' @seealso \code{\link{crtree}} to generate an initial model that can be passed to cv.crtree +#' @seealso \code{\link{Rsq}} to calculate an R-squared measure for a regression +#' @seealso \code{\link{RMSE}} to calculate the Root Mean Squared Error for a regression +#' @seealso \code{\link{MAE}} to calculate the Mean Absolute Error for a regression +#' @seealso \code{\link{auc}} to calculate the area under the ROC curve for classification +#' @seealso \code{\link{profit}} to calculate profits for classification at a cost/margin threshold +#' +#' @importFrom rpart prune.rpart +#' @importFrom shiny getDefaultReactiveDomain withProgress incProgress +#' +#' @examples +#' \dontrun{ +#' result <- crtree(dvd, "buy", c("coupon", "purch", "last")) +#' cv.crtree(result, cp = 0.0001, pcp = seq(0, 0.01, length.out = 11)) +#' cv.crtree(result, cp = 0.0001, pcp = c(0, 0.001, 0.002), fun = profit, cost = 1, margin = 5) +#' result <- crtree(diamonds, "price", c("carat", "color", "clarity"), type = "regression", cp = 0.001) +#' cv.crtree(result, cp = 0.001, pcp = seq(0, 0.01, length.out = 11), fun = MAE) +#' } +#' +#' @export +cv.crtree <- function(object, K = 5, repeats = 1, cp, pcp = seq(0, 0.01, length.out = 11), seed = 1234, trace = TRUE, fun, ...) { + if (inherits(object, "crtree")) object <- object$model + if (inherits(object, "rpart")) { + dv <- as.character(object$call$formula[[2]]) + m <- eval(object$call[["data"]]) + if (is.numeric(m[[dv]])) { + type <- "regression" + } else { + type <- "classification" + if (is.factor(m[[dv]])) { + lev <- levels(m[[dv]])[1] + } else if (is.logical(m[[dv]])) { + lev <- TRUE + } else { + stop("The level to use for classification is not clear. Use a factor of logical as the response variable") + } + } + } else { + stop("The model object does not seems to be a decision tree") + } + + set.seed(seed) + if (missing(cp)) cp <- object$call$control$cp + tune_grid <- expand.grid(cp = cp, pcp = pcp) + out <- data.frame(mean = NA, std = NA, min = NA, max = NA, cp = tune_grid[["cp"]], pcp = tune_grid[["pcp"]]) + + if (missing(fun)) { + if (type == "classification") { + fun <- radiant.model::auc + cn <- "AUC (mean)" + } else { + fun <- radiant.model::RMSE + cn <- "RMSE (mean)" + } + } else { + cn <- glue("{deparse(substitute(fun))} (mean)") + } + + if (length(shiny::getDefaultReactiveDomain()) > 0) { + trace <- FALSE + incProgress <- shiny::incProgress + withProgress <- shiny::withProgress + } else { + incProgress <- function(...) {} + withProgress <- function(...) list(...)[["expr"]] + } + + nitt <- nrow(tune_grid) + withProgress(message = "Running cross-validation (crtree)", value = 0, { + for (i in seq_len(nitt)) { + perf <- double(K * repeats) + object$call[["cp"]] <- tune_grid[i, "cp"] + if (trace) cat("Working on cp", format(tune_grid[i, "cp"], scientific = FALSE), "pcp", format(tune_grid[i, "pcp"], scientific = FALSE), "\n") + for (j in seq_len(repeats)) { + rand <- sample(K, nrow(m), replace = TRUE) + for (k in seq_len(K)) { + object$call[["data"]] <- quote(m[rand != k, , drop = FALSE]) + pred <- try(rpart::prune(eval(object$call), tune_grid[i, "pcp"]), silent = TRUE) + if (inherits(pred, "try-error")) next + if (length(object$call$parms$prior) > 0) { + pred <- prob_adj(pred, object$call$parms$prior[1], mean(m[rand != k, dv, drop = FALSE] == lev)) + } + pred <- try(predict(pred, m[rand == k, , drop = FALSE]), silent = TRUE) + if (inherits(pred, "try-error")) next + + if (type == "classification") { + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred[, lev], unlist(m[rand == k, dv]), lev) + } else { + perf[k + (j - 1) * K] <- fun(pred[, lev], unlist(m[rand == k, dv]), lev, ...) + } + } else { + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv])) + } else { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv]), ...) + } + } + } + } + out[i, 1:4] <- c(mean(perf, na.rm = TRUE), sd(perf, na.rm = TRUE), min(perf, na.rm = TRUE), max(perf, na.rm = TRUE)) + incProgress(1 / nitt, detail = paste("\nCompleted run", i, "out of", nitt)) + } + }) + + if (type == "classification") { + out <- arrange(out, desc(mean)) + } else { + out <- arrange(out, mean) + } + + ## show evaluation metric in column name + colnames(out)[1] <- cn + + object$call[["cp"]] <- out[1, "cp"] + object$call[["data"]] <- m + object <- rpart::prune(eval(object$call), out[1, "pcp"]) + cat("\nGiven the provided tuning grid, the pruning complexity parameter\nshould be set to", out[1, "pcp"], "or the number of nodes set to", max(object$cptable[, "nsplit"]) + 1, "\n") + out +} + +prob_adj <- function(mod, prior, bp) { + p <- mod$frame$yval2[, 4] + mod$frame$yval2[, 4] <- bp * (p - p * prior) / (prior - p * prior + bp * p - prior * bp) + mod$frame$yval2[, 5] <- 1 - mod$frame$yval2[, 4] + mod +} \ No newline at end of file diff --git a/radiant.model/R/deprecated.R b/radiant.model/R/deprecated.R new file mode 100644 index 0000000..fc1421e --- /dev/null +++ b/radiant.model/R/deprecated.R @@ -0,0 +1,24 @@ +#' Deprecated function(s) in the radiant.model package +#' +#' These functions are provided for compatibility with previous versions of +#' radiant. They will eventually be removed. +#' @rdname radiant.model-deprecated +#' @name radiant.model-deprecated +#' @param ... Parameters to be passed to the updated functions +#' @export ann +#' @aliases ann +#' @section Details: +#' \tabular{rl}{ +#' \code{ann} is now a synonym for \code{\link{nn}}\cr +#' \code{scaledf} is now a synonym for \code{\link{scale_df}}\cr +#' } +#' +ann <- function(...) { + .Deprecated("nn", package = "radiant.model") + nn(...) +} +scaledf <- function(...) { + .Deprecated("scale_df", package = "radiant.model") + scale_df(...) +} +NULL diff --git a/radiant.model/R/dtree.R b/radiant.model/R/dtree.R new file mode 100644 index 0000000..4825861 --- /dev/null +++ b/radiant.model/R/dtree.R @@ -0,0 +1,848 @@ +#' Parse yaml input for dtree to provide (more) useful error messages +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/dtree.html} for an example in Radiant +#' +#' @param yl A yaml string +#' +#' @return An updated yaml string or a vector messages to return to the users +#' +#' @seealso \code{\link{dtree}} to calculate tree +#' @seealso \code{\link{summary.dtree}} to summarize results +#' @seealso \code{\link{plot.dtree}} to plot results +#' +#' @importFrom stringi stri_trans_general +#' +#' @export +dtree_parser <- function(yl) { + if (is_string(yl)) yl <- unlist(strsplit(yl, "\n")) + + ## remove characters that may cause problems in shinyAce or DiagrammeR/mermaid.js + yl <- stringi::stri_trans_general(yl, "latin-ascii") %>% + gsub("\t", " ", .) + + ## container to collect errors + err <- c() + + ## checking if : is present in each line + col_ln <- grepl("(?=:)|(?=^\\s*$)|(?=^\\s*#)", yl, perl = TRUE) + if (any(!col_ln)) { + err <- c(err, paste0("Each line in the tree input must have a ':'. Add a ':' in line(s): ", paste0(which(!col_ln), collapse = ", "))) + } + + ## add a space to input after the : YAML needs this + yl %<>% gsub(":([^ $])", ": \\1", .) %>% gsub(":\\s{2,}", ": ", .) + + ## replace .4 by 0.4 + yl %<>% gsub("(^\\s*p\\s*:)\\s*(\\.[0-9]+$)", "\\1 0\\2", ., perl = TRUE) + + ## make sure the labels are in lower case + yl <- yl %>% + gsub("(^\\s*)name(\\s*:)", "\\1name\\2", ., ignore.case = TRUE, perl = TRUE) %>% + gsub("(^\\s*)variables(\\s*:)", "\\1variables\\2", ., ignore.case = TRUE, perl = TRUE) %>% + gsub("(^\\s*)type(\\s*:)", "\\1type\\2", ., ignore.case = TRUE, perl = TRUE) %>% + gsub("(^\\s*)p(\\s*:)", "\\1p\\2", ., ignore.case = TRUE, perl = TRUE) %>% + gsub("(^\\s*)payoff(\\s*:)", "\\1payoff\\2", ., ignore.case = TRUE, perl = TRUE) %>% + gsub("(^\\s*)cost(\\s*:)", "\\1cost\\2", ., ignore.case = TRUE, perl = TRUE) + + ## check type line is followed by a name + type_id <- yl %>% + grepl("^\\s*type\\s*:\\s*(.*)$", ., perl = TRUE) %>% + which() + type_cid <- yl %>% + grepl("^\\s*type\\s*:\\s*((chance)|(decision)|())\\s*$", ., perl = TRUE) %>% + which() + + if (!identical(type_id, type_cid)) { + err <- c(err, paste0("Node type should be 'type: chance', or 'type: decision' in line(s): ", paste0(base::setdiff(type_id, type_cid), collapse = ", "))) + } + + ## can't have # signs anywhere if line is not a comment + nc_id <- yl %>% + grepl("^\\s*#", ., perl = TRUE) %>% + (function(x) x == FALSE) %>% + which() + + if (length(nc_id) > 0) { + yl[nc_id] %<>% gsub("#", "//", ., perl = TRUE) %>% + gsub("(^\\s*)[\\!`@%&\\*-\\+]*\\s*", "\\1", ., perl = TRUE) + } + + ## Find node names + nn_id <- gsub("(^\\s*p\\s*:\\s*$)", "\\1 0", yl) %>% + gsub("(^\\s*type\\s*:\\s*$)", "\\1 0", .) %>% + gsub("(^\\s*cost\\s*:\\s*$)", "\\1 0", .) %>% + gsub("(^\\s*payoff\\s*:\\s*$)", "\\1 0", .) %>% + grepl("^\\s*[^#]+:\\s*$", ., perl = TRUE) %>% + which() + + ## replace ( ) { } [ ] + if (length(nn_id) > 0) { + yl[nn_id] %<>% gsub("[\\(\\)\\{\\}\\[\\]<>\\@;~]", "/", ., perl = TRUE) + } + + ## non-commented next line after type + ncnl_id <- c() + for (i in type_cid) { + ncnl_id <- c(ncnl_id, nc_id[nc_id > i][1]) + } + + type_nn <- ncnl_id %in% nn_id + + if (!all(type_nn)) { + err <- c(err, paste0("The node types defined on line(s) ", paste0(type_cid[!type_nn], collapse = ", "), " must be followed by a node name.\nA valid node name could be 'mud slide:'")) + } + + ## check indent of next line is the same for type defs + indent_type <- yl[type_cid] %>% + gsub("^(\\s*).*", "\\1", .) %>% + nchar() + + ## non-commented next node-name after type + ncnn_id <- c() + for (i in type_cid) { + ncnn_id <- c(ncnn_id, nn_id[nn_id > i][1]) + } + + indent_next <- yl[ncnn_id] %>% + gsub("^(\\s*).*", "\\1", .) %>% + nchar() + + indent_issue <- is.na(indent_next) | indent_type == indent_next + + if (any(!indent_issue)) { + err <- c(err, paste0("Indent issue in line(s): ", paste0(type_cid[!indent_issue] + 1, collapse = ", "), "\nUse the tab key to ensure a node name is indented the same amount\nas the node type on the preceding line. Check the level of indentation\non each line shown, as well as the indentation on the preceding lines")) + } + + ## check indent for node names + indent_name <- yl[nn_id] %>% + gsub("^(\\s*).*", "\\1", .) %>% + nchar() + + ## check indent of next line for node names + indent_next <- yl[nn_id + 1] %>% + gsub("^(\\s*).*", "\\1", .) %>% + nchar() + indent_issue <- indent_name >= indent_next + + ## can happen when last line in input is a node without a payoff or prob + indent_issue[is.na(indent_issue)] <- TRUE + + if (any(indent_issue)) { + err <- c(err, paste0("Indent issue in line(s): ", paste0(nn_id[indent_issue] + 1, collapse = ", "), "\nAlways use the tab key to indent the line(s) after specifying a node name.")) + } + + ## determine return value + if (length(err) > 0) { + paste0("\n**\n", paste0(err, collapse = "\n"), "\n**\n") %>% add_class(c("dtree", "dtree-error")) + } else { + paste0(yl, collapse = "\n") %>% add_class("dtree") + } +} + +#' Create a decision tree +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/dtree.html} for an example in Radiant +#' +#' @param yl A yaml string or a list (e.g., from yaml::yaml.load_file()) +#' @param opt Find the maximum ("max") or minimum ("min") value for each decision node +#' @param base List of variable definitions from a base tree used when calling a sub-tree +#' @param envir Environment to extract data from +#' +#' @return A list with the initial tree, the calculated tree, and a data.frame with results (i.e., payoffs, probabilities, etc.) +#' +#' @importFrom yaml yaml.load +#' @importFrom stringr str_match +#' @importFrom data.tree as.Node Clone isLeaf isNotLeaf Get +#' @importFrom dplyr near +#' +#' @seealso \code{\link{summary.dtree}} to summarize results +#' @seealso \code{\link{plot.dtree}} to plot results +#' @seealso \code{\link{sensitivity.dtree}} to plot results +#' +#' @examples +#' yaml::as.yaml(movie_contract) %>% cat() +#' dtree(movie_contract, opt = "max") %>% summary(output = TRUE) +#' dtree(movie_contract)$payoff +#' dtree(movie_contract)$prob +#' dtree(movie_contract)$solution_df +#' +#' @export +dtree <- function(yl, opt = "max", base = character(0), envir = parent.frame()) { + ## calculations will be effected is scientific notation is used + options(scipen = max(getOption("scipen"), 100)) + + ## Adapted from https://github.com/gluc/useR15/blob/master/01_showcase/02_decision_tree.R + ## load yaml string-id if list not provide + if (is_string(yl)) { + ## get input file from r_data + if (!grepl("\\n", yl)) { + yl <- get_data(yl, envir = envir, na.rm = FALSE) + if (inherits(yl, "list")) { + yl <- yaml::as.yaml(yl, indent = 4) + } + } + yl <- dtree_parser(yl) + + ## return errors if needed + if (inherits(yl, "dtree-error")) { + return(yl) + } + + # int2float <- function(x) { + # if (is.numeric(x) && x > .Machine$integer.max) { + # x <- as.numeric(x) + # } + # return(x) + # } + + ## if the name of input-list in r_data is provided + yl <- try(yaml::yaml.load(yl), silent = TRUE) + # causes issues with some yaml files + # yl <- try(yaml::yaml.load(yl, handlers = list(int = int2float)), silent = TRUE) + + ## used when a string is provided + if (inherits(yl, "try-error")) { + err_line <- stringr::str_match(attr(yl, "condition")$message, "^Scanner error:.*line\\s([0-9]*),")[2] + if (is.na(err_line)) { + err <- paste0("**\nError reading the tree input:\n", attr(yl, "condition")$message, "\n\nPlease try again. Examples are shown in the help file (?)\n**") + } else { + err <- paste0("**\nIndentation issue found in line ", err_line, ".\nThis means that the indentation level is not correct when compared\nto prior or subsequent lines in the tree input. Use tabs to separate\nthe branches in the decision tree. Fix the indentation error and try\nagain. Examples are shown in the help file (?)\n**") + } + return(add_class(err, c("dtree", "dtree-error"))) + } else { + # recursive function to check for missing values + check_na <- function(x) { + if (is.list(x)) { + return(any(sapply(x, check_na))) + } else { + return(is.na(x)) + } + } + any_missing <- check_na(yl) + if (isTRUE(any_missing)) { + err <- paste0("**\nMissing values in the tree. The most likely cause\nis cost or payoff numbers above 2,147,483,647.\nIntegers of this size are not currently supported.\nEither add .0 after the largest numbers or scale\nall numbers in 1,000 or 1,000,000 (e.g., use 3.6\ninstead of 3,600,000)\n**\n\n") + return(add_class(err, c("dtree", "dtree-error"))) + } + } + } + + if (length(yl) == 0) { + err <- "**\nThe provided tree input list is empty or not in the correct format.\nPlease double check the tree input and try again.\n**" + return(add_class(err, c("dtree", "dtree-error"))) + } + + ## getting variables from base if available + if (!is.null(yl$variables) && is.character(yl$variables[1])) { + yl_tree <- yl$variables[1] + if (!exists(yl_tree, envir = envir)) { + err <- "**\nThe tree referenced in the 'variables:' section is not available.\nPlease correct the name and try again.\n**" + return(add_class(err, c("dtree", "dtree-error"))) + } else if (!is.character(envir[[yl_tree]]) && !inherits(envir[[yl_tree]], "list")) { + err <- "**\nThe tree referenced in the 'variables:' section is not of type\ncharacter or list and cannot be used.\n**" + return(add_class(err, c("dtree", "dtree-error"))) + } else if (inherits(envir[[yl_tree]], "list")) { + yl$variables <- envir[[yl_tree]]$variables %>% .[!grepl("dtree\\(.*\\)", .)] + } else { + yl$variables <- envir[[yl_tree]] %>% + dtree_parser() %>% + yaml::yaml.load() %>% + .$variables %>% + .[!grepl("dtree\\(.*\\)", .)] + } + } + + vars <- "" + + ## can call a sub-tree that doesn't have any variables + if (length(base) > 0) { + base <- base[!grepl("dtree\\(.*\\)", base)] + if (is.null(yl$variables)) yl$variables <- base + } + + if (!is.null(yl$variables)) { + vars <- yl$variables + + ## overwrite the values in vars that are also in base + if (length(base) > 0) vars[names(base)] <- base + + vn <- names(vars) + + if (length(vn) > 1) { + ret <- sapply(vn, function(x) grepl(x, vn, fixed = TRUE)) %>% set_rownames(vn) + overlap <- colSums(ret) > 1 + if (any(overlap)) { + cat("Some of the labels in the 'variables:' section are too similar. Each label should\nbe unique and not be part of another label (e.g., 'proceed' is part of 'do not proceed').\nAn easy fix may be to use somewhat longer labels (e.g., 'success' instead of 'S').\nInstead of 'proceed' and 'do not proceed', for example, you could use 'do proceed'\nand 'do not proceed'. To use search-and-replace in the editor press CTRL-F\n(CMD-F on mac) twice. The overlap in labels is described below:\n\n") + ret <- ret[, overlap, drop = FALSE] + for (i in 1:ncol(ret)) { + tmp <- names(ret[ret[, i], i]) + cat(paste0(paste0("'", tmp[1], "'"), " is part of '", paste0(tail(tmp, -1), collapse = "', '"), "'\n")) + } + return("\nPlease update the tree input and try again." %>% add_class(c("dtree", "dtree-error"))) + } + } + + ## is there a subtree to evaluate? + for (i in vn) { + if (grepl("dtree\\(.*\\)", vars[i])) { + tree <- gsub(".*?([\'\"]+[ A-z0-9_\\.\\-]+[\'\"]+).*", "\\1", vars[i]) %>% gsub("[\"\']", "", .) + if (exists(tree, envir = envir)) { + cmd <- gsub("\\)\\s*$", paste0(", base = ", list(vars[!grepl("dtree\\(.*\\)", vars)]), "\\)"), vars[i]) + ret <- try(eval(parse(text = cmd), envir = envir), silent = TRUE) + if (inherits(ret, "try-error") || !inherits(ret, "list")) { + return("**\nThe reference to another tree was not succesful. It is possible\nthis was caused by a problem earlier in the 'variables:' section\nor because of a typo in the name of the tree you are trying to\nreference. Please check any messages about issues in the 'variables:'\nsection and try again\n**" %>% add_class(c("dtree", "dtree-error"))) + } else { + if (!is.null(ret$jl)) { + vars[i] <- ret$jl$Get(function(x) x$payoff)[1] + } else { + vars[i] <- "No payoff was specified for one or more nodes ('payoff:'). Please check\neach `payoff:' the tree input and try again" + } + } + } else { + vars[i] <- paste0("Decision tree \"", tree, "\" is not available") + } + } + } + + for (i in 2:max(2, length(vn))) { + vars <- gsub(vn[i - 1], paste0("(", vars[[i - 1]], ")"), vars, fixed = TRUE) + vars <- sapply(vars, function(x) ifelse(grepl("[A-Za-z]+", x), x, eval(parse(text = x), envir = envir))) + } + names(vars) <- vn + + isNum <- function(x) sshhr(!is.na(as.numeric(x))) + isNot <- vars[!sapply(vars, isNum)] + if (length(isNot) > 0) { + cat("Not all variables could be resolved to a numeric value.\n") + print(as.data.frame(isNot, stringsAsFactors = FALSE) %>% set_names("")) + } + + ## cycle through a nested list recursively + ## based on http://stackoverflow.com/a/26163152/1974918 + nlapply <- function(x, fun) { + if (is.list(x)) { + lapply(x, nlapply, fun) + } else { + fun(x) + } + } + + if (any(unlist(nlapply(yl, is.null)))) { + return("**\nOne or more payoffs or probabilities were not specified.\nUpdate the tree input and try again\n**" %>% add_class(c("dtree", "dtree-error"))) + } + + ## based on http://stackoverflow.com/a/14656351/1974918 + tmp <- as.relistable(yl[base::setdiff(names(yl), "variables")]) %>% unlist() + + for (i in seq_along(vn)) { + # only substitute variable values for probabilities (p) + # payoffs (payoff) and costs (cost) + toSub <- grepl("(\\.p$)|(\\.payoff$)|(\\.cost$)|(^p$)|(^payoff$)|(^cost$)", names(tmp)) + tmp[toSub] <- gsub(vn[i], vars[[i]], tmp[toSub], fixed = TRUE) + } + + ## any characters left in p, payoff, or cost fields? + isNot <- grepl("(.p$)|(.payoff$)|(.cost$)", names(tmp)) + isNot <- tmp[isNot] + isNot <- isNot[grepl("[^0-9.+*/() -]+", isNot)] + if (length(isNot) > 0) { + names(isNot) <- gsub(".", ":", names(isNot), fixed = TRUE) + cat("Not all variables could be resolved to a numeric value.\nNote that only basic formula's are allowed but no R-functions\n") + print(as.data.frame(isNot, stringsAsFactors = FALSE) %>% set_names("")) + return("\nUpdate the tree input and try again." %>% add_class(c("dtree", "dtree-error"))) + } + + ## convert payoff, probabilities, and costs to numeric + tmp <- relist(tmp) + toNum <- function(x) { + if (!grepl("[A-Za-z]+", x)) { + px <- try(eval(parse(text = x), envir = envir), silent = TRUE) + if (inherits(px, "try-error")) { + message("There was an error parsing: ", x) + } else { + px <- sshhr(as.numeric(px)) + if (is.na(px)) { + message("There was an error parsing: ", x) + } else { + x <- px + } + } + } + x + } + + tmp <- nlapply(tmp, toNum) + + ## convert list to node object + jl <- data.tree::as.Node(tmp) + } else { + ## convert list to node object + jl <- data.tree::as.Node(yl) + } + + ## if type not set and isLeaf set to terminal + # pt <- . %>% {if (is.null(.$type)) .$Set(type = "terminal")} + # jl$Do(pt, filterFun = data.tree::isLeaf) + + isNum <- function(x) !is_not(x) && !grepl("[A-Za-z]+", x) + + cost_check <- "" + cost_checker <- function(x) { + ## if type not set and isLeaf set to terminal + if (is.null(x$type)) x$Set(type = "terminal") + + ## costs should not be set in terminal nodes, use payoff instead + if (isNum(x$cost)) { + cost_check <<- "One or more terminal nodes have been assigned a cost. Specifying a cost\nusing 'cost:' in the tree input is only useful if it applies to multiple\nnodes in a branch. If the cost only applies to a single terminal node it\nis better to adjust the payoff value for that node instead" + } + } + + jl$Do(cost_checker, filterFun = data.tree::isLeaf) + + ## making a copy of the initial Node object + jl_init <- data.tree::Clone(jl) + + chance_payoff <- function(node) { + if (!isNum(node$payoff) || !isNum(node$p)) { + 0 + } else { + node$payoff * node$p + } + } + + decision_payoff <- function(node) { + if (!isNum(node$payoff)) 0 else node$payoff + } + + prob_checker <- function(node) { + if (!isNum(node$p)) 0 else node$p + } + + type_none <- "" + prob_check <- "" + calc_payoff <- function(x) { + if (is.empty(x$type)) { + x$payoff <- 0 + x$type <- "NONE" + type_none <<- "One or more nodes do not have a 'type'. Check and update the input file" + } else if (x$type == "chance") { + x$payoff <- sum(sapply(x$children, chance_payoff)) + + probs <- sapply(x$children, prob_checker) + if (min(probs) < 0) { + prob_check <<- "One or more probabilities are smalller than 0.\nPlease correct the tree input ('p:') and re-calculate the tree" + } else if (max(probs) > 1) { + prob_check <<- "One or more probabilities are larger than 1.\nPlease correct the tree input ('p:') and re-calculate the tree" + } else if (!near(sum(probs), 1)) { + prob_check <<- glue("Probabilities for one (or more) chance nodes do not sum to 1 ({sum(probs)}).\nPlease correct the tree input ('p:') and re-calculate the tree") + } + } else if (x$type == "decision") { + x$payoff <- get(opt)(sapply(x$children, decision_payoff)) + } + + ## subtract cost if specified + if (isNum(x$cost)) x$payoff <- x$payoff - x$cost + } + + err <- try(jl$Do(calc_payoff, traversal = "post-order", filterFun = data.tree::isNotLeaf), silent = TRUE) + + if (inherits(err, "try-error")) { + err <- paste0("**\nThere was an error calculating payoffs associated with a chance or decision\nnode. Please check that each terminal node has a payoff and that probabilities\nare correctly specificied. Also check the R(studio) console for messages\n**") + return(err %>% add_class(c("dtree", "dtree-error"))) + } + + decision <- function(x) { + po <- sapply(x$children, decision_payoff) + if (isNum(x$cost)) po <- po - x$cost + x$decision <- names(po[po == x$payoff]) + } + + err <- try(jl$Do(decision, filterFun = function(x) !is.null(x$type) && x$type == "decision"), silent = TRUE) + + if (inherits(err, "try-error")) { + err <- paste0("**\nThere was an error calculating payoffs associated with a decision node.\nPlease check that each terminal node has a payoff\n**") + return(err %>% add_class(c("dtree", "dtree-error"))) + } + + payoff <- jl$Get(function(x) x$payoff) + prob <- jl$Get(function(x) x$p) + + solution_df <- data.frame( + level = jl$Get(function(x) x$level), + label = names(payoff), + payoff = payoff, + prob = prob, + cost = jl$Get(function(x) x$cost), + type = jl$Get(function(x) x$type) + ) + + list( + jl_init = jl_init, jl = jl, yl = yl, vars = vars, opt = opt, + type_none = type_none, prob_check = prob_check, cost_check = cost_check, + payoff = payoff, prob = prob, solution_df = solution_df + ) %>% + add_class("dtree") +} + +#' Summary method for the dtree function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/dtree.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{simulater}} +#' @param input Print decision tree input +#' @param output Print decision tree output +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' dtree(movie_contract, opt = "max") %>% summary(input = TRUE) +#' dtree(movie_contract, opt = "max") %>% summary(input = FALSE, output = TRUE) +#' +#' @importFrom data.tree Traverse Get FormatPercent +#' +#' @seealso \code{\link{dtree}} to generate the results +#' @seealso \code{\link{plot.dtree}} to plot results +#' @seealso \code{\link{sensitivity.dtree}} to plot results +#' +#' @export +summary.dtree <- function(object, input = TRUE, output = FALSE, + dec = 2, ...) { + if (is.character(object)) { + return(cat(object)) + } + + isNum <- function(x) !is_not(x) && !grepl("[A-Za-z]+", x) + + print_money <- function(x) { + x %>% (function(x) if (isNum(x)) x else "") %>% + formatC( + digits = dec, + decimal.mark = ".", + big.mark = ",", + format = "f" + ) + } + + print_percent <- function(x) { + x %>% (function(x) if (isNum(x)) x else NA) %>% + data.tree::FormatPercent() + } + + rm_terminal <- function(x) { + x %>% + (function(x) if (is.na(x)) "" else x) %>% + (function(x) if (x == "terminal") "" else x) + } + + format_dtree <- function(jl) { + ## set parent type + nt <- jl$Get(function(x) x$parent$type) + jl$Set(ptype = nt) + + data.tree::Traverse(jl) %>% + { + data.frame( + ` ` = data.tree::Get(., "levelName"), + Probability = data.tree::Get(., "p", format = print_percent), + Payoff = data.tree::Get(., "payoff", format = print_money), + Cost = data.tree::Get(., "cost", format = print_money), + Type = data.tree::Get(., "ptype", format = rm_terminal), + check.names = FALSE, + stringsAsFactors = FALSE + ) + } %>% + { + .[[" "]] <- format(.[[" "]], justify = "left") + . + } %>% + format_df(mark = ",", dec = dec) + } + + if (input) { + cat("Decision tree input:\n") + cat(yaml::as.yaml(object$yl, indent = 4)) + cat("\n") + } + + if (all(object$vars != "") && output) { + cat("Variable input values:\n") + print(as.data.frame(object$vars, stringsAsFactors = FALSE) %>% set_names("")) + } + + ## initial setup + if (object$type_none != "") { + cat(paste0("\n\n**\n", object$type_none, "\n**\n\n")) + } else if (!is.empty(object$cost_check)) { + cat(paste0("\n\n**\n", object$cost_check, "\n**\n\n")) + } else { + if (object$prob_check != "") { + cat(paste0("**\n", object$prob_check, "\n**\n\n")) + } + + if (output) { + cat("\nInitial decision tree:\n") + format_dtree(object$jl_init) %>% print(row.names = FALSE) + + cat("\nFinal decision tree:\n") + format_dtree(object$jl) %>% print(row.names = FALSE) + } + } +} + +#' Plot method for the dtree function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/dtree.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{dtree}} +#' @param symbol Monetary symbol to use ($ is the default) +#' @param dec Decimal places to round results to +#' @param final If TRUE plot the decision tree solution, else the initial decision tree +#' @param orient Plot orientation: LR for vertical and TD for horizontal +#' @param width Plot width in pixels (default is "900px") +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' dtree(movie_contract, opt = "max") %>% plot() +#' dtree(movie_contract, opt = "max") %>% plot(final = TRUE, orient = "TD") +#' +#' @importFrom data.tree Traverse Get isNotRoot +#' @importFrom DiagrammeR DiagrammeR mermaid +#' +#' @seealso \code{\link{dtree}} to generate the result +#' @seealso \code{\link{summary.dtree}} to summarize results +#' @seealso \code{\link{sensitivity.dtree}} to plot results +#' +#' @export +plot.dtree <- function(x, symbol = "$", dec = 2, final = FALSE, orient = "LR", width = "900px", ...) { + ## avoid error when dec is missing + if (is_not(dec)) dec <- 2 + + isNum <- function(x) !is_not(x) && !grepl("[A-Za-z]+", x) + + if ("character" %in% class(x)) { + return(paste0("graph LR\n A[Errors in the input file]") %>% DiagrammeR::DiagrammeR(.)) + } + if (x$type_none != "") { + return(paste0("graph LR\n A[Node does not have a type. Please fix the tree input]") %>% DiagrammeR::DiagrammeR(.)) + } + + ## based on https://gist.github.com/gluc/79ef7a0e747f217ca45e + jl <- if (final) x$jl else x$jl_init + + ## create ids + jl$Set(id = paste0("id", 1:jl$totalCount)) + + ## create start labels + FromLabel <- function(node) { + if (node$parent$isRoot) { + ToLabel(node$parent) + } else { + as.character(node$parent$id) + } + } + + ## create arrow labels + EdgeLabel <- function(node) { + if (node$isRoot) { + return(" ") + } else if (node$parent$type == "decision") { + lbl <- node$name + } else if (node$parent$type == "chance") { + lbl <- paste0(node$name, ": ", format_nr(as.numeric(node$p), dec = dec + 2)) + } else if (node$type == "terminal") { + lbl <- paste0(node$name, ": ", format_nr(as.numeric(node$p), dec = dec + 2)) + } + + if (length(node$parent$decision) > 0 && length(node$name) > 0) { + if (length(node$parent$decision) == 1 && node$name == node$parent$decision) { + paste0(" === |", lbl, "|") + } else if (any(node$name == node$parent$decision)) { + paste0(" === |", lbl, "|") + } else { + paste0(" --- |", lbl, "|") + } + } else { + paste0(" --- |", lbl, "|") + } + } + + FormatPayoff <- function(payoff) { + if (!isNum(payoff)) payoff <- 0 + format_nr(payoff, paste0("\"", symbol, "\""), dec = dec) + } + + ToLabel <- function(node) { + po <- if (final) FormatPayoff(node$payoff) else " " + if (node$type == "decision") { + lbl <- paste0("[", po, "]") + } else if (node$type == "chance") { + lbl <- paste0("((", po, "))") + } else if (node$type == "terminal") { + lbl <- paste0("[", FormatPayoff(node$payoff), "]") + } + paste0(" ", node$id, lbl) + } + + style_decision <- jl$Get("id", filterFun = function(x) x$type == "decision" && is.null(x$cost)) + if (is.null(style_decision)) style_decision <- "id_null" + style_decision_with_cost <- jl$Get("id", filterFun = function(x) x$type == "decision" && !is.null(x$cost)) + if (is.null(style_decision_with_cost)) style_decision_with_cost <- "id_null" + style_chance <- jl$Get("id", filterFun = function(x) x$type == "chance" && is.null(x$cost)) + if (is.null(style_chance)) style_chance <- "id_null" + style_chance_with_cost <- jl$Get("id", filterFun = function(x) x$type == "chance" && !is.null(x$cost)) + if (is.null(style_chance_with_cost)) style_chance_with_cost <- "id_null" + + ToolTip <- function(node) { + if (final == TRUE && !is.null(node$cost)) { + sym <- ifelse(node$cost < 0, " + ", " - ") + paste0(format_nr(node$payoff + node$cost, symbol, dec = dec), sym, format_nr(abs(node$cost), symbol, dec = dec)) %>% + paste0("click ", node$id, " callback \"", ., "\"") + } else if (!is.null(node$cost)) { + paste0("Cost: ", format_nr(node$cost, symbol, dec = dec)) %>% + paste0("click ", node$id, " callback \"", ., "\"") + } else { + NA + } + } + + style <- paste0( + "classDef default fill:none, bg:none, stroke-width:0px; + classDef chance fill:#FF8C00,stroke:#333,stroke-width:1px; + classDef chance_with_cost fill:#FF8C00,stroke:#333,stroke-width:3px,stroke-dasharray:4,5; + classDef decision fill:#9ACD32,stroke:#333,stroke-width:1px; + classDef decision_with_cost fill:#9ACD32,stroke:#333,stroke-width:3px,stroke-dasharray:4,5; + class ", paste(style_decision, collapse = ","), " decision; + class ", paste(style_decision_with_cost, collapse = ","), " decision_with_cost; + class ", paste(style_chance, collapse = ","), " chance; + class ", paste(style_chance_with_cost, collapse = ","), " chance_with_cost;" + ) + + trv <- data.tree::Traverse(jl, traversal = "level", filterFun = data.tree::isNotRoot) + df <- data.frame( + from = data.tree::Get(trv, FromLabel), + edge = data.tree::Get(trv, EdgeLabel), + to = data.tree::Get(trv, ToLabel), + id = data.tree::Get(trv, ToLabel), + tooltip = data.tree::Get(trv, ToolTip), + stringsAsFactors = FALSE + ) + + trv <- data.tree::Traverse(jl, traversal = "level", filterFun = data.tree::isRoot) + ttip <- c(df[["tooltip"]], data.tree::Get(trv, ToolTip)) %>% + na.omit() %>% + unique() + + ## use LR or TD + paste( + paste0("graph ", orient), paste(paste0(df$from, df$edge, df$to), collapse = "\n"), + paste(ttip, collapse = "\n"), style, + sep = "\n" + ) %>% + ## address image size in pdf and html and allow zooming + # DiagrammeR::mermaid(., width = "100%", height = "100%") + DiagrammeR::mermaid(width = width, height = "100%") +} + +## add a plot title? +# {htmltools::html_print(tagList(tags$h1("A title"), DiagrammeR::mermaid(., width = width, height = "100%")))} +# html_print(tagList( +# tags$h1("R + mermaid.js = Something Special") +# ,tags$pre(diagramSpec) +# ,tags$div(class="mermaid",diagramSpec) +# ,DiagrammeR() +# )) + +#' Evaluate sensitivity of the decision tree +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/dtree.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{dtree}} +#' @param vars Variables to include in the sensitivity analysis +#' @param decs Decisions to include in the sensitivity analysis +#' @param envir Environment to extract data from +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... Additional arguments + +#' @examples +#' dtree(movie_contract, opt = "max") %>% +#' sensitivity( +#' vars = "legal fees 0 100000 10000", +#' decs = c("Sign with Movie Company", "Sign with TV Network"), +#' custom = FALSE +#' ) +#' +#' @importFrom rlang .data +#' +#' @seealso \code{\link{dtree}} to generate the result +#' @seealso \code{\link{plot.dtree}} to summarize results +#' @seealso \code{\link{summary.dtree}} to summarize results +#' +#' @export +sensitivity.dtree <- function(object, vars = NULL, decs = NULL, + envir = parent.frame(), + shiny = FALSE, custom = FALSE, ...) { + yl <- object$yl + + if (is.empty(vars)) { + return("** No variables were specified **") + } else if (is.empty(decs)) { + return("** No decisions were specified **") + } + vars <- strsplit(vars, ";\\s*") %>% + unlist() %>% + strsplit(" ") + + calc_payoff <- function(x, nm) { + yl$variables[[nm]] <- x + ret <- dtree(yl, opt = object$opt, envir = envir)$jl + ret$Get(function(x) x$payoff)[decs] + } + + nms <- c() + sensitivity <- function(x) { + tmp <- rep("", 4) + tmp[2:4] <- tail(x, 3) + tmp[1] <- paste(head(x, -3), collapse = " ") + nms <<- c(nms, tmp[1]) + df <- data.frame( + values = tail(tmp, 3) %>% as.numeric() %>% + { + seq(.[1], .[2], .[3]) + }, + stringsAsFactors = FALSE + ) + + if (length(decs) == 1) { + df[[decs]] <- sapply(df$values, calc_payoff, tmp[1]) + } else { + df <- cbind(df, sapply(df$values, calc_payoff, tmp[1]) %>% t()) + } + df + } + ret <- lapply(vars, sensitivity) + names(ret) <- nms + + plot_list <- list() + for (i in names(ret)) { + dat <- gather(ret[[i]], "decisions", "payoffs", !!base::setdiff(names(ret[[i]]), "values")) + plot_list[[i]] <- + ggplot(dat, aes(x = .data$values, y = .data$payoffs, color = .data$decisions)) + + geom_line() + + geom_point(aes(shape = .data$decisions), size = 2) + + labs( + title = paste0("Sensitivity of decisions to changes in ", i), + x = i + ) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + { + if (shiny) . else print(.) + } + } + } +} diff --git a/radiant.model/R/evalbin.R b/radiant.model/R/evalbin.R new file mode 100644 index 0000000..485421c --- /dev/null +++ b/radiant.model/R/evalbin.R @@ -0,0 +1,1138 @@ +#' Evaluate the performance of different (binary) classification models +#' +#' @details Evaluate different (binary) classification models based on predictions. See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param pred Predictions or predictors +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' @param qnt Number of bins to create +#' @param cost Cost for each connection (e.g., email or mailing) +#' @param margin Margin on each customer purchase +#' @param scale Scaling factor to apply to calculations +#' @param train Use data from training ("Training"), test ("Test"), both ("Both"), or all data ("All") to evaluate model evalbin +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list of results +#' +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' str() +#' @export +evalbin <- function(dataset, pred, rvar, lev = "", + qnt = 10, cost = 1, margin = 2, scale = 1, + train = "All", data_filter = "", arr = "", + rows = NULL, envir = parent.frame()) { + ## in case no inputs were provided + if (is.na(cost)) cost <- 0 + if (is.na(margin)) margin <- 0 + if (is.na(scale)) scale <- 1 + + if (!train %in% c("", "All") && is.empty(data_filter) && is.empty(rows)) { + return("**\nFilter or Slice required to differentiate Train and Test. To set a filter or slice go to\nData > View and click the filter checkbox\n**" %>% add_class("evalbin")) + } + + if (is.empty(qnt)) qnt <- 10 + + cnf_tab <- confusion(dataset, pred, rvar, + lev = lev, cost = cost, margin = margin, scale = scale, + train = train, data_filter = data_filter, arr = arr, rows = rows, + envir = envir + ) + + df_name <- if (!is_string(dataset)) deparse(substitute(dataset)) else dataset + + dat_list <- list() + vars <- c(pred, rvar) + if (train == "Both") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + } else if (train == "Test") { + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + } else { + dat_list[["All"]] <- get_data(dataset, vars, envir = envir) + } + + qnt_name <- "bins" + auc_list <- list() + prof_list <- c() + pdat <- list() + pext <- c(All = "", Training = " (train)", Test = " (test)") + + for (i in names(dat_list)) { + lg_list <- list() + pl <- c() + dataset <- dat_list[[i]] + + if (nrow(dataset) == 0) { + return( + paste0("Data for ", i, " has zero rows. Please correct the filter used and try again") %>% + add_class("evalbin") + ) + } + + rv <- dataset[[rvar]] + if (is.factor(rv)) { + levs <- levels(rv) + } else { + levs <- rv %>% + as.character() %>% + as.factor() %>% + levels() + } + + if (lev == "") { + lev <- levs[1] + } else { + if (!lev %in% levs) { + return(add_class("Level provided not found", "evalbin")) + } + } + + ## transformation to TRUE/FALSE depending on the selected level (lev) + dataset[[rvar]] <- dataset[[rvar]] == lev + + ## tip for summarise_ from http://stackoverflow.com/a/27592077/1974918 + ## put summaries in list so you can print and plot + tot_resp <- sum(dataset[[rvar]]) * scale + tot_obs <- nrow(dataset) * scale + tot_rate <- tot_resp / tot_obs + + for (j in seq_along(pred)) { + pname <- paste0(pred[j], pext[i]) + auc_list[[pname]] <- auc(dataset[[pred[j]]], dataset[[rvar]], TRUE) + lg_list[[pname]] <- + dataset %>% + select_at(.vars = c(pred[j], rvar)) %>% + mutate(!!pred[j] := radiant.data::xtile(.data[[pred[j]]], n = qnt, rev = TRUE)) %>% + setNames(c(qnt_name, rvar)) %>% + group_by_at(.vars = qnt_name) %>% + summarise( + nr_obs = n() * scale, + nr_resp = sum(.data[[rvar]] * scale) + ) %>% + mutate( + resp_rate = nr_resp / nr_obs, + gains = nr_resp / tot_resp + ) %>% + (function(x) if (first(x$resp_rate) < last(x$resp_rate)) mutate_all(x, rev) else x) %>% + mutate( + profit = margin * cumsum(nr_resp) - cost * cumsum(nr_obs), + ROME = profit / (cost * cumsum(nr_obs)), + cum_prop = cumsum(nr_obs / tot_obs), + cum_resp = cumsum(nr_resp), + cum_resp_rate = cum_resp / cumsum(nr_obs), + cum_lift = cum_resp_rate / tot_rate, + cum_gains = cum_resp / tot_resp + ) %>% + mutate(pred = pname) %>% + mutate(ROME = ifelse(is.na(ROME), 0, ROME)) %>% + select(pred, everything()) + + pl <- c(pl, max(lg_list[[pname]]$profit)) + } + prof_list <- c(prof_list, pl / abs(max(pl))) + pdat[[i]] <- bind_rows(lg_list) %>% mutate(profit = profit) + } + dataset <- bind_rows(pdat) %>% mutate(profit = ifelse(is.na(profit), 0, profit)) + dataset$pred <- factor(dataset$pred, levels = unique(dataset$pred)) + + names(prof_list) <- names(auc_list) + + list( + dataset = dataset, dat_list = dat_list, df_name = df_name, data_filter = data_filter, + arr = arr, rows = rows, train = train, pred = pred, rvar = rvar, + lev = lev, qnt = qnt, cost = cost, margin = margin, scale = scale, cnf_tab = cnf_tab + ) %>% add_class("evalbin") +} + +#' Summary method for the evalbin function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{evalbin}} +#' @param prn Print full table of measures per model and bin +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' summary() +#' @export +summary.evalbin <- function(object, prn = TRUE, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat("Evaluate predictions for binary response models\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Results for :", object$train, "\n") + cat("Predictors :", paste0(object$pred, collapse = ", "), "\n") + cat("Response :", object$rvar, "\n") + cat("Level :", object$lev, "in", object$rvar, "\n") + cat("Bins :", object$qnt, "\n") + cat("Cost:Margin :", object$cost, ":", object$margin, "\n") + cat("Scale :", object$scale, "\n\n") + + if (prn) { + as.data.frame(object$dataset, stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + } +} + +#' Plot method for the evalbin function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{evalbin}} +#' @param plots Plots to return +#' @param size Font size used +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalbin}} to generate results +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' +#' @importFrom scales percent +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' plot() +#' @export +plot.evalbin <- function(x, plots = c("lift", "gains"), + size = 13, shiny = FALSE, + custom = FALSE, ...) { + if (is.character(x) || is.null(x$dataset) || any(is.na(x$dataset$cum_lift)) || + is.null(plots)) { + return(invisible()) + } + + plot_list <- list() + if ("lift" %in% plots) { + plot_list[["lift"]] <- + visualize(x$dataset, xvar = "cum_prop", yvar = "cum_lift", type = "line", color = "pred", custom = TRUE) + + geom_point() + + geom_segment(aes(x = 0, y = 1, xend = 1, yend = 1), linewidth = .1, linetype = "dotdash", color = "black") + + labs(y = "Cumulative lift", x = "Proportion of population targeted") + + scale_x_continuous(labels = scales::percent) + } + + if ("gains" %in% plots) { + dataset <- x$dataset %>% + select(pred, cum_prop, cum_gains) %>% + group_by(pred) %>% + mutate(obs = 1:n()) + + init <- filter(dataset, obs == 1) + init[, c("cum_prop", "cum_gains", "obs")] <- 0 + dataset <- bind_rows(init, dataset) %>% arrange(pred, obs) + + plot_list[["gains"]] <- + visualize(dataset, xvar = "cum_prop", yvar = "cum_gains", type = "line", color = "pred", custom = TRUE) + + geom_point() + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = 1), linewidth = .1, linetype = "dotdash", color = "black") + + labs(y = "Cumulative gains", x = "Proportion of population targeted") + + scale_x_continuous(labels = scales::percent) + + scale_y_continuous(labels = scales::percent) + } + + if ("profit" %in% plots) { + dataset <- select(x$dataset, pred, cum_prop, profit) %>% + group_by(pred) %>% + mutate(obs = 1:n()) + + vlines <- data.frame( + pred = x$cnf_tab$pred, + contact = x$cnf_tab$dataset$contact + ) + default_colors <- scales::hue_pal()(nrow(vlines)) + + init <- filter(dataset, obs == 1) + init[, c("profit", "cum_prop", "obs")] <- 0 + dataset <- bind_rows(init, dataset) %>% arrange(pred, obs) + + plot_list[["profit"]] <- visualize( + dataset, + xvar = "cum_prop", + yvar = "profit", + type = "line", + color = "pred", + custom = TRUE + ) + + geom_point() + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = 0), linewidth = .1, linetype = "dotdash", color = "black") + + ## the next line doesn't work due to: https://github.com/tidyverse/ggplot2/issues/2492 + ## using 'default colors' instead + # geom_vline(data = vlines, aes(xintercept = contact, color = pred), linewidth = 0.5, linetype = "dotdash", show.legend = FALSE) + + geom_vline(xintercept = vlines$contact, color = default_colors, linewidth = 0.5, linetype = "dotdash") + + labs(y = "Profit", x = "Proportion of population targeted") + + scale_y_continuous(labels = scales::comma) + + scale_x_continuous(labels = scales::percent) + } + + if ("expected_profit" %in% plots) { + calc_exp_profit <- function(df, pred, n, cost, margin, scale) { + pext <- c(All = "", Training = " (train)", Test = " (test)") + prediction <- sort(df[[pred]], decreasing = TRUE) + profit <- prediction * margin - cost + data.frame( + pred = paste0(pred, pext[n]), + cum_prop = seq(1, nrow(df)) / nrow(df), + cum_profit = cumsum(profit) * scale + ) + } + dataset <- list() + for (n in names(x$dat_list)) { + dataset <- append(dataset, lapply(x$pred, function(pred) calc_exp_profit(x$dat_list[[n]], pred, n, x$cost, x$margin, x$scale))) + } + dataset <- bind_rows(dataset) + + vlines <- data.frame( + pred = x$cnf_tab$pred, + contact = x$cnf_tab$dataset$contact + ) + hlines <- data.frame( + pred = x$cnf_tab$pred, + max_profit = dataset %>% group_by(pred) %>% summarize(max_profit = max(cum_profit)) %>% pull(max_profit) + ) + default_colors <- scales::hue_pal()(nrow(vlines)) + + plot_list[["expected_profit"]] <- visualize( + dataset, + xvar = "cum_prop", + yvar = "cum_profit", + type = "line", + color = "pred", + custom = TRUE + ) + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = 0), linewidth = .1, linetype = "dotdash", color = "black") + + ## the next line doesn't work due to: https://github.com/tidyverse/ggplot2/issues/2492 + ## using 'default colors' instead + # geom_vline(data = vlines, aes(xintercept = contact, color = pred), linewidth = 0.5, linetype = "dotdash", show.legend = FALSE) + + geom_hline(yintercept = hlines$max_profit, color = default_colors, linewidth = 0.5, linetype = "dotdash") + + geom_vline(xintercept = vlines$contact, color = default_colors, linewidth = 0.5, linetype = "dotdash") + + labs(y = "Expected Profit", x = "Proportion of population targeted") + + scale_y_continuous(labels = scales::comma) + + scale_x_continuous(labels = scales::percent) + } + + if ("rome" %in% plots) { + plot_list[["rome"]] <- visualize( + x$dataset, + xvar = "cum_prop", + yvar = "ROME", + type = "line", + color = "pred", + custom = TRUE + ) + + geom_point() + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = 0), linewidth = .1, linetype = "dotdash", color = "black") + + labs(y = "Return on Marketing Expenditures (ROME)", x = "Proportion of population targeted") + + scale_x_continuous(labels = scales::percent) + + scale_y_continuous(labels = scales::percent) + } + + for (i in names(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + theme_set(theme_gray(base_size = size)) + if (length(x$pred) < 2 && x$train != "Both") { + plot_list[[i]] <- plot_list[[i]] + theme(legend.position = "none") + } else { + plot_list[[i]] <- plot_list[[i]] + labs(color = "Predictor") + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (shiny) x else print(x)) + } + } +} + + +#' Confusion matrix +#' +#' @details Confusion matrix and additional metrics to evaluate binary classification models. See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param pred Predictions or predictors +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' @param cost Cost for each connection (e.g., email or mailing) +#' @param margin Margin on each customer purchase +#' @param scale Scaling factor to apply to calculations +#' @param train Use data from training ("Training"), test ("Test"), both ("Both"), or all data ("All") to evaluate model evalbin +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @return A list of results +#' +#' @seealso \code{\link{summary.confusion}} to summarize results +#' @seealso \code{\link{plot.confusion}} to plot results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' confusion(c("pred1", "pred2"), "buy") %>% +#' str() +#' @importFrom psych cohen.kappa +#' +#' @export +confusion <- function(dataset, pred, rvar, lev = "", cost = 1, margin = 2, scale = 1, + train = "All", data_filter = "", arr = "", rows = NULL, + envir = parent.frame(), ...) { + if (!train %in% c("", "All") && is.empty(data_filter) && is.empty(rows)) { + return("**\nFilter or Slice required to differentiate Train and Test. To set a filter or slice go to\nData > View and click the filter checkbox\n**" %>% add_class("confusion")) + } + + ## in case no inputs were provided + if (is_not(margin) || is_not(cost)) { + break_even <- 0.5 + } else if (margin == 0) { + break_even <- cost / 1 + } else { + break_even <- cost / margin + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + + dat_list <- list() + vars <- c(pred, rvar) + if (train == "Both") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + } else if (train == "Test") { + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else { + dat_list[["All"]] <- get_data(dataset, vars, envir = envir) + } + + pdat <- list() + for (i in names(dat_list)) { + dataset <- dat_list[[i]] + rv <- dataset[[rvar]] + + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } else { + if (!lev %in% dataset[[rvar]]) { + return(add_class("Please update the selected level in the response variable", "confusion")) + } + } + + ## transformation to TRUE/FALSE depending on the selected level (lev) + dataset[[rvar]] <- dataset[[rvar]] == lev + + auc_vec <- rig_vec <- rep(NA, length(pred)) %>% set_names(pred) + for (p in pred) { + auc_vec[p] <- auc(dataset[[p]], dataset[[rvar]], TRUE) + rig_vec[p] <- rig(dataset[[p]], dataset[[rvar]], TRUE) + } + + p_vec <- colMeans(dataset[, pred, drop = FALSE]) / mean(dataset[[rvar]]) + + dataset[, pred] <- select_at(dataset, .vars = pred) > break_even + + if (length(pred) > 1) { + dataset <- mutate_at(dataset, .vars = c(rvar, pred), .funs = ~ factor(., levels = c("FALSE", "TRUE"))) + } else { + dataset[, pred] %<>% apply(2, function(x) factor(x, levels = c("FALSE", "TRUE"))) + } + + make_tab <- function(x) { + ret <- rep(0L, 4) %>% set_names(c("TN", "FN", "FP", "TP")) + tab <- table(dataset[[rvar]], x) %>% as.data.frame(stringsAsFactors = FALSE) + ## ensure a value is available for all four options + for (i in seq_len(nrow(tab))) { + if (tab[i, 1] == "TRUE") { + if (tab[i, 2] == "TRUE") { + ret["TP"] <- tab[i, 3] + } else { + ret["FN"] <- tab[i, 3] + } + } else { + if (tab[i, 2] == "TRUE") { + ret["FP"] <- tab[i, 3] + } else { + ret["TN"] <- tab[i, 3] + } + } + } + return(ret) + } + ret <- lapply(select_at(dataset, .vars = pred), make_tab) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + t() %>% + as.data.frame(stringsAsFactors = FALSE) + ret <- bind_cols( + data.frame( + Type = rep(i, length(pred)), + Predictor = pred, + stringsAsFactors = FALSE + ), + ret, + data.frame( + AUC = auc_vec, + RIG = rig_vec, + p.ratio = p_vec, + stringsAsFactors = FALSE + ) + ) + + pdat[[i]] <- ret + } + + dataset <- bind_rows(pdat) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + mutate( + total = TN + FN + FP + TP, + TPR = TP / (TP + FN), + TNR = TN / (TN + FP), + precision = TP / (TP + FP), + Fscore = 2 * (precision * TPR) / (precision + TPR), + accuracy = (TP + TN) / total, + profit = (margin * TP - cost * (TP + FP)) * scale, + ROME = (margin * TP - cost * (TP + FP)) / (cost * (TP + FP)), + contact = (TP + FP) / total, + kappa = 0 + ) + + dataset <- group_by_at(dataset, .vars = "Type") %>% + mutate(index = profit / max(profit)) %>% + ungroup() + + for (i in 1:nrow(dataset)) { + tmp <- slice(dataset, i) + dataset$kappa[i] <- psych::cohen.kappa(matrix(with(tmp, c(TN, FP, FN, TP)), ncol = 2))[["kappa"]] + } + + dataset <- select_at( + dataset, + .vars = c( + "Type", "Predictor", "TP", "FP", "TN", "FN", "total", + "TPR", "TNR", "precision", "Fscore", "RIG", "accuracy", + "kappa", "profit", "index", "ROME", "contact", "AUC" + ) + ) + + list( + dataset = dataset, df_name = df_name, data_filter = data_filter, arr = arr, + rows = rows, train = train, pred = pred, rvar = rvar, lev = lev, cost = cost, + margin = margin, scale = scale + ) %>% add_class("confusion") +} + +#' Summary method for the confusion matrix +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{confusion}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{confusion}} to generate results +#' @seealso \code{\link{plot.confusion}} to visualize result +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' confusion(c("pred1", "pred2"), "buy") %>% +#' summary() +#' @export +summary.confusion <- function(object, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat("Confusion matrix\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Results for:", object$train, "\n") + cat("Predictors :", paste0(object$pred, collapse = ", "), "\n") + cat("Response :", object$rvar, "\n") + cat("Level :", object$lev, "in", object$rvar, "\n") + cat("Cost:Margin:", object$cost, ":", object$margin, "\n") + cat("Scale :", object$scale, "\n\n") + + dataset <- mutate(object$dataset, profit = round(profit, dec)) + as.data.frame(dataset[, 1:11], stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + cat("\n") + + as.data.frame(dataset[, c(1, 2, 13:19)], stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) +} + +#' Plot method for the confusion matrix +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{confusion}} +#' @param vars Measures to plot, i.e., one or more of "TP", "FP", "TN", "FN", "total", "TPR", "TNR", "precision", "accuracy", "kappa", "profit", "index", "ROME", "contact", "AUC" +#' @param scale_y Free scale in faceted plot of the confusion matrix (TRUE or FALSE) +#' @param size Font size used +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{confusion}} to generate results +#' @seealso \code{\link{summary.confusion}} to summarize results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' confusion(c("pred1", "pred2"), "buy") %>% +#' plot() +#' @export +plot.confusion <- function(x, vars = c("kappa", "index", "ROME", "AUC"), + scale_y = TRUE, size = 13, ...) { + if (is.character(x) || is.null(x)) { + return(invisible()) + } + dataset <- x$dataset %>% + mutate_at(.vars = c("TN", "FN", "FP", "TP"), .funs = list(~ if (is.numeric(.)) . / total else .)) %>% + gather("Metric", "Value", !!vars, factor_key = TRUE) %>% + mutate(Predictor = factor(Predictor, levels = unique(Predictor))) + + ## what data was used in evaluation? All, Training, Test, or Both + type <- unique(dataset$Type) + + if (scale_y) { + p <- visualize( + dataset, + xvar = "Predictor", yvar = "Value", type = "bar", + facet_row = "Metric", fill = "Type", axes = "scale_y", custom = TRUE + ) + } else { + p <- visualize( + dataset, + xvar = "Predictor", yvar = "Value", type = "bar", + facet_row = "Metric", fill = "Type", custom = TRUE + ) + } + + p <- p + labs( + title = paste0("Classification performance plots (", paste0(type, collapse = ", "), ")"), + y = "", + x = "Predictor", + fill = "" + ) + theme_set(theme_gray(base_size = size)) + + if (length(type) < 2) { + p <- p + theme(legend.position = "none") + } + + p +} + +#' Evaluate uplift for different (binary) classification models +#' +#' @details Evaluate uplift for different (binary) classification models based on predictions. See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param pred Predictions or predictors +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' @param tvar Treatment variable +#' @param tlev The level in the treatment variable defined as the treatment +#' @param qnt Number of bins to create +#' @param cost Cost for each connection (e.g., email or mailing) +#' @param scale Scaling factor to apply to calculations +#' @param margin Margin on each customer purchase +#' @param train Use data from training ("Training"), test ("Test"), both ("Both"), or all data ("All") to evaluate model evalbin +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list of results +#' +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @importFrom scales percent +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' str() +#' @export +uplift <- function(dataset, pred, rvar, lev = "", + tvar, tlev = "", + qnt = 10, cost = 1, margin = 2, scale = 1, + train = "All", data_filter = "", arr = "", + rows = NULL, envir = parent.frame()) { + if (!train %in% c("", "All") && is.empty(data_filter) && is.empty(rows)) { + return("**\nFilter or Slice required to differentiate Train and Test. To set a filter or slice go to\nData > View and click the filter checkbox\n**" %>% add_class("evalbin")) + } + + if (is.empty(qnt)) qnt <- 10 + + cnf_tab <- confusion(dataset, pred, rvar, + lev = lev, cost = cost, margin = margin, scale = scale, + train = train, data_filter = data_filter, arr = arr, rows = rows, + envir = envir + ) + + df_name <- if (!is_string(dataset)) deparse(substitute(dataset)) else dataset + + dat_list <- list() + vars <- c(pred, rvar, tvar) + if (train == "Both") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + } else if (train == "Test") { + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + } else { + dat_list[["All"]] <- get_data(dataset, vars, envir = envir) + } + + qnt_name <- "bins" + pdat <- list() + pext <- c(All = "", Training = " (train)", Test = " (test)") + + local_xtile <- function(x, treatment, n, rev = TRUE, type = 7) { + breaks <- c(-Inf, quantile(x[treatment], probs = seq(0, 1, by = 1 / n), na.rm = TRUE, type = type)[2:n], Inf) + if (length(breaks) < 2) stop(paste("Insufficient variation in x to construct", n, "breaks"), call. = FALSE) + bins <- .bincode(x, breaks, include.lowest = TRUE) + if (rev) as.integer((n + 1) - bins) else bins + } + + for (i in names(dat_list)) { + lg_list <- list() + pl <- c() + dataset <- dat_list[[i]] + + if (nrow(dataset) == 0) { + return( + paste0("Data for ", i, " has zero rows. Please correct the filter used and try again") %>% + add_class("evalbin") + ) + } + + rv <- dataset[[rvar]] + if (is.factor(rv)) { + levs <- levels(rv) + } else { + levs <- rv %>% + as.character() %>% + as.factor() %>% + levels() + } + + if (lev == "") { + lev <- levs[1] + } else { + if (!lev %in% levs) { + return(add_class("Level provided not found", "evalbin")) + } + } + + ## transformation to TRUE/FALSE depending on the selected level (lev) + dataset[[rvar]] <- dataset[[rvar]] == lev + + tv <- dataset[[tvar]] + if (is.factor(tv)) { + tlevs <- levels(tv) + } else { + tlevs <- tv %>% + as.character() %>% + as.factor() %>% + levels() + } + + if (tlev == "") { + tlev <- tlevs[1] + } else { + if (!tlev %in% tlevs) { + return(add_class("Level provided not found", "uplift")) + } + } + + ## transformation to TRUE/FALSE depending on the selected level (tlev) + dataset[[tvar]] <- dataset[[tvar]] == tlev + + ## tip for summarise_ from http://stackoverflow.com/a/27592077/1974918 + ## put summaries in list so you can print and plot + tot_resp <- sum(dataset[[rvar]]) + tot_obs <- nrow(dataset) + + for (j in seq_along(pred)) { + pred_j <- pred[j] + pname <- paste0(pred_j, pext[i]) + lg_list[[pname]] <- + dataset %>% + select_at(.vars = c(pred_j, tvar, rvar)) %>% + # mutate(!!pred_j := radiant.data::xtile(.data[[pred_j]], n = qnt, rev = TRUE)) %>% + mutate(!!pred_j := local_xtile(.data[[pred_j]], .data[[tvar]], n = qnt, rev = TRUE)) %>% + setNames(c(qnt_name, tvar, rvar)) %>% + group_by_at(.vars = qnt_name) %>% + summarise( + nr_obs = n(), + nr_resp = sum(.data[[rvar]]), + T_resp = sum(.data[[tvar]] & .data[[rvar]]) * scale, + T_n = sum(.data[[tvar]]) * scale, + C_resp = sum(!.data[[tvar]] & .data[[rvar]]) * scale, + C_n = sum(!.data[[tvar]]) * scale, + uplift = T_resp / T_n - C_resp / C_n + ) %>% + mutate( + cum_prop = bins / qnt, + T_resp = cumsum(T_resp), + T_n = cumsum(T_n), + C_resp = cumsum(C_resp), + C_n = cumsum(C_n), + incremental_resp = T_resp - C_resp * T_n / C_n, + incremental_profit = (margin * incremental_resp - cost * T_n), + inc_uplift = incremental_resp / last(T_n) * 100 + ) %>% + mutate(pred = pname) %>% + select(pred, bins, cum_prop, T_resp, T_n, C_resp, C_n, incremental_resp, incremental_profit, inc_uplift, uplift) + } + pdat[[i]] <- bind_rows(lg_list) + } + dataset <- bind_rows(pdat) + dataset$pred <- factor(dataset$pred, levels = unique(dataset$pred)) + + list( + dataset = dataset, df_name = df_name, data_filter = data_filter, + arr = arr, rows = rows, train = train, pred = pred, rvar = rvar, + lev = lev, tvar = tvar, tlev = tlev, qnt = qnt, cost = cost, + margin = margin, scale = scale, cnf_tab = cnf_tab + ) %>% add_class("uplift") +} + +#' Summary method for the uplift function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{evalbin}} +#' @param prn Print full table of measures per model and bin +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' summary() +#' @export +summary.uplift <- function(object, prn = TRUE, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat("Evaluate uplift for binary response models\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Results for :", object$train, "\n") + cat("Predictors :", paste0(object$pred, collapse = ", "), "\n") + cat("Response :", object$rvar, "\n") + cat("Level :", object$lev, "in", object$rvar, "\n") + cat("Treatment :", object$tvar, "\n") + cat("Level :", object$tlev, "in", object$tvar, "\n") + cat("Bins :", object$qnt, "\n") + cat("Cost:Margin :", object$cost, ":", object$margin, "\n") + cat("Scale :", object$scale, "\n") + + if (prn) { + as.data.frame(object$dataset, stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + print(row.names = FALSE) + } +} + +#' Plot method for the uplift function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{evalbin}} +#' @param plots Plots to return +#' @param size Font size used +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalbin}} to generate results +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' +#' @examples +#' data.frame(buy = dvd$buy, pred1 = runif(20000), pred2 = ifelse(dvd$buy == "yes", 1, 0)) %>% +#' evalbin(c("pred1", "pred2"), "buy") %>% +#' plot() +#' @export +plot.uplift <- function(x, plots = c("inc_uplift", "uplift"), + size = 13, shiny = FALSE, + custom = FALSE, ...) { + if (is.character(x) || is.null(x$dataset) || any(is.na(x$dataset$inc_uplift)) || + is.null(plots)) { + return(invisible()) + } + + plot_list <- list() + + if ("inc_uplift" %in% plots) { + dataset <- x$dataset %>% + select(pred, cum_prop, inc_uplift) %>% + group_by(pred) %>% + mutate(obs = 1:n()) + + yend <- tail(dataset[["inc_uplift"]], 1) / 100 + + init <- filter(dataset, obs == 1) + init[, c("cum_prop", "inc_uplift", "obs")] <- 0 + dataset <- bind_rows(init, dataset) %>% + arrange(pred, obs) %>% + mutate(inc_uplift = inc_uplift / 100) + + plot_list[["inc_uplift"]] <- + visualize(dataset, xvar = "cum_prop", yvar = "inc_uplift", type = "line", color = "pred", custom = TRUE) + + geom_point() + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = yend), linewidth = .1, linetype = "dotdash", color = "black") + + labs(y = "Incremental Uplift", x = "Proportion of population targeted") + + scale_y_continuous(labels = scales::percent) + + scale_x_continuous(labels = scales::percent) + } + + if ("uplift" %in% plots) { + dataset <- x$dataset %>% + select(pred, cum_prop, uplift) %>% + group_by(pred) %>% + mutate(obs = 1:n(), Predictor = pred) # , cum_prop = round(cum_prop, 2)) + + plot_list[["uplift"]] <- + ggplot(dataset, aes(x = .data[["cum_prop"]], y = .data[["uplift"]], fill = .data[["Predictor"]])) + + geom_col(position = "dodge") + + labs(y = "Uplift", x = "Proportion of population targeted") + + scale_y_continuous(labels = scales::percent) + + scale_x_continuous(labels = scales::percent) + } + + if ("inc_profit" %in% plots) { + dataset <- x$dataset %>% + select(pred, cum_prop, incremental_profit) %>% + group_by(pred) %>% + mutate(obs = 1:n()) + + init <- filter(dataset, obs == 1) + init[, c("cum_prop", "incremental_profit", "obs")] <- 0 + dataset <- bind_rows(init, dataset) %>% + arrange(pred, obs) + + vlines <- data.frame( + pred = x$cnf_tab$pred, + contact = x$cnf_tab$dataset$contact + ) + default_colors <- scales::hue_pal()(nrow(vlines)) + + plot_list[["inc_profit"]] <- + visualize(dataset, xvar = "cum_prop", yvar = "incremental_profit", type = "line", color = "pred", custom = TRUE) + + geom_point() + + geom_segment(aes(x = 0, y = 0, xend = 1, yend = 0), linewidth = .1, linetype = "dotdash", color = "black") + + ## the next line doesn't work due to: https://github.com/tidyverse/ggplot2/issues/2492 + ## using 'default colors' instead + # geom_vline(data = vlines, aes(xintercept = contact, color = pred), linewidth = 0.5, linetype = "dotdash", show.legend = FALSE) + + geom_vline(xintercept = vlines$contact, color = default_colors, linewidth = 0.5, linetype = "dotdash") + + labs(y = "Incremental Profit", x = "Proportion of population targeted") + + scale_y_continuous(labels = scales::comma) + + scale_x_continuous(labels = scales::percent) + } + + + for (i in names(plot_list)) { + plot_list[[i]] <- plot_list[[i]] + theme_set(theme_gray(base_size = size)) + if (length(x$pred) < 2 && x$train != "Both") { + plot_list[[i]] <- plot_list[[i]] + theme(legend.position = "none") + } else { + plot_list[[i]] <- plot_list[[i]] + labs(color = "Predictor") + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = 1) %>% + (function(x) if (shiny) x else print(x)) + } + } +} + +#' Area Under the RO Curve (AUC) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param pred Prediction or predictor +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' +#' @return AUC statistic +#' +#' @seealso \code{\link{evalbin}} to calculate results +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @examples +#' auc(runif(20000), dvd$buy, "yes") +#' auc(ifelse(dvd$buy == "yes", 1, 0), dvd$buy, "yes") +#' @export +auc <- function(pred, rvar, lev) { + ## adapted from https://stackoverflow.com/a/50202118/1974918 + if (!is.logical(rvar)) { + lev <- check_lev(rvar, lev) + rvar <- rvar == lev + } + n1 <- sum(!rvar) + n2 <- sum(rvar) + U <- sum(rank(pred)[!rvar]) - n1 * (n1 + 1) / 2 + wt <- U / n1 / n2 + ifelse(wt < .5, 1 - wt, wt) +} + +#' Relative Information Gain (RIG) +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalbin.html} for an example in Radiant +#' +#' @param pred Prediction or predictor +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' @param crv Correction value to avoid log(0) +#' @param na.rm Logical that indicates if missing values should be removed (TRUE) or not (FALSE) +#' +#' @return RIG statistic +#' +#' @seealso \code{\link{evalbin}} to calculate results +#' @seealso \code{\link{summary.evalbin}} to summarize results +#' @seealso \code{\link{plot.evalbin}} to plot results +#' +#' @examples +#' rig(runif(20000), dvd$buy, "yes") +#' rig(ifelse(dvd$buy == "yes", 1, 0), dvd$buy, "yes") +#' @export +rig <- function(pred, rvar, lev, crv = 0.0000001, na.rm = TRUE) { + if (!is.logical(rvar)) { + lev <- check_lev(rvar, lev) + rvar <- rvar == lev + } + mo <- mean(rvar, na.rm = na.rm) + pred <- pmin(pmax(pred, crv, na.rm = na.rm), 1 - crv, na.rm = na.rm) + llpred <- mean(-log(pred) * rvar - log(1 - pred) * (1 - rvar)) + llbase <- mean(-log(mo) * rvar - log(1 - mo) * (1 - rvar)) + round((1 - llpred / llbase), 6) +} + +#' Calculate Profit based on cost:margin ratio +#' +#' @param pred Prediction or predictor +#' @param rvar Response variable +#' @param lev The level in the response variable defined as success +#' @param cost Cost per treatment (e.g., mailing costs) +#' @param margin Margin, or benefit, per 'success' (e.g., customer purchase). A cost:margin ratio of 1:2 implies +#' the cost of False Positive are equivalent to the benefits of a True Positive +#' +#' @return profit +#' +#' @examples +#' profit(runif(20000), dvd$buy, "yes", cost = 1, margin = 2) +#' profit(ifelse(dvd$buy == "yes", 1, 0), dvd$buy, "yes", cost = 1, margin = 20) +#' profit(ifelse(dvd$buy == "yes", 1, 0), dvd$buy) +#' @export +profit <- function(pred, rvar, lev, cost = 1, margin = 2) { + if (!is.logical(rvar)) { + lev <- check_lev(rvar, lev) + rvar <- rvar == lev + } + break_even <- cost / margin + TP <- rvar & (pred > break_even) + FP <- !rvar & (pred > break_even) + margin * sum(TP) - cost * sum(TP, FP) +} + +## Check that a relevant value for 'lev' is available +# Examples +# check_lev(1:10, 1) +# check_lev(letters, "a") +# check_lev(c(TRUE, FALSE), TRUE) +# check_lev(c(TRUE, FALSE)) +# check_lev(factor(letters)) +# check_lev(letters) +# check_lev(factor(letters), 1) +check_lev <- function(rvar, lev) { + if (missing(lev)) { + if (is.factor(rvar)) { + lev <- levels(rvar)[1] + } else if (is.logical(rvar)) { + lev <- TRUE + } else { + stop("Unless rvar is of type factor or logical you must provide the level in rvar to evaluate") + } + } else { + if (length(lev) > 1) { + stop("lev must have length 1 but is of length", length(lev)) + } else if (!lev %in% rvar) { + cat("rvar:", head(as.character(rvar))) + cat("\nlev:", head(lev), "\n") + stop("lev must be an element of rvar") + } + # stopifnot(length(lev) == 1, lev %in% rvar | is.logical(lev)) + } + lev +} diff --git a/radiant.model/R/evalreg.R b/radiant.model/R/evalreg.R new file mode 100644 index 0000000..5ecbbb4 --- /dev/null +++ b/radiant.model/R/evalreg.R @@ -0,0 +1,190 @@ +#' Evaluate the performance of different regression models +#' +#' @details Evaluate different regression models based on predictions. See \url{https://radiant-rstats.github.io/docs/model/evalreg.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param pred Predictions or predictors +#' @param rvar Response variable +#' @param train Use data from training ("Training"), test ("Test"), both ("Both"), or all data ("All") to evaluate model evalreg +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "training == 1") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list of results +#' +#' @seealso \code{\link{summary.evalreg}} to summarize results +#' @seealso \code{\link{plot.evalreg}} to plot results +#' +#' @examples +#' data.frame(price = diamonds$price, pred1 = rnorm(3000), pred2 = diamonds$price) %>% +#' evalreg(pred = c("pred1", "pred2"), "price") %>% +#' str() +#' +#' @export +evalreg <- function(dataset, pred, rvar, train = "All", + data_filter = "", arr = "", rows = NULL, envir = parent.frame()) { + if (!train %in% c("", "All") && is.empty(data_filter) && is.empty(rows)) { + return("**\nFilter or Slice required. To set a filter or slice go to\nData > View and click the filter checkbox\n**" %>% add_class("evalreg")) + } + + # Add an option to exponentiate predictions in case of log regression + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + + dat_list <- list() + vars <- c(pred, rvar) + if (train == "Both") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else if (train == "Training") { + dat_list[["Training"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + } else if (train == "Test" | train == "Validation") { + dat_list[["Test"]] <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, rev = TRUE, envir = envir) + } else { + dat_list[["All"]] <- get_data(dataset, vars, envir = envir) + } + + pdat <- list() + for (i in names(dat_list)) { + dat <- dat_list[[i]] + rv <- dat[[rvar]] + + ## see http://stackoverflow.com/a/35617817/1974918 about extracting a row + ## from a tbl_df + pdat[[i]] <- data.frame( + Type = rep(i, length(pred)), + Predictor = pred, + n = nrow(dat[pred]), + Rsq = cor(rv, select_at(dat, pred))^2 %>% .[1, ], + RMSE = summarise_at(dat, .vars = pred, .funs = ~ sqrt(mean((rv - .)^2, na.rm = TRUE))) %>% unlist(), + MAE = summarise_at(dat, .vars = pred, .funs = ~ mean(abs(rv - .), na.rm = TRUE)) %>% unlist(), + stringsAsFactors = FALSE + ) + } + + dat <- bind_rows(pdat) %>% as.data.frame(stringsAsFactors = FALSE) + rm(pdat, dat_list, i) + + as.list(environment()) %>% add_class("evalreg") +} + +#' Summary method for the evalreg function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalreg.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{evalreg}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalreg}} to summarize results +#' @seealso \code{\link{plot.evalreg}} to plot results +#' +#' @examples +#' data.frame(price = diamonds$price, pred1 = rnorm(3000), pred2 = diamonds$price) %>% +#' evalreg(pred = c("pred1", "pred2"), "price") %>% +#' summary() +#' +#' @export +summary.evalreg <- function(object, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + cat("Evaluate predictions for regression models\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Results for :", object$train, "\n") + cat("Predictors :", paste0(object$pred, collapse = ", "), "\n") + cat("Response :", object$rvar, "\n\n") + format_df(object$dat, dec = dec, mark = ",") %>% + print(row.names = FALSE) +} + +#' Plot method for the evalreg function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/evalreg.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{evalreg}} +#' @param vars Measures to plot, i.e., one or more of "Rsq", "RMSE", "MAE" +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{evalreg}} to generate results +#' @seealso \code{\link{summary.evalreg}} to summarize results +#' +#' @examples +#' data.frame(price = diamonds$price, pred1 = rnorm(3000), pred2 = diamonds$price) %>% +#' evalreg(pred = c("pred1", "pred2"), "price") %>% +#' plot() +#' +#' @export +plot.evalreg <- function(x, vars = c("Rsq", "RMSE", "MAE"), ...) { + if (is.character(x) || is.null(x)) { + return(invisible()) + } + + dat <- gather(x$dat, "Metric", "Value", !!vars, factor_key = TRUE) %>% + mutate(Predictor = factor(Predictor, levels = unique(Predictor))) + + ## what data was used in evaluation? All, Training, Test, or Both + type <- unique(dat$Type) + + p <- visualize( + dat, + xvar = "Predictor", + yvar = "Value", + type = "bar", + facet_row = "Metric", + fill = "Type", + axes = "scale_y", + custom = TRUE + ) + + labs( + title = glue('Regression performance plots ({glue_collapse(type, ", ")})'), + y = "", + x = "Predictor", + fill = "" + ) + + if (length(type) < 2) { + p + theme(legend.position = "none") + } else { + p + } +} + +#' R-squared +#' +#' @param pred Prediction (vector) +#' @param rvar Response (vector) +#' +#' @return R-squared +#' +#' @export +Rsq <- function(pred, rvar) cor(pred, rvar)^2 + +#' Root Mean Squared Error +#' +#' @param pred Prediction (vector) +#' @param rvar Response (vector) +#' +#' @return Root Mean Squared Error +#' +#' @export +RMSE <- function(pred, rvar) sqrt(mean(unlist((pred - rvar)^2))) + +#' Mean Absolute Error +#' +#' @param pred Prediction (vector) +#' @param rvar Response (vector) +#' +#' @return Mean Absolute Error +#' +#' @export +MAE <- function(pred, rvar) mean(unlist(abs(pred - rvar))) diff --git a/radiant.model/R/gbt.R b/radiant.model/R/gbt.R new file mode 100644 index 0000000..0e82da3 --- /dev/null +++ b/radiant.model/R/gbt.R @@ -0,0 +1,726 @@ +#' Gradient Boosted Trees using XGBoost +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/gbt.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param type Model type (i.e., "classification" or "regression") +#' @param lev Level to use as the first column in prediction output +#' @param max_depth Maximum 'depth' of tree +#' @param learning_rate Learning rate (eta) +#' @param min_split_loss Minimal improvement (gamma) +#' @param nrounds Number of trees to create +#' @param min_child_weight Minimum number of instances allowed in each node +#' @param subsample Subsample ratio of the training instances (0-1) +#' @param early_stopping_rounds Early stopping rule +#' @param nthread Number of parallel threads to use. Defaults to 12 if available +#' @param wts Weights to use in estimation +#' @param seed Random seed to use as the starting point +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' @param ... Further arguments to pass to xgboost +#' +#' @return A list with all variables defined in gbt as an object of class gbt +#' +#' @examples +#' \dontrun{ +#' gbt(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% summary() +#' gbt(titanic, "survived", c("pclass", "sex")) %>% str() +#' } +#' gbt( +#' titanic, "survived", c("pclass", "sex"), lev = "Yes", +#' early_stopping_rounds = 0, nthread = 1 +#' ) %>% summary() +#' gbt( +#' titanic, "survived", c("pclass", "sex"), +#' early_stopping_rounds = 0, nthread = 1 +#' ) %>% str() +#' gbt( +#' titanic, "survived", c("pclass", "sex"), +#' eval_metric = paste0("error@", 0.5 / 6), nthread = 1 +#' ) %>% str() +#' gbt( +#' diamonds, "price", c("carat", "clarity"), type = "regression", nthread = 1 +#' ) %>% summary() +#' +#' @seealso \code{\link{summary.gbt}} to summarize results +#' @seealso \code{\link{plot.gbt}} to plot results +#' @seealso \code{\link{predict.gbt}} for prediction +#' +#' @importFrom xgboost xgboost xgb.importance +#' @importFrom lubridate is.Date +#' +#' @export +gbt <- function(dataset, rvar, evar, type = "classification", lev = "", + max_depth = 6, learning_rate = 0.3, min_split_loss = 0, + min_child_weight = 1, subsample = 1, + nrounds = 100, early_stopping_rounds = 10, + nthread = 12, wts = "None", seed = NA, + data_filter = "", arr = "", rows = NULL, + envir = parent.frame(), ...) { + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("gbt")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) %>% + mutate_if(is.Date, as.numeric) + nr_obs <- nrow(dataset) + + if (!is.empty(wts, "None")) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("gbt") + ) + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("gbt")) + } + + rv <- dataset[[rvar]] + + if (type == "classification") { + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } + if (lev != levels(rv)[1]) { + dataset[[rvar]] <- relevel(dataset[[rvar]], lev) + } + } + + vars <- evar + ## in case : is used + if (length(vars) < (ncol(dataset) - 1)) { + vars <- evar <- colnames(dataset)[-1] + } + + gbt_input <- list( + max_depth = max_depth, + learning_rate = learning_rate, + min_split_loss = min_split_loss, + nrounds = nrounds, + min_child_weight = min_child_weight, + subsample = subsample, + early_stopping_rounds = early_stopping_rounds, + nthread = nthread + ) + + ## checking for extra args + extra_args <- list(...) + extra_args_names <- names(extra_args) + check_args <- function(arg, default, inp = gbt_input) { + if (!arg %in% extra_args_names) inp[[arg]] <- default + inp + } + + if (type == "classification") { + gbt_input <- check_args("objective", "binary:logistic") + gbt_input <- check_args("eval_metric", "auc") + dty <- as.integer(dataset[[rvar]] == lev) + } else { + gbt_input <- check_args("objective", "reg:squarederror") + gbt_input <- check_args("eval_metric", "rmse") + dty <- dataset[[rvar]] + } + + ## adding data + dtx <- onehot(dataset[, -1, drop = FALSE])[, -1, drop = FALSE] + gbt_input <- c(gbt_input, list(data = dtx, label = dty), ...) + + ## based on https://stackoverflow.com/questions/14324096/setting-seed-locally-not-globally-in-r/14324316#14324316 + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) { + if (exists(".Random.seed")) { + gseed <- .Random.seed + on.exit(.Random.seed <<- gseed) + } + set.seed(seed) + } + + ## capturing the iteration history + output <- capture.output(model <<- do.call(xgboost::xgboost, gbt_input)) + + ## adding residuals for regression models + if (type == "regression") { + model$residuals <- dataset[[rvar]] - predict(model, dtx) + } else { + model$residuals <- NULL + } + + ## adding feature importance information + ## replaced by premutation importance + # model$importance <- xgboost::xgb.importance(model = model) + + ## gbt model object does not include the data by default + model$model <- dataset + + rm(dataset, dty, dtx, rv, envir) ## dataset not needed elsewhere + gbt_input$data <- gbt_input$label <- NULL + + ## needed to work with prediction functions + check <- "" + + as.list(environment()) %>% add_class(c("gbt", "model")) +} + +#' Summary method for the gbt function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/gbt.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{gbt}} +#' @param prn Print iteration history +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- gbt( +#' titanic, "survived", c("pclass", "sex"), +#' early_stopping_rounds = 0, nthread = 1 +#' ) +#' summary(result) +#' @seealso \code{\link{gbt}} to generate results +#' @seealso \code{\link{plot.gbt}} to plot results +#' @seealso \code{\link{predict.gbt}} for prediction +#' +#' @export +summary.gbt <- function(object, prn = TRUE, ...) { + if (is.character(object)) { + return(object) + } + cat("Gradient Boosted Trees (XGBoost)\n") + if (object$type == "classification") { + cat("Type : Classification") + } else { + cat("Type : Regression") + } + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + if (object$type == "classification") { + cat("\nLevel :", object$lev, "in", object$rvar) + } + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } + cat("Max depth :", object$max_depth, "\n") + cat("Learning rate (eta) :", object$learning_rate, "\n") + cat("Min split loss :", object$min_split_loss, "\n") + cat("Min child weight :", object$min_child_weight, "\n") + cat("Sub-sample :", object$subsample, "\n") + cat("Nr of rounds (trees) :", object$nrounds, "\n") + cat("Early stopping rounds:", object$early_stopping_rounds, "\n") + if (length(object$extra_args)) { + extra_args <- deparse(object$extra_args) %>% + sub("list\\(", "", .) %>% + sub("\\)$", "", .) %>% + sub(" {2,}", " ", .) + cat("Additional arguments :", extra_args, "\n") + } + if (!is.empty(object$seed)) { + cat("Seed :", object$seed, "\n") + } + + if (!is.empty(object$wts, "None") && (length(unique(object$wts)) > 2 || min(object$wts) >= 1)) { + cat("Nr obs :", format_nr(sum(object$wts), dec = 0), "\n") + } else { + cat("Nr obs :", format_nr(object$nr_obs, dec = 0), "\n") + } + + if (isTRUE(prn)) { + cat("\nIteration history:\n\n") + ih <- object$output[c(-2, -3)] + if (length(ih) > 20) ih <- c(head(ih, 10), "...", tail(ih, 10)) + cat(paste0(ih, collapse = "\n")) + } +} + +#' Plot method for the gbt function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/gbt.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{gbt}} +#' @param plots Plots to produce for the specified Gradient Boosted Tree model. Use "" to avoid showing any plots (default). Options are ... +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param incl Which variables to include in a coefficient plot or PDP plot +#' @param incl_int Which interactions to investigate in PDP plots +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. +#' This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). +#' See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- gbt( +#' titanic, "survived", c("pclass", "sex"), +#' early_stopping_rounds = 0, nthread = 1 +#' ) +#' plot(result) +#' +#' @seealso \code{\link{gbt}} to generate results +#' @seealso \code{\link{summary.gbt}} to summarize results +#' @seealso \code{\link{predict.gbt}} for prediction +#' +#' @importFrom pdp partial +#' @importFrom rlang .data +#' +#' @export +plot.gbt <- function(x, plots = "", nrobs = Inf, + incl = NULL, incl_int = NULL, + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x) || !inherits(x$model, "xgb.Booster")) { + return(x) + } + plot_list <- list() + ncol <- 1 + + if (x$type == "regression" && "dashboard" %in% plots) { + plot_list <- plot.regress(x, plots = "dashboard", lines = "line", nrobs = nrobs, custom = TRUE) + ncol <- 2 + } + + if ("pdp" %in% plots) { + ncol <- 2 + if (length(incl) == 0 && length(incl_int) == 0) { + return("Select one or more variables to generate Partial Dependence Plots") + } + mod_dat <- x$model$model[, -1, drop = FALSE] + dtx <- onehot(mod_dat)[, -1, drop = FALSE] + for (pn in incl) { + if (is.factor(mod_dat[[pn]])) { + fn <- paste0(pn, levels(mod_dat[[pn]]))[-1] + effects <- rep(NA, length(fn)) + nr <- length(fn) + for (i in seq_len(nr)) { + seed <- x$seed + dtx_cat <- dtx + dtx_cat[, setdiff(fn, fn[i])] <- 0 + pdi <- pdp::partial( + x$model, + pred.var = fn[i], plot = FALSE, + prob = x$type == "classification", train = dtx_cat + ) + effects[i] <- pdi[pdi[[1]] > 0, 2] + } + pgrid <- as.data.frame(matrix(0, ncol = nr)) + colnames(pgrid) <- fn + base <- pdp::partial( + x$model, + pred.var = fn, + pred.grid = pgrid, plot = FALSE, + prob = x$type == "classification", train = dtx + )[1, "yhat"] + pd <- data.frame(label = levels(mod_dat[[pn]]), yhat = c(base, effects)) %>% + mutate(label = factor(label, levels = label)) + colnames(pd)[1] <- pn + plot_list[[pn]] <- ggplot(pd, aes(x = .data[[pn]], y = .data$yhat)) + + geom_point() + + labs(y = NULL) + } else { + plot_list[[pn]] <- pdp::partial( + x$model, + pred.var = pn, plot = TRUE, rug = TRUE, + prob = x$type == "classification", plot.engine = "ggplot2", + train = dtx + ) + labs(y = NULL) + } + } + for (pn_lab in incl_int) { + iint <- strsplit(pn_lab, ":")[[1]] + df <- mod_dat[, iint] + is_num <- sapply(df, is.numeric) + if (sum(is_num) == 2) { + # 2 numeric variables + cn <- colnames(df) + num_range1 <- df[[cn[1]]] %>% + (function(x) seq(min(x), max(x), length.out = 20)) %>% + paste0(collapse = ", ") + num_range2 <- df[[cn[2]]] %>% + (function(x) seq(min(x), max(x), length.out = 20)) %>% + paste0(collapse = ", ") + pred <- predict(x, pred_cmd = glue("{cn[1]} = c({num_range1}), {cn[2]} = c({num_range2})")) + plot_list[[pn_lab]] <- ggplot(pred, aes(x = .data[[cn[1]]], y = .data[[cn[2]]], fill = .data[["Prediction"]])) + + geom_tile() + } else if (sum(is_num) == 0) { + # 2 categorical variables + cn <- colnames(df) + pred <- predict(x, pred_cmd = glue("{cn[1]} = levels({cn[1]}), {cn[2]} = levels({cn[2]})")) + plot_list[[pn_lab]] <- visualize( + pred, + xvar = cn[1], yvar = "Prediction", type = "line", color = cn[2], custom = TRUE + ) + labs(y = NULL) + } else if (sum(is_num) == 1) { + # 1 categorical and one numeric variable + cn <- colnames(df) + cn_fct <- cn[!is_num] + cn_num <- cn[is_num] + num_range <- df[[cn_num[1]]] %>% + (function(x) seq(min(x), max(x), length.out = 20)) %>% + paste0(collapse = ", ") + pred <- predict(x, pred_cmd = glue("{cn_num[1]} = c({num_range}), {cn_fct} = levels({cn_fct})")) + plot_list[[pn_lab]] <- plot(pred, xvar = cn_num[1], color = cn_fct, custom = TRUE) + } + } + } + + if ("pred_plot" %in% plots) { + ncol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("vip" %in% plots) { + ncol <- 1 + if (length(x$evar) < 2) { + message("Model must contain at least 2 explanatory variables (features). Permutation Importance plot cannot be generated") + } else { + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = ifelse(x$type == "regression", "Importance (R-square decrease)", "Importance (AUC decrease)") + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = ncol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} + +#' Predict method for the gbt function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/gbt.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{gbt}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., diamonds). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- gbt( +#' titanic, "survived", c("pclass", "sex"), +#' early_stopping_rounds = 2, nthread = 1 +#' ) +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' result <- gbt(diamonds, "price", "carat:color", type = "regression", nthread = 1) +#' predict(result, pred_cmd = "carat = 1:3") +#' predict(result, pred_data = diamonds) %>% head() +#' @seealso \code{\link{gbt}} to generate the result +#' @seealso \code{\link{summary.gbt}} to summarize results +#' +#' @export +predict.gbt <- function(object, pred_data = NULL, pred_cmd = "", + dec = 3, envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + ## ensure the factor levels in the prediction data are the + ## same as in the data used for estimation + est_data <- model$model[, -1, drop = FALSE] + for (i in colnames(pred)) { + if (is.factor(est_data[[i]])) { + pred[[i]] <- factor(pred[[i]], levels = levels(est_data[[i]])) + } + } + pred <- onehot(pred[, colnames(est_data), drop = FALSE])[, -1, drop = FALSE] + ## for testing purposes + # pred <- model$model[, -1, drop = FALSE] + pred_val <- try(sshhr(predict(model, pred)), silent = TRUE) + if (!inherits(pred_val, "try-error")) { + pred_val %<>% as.data.frame(stringsAsFactors = FALSE) %>% + select(1) %>% + set_colnames("Prediction") + } + + pred_val + } + + predict_model(object, pfun, "gbt.predict", pred_data, pred_cmd, conf_lev = 0.95, se = FALSE, dec, envir = envir) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for predict.gbt +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.gbt.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Gradiant Boosted Trees") +} + +#' Cross-validation for Gradient Boosted Trees +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/gbt.html} for an example in Radiant +#' +#' @param object Object of type "gbt" or "ranger" +#' @param K Number of cross validation passes to use (aka nfold) +#' @param repeats Repeated cross validation +#' @param params List of parameters (see XGBoost documentation) +#' @param nrounds Number of trees to create +#' @param early_stopping_rounds Early stopping rule +#' @param nthread Number of parallel threads to use. Defaults to 12 if available +#' @param train An optional xgb.DMatrix object containing the original training data. Not needed when using Radiant's gbt function +#' @param type Model type ("classification" or "regression") +#' @param trace Print progress +#' @param seed Random seed to use as the starting point +#' @param maximize When a custom function is used, xgb.cv requires the user indicate if the function output should be maximized (TRUE) or minimized (FALSE) +#' @param fun Function to use for model evaluation (i.e., auc for classification and RMSE for regression) +#' @param ... Additional arguments to be passed to 'fun' +#' +#' @return A data.frame sorted by the mean of the performance metric +#' +#' @seealso \code{\link{gbt}} to generate an initial model that can be passed to cv.gbt +#' @seealso \code{\link{Rsq}} to calculate an R-squared measure for a regression +#' @seealso \code{\link{RMSE}} to calculate the Root Mean Squared Error for a regression +#' @seealso \code{\link{MAE}} to calculate the Mean Absolute Error for a regression +#' @seealso \code{\link{auc}} to calculate the area under the ROC curve for classification +#' @seealso \code{\link{profit}} to calculate profits for classification at a cost/margin threshold +#' +#' @importFrom shiny getDefaultReactiveDomain withProgress incProgress +#' +#' @examples +#' \dontrun{ +#' result <- gbt(dvd, "buy", c("coupon", "purch", "last")) +#' cv.gbt(result, params = list(max_depth = 1:6)) +#' cv.gbt(result, params = list(max_depth = 1:6), fun = "logloss") +#' cv.gbt( +#' result, +#' params = list(learning_rate = seq(0.1, 1.0, 0.1)), +#' maximize = TRUE, fun = profit, cost = 1, margin = 5 +#' ) +#' result <- gbt(diamonds, "price", c("carat", "color", "clarity"), type = "regression") +#' cv.gbt(result, params = list(max_depth = 1:2, min_child_weight = 1:2)) +#' cv.gbt(result, params = list(learning_rate = seq(0.1, 0.5, 0.1)), fun = Rsq, maximize = TRUE) +#' cv.gbt(result, params = list(learning_rate = seq(0.1, 0.5, 0.1)), fun = MAE, maximize = FALSE) +#' } +#' +#' @export +cv.gbt <- function(object, K = 5, repeats = 1, params = list(), + nrounds = 500, early_stopping_rounds = 10, nthread = 12, + train = NULL, type = "classification", + trace = TRUE, seed = 1234, maximize = NULL, fun, ...) { + if (inherits(object, "gbt")) { + dv <- object$rvar + dataset <- object$model$model + dtx <- onehot(dataset[, -1, drop = FALSE])[, -1, drop = FALSE] + type <- object$type + if (type == "classification") { + objective <- "binary:logistic" + dty <- as.integer(dataset[[dv]] == object$lev) + } else { + objective <- "reg:squarederror" + dty <- dataset[[dv]] + } + train <- xgboost::xgb.DMatrix(data = dtx, label = dty) + params_base <- object$model$params + if (is.empty(params_base[["eval_metric"]])) { + params_base[["eval_metric"]] <- object$extra_args[["eval_metric"]] + } + if (is.empty(params_base[["maximize"]])) { + params_base[["maximize"]] <- object$extra_args[["maximize"]] + } + } else if (!inherits(object, "xgb.Booster")) { + stop("The model object does not seems to be a Gradient Boosted Tree") + } else { + if (!inherits(train, "xgb.DMatrix")) { + train <- eval(object$call[["data"]]) + } + params_base <- object$params + } + if (!inherits(train, "xgb.DMatrix")) { + stop("Could not access data. Please use the 'train' argument to pass along a matrix created using xgboost::xgb.DMatrix") + } + + params_base[c("nrounds", "nthread", "silent")] <- NULL + for (n in names(params)) { + params_base[[n]] <- params[[n]] + } + params <- params_base + if (is.empty(maximize)) { + maximize <- params$maximize + } + + if (missing(fun)) { + if (type == "classification") { + if (length(params$eval_metric) == 0) { + fun <- params$eval_metric <- "auc" + } else if (is.character(params$eval_metric)) { + fun <- params$eval_metric + } else { + fun <- list("custom" = params$eval_metric) + } + } else { + if (length(params$eval_metric) == 0) { + fun <- params$eval_metric <- "rmse" + } else if (is.character(params$eval_metric)) { + fun <- params$eval_metric + } else { + fun <- list("custom" = params$eval_metric) + } + } + } + + if (length(shiny::getDefaultReactiveDomain()) > 0) { + trace <- FALSE + incProgress <- shiny::incProgress + withProgress <- shiny::withProgress + } else { + incProgress <- function(...) {} + withProgress <- function(...) list(...)[["expr"]] + } + + ## setting up a customer evaluation function + if (is.function(fun)) { + if (missing(...)) { + if (type == "classification") { + fun_wrapper <- function(preds, dtrain) { + labels <- xgboost::getinfo(dtrain, "label") + value <- fun(preds, labels, 1) + list(metric = cn, value = value) + } + } else { + fun_wrapper <- function(preds, dtrain) { + labels <- xgboost::getinfo(dtrain, "label") + value <- fun(preds, labels) + list(metric = cn, value = value) + } + } + } else { + if (type == "classification") { + fun_wrapper <- function(preds, dtrain) { + labels <- xgboost::getinfo(dtrain, "label") + value <- fun(preds, labels, 1, ...) + list(metric = cn, value = value) + } + } else { + fun_wrapper <- function(preds, dtrain) { + labels <- xgboost::getinfo(dtrain, "label") + value <- fun(preds, labels, ...) + list(metric = cn, value = value) + } + } + } + cn <- deparse(substitute(fun)) + if (grepl(":{2,3}", cn)) cn <- sub("^.+:{2,3}", "", cn) + params$eval_metric <- cn + } else if (is.list(fun)) { + fun_wrapper <- fun[["custom"]] + params$eval_metric <- "custom" + } else { + fun_wrapper <- params$eval_metric <- fun + } + + tf <- tempfile() + tune_grid <- expand.grid(params) + nitt <- nrow(tune_grid) + withProgress(message = "Running cross-validation (gbt)", value = 0, { + out <- list() + for (i in seq_len(nitt)) { + cv_params <- tune_grid[i, ] + if (!is.empty(cv_params$nrounds)) { + nrounds <- cv_params$nrounds + cv_params$nrounds <- NULL + } + if (trace) { + cat("Working on", paste0(paste(colnames(cv_params), "=", cv_params), collapse = ", "), "\n") + } + for (j in seq_len(repeats)) { + set.seed(seed) + sink(tf) ## avoiding messages from xgboost::xgb.cv + cv_params_tmp <- cv_params + for (nm in c("eval_metric", "maximize", "early_stopping_rounds", "nthread")) { + cv_params_tmp[[nm]] <- NULL + } + model <- try(xgboost::xgb.cv( + params = as.list(cv_params_tmp), + data = train, + nfold = K, + print_every_n = 500, + eval_metric = fun_wrapper, + maximize = maximize, + early_stopping_rounds = early_stopping_rounds, + nrounds = nrounds, + nthread = nthread + )) + sink() + if (inherits(model, "try-error")) { + stop(model) + } + out[[paste0(i, "-", j)]] <- as.data.frame(c( + nrounds = nrounds, best_iteration = model$best_iteration, + model$evaluation_log[model$best_iteration, -1], cv_params + )) + } + incProgress(1 / nitt, detail = paste("\nCompleted run", i, "out of", nitt)) + } + }) + + out <- bind_rows(out) + if (type == "classification") { + out[order(out[[5]], decreasing = TRUE), ] + } else { + out[order(out[[5]], decreasing = FALSE), ] + } +} diff --git a/radiant.model/R/logistic.R b/radiant.model/R/logistic.R new file mode 100644 index 0000000..3282f15 --- /dev/null +++ b/radiant.model/R/logistic.R @@ -0,0 +1,1080 @@ +#' Logistic regression +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/logistic.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param lev The level in the response variable defined as _success_ +#' @param int Interaction term to include in the model +#' @param wts Weights to use in estimation +#' @param check Use "standardize" to see standardized coefficient estimates. Use "stepwise-backward" (or "stepwise-forward", or "stepwise-both") to apply step-wise selection of variables in estimation. Add "robust" for robust estimation of standard errors (HC1) +#' @param form Optional formula to use instead of rvar, evar, and int +#' @param ci_type To use the profile-likelihood (rather than Wald) for confidence intervals use "profile". For datasets with more than 5,000 rows the Wald method will be used, unless "profile" is explicitly set +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in logistic as an object of class logistic +#' +#' @examples +#' logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% summary() +#' logistic(titanic, "survived", c("pclass", "sex")) %>% str() +#' @seealso \code{\link{summary.logistic}} to summarize the results +#' @seealso \code{\link{plot.logistic}} to plot the results +#' @seealso \code{\link{predict.logistic}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @importFrom sandwich vcovHC +#' +#' @export +logistic <- function(dataset, rvar, evar, lev = "", int = "", + wts = "None", check = "", form, ci_type, + data_filter = "", arr = "", rows = NULL, envir = parent.frame()) { + if (!missing(form)) { + form <- as.formula(format(form)) + paste0(format(form), collapse = "") + + vars <- all.vars(form) + rvar <- vars[1] + evar <- vars[-1] + } + + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("logistic")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + if (any(evar == ".")) { + dataset <- get_data(dataset, "", filt = data_filter, arr = arr, rows = rows, envir = envir) + evar <- setdiff(colnames(dataset), rvar) + } else { + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + } + + if (missing(ci_type)) { + ## Use profiling for smaller datasets + if (nrow(na.omit(dataset)) < 5000) { + ci_type <- "profile" + } else { + ci_type <- "default" + } + } + + if (!is.empty(wts)) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("logistic") + ) + } + if (!is.integer(wts)) { + if (length(unique(wts)) == 2 && min(wts) < 1) { + check <- union(check, "robust") + } + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("logistic")) + } + + rv <- dataset[[rvar]] + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } + + ## transformation to TRUE/FALSE depending on the selected level (lev) + dataset[[rvar]] <- dataset[[rvar]] == lev + + if (!missing(form)) { + int <- setdiff(attr(terms.formula(form), "term.labels"), evar) + } + + vars <- "" + var_check(evar, colnames(dataset)[-1], int) %>% + { + vars <<- .$vars + evar <<- .$ev + int <<- .$intv + } + + ## add minmax attributes to data + mmx <- minmax(dataset) + + ## scale data + if ("standardize" %in% check) { + dataset <- scale_df(dataset, wts = wts) + } else if ("center" %in% check) { + dataset <- scale_df(dataset, scale = FALSE, wts = wts) + } + + if (missing(form)) { + form_upper <- paste(rvar, "~", paste(vars, collapse = " + ")) %>% as.formula() + } else { + form_upper <- form + rm(form) + } + + form_lower <- paste(rvar, "~ 1") %>% as.formula() + if ("stepwise" %in% check) check <- sub("stepwise", "stepwise-backward", check) + if ("stepwise-backward" %in% check) { + ## use k = 2 for AIC, use k = log(nrow(dataset)) for BIC + model <- sshhr(glm(form_upper, weights = wts, family = binomial(link = "logit"), data = dataset)) %>% + step(k = 2, scope = list(lower = form_lower), direction = "backward") + } else if ("stepwise-forward" %in% check) { + model <- sshhr(glm(form_lower, weights = wts, family = binomial(link = "logit"), data = dataset)) %>% + step(k = 2, scope = list(upper = form_upper), direction = "forward") + } else if ("stepwise-both" %in% check) { + model <- sshhr(glm(form_lower, weights = wts, family = binomial(link = "logit"), data = dataset)) %>% + step(k = 2, scope = list(lower = form_lower, upper = form_upper), direction = "both") + } else { + model <- sshhr(glm(form_upper, weights = wts, family = binomial(link = "logit"), data = dataset)) + } + + ## needed for prediction if standardization or centering is used + if ("standardize" %in% check || "center" %in% check) { + attr(model$model, "radiant_ms") <- attr(dataset, "radiant_ms") + attr(model$model, "radiant_sds") <- attr(dataset, "radiant_sds") + attr(model$model, "radiant_sf") <- attr(dataset, "radiant_sf") + } + + coeff <- tidy(model) %>% + na.omit() %>% + as.data.frame() + colnames(coeff) <- c("label", "coefficient", "std.error", "z.value", "p.value") + hasLevs <- sapply(select(dataset, -1), function(x) is.factor(x) || is.logical(x) || is.character(x)) + if (sum(hasLevs) > 0) { + for (i in names(hasLevs[hasLevs])) { + coeff$label %<>% gsub(paste0("^", i), paste0(i, "|"), .) %>% + gsub(paste0(":", i), paste0(":", i, "|"), .) + } + rm(i) + } + + if ("robust" %in% check) { + vcov <- sandwich::vcovHC(model, type = "HC1") + coeff$std.error <- sqrt(diag(vcov)) + coeff$z.value <- coeff$coefficient / coeff$std.error + coeff$p.value <- 2 * pnorm(abs(coeff$z.value), lower.tail = FALSE) + } + + coeff$sig_star <- sig_stars(coeff$p.value) %>% format(justify = "left") + coeff$OR <- exp(coeff$coefficient) + coeff$`OR%` <- with(coeff, ifelse(OR < 1, -(1 - OR), OR - 1)) + coeff <- coeff[, c("label", "OR", "OR%", "coefficient", "std.error", "z.value", "p.value", "sig_star")] + + ## remove elements no longer needed + rm(dataset, hasLevs, form_lower, form_upper, envir) + + # added for consistency with other model types + type <- "classification" + + as.list(environment()) %>% add_class(c("logistic", "model")) +} + +#' Summary method for the logistic function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/logistic.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{logistic}} +#' @param sum_check Optional output. "vif" to show multicollinearity diagnostics. "confint" to show coefficient confidence interval estimates. "odds" to show odds ratios and confidence interval estimates. +#' @param conf_lev Confidence level to use for coefficient and odds confidence intervals (.95 is the default) +#' @param test_var Variables to evaluate in model comparison (i.e., a competing models Chi-squared test) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' +#' result <- logistic(titanic, "survived", "pclass", lev = "Yes") +#' result <- logistic(titanic, "survived", "pclass", lev = "Yes") +#' summary(result, test_var = "pclass") +#' res <- logistic(titanic, "survived", c("pclass", "sex"), int = "pclass:sex", lev = "Yes") +#' summary(res, sum_check = c("vif", "confint", "odds")) +#' titanic %>% +#' logistic("survived", c("pclass", "sex", "age"), lev = "Yes") %>% +#' summary("vif") +#' @seealso \code{\link{logistic}} to generate the results +#' @seealso \code{\link{plot.logistic}} to plot the results +#' @seealso \code{\link{predict.logistic}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @importFrom car vif linearHypothesis +#' +#' @export +summary.logistic <- function(object, sum_check = "", conf_lev = .95, + test_var = "", dec = 3, ...) { + if (is.character(object)) { + return(object) + } + if (class(object$model)[1] != "glm") { + return(object) + } + + if (any(grepl("stepwise", object$check))) { + step_type <- if ("stepwise-backward" %in% object$check) { + "Backward" + } else if ("stepwise-forward" %in% object$check) { + "Forward" + } else { + "Forward and Backward" + } + cat("----------------------------------------------------\n") + cat(step_type, "stepwise selection of variables\n") + cat("----------------------------------------------------\n") + } + + cat("Logistic regression (GLM)") + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + cat("\nLevel :", object$lev, "in", object$rvar) + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } else if (length(object$wts) > 0) { + cat("Weights used :", deparse(substitute(object$wts)), "\n") + } + expl_var <- if (length(object$evar) == 1) object$evar else "x" + cat(paste0("Null hyp.: there is no effect of ", expl_var, " on ", object$rvar, "\n")) + cat(paste0("Alt. hyp.: there is an effect of ", expl_var, " on ", object$rvar, "\n")) + if ("standardize" %in% object$check) { + cat("**Standardized odds-ratios and coefficients shown (2 X SD)**\n") + } else if ("center" %in% object$check) { + cat("**Centered odds-ratios and coefficients shown (x - mean(x))**\n") + } + if ("robust" %in% object$check) { + cat("**Robust standard errors used**\n") + } + cat("\n") + + coeff <- object$coeff + coeff$label %<>% format(justify = "left") + p.small <- coeff$p.value < .001 + coeff[, c(2, 4:7)] %<>% format_df(dec) + coeff[["OR%"]] %<>% format_nr(perc = TRUE, dec = dec - 2, na.rm = FALSE) + coeff$p.value[p.small] <- "< .001" + dplyr::rename(coeff, ` ` = "label", ` ` = "sig_star") %>% + (function(x) { + x$OR[1] <- x$`OR%`[1] <- "" + x + }) %>% + print(row.names = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") + + logit_fit <- glance(object$model) + + ## pseudo R2 (likelihood ratio) - http://en.wikipedia.org/wiki/Logistic_Model + logit_fit$rnk <- object$model$rank + logit_fit <- logit_fit %>% + mutate( + llnull = null.deviance / -2, + llfull = deviance / -2, + r2 = 1 - llfull / llnull, + r2_adj = 1 - (llfull - (rnk - 1)) / llnull, + auc = auc(object$model$fitted.values, object$model$model[[object$rvar]]) + ) %>% + round(dec) + + if (!is.empty(object$wts, "None") && (length(unique(object$wts)) > 2 || min(object$wts) >= 1)) { + nobs <- sum(object$wts) + logit_fit$BIC <- round(-2 * logit_fit$logLik + ln(nobs) * with(logit_fit, 1 + df.null - df.residual), dec) + } else { + nobs <- logit_fit$nobs + } + + ## chi-squared test of overall model fit (p-value) - http://www.ats.ucla.edu/stat/r/dae/logit.htm + chi_pval <- with(object$model, pchisq(null.deviance - deviance, df.null - df.residual, lower.tail = FALSE)) %>% + (function(x) if (x < .001) "< .001" else round(x, dec)) + + cat(paste0("\nPseudo R-squared:", logit_fit$r2, ", Adjusted Pseudo R-squared:", logit_fit$r2_adj)) + cat(paste0("\nAUC: ", logit_fit$auc, ", Log-likelihood: ", logit_fit$logLik, ", AIC: ", logit_fit$AIC, ", BIC: ", logit_fit$BIC)) + cat(paste0( + "\nChi-squared: ", with(logit_fit, null.deviance - deviance) %>% round(dec), " df(", + with(logit_fit, df.null - df.residual), "), p.value ", chi_pval + ), "\n") + cat("Nr obs:", format_nr(nobs, dec = 0), "\n\n") + + if (anyNA(object$model$coeff)) { + cat("The set of explanatory variables exhibit perfect multicollinearity.\nOne or more variables were dropped from the estimation.\n") + } + + if ("vif" %in% sum_check) { + if (anyNA(object$model$coeff)) { + cat("Multicollinearity diagnostics were not calculated.") + } else { + ## needed to adjust when step-wise regression is used + if (length(attributes(object$model$terms)$term.labels) > 1) { + cat("Variance Inflation Factors\n") + car::vif(object$model) %>% + { + if (is.null(dim(.))) . else .[, "GVIF"] + } %>% ## needed when factors are included + data.frame(VIF = ., Rsq = 1 - 1 / ., stringsAsFactors = FALSE) %>% + .[order(.$VIF, decreasing = TRUE), ] %>% ## not using arrange to keep rownames + round(dec) %>% + { + if (nrow(.) < 8) t(.) else . + } %>% + print() + } else { + cat("Insufficient number of explanatory variables to calculate\nmulticollinearity diagnostics (VIF)\n") + } + } + cat("\n") + } + + if (any(c("confint", "odds") %in% sum_check)) { + if (any(is.na(object$model$coeff))) { + cat("There is perfect multicollineary in the set of explanatory variables.\nOne or more variables were dropped from the estimation.\n") + cat("Confidence intervals were not calculated.\n") + } else { + ci_perc <- ci_label(cl = conf_lev) + + if ("robust" %in% object$check) { + cnfint <- radiant.model::confint_robust + } else if (object$ci_type == "profile") { + cnfint <- confint + } else { + cnfint <- confint.default + } + + ci_tab <- cnfint(object$model, level = conf_lev, vcov = object$vcov) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + set_colnames(c("Low", "High")) %>% + cbind(select_at(object$coeff, "coefficient"), .) + + if ("confint" %in% sum_check) { + ci_tab %T>% + { + .$`+/-` <- (.$High - .$coefficient) + } %>% + format_df(dec) %>% + set_colnames(c("coefficient", ci_perc[1], ci_perc[2], "+/-")) %>% + set_rownames(object$coeff$label) %>% + print() + cat("\n") + } + } + } + + if ("odds" %in% sum_check) { + if (any(is.na(object$model$coeff))) { + cat("Odds ratios were not calculated\n") + } else { + orlab <- if ("standardize" %in% object$check) "std odds ratio" else "odds ratio" + exp(ci_tab[-1, ]) %>% + format_df(dec) %>% + set_colnames(c(orlab, ci_perc[1], ci_perc[2])) %>% + set_rownames(object$coeff$label[-1]) %>% + print() + cat("\n") + } + } + + if (!is.empty(test_var)) { + if (any(grepl("stepwise", object$check))) { + cat("Model comparisons are not conducted when Stepwise has been selected.\n") + } else { + # sub_form <- ". ~ 1" + sub_form <- paste(object$rvar, "~ 1") + + vars <- object$evar + if (!is.empty(object$int) && length(vars) > 1) { + ## updating test_var if needed + test_var <- unique(c(test_var, test_specs(test_var, object$int))) + vars <- c(vars, object$int) + } + + not_selected <- base::setdiff(vars, test_var) + if (length(not_selected) > 0) sub_form <- paste(object$rvar, "~", paste(not_selected, collapse = " + ")) + ## update with logit_sub NOT working when called from radiant - strange + # logit_sub <- update(object$model, sub_form, data = object$model$model) + logit_sub <- sshhr(glm(as.formula(sub_form), weights = object$wts, family = binomial(link = "logit"), data = object$model$model)) + logit_sub_fit <- glance(logit_sub) + logit_sub_test <- anova(logit_sub, object$model, test = "Chi") + + matchCf <- function(clist, vlist) { + matcher <- function(vl, cn) { + if (grepl(":", vl)) { + strsplit(vl, ":") %>% + unlist() %>% + sapply(function(x) gsub("var", x, "((var.*:)|(:var))")) %>% + paste0(collapse = "|") %>% + grepl(cn) %>% + cn[.] + } else { + mf <- grepl(paste0("^", vl, "$"), cn) %>% cn[.] + if (length(mf) == 0) { + mf <- grepl(paste0("^", vl), cn) %>% cn[.] + } + mf + } + } + + cn <- names(clist) + sapply(vlist, matcher, cn) %>% unname() + } + + if ("robust" %in% object$check) { + ## http://stats.stackexchange.com/a/132521/61693 + logit_sub_lh <- car::linearHypothesis( + object$model, + matchCf(object$model$coef, test_var), + vcov = object$vcov + ) + pval <- logit_sub_lh[2, "Pr(>Chisq)"] + df <- logit_sub_lh[2, "Df"] + chi2 <- logit_sub_lh[2, "Chisq"] + } else { + pval <- logit_sub_test[2, "Pr(>Chi)"] + df <- logit_sub_test[2, "Df"] + chi2 <- logit_sub_test[2, "Deviance"] + } + + ## pseudo R2 (likelihood ratio) - http://en.wikipedia.org/wiki/Logistic_Model + logit_sub_fit %<>% mutate(r2 = (null.deviance - deviance) / null.deviance) %>% round(dec) + logit_sub_pval <- if (!is.na(pval) && pval < .001) "< .001" else round(pval, dec) + cat(attr(logit_sub_test, "heading")[2]) + cat("\nPseudo R-squared, Model 1 vs 2:", c(logit_sub_fit$r2, logit_fit$r2)) + cat(paste0("\nChi-squared: ", round(chi2, dec), " df(", df, "), p.value ", logit_sub_pval)) + } + } +} + +#' Plot method for the logistic function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/logistic.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{logistic}} +#' @param plots Plots to produce for the specified GLM model. Use "" to avoid showing any plots (default). "dist" shows histograms (or frequency bar plots) of all variables in the model. "scatter" shows scatter plots (or box plots for factors) for the response variable with each explanatory variable. "coef" provides a coefficient plot and "influence" shows (potentially) influential observations +#' @param conf_lev Confidence level to use for coefficient and odds confidence intervals (.95 is the default) +#' @param intercept Include the intercept in the coefficient plot (TRUE or FALSE). FALSE is the default +#' @param incl Which variables to include in a coefficient plot +#' @param excl Which variables to exclude in a coefficient plot +#' @param incl_int Which interactions to investigate in PDP plots +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' plot(result, plots = "coef") +#' @seealso \code{\link{logistic}} to generate results +#' @seealso \code{\link{plot.logistic}} to plot results +#' @seealso \code{\link{predict.logistic}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @importFrom broom augment +#' @importFrom rlang .data +#' +#' @export +plot.logistic <- function(x, plots = "coef", conf_lev = .95, + intercept = FALSE, incl = NULL, excl = NULL, incl_int = NULL, + nrobs = -1, shiny = FALSE, custom = FALSE, ...) { + if (is.character(x) || !inherits(x$model, "glm")) { + return(x) + } + if (is.empty(plots[1])) { + return("Please select a logistic regression plot from the drop-down menu") + } + + if ("(weights)" %in% colnames(x$model$model) && + min(x$model$model[["(weights)"]]) == 0) { + ## broom::augment chokes when a weight variable has 0s + model <- x$model$model + model$.fitted <- predict(x$model, type = "response") + } else { + model <- broom::augment(x$model, type.predict = "response") + } + + ## adjustment in case max > 1 (e.g., values are 1 and 2) + model$.actual <- as_integer(x$rv) %>% + (function(x) x - max(x) + 1) + + rvar <- x$rvar + evar <- intersect(x$evar, colnames(model)) + vars <- c(rvar, evar) + nrCol <- 2 + plot_list <- list() + + ## use orginal data rather than the logical used for estimation + model[[rvar]] <- x$rv + + if ("dist" %in% plots) { + for (i in vars) { + plot_list[[paste("dist_", i)]] <- select_at(model, .vars = i) %>% + visualize(xvar = i, bins = 10, custom = TRUE) + } + } + + if ("coef" %in% plots) { + if (nrow(x$coeff) == 1 && !intercept) { + return("** Model contains only an intercept **") + } + + yl <- { + if (sum(c("standardize", "center") %in% x$check) == 2) { + "Odds-ratio (Standardized & Centered)" + } else if ("standardize" %in% x$check) { + "Odds-ratio (standardized)" + } else if ("center" %in% x$check) { + "Odds-ratio (centered)" + } else { + "Odds-ratio" + } + } + + nrCol <- 1 + if ("robust" %in% x$check) { + cnfint <- radiant.model::confint_robust + } else if (x$ci_type == "profile") { + cnfint <- confint + } else { + cnfint <- confint.default + } + + coef_df <- cnfint(x$model, level = conf_lev, vcov = x$vcov) %>% + exp(.) %>% + data.frame(stringsAsFactors = FALSE) %>% + na.omit() %>% + set_colnames(c("Low", "High")) %>% + cbind(select(x$coeff, 2), .) %>% + set_rownames(x$coeff$label) %>% + (function(x) if (!intercept) x[-1, , drop = FALSE] else x) %>% + mutate(variable = factor(rownames(.), levels = rownames(.))) + + # addressing issues with extremely high upper bounds + coef_df[coef_df$High > 10000, c("Low", "High")] <- NA + coef_df <- na.omit(coef_df) + + if (length(incl) > 0) { + incl <- paste0("^(", paste0(incl, "[|]*", collapse = "|"), ")") + incl <- grepl(incl, coef_df$variable) + if (isTRUE(intercept)) incl[1] <- TRUE + coef_df <- coef_df[incl, ] + } + if (length(excl) > 0) { + excl <- paste0("^(", paste0(excl, "[|]*", collapse = "|"), ")") + if (isTRUE(intercept)) excl[1] <- TRUE + coef_df <- coef_df[!excl, ] + } + coef_df <- droplevels(coef_df) + + plot_list[["coef"]] <- ggplot(coef_df) + + geom_pointrange(aes(x = .data$variable, y = .data$OR, ymin = .data$Low, ymax = .data$High)) + + geom_hline(yintercept = 1, linetype = "dotdash", color = "blue") + + labs(y = yl, x = "") + + ## can't use coord_trans together with coord_flip + ## http://stackoverflow.com/a/26185278/1974918 + scale_x_discrete(limits = rev(coef_df$variable)) + + scale_y_continuous(breaks = c(0, 0.1, 0.2, 0.5, 1, 2, 5, 10), trans = "log") + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("scatter" %in% plots) { + nrobs <- as.integer(nrobs) + if (nrobs > 0 && nrobs < nrow(model)) { + model <- sample_n(model, nrobs, replace = FALSE) + } + for (i in evar) { + if ("factor" %in% class(model[[i]])) { + plot_list[[paste0("scatter_", i)]] <- ggplot(model, aes(x = .data[[i]], fill = .data[[rvar]])) + + geom_bar(position = "fill", alpha = 0.5) + + labs(y = "") + } else { + plot_list[[paste0("scatter_", i)]] <- select_at(model, .vars = c(i, rvar)) %>% + visualize(xvar = rvar, yvar = i, check = "jitter", type = "scatter", custom = TRUE) + } + } + nrCol <- 1 + } + + if ("fit" %in% plots) { + nrCol <- 1 + + if (nrow(model) < 30) { + return("Insufficient observations to generate Model fit plot") + } + + model$.fittedbin <- radiant.data::xtile(model$.fitted, 30) + + min_bin <- min(model$.fittedbin) + max_bin <- max(model$.fittedbin) + + if (prop(model$.actual[model$.fittedbin == min_bin]) < prop(model$.actual[model$.fittedbin == max_bin])) { + model$.fittedbin <- 1 + max_bin - model$.fittedbin + df <- group_by_at(model, .vars = ".fittedbin") %>% + summarise(Probability = mean(.fitted)) + } else { + df <- group_by_at(model, .vars = ".fittedbin") %>% + summarise(Probability = mean(1 - .fitted)) + } + + plot_list[["fit"]] <- + visualize(model, xvar = ".fittedbin", yvar = ".actual", type = "bar", custom = TRUE) + + geom_line(data = df, aes(y = .data$Probability), color = "blue", linewidth = 1) + + ylim(0, 1) + + labs(title = "Actual vs Fitted values (binned)", x = "Predicted probability bins", y = "Probability") + } + + if ("correlations" %in% plots) { + if (length(evar) == 0) { + message("Model contains only an intercept. Correlation plot cannot be generated") + } else { + return(radiant.basics:::plot.correlation(select_at(model, .vars = vars), nrobs = nrobs)) + } + } + + if ("influence" %in% plots) { + nrCol <- 1 + + ## based on http://www.sthda.com/english/articles/36-classification-methods-essentials/148-logistic-regression-assumptions-and-diagnostics-in-r/ + mod <- model %>% + select(.std.resid, .cooksd) %>% + mutate(index = 1:n(), .cooksd.max = .cooksd) %>% + arrange(desc(.cooksd)) %>% + mutate(index.max = 1:n(), .cooksd.max = ifelse(index.max < 4, .cooksd, NA)) %>% + mutate(index.max = ifelse(index.max < 4, index, NA)) %>% + arrange(index) + + mod <- mutate(mod, .std.resid = ifelse(abs(.std.resid) < 1 & is.na(index.max), NA, .std.resid)) + lim <- max(abs(mod$.std.resid), na.rm = TRUE) %>% + (function(x) c(min(-4, -x), max(4, x))) + plot_list[["influence"]] <- ggplot(mod, aes(index, .std.resid)) + + geom_point(aes(size = .cooksd), alpha = 0.5) + + ggrepel::geom_text_repel(aes(label = index.max)) + + geom_hline(yintercept = c(-1, -3, 1, 3), linetype = "longdash", linewidth = 0.25) + + scale_y_continuous(breaks = -4:4, limits = lim) + + labs( + title = "Influential observations", + x = "Observation index", + y = "Standardized residuals", + size = "cooksd" + ) + } + + rem <- c() + if (any(grepl("stepwise", x$check))) { + if (length(incl) > 0 | length(incl_int) > 0) { + if (sum(incl %in% evar) < length(incl)) { + rem <- incl[!incl %in% evar] + } + if (length(incl_int) > 0) { + incl_int_split <- strsplit(incl_int, ":") %>% + unlist() %>% + unique() + if (sum(incl_int_split %in% evar) < length(incl_int_split)) { + rem <- c(rem, incl_int_split[!incl_int_split %in% evar]) %>% unique() + } + } + } + } + + if ("pred_plot" %in% plots) { + ncol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + if (length(rem) > 0) { + return(paste("The following variables are not in the model:", paste(rem, collapse = ", "))) + } + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("pdp" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + if (length(rem) > 0) { + return(paste("The following variables are not in the model:", paste(rem, collapse = ", "))) + } + plot_list <- pdp_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Partial Dependence Plots") + } + } + + if ("vip" %in% plots) { + nrCol <- 1 + if (length(evar) < 2) { + message("Model must contain at least 2 explanatory variables (features). Permutation Importance plot cannot be generated") + } else { + if (any(grepl("stepwise", x$check))) x$evar <- evar + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = "Importance (AUC decrease)" + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + } + + if ("linearity" %in% plots) { + ## based on http://www.sthda.com/english/articles/36-classification-methods-essentials/148-logistic-regression-assumptions-and-diagnostics-in-r/ + mod <- select_at(model, .vars = c(".fitted", evar)) %>% dplyr::select_if(is.numeric) + predictors <- setdiff(colnames(mod), ".fitted") + mod <- mutate(mod, logit = log(.fitted / (1 - .fitted))) %>% + select(-.fitted) %>% + gather(key = "predictors", value = "predictor.value", -logit) + plot_list[["linearity"]] <- ggplot(mod, aes(logit, predictor.value)) + + geom_point(size = 0.5, alpha = 0.5) + + geom_smooth(method = "loess") + + facet_wrap(~predictors, scales = "free_y") + + labs( + title = "Checking linearity assumption", + y = NULL, + x = NULL + ) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} + +#' Predict method for the logistic function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/logistic.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{logistic}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., titanic). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param se Logical that indicates if prediction standard errors should be calculated (default = FALSE) +#' @param interval Type of interval calculation ("confidence" or "none"). Set to "none" if se is FALSE +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% +#' predict(pred_cmd = "sex = c('male','female')") +#' logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% +#' predict(pred_data = titanic) +#' @seealso \code{\link{logistic}} to generate the result +#' @seealso \code{\link{summary.logistic}} to summarize results +#' @seealso \code{\link{plot.logistic}} to plot results +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @export +predict.logistic <- function(object, pred_data = NULL, pred_cmd = "", + conf_lev = 0.95, se = TRUE, interval = "confidence", + dec = 3, envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + if (isTRUE(se)) { + if (isTRUE(interval == "none")) { + se <- FALSE + } else if ("center" %in% object$check || "standardize" %in% object$check) { + message("Standard error calculations not supported when coefficients are centered or standardized") + se <- FALSE + interval <- "none" + } + } else { + interval <- "none" + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + pred_val <- + try( + sshhr( + if (se) { + predict(model, pred, type = "link", se.fit = TRUE) + } else { + predict(model, pred, type = "response", se.fit = FALSE) + } + ), + silent = TRUE + ) + + if (!inherits(pred_val, "try-error")) { + if (se) { + ## based on https://www.fromthebottomoftheheap.net/2017/05/01/glm-prediction-intervals-i/ + ilink <- family(model)$linkinv + ci_perc <- ci_label(cl = conf_lev) + pred_val <- data.frame( + Prediction = ilink(pred_val[["fit"]]), + ymax = ilink(pred_val[["fit"]] - qnorm(.5 + conf_lev / 2) * pred_val[["se.fit"]]), + ymin = ilink(pred_val[["fit"]] + qnorm(.5 + conf_lev / 2) * pred_val[["se.fit"]]), + stringsAsFactors = FALSE + ) %>% + set_colnames(c("Prediction", ci_perc[1], ci_perc[2])) + } else { + pred_val <- data.frame(pred_val, stringsAsFactors = FALSE) %>% + select(1) %>% + set_colnames("Prediction") + } + } + pred_val + } + + predict_model(object, pfun, "logistic.predict", pred_data, pred_cmd, conf_lev, se, dec, envir = envir) %>% + set_attr("radiant_interval", interval) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for logistic.predict +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.logistic.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Logistic regression (GLM)") +} + +#' Confidence interval for robust estimators +#' +#' @details Wrapper for confint with robust standard errors. See \url{https://stackoverflow.com/questions/3817182/vcovhc-and-confidence-interval/3820125#3820125} +#' +#' @param object A fitted model object +#' @param level The confidence level required +#' @param dist Distribution to use ("norm" or "t") +#' @param vcov Covariance matrix generated by, e.g., sandwich::vcovHC +#' @param ... Additional argument(s) for methods +#' +#' @importFrom sandwich vcovHC +#' +#' @export +confint_robust <- function(object, level = 0.95, dist = "norm", vcov = NULL, ...) { + fac <- ((1 - level) / 2) %>% + c(., 1 - .) + + cf <- coef(object) + if (dist == "t") { + fac <- qt(fac, df = nrow(object$model) - length(cf)) + } else { + fac <- qnorm(fac) + } + if (is.null(vcov)) { + vcov <- sandwich::vcovHC(object, type = "HC1") + } + ses <- sqrt(diag(vcov)) + cf + ses %o% fac +} + +#' Calculate min and max before standardization +#' +#' @param dataset Data frame +#' @return Data frame min and max attributes +#' +#' @export +minmax <- function(dataset) { + isNum <- sapply(dataset, is.numeric) + if (sum(isNum) == 0) { + return(dataset) + } + cn <- names(isNum)[isNum] + + mn <- summarise_at(dataset, .vars = cn, .funs = ~ min(., na.rm = TRUE)) + mx <- summarise_at(dataset, .vars = cn, .funs = ~ max(., na.rm = TRUE)) + + list(min = mn, max = mx) +} + +#' Write coefficient table for linear and logistic regression +#' +#' @details Write coefficients and importance scores to csv or or return as a data.frame +#' +#' @param object A fitted model object of class regress or logistic +#' @param file A character string naming a file. "" indicates output to the console +#' @param sort Sort table by variable importance +#' @param intercept Include the intercept in the output (TRUE or FALSE). TRUE is the default +#' +#' @examples +#' +#' regress( +#' diamonds, +#' rvar = "price", evar = c("carat", "clarity", "color", "x"), +#' int = c("carat:clarity", "clarity:color", "I(x^2)"), check = "standardize" +#' ) %>% +#' write.coeff(sort = TRUE) %>% +#' format_df(dec = 3) +#' +#' logistic(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% +#' write.coeff(intercept = FALSE, sort = TRUE) %>% +#' format_df(dec = 2) +#' @importFrom stats model.frame +#' +#' @export +write.coeff <- function(object, file = "", sort = FALSE, intercept = TRUE) { + if (inherits(object, "regress")) { + mod_class <- "regress" + } else if (inherits(object, "logistic")) { + mod_class <- "logistic" + } else if (inherits(object, "mnl")) { + mod_class <- "mnl" + } else { + "Object is not of class logistic, mnl, or regress" %T>% + message %>% + cat("\n\n", file = file) + return(invisible()) + } + + has_int <- sum(nchar(object$int)) > 0 + check <- object$check + + ## calculating the mean and sd for each variable + ## extract formula from http://stackoverflow.com/a/9694281/1974918 + frm <- formula(object$model$terms) + coeff <- object$model$coeff + dataset <- object$model$model + cn <- colnames(dataset) + wts <- object$wts + + if ("center" %in% check) { + ms <- attr(object$model$model, "radiant_ms") + if (!is.null(ms)) { + icn <- intersect(cn, names(ms)) + dataset[icn] <- lapply(icn, function(var) dataset[[var]] + ms[[var]]) + } + } else if ("standardize" %in% check) { + ms <- attr(object$model$model, "radiant_ms") + sds <- attr(object$model$model, "radiant_sds") + if (!is.null(ms) && !is.null(sds)) { + icn <- intersect(cn, names(ms)) + sf <- attr(object$model$model, "radiant_sf") + sf <- ifelse(is.null(sf), 2, sf) + dataset[icn] <- lapply(icn, function(var) dataset[[var]] * sf * sds[[var]] + ms[[var]]) + } + } + + ## create the model.matrix + mm <- model.matrix(frm, model.frame(frm, dataset))[, -1] + + ## removing columns where the corresponding coeff is missing + cn <- intersect(colnames(mm), names(na.omit(coeff))) + mm <- mm[, cn, drop = FALSE] + + ## generate summary statistics + if (length(wts) == 0) { + cms <- colMeans(mm, na.rm = TRUE) + csds <- apply(mm, 2, sd, na.rm = TRUE) + wts_mess <- " " + } else { + cms <- apply(mm, 2, weighted.mean, wts, na.rm = TRUE) + csds <- apply(mm, 2, weighted.sd, wts, na.rm = TRUE) + wts_mess <- " -- estimated with weights -- " + } + + cmx <- apply(mm, 2, max, na.rm = TRUE) + cmn <- apply(mm, 2, min, na.rm = TRUE) + dummy <- apply(mm, 2, function(x) (sum(x == max(x)) + sum(x == min(x))) == length(x)) + + if ("standardize" %in% check) { + mess <- paste0("Standardized coefficients", wts_mess, "shown\n\n") + } else { + mess <- paste0("Non-standardized coefficients", wts_mess, "shown\n\n") + } + cat(mess, file = file) + + object <- object[["coeff"]] + object$dummy <- c(0L, dummy) + object$mean <- c(1L, cms) + object$sd <- c(0L, csds) + object$min <- c(1L, cmn) + object$max <- c(1L, cmx) + + intc <- grepl("(Intercept)", object$label) + + if (mod_class == "logistic") { + object$importance <- pmax(object$OR, 1 / object$OR) + object$OR[intc] <- object$`OR%`[intc] <- 0 + if ("standardize" %in% check) { + if (has_int) { + object$OR_normal <- object$`OR%_normal` <- "-" + } else { + object$OR_normal <- exp(object$coefficient / (sf * object$sd)) + object$OR_normal[object$dummy == 1] <- object$OR[object$dummy == 1] + object$`OR%_normal` <- with(object, ifelse(OR_normal < 1, -(1 - OR_normal), OR_normal - 1)) + object$OR_normal[intc] <- object$`OR%_normal`[intc] <- 0 + } + } + } else if (mod_class == "mnl") { + object$importance <- pmax(object$RRR, 1 / object$RRR) + object$RRR[intc] <- 0 + } else { + object$importance <- abs(object$coefficient) + # if ("standardize" %in% check) { + # if (has_int) { + # object$coeff_normal <- "-" + # } else { + # # need to also adjust for sd(Y) + # object$coeff_normal <- object$coefficient / (sf*object$sd) + # object$coeff_normal[object$dummy == 1] <- object$coefficient[object$dummy == 1] + # object$coeff_normal[intc] <- 0 + # } + # } + } + + object$importance[intc] <- 0 + + if (sort) { + object[-1, ] <- arrange(object[-1, ], desc(.data$importance)) + } + + if (!intercept) { + object <- slice(object, -1) + } ## slice will ensure a tibble / data.frame is returned + + if (!is.empty(file)) { + sshhr(write.table(object, sep = ",", append = TRUE, file = file, row.names = FALSE)) + } else { + object + } +} diff --git a/radiant.model/R/mnl.R b/radiant.model/R/mnl.R new file mode 100644 index 0000000..ed5878c --- /dev/null +++ b/radiant.model/R/mnl.R @@ -0,0 +1,701 @@ +#' Multinomial logistic regression +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/mnl.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param lev The level in the response variable to use as the baseline +#' @param int Interaction term to include in the model +#' @param wts Weights to use in estimation +#' @param check Use "standardize" to see standardized coefficient estimates. Use "stepwise-backward" (or "stepwise-forward", or "stepwise-both") to apply step-wise selection of variables in estimation. +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in mnl as an object of class mnl +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' str(result) +#' +#' @seealso \code{\link{summary.mnl}} to summarize the results +#' @seealso \code{\link{plot.mnl}} to plot the results +#' @seealso \code{\link{predict.mnl}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @export +mnl <- function(dataset, rvar, evar, lev = "", int = "", + wts = "None", check = "", data_filter = "", + arr = "", rows = NULL, envir = parent.frame()) { + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("mnl")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + if (!is.empty(wts)) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("mnl") + ) + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("mnl")) + } + + rv <- dataset[[rvar]] + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } + + ## re-leveling the + dataset[[rvar]] <- dataset[[rvar]] %>% + as.factor() %>% + relevel(ref = lev) + lev <- levels(dataset[[1]]) + + vars <- "" + var_check(evar, colnames(dataset)[-1], int) %>% + { + vars <<- .$vars + evar <<- .$ev + int <<- .$intv + } + + ## add minmax attributes to data + mmx <- minmax(dataset) + + ## scale data + if ("standardize" %in% check) { + dataset <- scale_df(dataset, wts = wts) + } else if ("center" %in% check) { + dataset <- scale_df(dataset, scale = FALSE, wts = wts) + } + + if ("no_int" %in% check) { + form_upper <- paste(rvar, "~ 0 +", paste(vars, collapse = " + ")) %>% as.formula() + form_lower <- paste(rvar, "~ 0") %>% as.formula() + } else { + form_upper <- paste(rvar, "~ ", paste(vars, collapse = " + ")) %>% as.formula() + form_lower <- paste(rvar, "~ 1") %>% as.formula() + } + + if ("stepwise" %in% check) check <- sub("stepwise", "stepwise-backward", check) + if ("stepwise-backward" %in% check) { + ## use k = 2 for AIC, use k = log(nrow(dataset)) for BIC + mnl_input <- list(formula = form_upper, weights = wts, data = dataset, model = TRUE, trace = FALSE) + model <- do.call(nnet::multinom, mnl_input) %>% + step(k = 2, scope = list(lower = form_lower), direction = "backward") + } else if ("stepwise-forward" %in% check) { + mnl_input <- list(formula = form_lower, weights = wts, data = dataset, model = TRUE, trace = FALSE) + model <- do.call(nnet::multinom, mnl_input) %>% + step(k = 2, scope = list(upper = form_upper), direction = "forward") + } else if ("stepwise-both" %in% check) { + mnl_input <- list(formula = form_lower, weights = wts, data = dataset, model = TRUE, trace = FALSE) + model <- do.call(nnet::multinom, mnl_input) %>% + step(k = 2, scope = list(lower = form_lower, upper = form_upper), direction = "both") + + ## adding full data even if all variables are not significant + } else { + mnl_input <- list(formula = form_upper, weights = wts, data = dataset, model = TRUE, trace = FALSE) + model <- do.call(nnet::multinom, mnl_input) + } + + coeff <- tidy(model) %>% + na.omit() %>% + as.data.frame() + + ## needed for prediction if standardization or centering is used + if ("standardize" %in% check || "center" %in% check) { + attr(model$model, "radiant_ms") <- attr(dataset, "radiant_ms") + attr(model$model, "radiant_sds") <- attr(dataset, "radiant_sds") + attr(model$model, "radiant_sf") <- attr(dataset, "radiant_sf") + } + + colnames(coeff) <- c("level", "label", "coefficient", "std.error", "z.value", "p.value") + hasLevs <- sapply(select(dataset, -1), function(x) is.factor(x) || is.logical(x) || is.character(x)) + if (sum(hasLevs) > 0) { + for (i in names(hasLevs[hasLevs])) { + coeff$label %<>% gsub(paste0("^", i), paste0(i, "|"), .) %>% + gsub(paste0(":", i), paste0(":", i, "|"), .) + } + rm(i) + } + + coeff$sig_star <- sig_stars(coeff$p.value) %>% format(justify = "left") + coeff$RRR <- exp(coeff$coefficient) + coeff <- coeff[, c("level", "label", "RRR", "coefficient", "std.error", "z.value", "p.value", "sig_star")] + + ## adding null.deviance + umod <- update(model, ~1, trace = FALSE) + model$null.deviance <- -2 * logLik(umod) + model$logLik <- logLik(model) + model$nobs <- nrow(model$residuals) + + ## remove elements no longer needed + rm(dataset, hasLevs, form_lower, form_upper, envir) + + as.list(environment()) %>% add_class(c("mnl", "model")) +} + +#' Summary method for the mnl function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/mnl.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{mnl}} +#' @param sum_check Optional output. "confint" to show coefficient confidence interval estimates. "rrr" to show relative risk ratios (RRRs) and confidence interval estimates. +#' @param conf_lev Confidence level to use for coefficient and RRRs confidence intervals (.95 is the default) +#' @param test_var Variables to evaluate in model comparison (i.e., a competing models Chi-squared test) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' summary(result) +#' +#' @seealso \code{\link{mnl}} to generate the results +#' @seealso \code{\link{plot.mnl}} to plot the results +#' @seealso \code{\link{predict.mnl}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @importFrom car linearHypothesis +#' +#' @export +summary.mnl <- function(object, sum_check = "", conf_lev = .95, + test_var = "", dec = 3, ...) { + if (is.character(object)) { + return(object) + } + if (class(object$model)[1] != "multinom") { + return(object) + } + + if (any(grepl("stepwise", object$check))) { + step_type <- if ("stepwise-backward" %in% object$check) { + "Backward" + } else if ("stepwise-forward" %in% object$check) { + "Forward" + } else { + "Forward and Backward" + } + cat("----------------------------------------------------\n") + cat(step_type, "stepwise selection of variables\n") + cat("----------------------------------------------------\n") + } + + cat("Multinomial logistic regression (MNL)") + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + cat("\nBase level :", object$lev[1], "in", object$rvar) + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } + expl_var <- if (length(object$evar) == 1) object$evar else "x" + cat(paste0("Null hyp.: there is no effect of ", expl_var, " on ", object$rvar, "\n")) + cat(paste0("Alt. hyp.: there is an effect of ", expl_var, " on ", object$rvar, "\n")) + if ("standardize" %in% object$check) { + cat("**Standardized RRRs and coefficients shown (2 X SD)**\n") + } else if ("center" %in% object$check) { + cat("**Centered RRRs and coefficients shown (x - mean(x))**\n") + } + if (object$model$convergence != 0) { + cat("\n**Model did NOT converge. Consider standardizing the\nexplanatory variables and/or simplifying your model**\n") + } + + cat("\n") + + coeff <- object$coeff + coeff$label %<>% format(justify = "left") + p.small <- coeff$p.value < .001 + coeff[, 3:7] %<>% format_df(dec) + coeff$p.value[p.small] <- "< .001" + coeff$RRR[grepl("(Intercept)", coeff$label)] <- "" + dplyr::rename(coeff, ` ` = "level", ` ` = "label", ` ` = "sig_star") %>% + print(row.names = FALSE) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n") + + mnl_fit <- glance(object$model) + mnl_fit$null.deviance <- object$model$null.deviance + mnl_fit$logLik <- object$model$logLik + mnl_fit$BIC <- round(-2 * mnl_fit$logLik + ln(object$model$nobs) * with(mnl_fit, edf), dec) + + ## pseudo R2 (likelihood ratio) - http://en.wikipedia.org/wiki/Logistic_Model + mnl_fit %<>% mutate(r2 = (null.deviance - deviance) / null.deviance) %>% + round(dec) + if (!is.empty(object$wts, "None") && (length(unique(object$wts)) > 2 || min(object$wts) >= 1)) { + nobs <- sum(object$wts) + mnl_fit$BIC <- round(-2 * mnl_fit$logLik + ln(nobs) * with(mnl_fit, edf), dec) + } else { + nobs <- object$model$nobs + } + + # ## chi-squared test of overall model fit (p-value) - http://www.ats.ucla.edu/stat/r/dae/logit.htm + chi_pval <- with(mnl_fit, pchisq(null.deviance - deviance, edf - 1, lower.tail = FALSE)) + chi_pval %<>% { + if (. < .001) "< .001" else round(., dec) + } + + cat("\nPseudo R-squared:", mnl_fit$r2) + cat(paste0("\nLog-likelihood: ", mnl_fit$logLik, ", AIC: ", mnl_fit$AIC, ", BIC: ", mnl_fit$BIC)) + cat(paste0( + "\nChi-squared: ", with(mnl_fit, null.deviance - deviance) %>% round(dec), " df(", + with(mnl_fit, edf - 1), "), p.value ", chi_pval + ), "\n") + cat("Nr obs:", format_nr(nobs, dec = 0), "\n\n") + + if (anyNA(object$model$coeff)) { + cat("The set of explanatory variables exhibit perfect multicollinearity.\nOne or more variables were dropped from the estimation.\n") + } + + if (any(c("confint", "rrr") %in% sum_check)) { + if (any(is.na(object$model$coeff))) { + cat("There is perfect multicollineary in the set of explanatory variables.\nOne or more variables were dropped from the estimation.\n") + cat("Confidence intervals were not calculated.\n") + } else { + ci_perc <- ci_label(cl = conf_lev) + ci_tab <- confint(object$model, level = conf_lev) + if (length(dim(ci_tab)) > 2) { + ci_tab <- apply(ci_tab, 2, rbind) + } + ci_tab <- as.data.frame(ci_tab, stringsAsFactors = FALSE) %>% + set_colnames(c("Low", "High")) %>% + cbind(select(object$coeff, c(1, 2, 4)), .) + + if ("confint" %in% sum_check) { + ci_tab %T>% + { + .$`+/-` <- (.$High - .$coefficient) + } %>% + format_df(dec) %>% + set_colnames(c(" ", " ", "coefficient", ci_perc[1], ci_perc[2], "+/-")) %>% + print(row.names = FALSE) + cat("\n") + } + } + } + + if ("rrr" %in% sum_check) { + if (any(is.na(object$model$coeff))) { + cat("RRRs were not calculated\n") + } else { + rrrlab <- if ("standardize" %in% object$check) "std RRR" else "RRR" + ci_tab[, -c(1, 2)] <- exp(ci_tab[, -c(1, 2)]) + ci_tab[!grepl("(Intercept)", ci_tab[[2]]), ] %>% + format_df(dec) %>% + set_colnames(c(" ", "", rrrlab, ci_perc[1], ci_perc[2])) %>% + print(row.names = FALSE) + cat("\n") + } + } + + if (!is.empty(test_var)) { + if (any(grepl("stepwise", object$check))) { + cat("Model comparisons are not conducted when Stepwise has been selected.\n") + } else { + vars <- object$evar + if (!is.empty(object$int) && length(vars) > 1) { + ## updating test_var if needed + test_var <- unique(c(test_var, test_specs(test_var, object$int))) + vars <- c(vars, object$int) + } + + no_int <- ifelse("no_int" %in% object$check, "~ 0 +", "~") + not_selected <- base::setdiff(vars, test_var) + if (length(not_selected) > 0) { + sub_form <- paste(object$rvar, no_int, paste(not_selected, collapse = " + ")) %>% as.formula() + } else { + sub_form <- paste(object$rvar, no_int) %>% as.formula() + } + mnl_input <- list(formula = sub_form, weights = object$wts, data = object$model$model, trace = FALSE) + mnl_sub <- do.call(nnet::multinom, mnl_input) + mnl_sub_fit <- glance(mnl_sub) + mnl_sub_fit$null.deviance <- object$model$null.deviance + mnl_sub_test <- anova(mnl_sub, object$model, test = "Chi") + + pval <- mnl_sub_test[2, "Pr(Chi)"] + df <- mnl_sub_test[2, 5] + chi2 <- mnl_sub_test[2, "LR stat."] + + ## pseudo R2 (likelihood ratio) - http://en.wikipedia.org/wiki/Logistic_Model + mnl_sub_fit %<>% mutate(r2 = (null.deviance - deviance) / null.deviance) %>% round(dec) + mnl_sub_pval <- if (!is.na(pval) && pval < .001) "< .001" else round(pval, dec) + cat(paste0(paste0("Model ", 1:2, ": ", object$rvar, " ~ ", mnl_sub_test$Model), collapse = "\n")) + cat("\nPseudo R-squared, Model 1 vs 2:", c(mnl_sub_fit$r2, mnl_fit$r2)) + cat(paste0("\nChi-squared: ", round(chi2, dec), " df(", df, "), p.value ", mnl_sub_pval)) + } + } + + if ("confusion" %in% sum_check) { + cat("Confusion matrix:\n") + predicted <- predict(object$model, type = "class") + actual <- object$model$model[[object$rvar]] + print(table(predicted, actual)) + cat("\nMisclassification error:", format_nr(mean(predicted != actual), perc = TRUE, dec = dec)) + } +} + +#' Plot method for the mnl function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/mnl.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{mnl}} +#' @param plots Plots to produce for the specified MNL model. Use "" to avoid showing any plots (default). "dist" shows histograms (or frequency bar plots) of all variables in the model. "scatter" shows scatter plots (or box plots for factors) for the response variable with each explanatory variable. "coef" provides a coefficient plot +#' @param conf_lev Confidence level to use for coefficient and relative risk ratios (RRRs) intervals (.95 is the default) +#' @param intercept Include the intercept in the coefficient plot (TRUE or FALSE). FALSE is the default +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' plot(result, plots = "coef") +#' +#' @seealso \code{\link{mnl}} to generate results +#' @seealso \code{\link{predict.mnl}} to generate predictions +#' @seealso \code{\link{plot.model.predict}} to plot prediction output +#' +#' @importFrom rlang .data +#' +#' @export +plot.mnl <- function(x, plots = "coef", conf_lev = .95, + intercept = FALSE, nrobs = -1, + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x) || !inherits(x$model, "multinom")) { + return(x) + } + if (is.empty(plots[1])) { + return("Please select a mnl regression plot from the drop-down menu") + } + + model <- x$model$model + rvar <- x$rvar + evar <- intersect(x$evar, colnames(model)) + vars <- c(rvar, evar) + nrCol <- 2 + plot_list <- list() + + if ("dist" %in% plots) { + for (i in vars) { + plot_list[[paste("dist_", i)]] <- select_at(model, .vars = i) %>% + visualize(xvar = i, bins = 10, custom = TRUE) + } + } + + if ("coef" %in% plots) { + if (length(evar) == 0 && !intercept) { + return("** Model contains only an intercept **") + } + + yl <- { + if (sum(c("standardize", "center") %in% x$check) == 2) { + "RRR (Standardized & Centered)" + } else if ("standardize" %in% x$check) { + "RRR (standardized)" + } else if ("center" %in% x$check) { + "RRR (centered)" + } else { + "RRR" + } + } + + ci_tab <- confint(x$model, level = conf_lev) + if (length(dim(ci_tab)) > 2) { + ci_tab <- apply(ci_tab, 2, rbind) + color <- "level" + } else { + color <- NULL + } + ci_tab <- as.data.frame(ci_tab, stringsAsFactors = FALSE) %>% + na.omit() %>% + set_colnames(c("Low", "High")) %>% + cbind(select(x$coeff, c(1, 2, 4)), .) + + if (!isTRUE(intercept)) { + ci_tab <- ci_tab[!grepl("(Intercept)", ci_tab[[2]]), ] + } + labels <- unique(ci_tab[[2]]) + ci_tab[, -c(1, 2)] <- exp(ci_tab[, -c(1, 2)]) + + nrCol <- 1 + plot_list[["coef"]] <- ggplot(ci_tab) + + geom_pointrange(aes(x = .data$label, y = .data$coefficient, ymin = .data$Low, ymax = .data$High, color = .data[[color]]), position = position_dodge(width = -0.6)) + + geom_hline(yintercept = 1, linetype = "dotdash", color = "blue") + + labs(y = yl, x = "") + + ## can't use coord_trans together with coord_flip + ## http://stackoverflow.com/a/26185278/1974918 + scale_x_discrete(limits = rev(labels)) + + scale_y_continuous(breaks = c(0, 0.1, 0.2, 0.5, 1, 2, 5, 10), trans = "log") + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("correlations" %in% plots) { + if (length(evar) == 0) { + message("Model contains only an intercept. Correlation plot cannot be generated") + } else { + return(radiant.basics:::plot.correlation(select_at(model, .vars = vars), nrobs = nrobs)) + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + { + if (shiny) . else print(.) + } + } + } +} + +#' Predict method for the mnl function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/mnl.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{mnl}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., ketchup). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param pred_names Names for the predictions to be stored. If one name is provided, only the first column of predictions is stored. If empty, the levels in the response variable of the mnl model will be used +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' predict(result, pred_cmd = "price.heinz28 = seq(3, 5, 0.1)") +#' predict(result, pred_data = slice(ketchup, 1:20)) +#' +#' @seealso \code{\link{mnl}} to generate the result +#' @seealso \code{\link{summary.mnl}} to summarize results +#' +#' @export +predict.mnl <- function(object, pred_data = NULL, pred_cmd = "", + pred_names = "", dec = 3, envir = parent.frame(), + ...) { + if (is.character(object)) { + return(object) + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + + ## need to make sure levels in original data and pred are the same + set_levels <- function(name) { + if (!is.null(model$model[[name]]) && is.factor(model$model[[name]])) { + levs <- levels(model$model[[name]]) + levs_pred <- levels(pred[[name]]) + if (is.null(levs_pred) || !all(levs == levs_pred)) { + pred[[name]] <<- factor(pred[[name]], levels = levs) + } + } + } + + fix <- sapply(colnames(pred), set_levels) + pred_val <- try(sshhr(predict(model, pred, type = "probs")), silent = TRUE) + + if (!inherits(pred_val, "try-error")) { + # if (is.numeric(pred_val)) pred_val <- t(pred_val) + # if (is.null(dim(pred_val))) pred_val <- t(pred_val) + if (is.vector(pred_val)) pred_val <- t(pred_val) + pred_val %<>% as.data.frame(stringsAsFactors = FALSE) + if (all(is.empty(pred_names))) pred_names <- colnames(pred_val) + pred_val %<>% select(1:min(ncol(pred_val), length(pred_names))) %>% + set_colnames(pred_names) + } + + pred_val + } + + predict_model(object, pfun, "mnl.predict", pred_data, pred_cmd, dec = dec, envir = envir) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for mnl.predict +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.mnl.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Multinomial logistic regression (MNL)", lev = attr(x, "radiant_lev")) +} + +#' Plot method for mnl.predict function +#' +#' @param x Return value from predict function predict.mnl +#' @param xvar Variable to display along the X-axis of the plot +#' @param facet_row Create vertically arranged subplots for each level of the selected factor variable +#' @param facet_col Create horizontally arranged subplots for each level of the selected factor variable +#' @param color Adds color to a scatter plot to generate a heat map. For a line plot one line is created for each group and each is assigned a different color +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' pred <- predict(result, pred_cmd = "price.heinz28 = seq(3, 5, 0.1)") +#' plot(pred, xvar = "price.heinz28") +#' +#' @seealso \code{\link{predict.mnl}} to generate predictions +#' +#' @importFrom rlang .data +#' +#' @export +plot.mnl.predict <- function(x, xvar = "", facet_row = ".", facet_col = ".", + color = ".class", ...) { + + ## should work with req in regress_ui but doesn't + if (is.empty(xvar)) { + return(invisible()) + } + + if (facet_col != "." && facet_row == facet_col) { + return("The same variable cannot be used for both Facet row and Facet column") + } + + if (is.character(x)) { + return(x) + } + + pvars <- base::setdiff(attr(x, "radiant_vars"), attr(x, "radiant_evar")) + rvar <- attr(x, "radiant_rvar") + x %<>% gather(".class", "Prediction", !!pvars) + + byvar <- c(xvar, color) + if (facet_row != ".") byvar <- unique(c(byvar, facet_row)) + if (facet_col != ".") byvar <- unique(c(byvar, facet_col)) + + tmp <- group_by_at(x, .vars = byvar) %>% + select_at(.vars = c(byvar, "Prediction")) %>% + summarise_all(mean) + p <- ggplot(tmp, aes(x = .data[[xvar]], y = .data$Prediction, color = .data[[color]], group = .data[[color]])) + + geom_line() + + if (facet_row != "." || facet_col != ".") { + facets <- ifelse(facet_row == ".", paste("~", facet_col), paste(facet_row, "~", facet_col)) + facet_fun <- ifelse(facet_row == ".", facet_wrap, facet_grid) + p <- p + facet_fun(as.formula(facets)) + } + + p <- p + guides(color = guide_legend(title = rvar)) + + sshhr(p) +} + +#' Store predicted values generated in the mnl function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/mnl.html} for an example in Radiant +#' +#' @param dataset Dataset to add predictions to +#' @param object Return value from model function +#' @param name Variable name(s) assigned to predicted values. If empty, the levels of the response variable will be used +#' @param ... Additional arguments +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' pred <- predict(result, pred_data = ketchup) +#' ketchup <- store(ketchup, pred, name = c("heinz28", "heinz32", "heinz41", "hunts32")) +#' +#' @export +store.mnl.predict <- function(dataset, object, name = NULL, ...) { + + ## extract the names of the variables predicted + pvars <- base::setdiff(attr(object, "radiant_vars"), attr(object, "radiant_evar")) + + ## as.vector removes all attributes from df + # df <- as.vector(object[, pvars]) + df <- object[, pvars, drop = FALSE] %>% mutate(across(everything(), as.vector)) + + if (is.empty(name)) { + name <- pvars + } else { + ## gsub needed because trailing/leading spaces may be added to the variable name + name <- unlist(strsplit(name, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + gsub("\\s", "", .) + if (length(name) < length(pvars)) { + df <- df[, 1:length(name), drop = FALSE] %>% set_colnames(name) + } + } + + indr <- indexr(dataset, attr(object, "radiant_evar"), "", cmd = attr(object, "radiant_pred_cmd")) + pred <- as.data.frame(matrix(NA, nrow = indr$nr, ncol = ncol(df)), stringsAsFactors = FALSE) + pred[indr$ind, ] <- df + dataset[, name] <- pred + dataset +} diff --git a/radiant.model/R/nb.R b/radiant.model/R/nb.R new file mode 100644 index 0000000..24a0c47 --- /dev/null +++ b/radiant.model/R/nb.R @@ -0,0 +1,401 @@ +#' Naive Bayes using e1071::naiveBayes +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nb.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the logit (probit) model +#' @param evar Explanatory variables in the model +#' @param laplace Positive double controlling Laplace smoothing. The default (0) disables Laplace smoothing. +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in nb as an object of class nb +#' +#' @examples +#' nb(titanic, "survived", c("pclass", "sex", "age")) %>% summary() +#' nb(titanic, "survived", c("pclass", "sex", "age")) %>% str() +#' +#' @seealso \code{\link{summary.nb}} to summarize results +#' @seealso \code{\link{plot.nb}} to plot results +#' @seealso \code{\link{predict.nb}} for prediction +#' +#' @importFrom e1071 naiveBayes +#' +#' @export +nb <- function(dataset, rvar, evar, laplace = 0, + data_filter = "", arr = "", rows = NULL, + envir = parent.frame()) { + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("nb")) + } + + df_name <- if (!is_string(dataset)) deparse(substitute(dataset)) else dataset + dataset <- get_data(dataset, c(rvar, evar), filt = data_filter, arr = arr, rows = rows, envir = envir) + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("nb")) + } + + vars <- evar + ## in case : is used + if (length(vars) < (ncol(dataset) - 1)) { + vars <- evar <- colnames(dataset)[-1] + } + + ## make sure the dv is a factor + if (!is.factor(dataset[[1]])) dataset <- as_factor(dataset[[1]]) + lev <- levels(dataset[[1]]) + + ## estimate using e1071 + form <- paste0(rvar, " ~ ", paste0(evar, collapse = "+")) %>% as.formula() + model <- e1071::naiveBayes(dataset[, -1, drop = FALSE], dataset[[1]], laplace = laplace) + + ## nb does not return residuals + model$residuals <- NA + + ## nb doesn't indlude model terms, needed for predict_model + # model$terms <- colnames(dataset) + # attr(model$term, "dataClasses") <- get_class(dataset) + + ## nb model object does not include the data by default + model$model <- dataset + rm(dataset, envir) ## dataset not needed elsewhere + + as.list(environment()) %>% add_class(c("nb", "model")) +} + +#' Summary method for the nb function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nb.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{nb}} +#' @param dec Decimals +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nb(titanic, "survived", c("pclass", "sex", "age")) +#' summary(result) +#' +#' @seealso \code{\link{nb}} to generate results +#' @seealso \code{\link{plot.nb}} to plot results +#' @seealso \code{\link{predict.nb}} for prediction +#' +#' @export +summary.nb <- function(object, dec = 3, ...) { + if (is.character(object)) { + return(object) + } + + cat("Naive Bayes Classifier") + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + cat("\nLevels :", paste0(object$lev, collapse = ", "), "in", object$rvar) + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", ")) + cat("\nLaplace :", object$laplace) + cat("\nNr obs :", format_nr(nrow(object$model$model), dec = 0), "\n") + + cat("\nA-priori probabilities:\n") + apriori <- object$model$apriori %>% + { + . / sum(.) + } + names(dimnames(apriori))[1] <- object$rvar + print(round(apriori, 3)) + + cat("\nConditional probabilities (categorical) or means & st.dev (numeric):\n") + for (i in object$model$tables) { + names(dimnames(i))[1] <- object$rvar + if (is.null(dimnames(i)[2][[1]])) dimnames(i)[2][[1]] <- c("mean", "st.dev") + print(round(i, dec)) + cat("\n") + } +} + +#' Plot method for the nb function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nb.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{nb}} +#' @param plots Plots to produce for the specified model. Use "" to avoid showing any plots. Use "vimp" for variable importance or "correlations" to examine conditional independence +#' @param lev The level(s) in the response variable used as the basis for plots (defaults to "All levels") +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nb(titanic, "survived", c("pclass", "sex")) +#' plot(result) +#' result <- nb(titanic, "pclass", c("sex", "age")) +#' plot(result) +#' +#' @seealso \code{\link{nb}} to generate results +#' @seealso \code{\link{summary.nb}} to summarize results +#' @seealso \code{\link{predict.nb}} for prediction +#' +#' @export +plot.nb <- function(x, plots = "correlations", lev = "All levels", nrobs = 1000, ...) { + if (is.character(x)) { + return(x) + } + if (is.empty(plots[1])) { + return(invisible()) + } + + rvar <- x$model$model[[1]] + + if ("correlations" %in% plots) { + if (lev == "All levels") { + return(sshhr(radiant.basics:::plot.correlation(x$model$model, nrobs = nrobs))) + } else { + return(sshhr(radiant.basics:::plot.correlation(filter(select(x$model$model, -1), rvar == lev), nrobs = nrobs))) + } + } + + evar <- mutate_all(select(x$model$model, -1), as_numeric) + + if (lev != "All levels") { + rvar <- factor( + ifelse(rvar == lev, lev, paste0("not_", lev)), + levels = c(lev, paste0("not_", lev)) + ) + x$lev <- c(lev, paste0("not_", lev)) + } + + k <- length(x$lev) + + if (k == 2) { + ## with two variables one of them would be set to 0 by caret::varImp + ## reporting auc for each variable + vimp <- data.frame(auc = apply(evar, 2, auc, rvar), vars = colnames(evar), stringsAsFactors = FALSE) %>% + arrange_at(.vars = "auc") + vimp$vars <- factor(vimp$vars, levels = vimp$vars) + p <- visualize(vimp, yvar = "auc", xvar = "vars", type = "bar", custom = TRUE) + + labs(x = "", y = "Variable Importance (AUC)") + + coord_flip(ylim = c(0.5, max(vimp$auc))) + + theme(axis.text.y = element_text(hjust = 0)) + } else { + cmb <- combn(x$lev, 2) + vimp <- matrix(NA, ncol(cmb), ncol(evar)) + + for (i in 1:ncol(cmb)) { + ind <- rvar %in% cmb[, i] + vimp[i, ] <- apply(evar[ind, , drop = FALSE], 2, auc, droplevels(rvar[ind])) + } + vimp <- as.data.frame(vimp, stringsAsFactors = FALSE) + colnames(vimp) <- names(evar) + vimp$Predict <- apply(cmb, 2, paste0, collapse = " vs ") + vimp$Predict <- factor(vimp$Predict, levels = unique(rev(vimp$Predict))) + vimp <- gather(vimp, "vars", "auc", !!colnames(evar), factor_key = TRUE) + + p <- visualize(vimp, yvar = "auc", xvar = "Predict", type = "bar", fill = "vars", custom = TRUE) + + guides(fill = guide_legend(title = "")) + + labs(x = "", y = "Variable Importance (AUC)") + + coord_flip(ylim = c(0.5, max(vimp$auc))) + + theme(axis.text.y = element_text(hjust = 0)) + } + + sshhr(p) +} + +#' Predict method for the nb function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nb.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{nb}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., titanic). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param pred_names Names for the predictions to be stored. If one name is provided, only the first column of predictions is stored. If empty, the level in the response variable of the nb model will be used +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nb(titanic, "survived", c("pclass", "sex", "age")) +#' predict(result, pred_data = titanic) +#' predict(result, pred_data = titanic, pred_names = c("Yes", "No")) +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' result <- nb(titanic, "pclass", c("survived", "sex", "age")) +#' predict(result, pred_data = titanic) +#' predict(result, pred_data = titanic, pred_names = c("1st", "2nd", "3rd")) +#' predict(result, pred_data = titanic, pred_names = "") +#' +#' @seealso \code{\link{nb}} to generate the result +#' @seealso \code{\link{summary.nb}} to summarize results +#' +#' @export +predict.nb <- function(object, pred_data = NULL, pred_cmd = "", + pred_names = "", dec = 3, envir = parent.frame(), + ...) { + if (is.character(object)) { + return(object) + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + + ## need to make sure levels in original data and pred are the same + ## as predict.naiveBayes relies on this ordering + set_levels <- function(name) { + if (!is.null(model$model[[name]]) && is.factor(model$model[[name]])) { + levs <- levels(model$model[[name]]) + levs_pred <- levels(pred[[name]]) + if (is.null(levs_pred) || !all(levs == levs_pred)) { + pred[[name]] <<- factor(pred[[name]], levels = levs) + } + } + } + + fix <- sapply(colnames(pred), set_levels) + pred_val <- try(sshhr(predict(model, pred, type = "raw")), silent = TRUE) + + if (!inherits(pred_val, "try-error")) { + pred_val %<>% as.data.frame(stringsAsFactors = FALSE) + if (all(is.empty(pred_names))) pred_names <- colnames(pred_val) + pred_val %<>% select(1:min(ncol(pred_val), length(pred_names))) %>% + set_colnames(pred_names) + } + + pred_val + } + + predict_model(object, pfun, "nb.predict", pred_data, pred_cmd, dec = dec, envir = envir) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for predict.nb +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.nb.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Naive Bayes Classifier", lev = attr(x, "radiant_lev")) +} + +#' Plot method for nb.predict function +#' +#' @param x Return value from predict function predict.nb +#' @param xvar Variable to display along the X-axis of the plot +#' @param facet_row Create vertically arranged subplots for each level of the selected factor variable +#' @param facet_col Create horizontally arranged subplots for each level of the selected factor variable +#' @param color Adds color to a scatter plot to generate a heat map. For a line plot one line is created for each group and each is assigned a different color +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nb(titanic, "survived", c("pclass", "sex", "age")) +#' pred <- predict( +#' result, +#' pred_cmd = c("pclass = levels(pclass)", "sex = levels(sex)", "age = seq(0, 100, 20)") +#' ) +#' plot(pred, xvar = "age", facet_col = "sex", facet_row = "pclass") +#' pred <- predict(result, pred_data = titanic) +#' plot(pred, xvar = "age", facet_col = "sex") +#' +#' @seealso \code{\link{predict.nb}} to generate predictions +#' +#' @importFrom rlang .data +#' +#' @export +plot.nb.predict <- function(x, xvar = "", facet_row = ".", facet_col = ".", + color = ".class", ...) { + + ## should work with req in regress_ui but doesn't + if (is.empty(xvar)) { + return(invisible()) + } + + if (facet_col != "." && facet_row == facet_col) { + return("The same variable cannot be used for both Facet row and Facet column") + } + + if (is.character(x)) { + return(x) + } + + pvars <- base::setdiff(attr(x, "radiant_vars"), attr(x, "radiant_evar")) + rvar <- attr(x, "radiant_rvar") + x %<>% gather(".class", "Prediction", !!pvars) + + byvar <- c(xvar, color) + if (facet_row != ".") byvar <- unique(c(byvar, facet_row)) + if (facet_col != ".") byvar <- unique(c(byvar, facet_col)) + + tmp <- group_by_at(x, .vars = byvar) %>% + select_at(.vars = c(byvar, "Prediction")) %>% + summarise_all(mean) + p <- ggplot(tmp, aes(x = .data[[xvar]], y = .data$Prediction, color = .data[[color]], group = .data[[color]])) + + geom_line() + + if (facet_row != "." || facet_col != ".") { + facets <- ifelse(facet_row == ".", paste("~", facet_col), paste(facet_row, "~", facet_col)) + facet_fun <- ifelse(facet_row == ".", facet_wrap, facet_grid) + p <- p + facet_fun(as.formula(facets)) + } + + p <- p + guides(color = guide_legend(title = rvar)) + + sshhr(p) +} + +#' Store predicted values generated in the nb function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nb.html} for an example in Radiant +#' +#' @param dataset Dataset to add predictions to +#' @param object Return value from model function +#' @param name Variable name(s) assigned to predicted values. If empty, the levels of the response variable will be used +#' @param ... Additional arguments +#' +#' @examples +#' result <- nb(titanic, rvar = "survived", evar = c("pclass", "sex", "age")) +#' pred <- predict(result, pred_data = titanic) +#' titanic <- store(titanic, pred, name = c("Yes", "No")) +#' +#' @export +store.nb.predict <- function(dataset, object, name = NULL, ...) { + + ## extract the names of the variables predicted + pvars <- base::setdiff(attr(object, "radiant_vars"), attr(object, "radiant_evar")) + + ## as.vector removes all attributes from df + # df <- as.vector(object[, pvars]) + df <- object[, pvars, drop = FALSE] %>% mutate(across(everything(), as.vector)) + + if (is.empty(name)) { + name <- pvars + } else { + ## gsub needed because trailing/leading spaces may be added to the variable name + name <- unlist(strsplit(name, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + gsub("\\s", "", .) + if (length(name) < length(pvars)) { + df <- df[, 1:length(name), drop = FALSE] %>% set_colnames(name) + } + } + + indr <- indexr(dataset, attr(object, "radiant_evar"), "", cmd = attr(object, "radiant_pred_cmd")) + pred <- as.data.frame(matrix(NA, nrow = indr$nr, ncol = ncol(df)), stringsAsFactors = FALSE) + pred[indr$ind, ] <- df + + dataset[, name] <- pred + dataset +} \ No newline at end of file diff --git a/radiant.model/R/nn.R b/radiant.model/R/nn.R new file mode 100644 index 0000000..b708440 --- /dev/null +++ b/radiant.model/R/nn.R @@ -0,0 +1,718 @@ +#' Neural Networks using nnet +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nn.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param type Model type (i.e., "classification" or "regression") +#' @param lev The level in the response variable defined as _success_ +#' @param size Number of units (nodes) in the hidden layer +#' @param decay Parameter decay +#' @param wts Weights to use in estimation +#' @param seed Random seed to use as the starting point +#' @param check Optional estimation parameters ("standardize" is the default) +#' @param form Optional formula to use instead of rvar and evar +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list with all variables defined in nn as an object of class nn +#' +#' @examples +#' nn(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% summary() +#' nn(titanic, "survived", c("pclass", "sex")) %>% str() +#' nn(diamonds, "price", c("carat", "clarity"), type = "regression") %>% summary() +#' @seealso \code{\link{summary.nn}} to summarize results +#' @seealso \code{\link{plot.nn}} to plot results +#' @seealso \code{\link{predict.nn}} for prediction +#' +#' @importFrom nnet nnet +#' +#' @export +nn <- function(dataset, rvar, evar, + type = "classification", lev = "", + size = 1, decay = .5, wts = "None", + seed = NA, check = "standardize", + form, data_filter = "", arr = "", + rows = NULL, envir = parent.frame()) { + if (!missing(form)) { + form <- as.formula(format(form)) + paste0(format(form), collapse = "") + + vars <- all.vars(form) + rvar <- vars[1] + evar <- vars[-1] + } + + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("nn")) + } else if (is.empty(size) || size < 1) { + return("Size should be larger than or equal to 1." %>% add_class("nn")) + } else if (is.empty(decay) || decay < 0) { + return("Decay should be larger than or equal to 0." %>% add_class("nn")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + if (!is.empty(wts)) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("nn") + ) + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("nn")) + } + + rv <- dataset[[rvar]] + + if (type == "classification") { + linout <- FALSE + entropy <- TRUE + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } + + ## transformation to TRUE/FALSE depending on the selected level (lev) + dataset[[rvar]] <- dataset[[rvar]] == lev + } else { + linout <- TRUE + entropy <- FALSE + } + + ## standardize data to limit stability issues ... + # http://stats.stackexchange.com/questions/23235/how-do-i-improve-my-neural-network-stability + if ("standardize" %in% check) { + dataset <- scale_df(dataset, wts = wts) + } + + vars <- evar + ## in case : is used + if (length(vars) < (ncol(dataset) - 1)) { + vars <- evar <- colnames(dataset)[-1] + } + + if (missing(form)) form <- as.formula(paste(rvar, "~ . ")) + + ## use decay http://stats.stackexchange.com/a/70146/61693 + nninput <- list( + formula = form, + rang = .1, size = size, decay = decay, weights = wts, + maxit = 10000, linout = linout, entropy = entropy, + skip = FALSE, trace = FALSE, data = dataset + ) + + ## based on https://stackoverflow.com/a/14324316/1974918 + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) { + if (exists(".Random.seed")) { + gseed <- .Random.seed + on.exit(.Random.seed <<- gseed) + } + set.seed(seed) + } + + ## need do.call so Garson/Olden plot will work + model <- do.call(nnet::nnet, nninput) + coefnames <- model$coefnames + hasLevs <- sapply(select(dataset, -1), function(x) is.factor(x) || is.logical(x) || is.character(x)) + if (sum(hasLevs) > 0) { + for (i in names(hasLevs[hasLevs])) { + coefnames %<>% gsub(paste0("^", i), paste0(i, "|"), .) %>% + gsub(paste0(":", i), paste0(":", i, "|"), .) + } + rm(i, hasLevs) + } + + ## nn returns residuals as a matrix + model$residuals <- model$residuals[, 1] + + ## nn model object does not include the data by default + model$model <- dataset + rm(dataset, envir) ## dataset not needed elsewhere + + as.list(environment()) %>% add_class(c("nn", "model")) +} + +#' Center or standardize variables in a data frame +#' +#' @param dataset Data frame +#' @param center Center data (TRUE or FALSE) +#' @param scale Scale data (TRUE or FALSE) +#' @param sf Scaling factor (default is 2) +#' @param wts Weights to use (default is NULL for no weights) +#' @param calc Calculate mean and sd or use attributes attached to dat +#' +#' @return Scaled data frame +#' +#' @export +scale_df <- function(dataset, center = TRUE, scale = TRUE, + sf = 2, wts = NULL, calc = TRUE) { + isNum <- sapply(dataset, function(x) is.numeric(x)) + if (length(isNum) == 0 || sum(isNum) == 0) { + return(dataset) + } + cn <- names(isNum)[isNum] + + ## remove set_attr calls when dplyr removes and keep attributes appropriately + descr <- attr(dataset, "description") + if (calc) { + if (length(wts) == 0) { + ms <- summarise_at(dataset, .vars = cn, .funs = ~ mean(., na.rm = TRUE)) %>% + set_attr("description", NULL) + if (scale) { + sds <- summarise_at(dataset, .vars = cn, .funs = ~ sd(., na.rm = TRUE)) %>% + set_attr("description", NULL) + } + } else { + ms <- summarise_at(dataset, .vars = cn, .funs = ~ weighted.mean(., wts, na.rm = TRUE)) %>% + set_attr("description", NULL) + if (scale) { + sds <- summarise_at(dataset, .vars = cn, .funs = ~ weighted.sd(., wts, na.rm = TRUE)) %>% + set_attr("description", NULL) + } + } + } else { + ms <- attr(dataset, "radiant_ms") + sds <- attr(dataset, "radiant_sds") + if (is.null(ms) && is.null(sds)) { + return(dataset) + } + } + if (center && scale) { + icn <- intersect(names(ms), cn) + dataset[icn] <- lapply(icn, function(var) (dataset[[var]] - ms[[var]]) / (sf * sds[[var]])) + dataset %>% + set_attr("radiant_ms", ms) %>% + set_attr("radiant_sds", sds) %>% + set_attr("radiant_sf", sf) %>% + set_attr("description", descr) + } else if (center) { + icn <- intersect(names(ms), cn) + dataset[icn] <- lapply(icn, function(var) dataset[[var]] - ms[[var]]) + dataset %>% + set_attr("radiant_ms", ms) %>% + set_attr("description", descr) + } else if (scale) { + icn <- intersect(names(sds), cn) + dataset[icn] <- lapply(icn, function(var) dataset[[var]] / (sf * sds[[var]])) + set_attr("radiant_sds", sds) %>% + set_attr("radiant_sf", sf) %>% + set_attr("description", descr) + } else { + dataset + } +} + +#' Summary method for the nn function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nn.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{nn}} +#' @param prn Print list of weights +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nn(titanic, "survived", "pclass", lev = "Yes") +#' summary(result) +#' @seealso \code{\link{nn}} to generate results +#' @seealso \code{\link{plot.nn}} to plot results +#' @seealso \code{\link{predict.nn}} for prediction +#' +#' @export +summary.nn <- function(object, prn = TRUE, ...) { + if (is.character(object)) { + return(object) + } + cat("Neural Network\n") + if (object$type == "classification") { + cat("Activation function : Logistic (classification)") + } else { + cat("Activation function : Linear (regression)") + } + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + if (object$type == "classification") { + cat("\nLevel :", object$lev, "in", object$rvar) + } + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } + cat("Network size :", object$size, "\n") + cat("Parameter decay :", object$decay, "\n") + if (!is.empty(object$seed)) { + cat("Seed :", object$seed, "\n") + } + + network <- paste0(object$model$n, collapse = "-") + nweights <- length(object$model$wts) + cat("Network :", network, "with", nweights, "weights\n") + + if (!is.empty(object$wts, "None") && (length(unique(object$wts)) > 2 || min(object$wts) >= 1)) { + cat("Nr obs :", format_nr(sum(object$wts), dec = 0), "\n") + } else { + cat("Nr obs :", format_nr(length(object$rv), dec = 0), "\n") + } + + if (object$model$convergence != 0) { + cat("\n** The model did not converge **") + } else { + if (prn) { + cat("Weights :\n") + oop <- base::options(width = 100) + on.exit(base::options(oop), add = TRUE) + capture.output(summary(object$model))[-1:-2] %>% + gsub("^", " ", .) %>% + paste0(collapse = "\n") %>% + cat("\n") + } + } +} + +#' Variable importance using the vip package and permutation importance +#' +#' @param object Model object created by Radiant +#' @param rvar Label to identify the response or target variable +#' @param lev Reference class for binary classifier (rvar) +#' @param data Data to use for prediction. Will default to the data used to estimate the model +#' @param seed Random seed for reproducibility +#' +#' @importFrom vip vi +#' +#' @export +varimp <- function(object, rvar, lev, data = NULL, seed = 1234) { + if (is.null(data)) data <- object$model$model + + # needed to avoid rescaling during prediction + object$check <- setdiff(object$check, c("center", "standardize")) + + arg_list <- list(object, pred_data = data, se = FALSE) + if (missing(rvar)) rvar <- object$rvar + if (missing(lev) && object$type == "classification") { + if (!is.empty(object$lev)) { + lev <- object$lev + } + if (!is.logical(data[[rvar]])) { + # don't change if already logical + data[[rvar]] <- data[[rvar]] == lev + } + } else if (object$type == "classification") { + data[[rvar]] <- data[[rvar]] == lev + } + + fun <- function(object, arg_list) do.call(predict, arg_list)[["Prediction"]] + if (inherits(object, "rforest")) { + arg_list$OOB <- FALSE # all 0 importance scores when using OOB + if (object$type == "classification") { + fun <- function(object, arg_list) do.call(predict, arg_list)[[object$lev]] + } + } + + pred_fun <- function(object, newdata) { + arg_list$pred_data <- newdata + fun(object, arg_list) + } + + set.seed(seed) + if (object$type == "regression") { + vimp <- vip::vi( + object, + target = rvar, + method = "permute", + metric = "rsq", # "rmse" + pred_wrapper = pred_fun, + train = data + ) + } else { + # required after transition to yardstick by the vip package + data[[rvar]] <- factor(data[[rvar]], levels = c("TRUE", "FALSE")) + vimp <- vip::vi( + object, + target = rvar, + event_level = "first", + method = "permute", + metric = "roc_auc", + pred_wrapper = pred_fun, + train = data + ) + } + + vimp %>% + filter(Importance != 0) %>% + mutate(Variable = factor(Variable, levels = rev(Variable))) +} + +#' Plot permutation importance +#' +#' @param object Model object created by Radiant +#' @param rvar Label to identify the response or target variable +#' @param lev Reference class for binary classifier (rvar) +#' @param data Data to use for prediction. Will default to the data used to estimate the model +#' @param seed Random seed for reproducibility +#' +#' @importFrom vip vi +#' +#' @export +varimp_plot <- function(object, rvar, lev, data = NULL, seed = 1234) { + vi_scores <- varimp(object, rvar, lev, data = data, seed = seed) + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = ifelse(object$type == "regression", "Importance (R-square decrease)", "Importance (AUC decrease)") + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) +} + +#' Plot method for the nn function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nn.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{nn}} +#' @param plots Plots to produce for the specified Neural Network model. Use "" to avoid showing any plots (default). Options are "olden" or "garson" for importance plots, or "net" to depict the network structure +#' @param size Font size used +#' @param pad_x Padding for explanatory variable labels in the network plot. Default value is 0.9, smaller numbers (e.g., 0.5) increase the amount of padding +#' @param nrobs Number of data points to show in dashboard scatter plots (-1 for all) +#' @param incl Which variables to include in a coefficient plot or PDP plot +#' @param incl_int Which interactions to investigate in PDP plots +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nn(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' plot(result, plots = "net") +#' plot(result, plots = "olden") +#' @seealso \code{\link{nn}} to generate results +#' @seealso \code{\link{summary.nn}} to summarize results +#' @seealso \code{\link{predict.nn}} for prediction +#' +#' @importFrom NeuralNetTools plotnet olden garson +#' @importFrom graphics par +#' +#' @export +plot.nn <- function(x, plots = "vip", size = 12, pad_x = 0.9, nrobs = -1, + incl = NULL, incl_int = NULL, + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x) || !inherits(x$model, "nnet")) { + return(x) + } + plot_list <- list() + nrCol <- 1 + + if ("olden" %in% plots || "olsen" %in% plots) { ## legacy for typo + plot_list[["olsen"]] <- NeuralNetTools::olden(x$model, x_lab = x$coefnames, cex_val = 4) + + coord_flip() + + theme_set(theme_gray(base_size = size)) + + theme(legend.position = "none") + + labs(title = paste0("Olden plot of variable importance (size = ", x$size, ", decay = ", x$decay, ")")) + } + + if ("garson" %in% plots) { + plot_list[["garson"]] <- NeuralNetTools::garson(x$model, x_lab = x$coefnames) + + coord_flip() + + theme_set(theme_gray(base_size = size)) + + theme(legend.position = "none") + + labs(title = paste0("Garson plot of variable importance (size = ", x$size, ", decay = ", x$decay, ")")) + } + + if ("vip" %in% plots) { + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = paste0("Permutation Importance (size = ", x$size, ", decay = ", x$decay, ")"), + x = NULL, + y = ifelse(x$type == "regression", "Importance (R-square decrease)", "Importance (AUC decrease)") + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("net" %in% plots) { + ## don't need as much spacing at the top and bottom + mar <- par(mar = c(0, 4.1, 0, 2.1)) + on.exit(par(mar = mar$mar)) + return(do.call(NeuralNetTools::plotnet, list(mod_in = x$model, x_names = x$coefnames, pad_x = pad_x, cex_val = size / 16))) + } + + if ("pred_plot" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("pdp" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 || length(incl_int) > 0) { + plot_list <- pdp_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Partial Dependence Plots") + } + } + + if (x$type == "regression" && "dashboard" %in% plots) { + plot_list <- plot.regress(x, plots = "dashboard", lines = "line", nrobs = nrobs, custom = TRUE) + nrCol <- 2 + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} + +#' Predict method for the nn function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nn.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{nn}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., diamonds). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- nn(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' result <- nn(diamonds, "price", "carat:color", type = "regression") +#' predict(result, pred_cmd = "carat = 1:3") +#' predict(result, pred_data = diamonds) %>% head() +#' @seealso \code{\link{nn}} to generate the result +#' @seealso \code{\link{summary.nn}} to summarize results +#' +#' @export +predict.nn <- function(object, pred_data = NULL, pred_cmd = "", + dec = 3, envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + pred_val <- try(sshhr(predict(model, pred)), silent = TRUE) + + if (!inherits(pred_val, "try-error")) { + pred_val %<>% as.data.frame(stringsAsFactors = FALSE) %>% + select(1) %>% + set_colnames("Prediction") + } + + pred_val + } + + predict_model(object, pfun, "nn.predict", pred_data, pred_cmd, conf_lev = 0.95, se = FALSE, dec, envir = envir) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for predict.nn +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.nn.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Neural Network") +} + +#' Cross-validation for a Neural Network +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/nn.html} for an example in Radiant +#' +#' @param object Object of type "nn" or "nnet" +#' @param K Number of cross validation passes to use +#' @param repeats Repeated cross validation +#' @param size Number of units (nodes) in the hidden layer +#' @param decay Parameter decay +#' @param seed Random seed to use as the starting point +#' @param trace Print progress +#' @param fun Function to use for model evaluation (i.e., auc for classification and RMSE for regression) +#' @param ... Additional arguments to be passed to 'fun' +#' +#' @return A data.frame sorted by the mean of the performance metric +#' +#' @seealso \code{\link{nn}} to generate an initial model that can be passed to cv.nn +#' @seealso \code{\link{Rsq}} to calculate an R-squared measure for a regression +#' @seealso \code{\link{RMSE}} to calculate the Root Mean Squared Error for a regression +#' @seealso \code{\link{MAE}} to calculate the Mean Absolute Error for a regression +#' @seealso \code{\link{auc}} to calculate the area under the ROC curve for classification +#' @seealso \code{\link{profit}} to calculate profits for classification at a cost/margin threshold +#' +#' @importFrom nnet nnet.formula +#' @importFrom shiny getDefaultReactiveDomain withProgress incProgress +#' +#' @examples +#' \dontrun{ +#' result <- nn(dvd, "buy", c("coupon", "purch", "last")) +#' cv.nn(result, decay = seq(0, 1, .5), size = 1:2) +#' cv.nn(result, decay = seq(0, 1, .5), size = 1:2, fun = profit, cost = 1, margin = 5) +#' result <- nn(diamonds, "price", c("carat", "color", "clarity"), type = "regression") +#' cv.nn(result, decay = seq(0, 1, .5), size = 1:2) +#' cv.nn(result, decay = seq(0, 1, .5), size = 1:2, fun = Rsq) +#' } +#' +#' @export +cv.nn <- function(object, K = 5, repeats = 1, decay = seq(0, 1, .2), size = 1:5, + seed = 1234, trace = TRUE, fun, ...) { + if (inherits(object, "nn")) { + ms <- attr(object$model$model, "radiant_ms")[[object$rvar]] + sds <- attr(object$model$model, "radiant_sds")[[object$rvar]] + if (length(sds) == 0) { + sds <- sf <- 1 + } else { + sf <- attr(object$model$model, "radiant_sf") + sf <- ifelse(length(sf) == 0, 2, sf) + } + object <- object$model + } else { + ms <- 0 + sds <- 1 + sf <- 1 + } + + if (inherits(object, "nnet")) { + dv <- as.character(object$call$formula[[2]]) + m <- eval(object$call[["data"]]) + weights <- eval(object$call[["weights"]]) + if (is.numeric(m[[dv]])) { + type <- "regression" + } else { + type <- "classification" + if (is.factor(m[[dv]])) { + lev <- levels(m[[dv]])[1] + } else if (is.logical(m[[dv]])) { + lev <- TRUE + } else { + stop("The level to use for classification is not clear. Use a factor of logical as the response variable") + } + } + } else { + stop("The model object does not seems to be a neural network") + } + + set.seed(seed) + tune_grid <- expand.grid(decay = decay, size = size) + out <- data.frame(mean = NA, std = NA, min = NA, max = NA, decay = tune_grid[["decay"]], size = tune_grid[["size"]]) + + if (missing(fun)) { + if (type == "classification") { + fun <- radiant.model::auc + cn <- "AUC (mean)" + } else { + fun <- radiant.model::RMSE + cn <- "RMSE (mean)" + } + } else { + cn <- glue("{deparse(substitute(fun))} (mean)") + } + + if (length(shiny::getDefaultReactiveDomain()) > 0) { + trace <- FALSE + incProgress <- shiny::incProgress + withProgress <- shiny::withProgress + } else { + incProgress <- function(...) {} + withProgress <- function(...) list(...)[["expr"]] + } + + nitt <- nrow(tune_grid) + withProgress(message = "Running cross-validation (nn)", value = 0, { + for (i in seq_len(nitt)) { + perf <- double(K * repeats) + object$call[["decay"]] <- tune_grid[i, "decay"] + object$call[["size"]] <- tune_grid[i, "size"] + if (trace) cat("Working on size", tune_grid[i, "size"], "decay", tune_grid[i, "decay"], "\n") + for (j in seq_len(repeats)) { + rand <- sample(K, nrow(m), replace = TRUE) + for (k in seq_len(K)) { + object$call[["data"]] <- quote(m[rand != k, , drop = FALSE]) + if (length(weights) > 0) { + object$call[["weights"]] <- weights[rand != k] + } + pred <- predict(eval(object$call), newdata = m[rand == k, , drop = FALSE])[, 1] + if (type == "classification") { + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv]), lev) + } else { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv]), lev, ...) + } + } else { + pred <- pred * sf * sds + ms + rvar <- unlist(m[rand == k, dv]) * sf * sds + ms + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred, rvar) + } else { + perf[k + (j - 1) * K] <- fun(pred, rvar, ...) + } + } + } + } + out[i, 1:4] <- c(mean(perf), sd(perf), min(perf), max(perf)) + incProgress(1 / nitt, detail = paste("\nCompleted run", i, "out of", nitt)) + } + }) + + if (type == "classification") { + out <- arrange(out, desc(mean)) + } else { + out <- arrange(out, mean) + } + ## show evaluation metric in column name + colnames(out)[1] <- cn + out +} diff --git a/radiant.model/R/radiant.R b/radiant.model/R/radiant.R new file mode 100644 index 0000000..a401aab --- /dev/null +++ b/radiant.model/R/radiant.R @@ -0,0 +1,104 @@ +#' Launch radiant.model in the default browser +#' +#' @description Launch radiant.model in the default web browser +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.model() +#' } +#' @export +radiant.model <- function(state, ...) radiant.data::launch(package = "radiant.model", run = "browser", state, ...) + +#' Launch radiant.model in an Rstudio window +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.model_window() +#' } +#' @export +radiant.model_window <- function(state, ...) radiant.data::launch(package = "radiant.model", run = "window", state, ...) + +#' Launch radiant.model in the Rstudio viewer +#' +#' @details See \url{https://radiant-rstats.github.io/docs/} for documentation and tutorials +#' +#' @param state Path to state file to load +#' @param ... additional arguments to pass to shiny::runApp (e.g, port = 8080) +#' +#' @importFrom radiant.data launch +#' +#' @examples +#' \dontrun{ +#' radiant.model_viewer() +#' } +#' @export +radiant.model_viewer <- function(state, ...) radiant.data::launch(package = "radiant.model", run = "viewer", state, ...) + +#' Method to evaluate sensitivity of an analysis +#' +#' @param object Object of relevant class for which to evaluate sensitivity +#' @param ... Additional arguments +#' +#' @seealso \code{\link{sensitivity.dtree}} to plot results +#' +#' @export +sensitivity <- function(object, ...) UseMethod("sensitivity", object) + +#' Method to render DiagrammeR plots +#' +#' @param object DiagrammeR plot +#' @param shiny Check if function is called from a shiny application +#' @param ... Additional arguments +#' +#' @importFrom DiagrammeR renderDiagrammeR +#' @importFrom shiny getDefaultReactiveDomain +#' +#' @export +render.DiagrammeR <- function(object, shiny = shiny::getDefaultReactiveDomain(), ...) { + ## hack for rmarkdown from Report > Rmd and Report > R + if (!is.null(shiny) && !getOption("radiant.rmarkdown", FALSE)) { + DiagrammeR::renderDiagrammeR(object) + } else { + object + } +} + +#' One hot encoding of data.frames +#' @param dataset Dataset to endcode +#' @param all Extract all factor levels (e.g., for tree-based models) +#' @param df Return a data.frame (tibble) +#' +#' @examples +#' head(onehot(diamonds, df = TRUE)) +#' head(onehot(diamonds, all = TRUE, df = TRUE)) +#' @importFrom stats contrasts +#' +#' @export +onehot <- function(dataset, all = FALSE, df = FALSE) { + if (all) { + mm <- model.matrix(~ 0 + ., + data = dataset, + contrasts.arg = lapply( + dataset[, vapply(dataset, is.factor, logical(1))], + contrasts, + contrasts = FALSE + ) + ) + } else { + mm <- model.matrix(~., model.frame(~., dataset)) + } + if (df) as.data.frame(mm, stringsAsFactors = FALSE) else mm +} diff --git a/radiant.model/R/regress.R b/radiant.model/R/regress.R new file mode 100644 index 0000000..26b8ba7 --- /dev/null +++ b/radiant.model/R/regress.R @@ -0,0 +1,1662 @@ +#' Linear regression using OLS +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the regression +#' @param evar Explanatory variables in the regression +#' @param int Interaction terms to include in the model +#' @param check Use "standardize" to see standardized coefficient estimates. Use "stepwise-backward" (or "stepwise-forward", or "stepwise-both") to apply step-wise selection of variables in estimation. Add "robust" for robust estimation of standard errors (HC1) +#' @param form Optional formula to use instead of rvar, evar, and int +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param rows Rows to select from the specified dataset +#' @param envir Environment to extract data from +#' +#' @return A list of all variables used in the regress function as an object of class regress +#' +#' @examples +#' regress(diamonds, "price", c("carat", "clarity"), check = "standardize") %>% summary() +#' regress(diamonds, "price", c("carat", "clarity")) %>% str() +#' +#' @seealso \code{\link{summary.regress}} to summarize results +#' @seealso \code{\link{plot.regress}} to plot results +#' @seealso \code{\link{predict.regress}} to generate predictions +#' +#' @importFrom sandwich vcovHC +#' +#' @export +regress <- function(dataset, rvar, evar, int = "", check = "", + form, data_filter = "", arr = "", rows = NULL, envir = parent.frame()) { + if (!missing(form)) { + form <- as.formula(format(form)) + vars <- all.vars(form) + rvar <- vars[1] + evar <- vars[-1] + } + + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("regress")) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + if (any(evar == ".")) { + dataset <- get_data(dataset, "", filt = data_filter, arr = arr, rows = rows, envir = envir) + evar <- setdiff(colnames(dataset), rvar) + } else { + dataset <- get_data(dataset, c(rvar, evar), filt = data_filter, arr = arr, rows = rows, envir = envir) + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("regress")) + } + + if (!missing(form)) { + int <- setdiff(attr(terms.formula(form), "term.labels"), evar) + } + + vars <- "" + var_check(evar, colnames(dataset)[-1], int) %>% + { + vars <<- .$vars + evar <<- .$ev + int <<- .$intv + } + + ## add minmax attributes to data + mmx <- minmax(dataset) + + ## scale data + isNum <- sapply(dataset, is.numeric) + if (sum(isNum) > 0) { + if ("standardize" %in% check) { + dataset <- scale_df(dataset) + } else if ("center" %in% check) { + dataset <- scale_df(dataset, scale = FALSE) + } + } + + if (missing(form)) { + form_upper <- paste(rvar, "~", paste(vars, collapse = " + ")) %>% as.formula() + } else { + form_upper <- form + rm(form) + } + form_lower <- paste(rvar, "~ 1") %>% as.formula() + if ("stepwise" %in% check) check <- sub("stepwise", "stepwise-backward", check) + if ("stepwise-backward" %in% check) { + ## use k = 2 for AIC, use k = log(nrow(dataset)) for BIC + model <- lm(form_upper, data = dataset) %>% + step(k = 2, scope = list(lower = form_lower), direction = "backward") + } else if ("stepwise-forward" %in% check) { + model <- lm(form_lower, data = dataset) %>% + step(k = 2, scope = list(upper = form_upper), direction = "forward") + } else if ("stepwise-both" %in% check) { + model <- lm(form_lower, data = dataset) %>% + step(k = 2, scope = list(lower = form_lower, upper = form_upper), direction = "both") + } else { + model <- lm(form_upper, data = dataset) + } + + ## needed for prediction if standardization or centering is used + if ("standardize" %in% check || "center" %in% check) { + attr(model$model, "radiant_ms") <- attr(dataset, "radiant_ms") + attr(model$model, "radiant_sds") <- attr(dataset, "radiant_sds") + attr(model$model, "radiant_sf") <- attr(dataset, "radiant_sf") + } + + coeff <- tidy(model) %>% + na.omit() %>% + as.data.frame() + colnames(coeff) <- c(" ", "coefficient", "std.error", "t.value", "p.value") + + if ("robust" %in% check) { + vcov <- sandwich::vcovHC(model, type = "HC1") + coeff$std.error <- sqrt(diag(vcov)) + coeff$t.value <- coeff$coefficient / coeff$std.error + coeff$p.value <- 2 * pt(abs(coeff$t.value), df = nrow(dataset) - nrow(coeff), lower.tail = FALSE) + } + + coeff$sig_star <- sig_stars(coeff$p.value) %>% format(justify = "left") + colnames(coeff) <- c("label", "coefficient", "std.error", "t.value", "p.value", "sig_star") + hasLevs <- sapply(select(dataset, -1), function(x) is.factor(x) || is.logical(x) || is.character(x)) + if (sum(hasLevs) > 0) { + for (i in names(hasLevs[hasLevs])) { + coeff$label %<>% gsub(paste0("^", i), paste0(i, "|"), .) %>% + gsub(paste0(":", i), paste0(":", i, "|"), .) + } + rm(i) + } + + ## remove elements no longer needed + rm(dataset, hasLevs, form_lower, form_upper, isNum, envir) + + # added for consistency with other model types + type <- "regression" + + as.list(environment()) %>% add_class(c("regress", "model")) +} + +#' Summary method for the regress function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{regress}} +#' @param sum_check Optional output. "rsme" to show the root mean squared error and the standard deviation of the residuals. "sumsquares" to show the sum of squares table. "vif" to show multicollinearity diagnostics. "confint" to show coefficient confidence interval estimates. +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param test_var Variables to evaluate in model comparison (i.e., a competing models F-test) +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- regress(diamonds, "price", c("carat", "clarity")) +#' summary(result, sum_check = c("rmse", "sumsquares", "vif", "confint"), test_var = "clarity") +#' result <- regress(ideal, "y", c("x1", "x2")) +#' summary(result, test_var = "x2") +#' ideal %>% +#' regress("y", "x1:x3") %>% +#' summary() +#' +#' @seealso \code{\link{regress}} to generate the results +#' @seealso \code{\link{plot.regress}} to plot results +#' @seealso \code{\link{predict.regress}} to generate predictions +#' +#' @importFrom car vif linearHypothesis +#' +#' @export +summary.regress <- function(object, sum_check = "", conf_lev = .95, + test_var = "", dec = 3, ...) { + if (is.character(object)) { + return(object) + } + if (class(object$model)[1] != "lm") { + return(object) + } + + if (any(grepl("stepwise", object$check))) { + step_type <- if ("stepwise-backward" %in% object$check) { + "Backward" + } else if ("stepwise-forward" %in% object$check) { + "Forward" + } else { + "Forward and Backward" + } + cat("----------------------------------------------------\n") + cat(step_type, "stepwise selection of variables\n") + cat("----------------------------------------------------\n") + } + + cat("Linear regression (OLS)\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) { + cat("Filter :", gsub("\\n", "", object$data_filter), "\n") + } + if (!is.empty(object$arr)) { + cat("Arrange :", gsub("\\n", "", object$arr), "\n") + } + if (!is.empty(object$rows)) { + cat("Slice :", gsub("\\n", "", object$rows), "\n") + } + cat("Response variable :", object$rvar, "\n") + cat("Explanatory variables:", paste0(object$evar, collapse = ", "), "\n") + expl_var <- if (length(object$evar) == 1) object$evar else "x" + cat(paste0("Null hyp.: the effect of ", expl_var, " on ", object$rvar, " is zero\n")) + cat(paste0("Alt. hyp.: the effect of ", expl_var, " on ", object$rvar, " is not zero\n")) + if ("standardize" %in% object$check) { + cat("**Standardized coefficients shown (2 X SD)**\n") + } else if ("center" %in% object$check) { + cat("**Centered coefficients shown (x - mean(x))**\n") + } + if ("robust" %in% object$check) { + cat("**Robust standard errors used**\n") + } + + coeff <- object$coeff + coeff$label %<>% format(justify = "left") + cat("\n") + if (all(object$coeff$p.value == "NaN")) { + coeff[, 2] %<>% (function(x) sprintf(paste0("%.", dec, "f"), x)) + print(coeff[, 1:2], row.names = FALSE) + cat("\nInsufficient variation in explanatory variable(s) to report additional statistics") + return() + } else { + p.small <- coeff$p.value < .001 + coeff[, 2:5] %<>% format_df(dec) + coeff$p.value[p.small] <- "< .001" + print(dplyr::rename(coeff, ` ` = "label", ` ` = "sig_star"), row.names = FALSE) + } + + if (nrow(object$model$model) <= (length(object$evar) + 1)) { + return("\nInsufficient observations to estimate model") + } + + reg_fit <- glance(object$model) %>% round(dec) + cat("\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n") + cat("R-squared:", paste0(reg_fit$r.squared, ", "), "Adjusted R-squared:", reg_fit$adj.r.squared, "\n") + + ## if stepwise returns only an intercept + if (nrow(coeff) == 1) { + return("\nModel contains only an intercept. No additional output shown") + } + + if (reg_fit["p.value"] < .001) reg_fit["p.value"] <- "< .001" + cat("F-statistic:", reg_fit$statistic, paste0("df(", reg_fit$df, ",", reg_fit$df.residual, "), p.value"), reg_fit$p.value) + cat("\nNr obs:", format_nr(reg_fit$nobs, dec = 0), "\n\n") + + if (anyNA(object$model$coeff)) { + cat("The set of explanatory variables exhibit perfect multicollinearity.\nOne or more variables were dropped from the estimation.\n") + } + + if ("rmse" %in% sum_check) { + mean(object$model$residuals^2, na.rm = TRUE) %>% + sqrt(.) %>% + round(dec) %>% + cat("Prediction error (RMSE): ", ., "\n") + cat("Residual st.dev (RSD): ", reg_fit$sigma, "\n\n") + } + + if ("sumsquares" %in% sum_check) { + atab <- anova(object$model) + nr_rows <- dim(atab)[1] + df_reg <- sum(atab$Df[-nr_rows]) + df_err <- sum(atab$Df[nr_rows]) + df_tot <- df_reg + df_err + ss_reg <- sum(atab$`Sum Sq`[-nr_rows]) + ss_err <- sum(atab$`Sum Sq`[nr_rows]) + ss_tot <- ss_reg + ss_err + ss_tab <- data.frame(matrix(nrow = 3, ncol = 2), stringsAsFactors = FALSE) + rownames(ss_tab) <- c("Regression", "Error", "Total") + colnames(ss_tab) <- c("df", "SS") + ss_tab$df <- c(df_reg, df_err, df_tot) %>% format_nr(dec = 0) + ss_tab$SS <- c(ss_reg, ss_err, ss_tot) %>% format_nr(dec = dec) + cat("Sum of squares:\n") + format(ss_tab, scientific = FALSE) %>% print() + cat("\n") + } + + if ("vif" %in% sum_check) { + if (anyNA(object$model$coeff)) { + cat("Multicollinearity diagnostics were not calculated.") + } else { + ## needed to adjust when step-wise regression is used + if (length(attributes(object$model$terms)$term.labels) > 1) { + cat("Variance Inflation Factors\n") + car::vif(object$model) %>% + { + if (is.null(dim(.))) . else .[, "GVIF"] + } %>% ## needed when factors are included + data.frame("VIF" = ., "Rsq" = 1 - 1 / ., stringsAsFactors = FALSE) %>% + round(dec) %>% + .[order(.$VIF, decreasing = T), ] %>% + { + if (nrow(.) < 8) t(.) else . + } %>% + print() + } else { + cat("Insufficient number of explanatory variables to calculate\nmulticollinearity diagnostics (VIF)\n") + } + } + cat("\n") + } + + if ("confint" %in% sum_check) { + if (anyNA(object$model$coeff)) { + cat("Confidence intervals were not calculated.\n") + } else { + ci_perc <- ci_label(cl = conf_lev) + + if ("robust" %in% object$check) { + cnfint <- radiant.model::confint_robust + } else { + cnfint <- confint + } + + cnfint(object$model, level = conf_lev, dist = "t") %>% + as.data.frame(stringsAsFactors = FALSE) %>% + set_colnames(c("Low", "High")) %>% + mutate(`+/-` = (High - Low) / 2) %>% + mutate_all(~ sprintf(paste0("%.", dec, "f"), .)) %>% + cbind(coeff[[2]], .) %>% + set_rownames(object$coeff$label) %>% + set_colnames(c("coefficient", ci_perc[1], ci_perc[2], "+/-")) %T>% + print() + cat("\n") + } + } + + if (!is.empty(test_var)) { + if (any(grepl("stepwise", object$check))) { + cat("Model comparisons are not conducted when Stepwise has been selected.\n") + } else { + sub_form <- paste(object$rvar, "~ 1") + + vars <- object$evar + if (!is.empty(object$int) && length(vars) > 1) { + ## updating test_var if needed + test_var <- unique(c(test_var, test_specs(test_var, object$int))) + vars <- c(vars, object$int) + } + + not_selected <- base::setdiff(vars, test_var) + if (length(not_selected) > 0) sub_form <- paste(". ~", paste(not_selected, collapse = " + ")) + sub_mod <- update(object$model, sub_form, data = object$model$model) %>% + anova(object$model, test = "F") + + if (sub_mod[, "Pr(>F)"][2] %>% is.na()) { + return(cat("")) + } + + matchCf <- function(clist, vlist) { + matcher <- function(vl, cn) { + if (grepl(":", vl)) { + strsplit(vl, ":") %>% + unlist() %>% + sapply(function(x) gsub("var", x, "((var.*:)|(:var))")) %>% + paste0(collapse = "|") %>% + grepl(cn) %>% + cn[.] + } else { + mf <- grepl(paste0("^", vl, "$"), cn) %>% cn[.] + if (length(mf) == 0) { + mf <- grepl(paste0("^", vl), cn) %>% cn[.] + } + mf + } + } + + cn <- names(clist) + sapply(vlist, matcher, cn) %>% unname() + } + + test_heading <- attr(sub_mod, "heading")[2] + + if ("robust" %in% object$check) { + ## http://stats.stackexchange.com/a/132521/61693 + sub_mod <- car::linearHypothesis( + object$model, + matchCf(object$model$coef, test_var), + vcov = object$vcov + ) + } + + p.value <- sub_mod[, "Pr(>F)"][2] %>% + (function(x) if (x < .001) "< .001" else round(x, dec)) + + cat(test_heading) + object$model$model[, 1] %>% + (function(x) sum((x - mean(x))^2)) %>% + (function(x) 1 - (sub_mod$RSS / x)) %>% + round(dec) %>% + cat("\nR-squared, Model 1 vs 2:", .) + cat("\nF-statistic:", sub_mod$F[2] %>% round(dec), paste0("df(", sub_mod$Res.Df[1] - sub_mod$Res.Df[2], ",", sub_mod$Res.Df[2], "), p.value ", p.value)) + } + } +} + +#' Prediction Plots +#' +#' @details Faster, but less robust, alternative for PDP plots. Variable +#' values not included in the prediction are set to either the mean or +#' the most common value (level) +#' +#' @param x Return value from a model +#' @param plot_list List used to store plots +#' @param incl Which variables to include in prediction plots +#' @param incl_int Which interactions to investigate in prediction plots +#' @param fix Set the desired limited on yhat or have it calculated automatically. +#' Set to FALSE to have y-axis limits set by ggplot2 for each plot +#' @param hline Add a horizontal line at the average of the target variable. When set to FALSE +#' no line is added. When set to a specific number, the horizontal line will be added at that value +#' @param nr Number of values to use to generate predictions for a numeric explanatory variable +#' @param minq Quantile to use for the minimum value for simulation of numeric variables +#' @param maxq Quantile to use for the maximum value for simulation of numeric variables +#' +#' @importFrom radiant.data visualize +#' @importFrom rlang .data +#' @importFrom tidyselect where +#' +#' @export +pred_plot <- function(x, plot_list = list(), incl, incl_int, fix = TRUE, hline = TRUE, nr = 20, minq = 0.025, maxq = 0.975) { + min_max <- c(Inf, -Inf) + minx <- function(x) quantile(x, p = minq) + maxx <- function(x) quantile(x, p = maxq) + + calc_ylim <- function(lab, lst, min_max) { + if (isTRUE(fix)) { + vals <- lst[[lab]] + c(min(min_max[1], min(vals)), max(min_max[2], max(vals))) + } else if (length(fix) == 2) { + fix + } else { + FALSE + } + } + + # needed to avoid rescaling during prediction + x$check <- setdiff(x$check, c("center", "standardize")) + + mod_dat <- x$model$model # [, -1, drop = FALSE] + pvar <- "Prediction" + set_pred_name <- function(pred) { + if (!pvar %in% colnames(pred)) { + pname <- colnames(pred)[ncol(mod_dat)] + colnames(pred)[colnames(pred) == pname] <- pvar + pred <- select(pred, 1:Prediction) + } + return(pred) + } + + for (pn in incl) { + df <- mod_dat[, pn, drop = FALSE] + is_num <- sapply(df, is.numeric) + if (is.numeric(df[[pn]])) { + num_range <- df[[pn]] %>% + (function(x) seq(minx(x), maxx(x), length.out = nr)) %>% + paste0(collapse = ", ") + pred <- predict(x, pred_cmd = glue("{pn} = c({num_range})"), se = FALSE) %>% + set_pred_name() + } else if (is.logical(df[[pn]])) { + pred <- predict(x, pred_cmd = glue("{pn} = c(FALSE, TRUE)"), se = FALSE) %>% + set_pred_name() + pred[[pn]] <- factor(pred[[pn]], levels = c(FALSE, TRUE)) + } else { + pred <- predict(x, pred_cmd = glue("{pn} = levels({pn})"), se = FALSE) %>% + set_pred_name() + } + plot_list[[pn]] <- visualize(pred, xvar = pn, yvar = pvar, type = "line", custom = TRUE) + labs(y = NULL) + min_max <- calc_ylim(pvar, pred, min_max) + } + + for (pn_lab in incl_int) { + iint <- strsplit(pn_lab, ":")[[1]] + df <- mod_dat[, iint, drop = FALSE] + is_num <- sapply(df, is.numeric) + if (sum(is_num) == 2) { + # 2 numeric variables + cn <- colnames(df) + num_range1 <- df[[cn[1]]] %>% + (function(x) seq(minx(x), maxx(x), length.out = nr)) %>% + paste0(collapse = ", ") + num_range2 <- df[[cn[2]]] %>% + (function(x) seq(minx(x), maxx(x), length.out = nr)) %>% + paste0(collapse = ", ") + pred <- predict(x, pred_cmd = glue("{cn[1]} = c({num_range1}), {cn[2]} = c({num_range2})"), se = FALSE) %>% set_pred_name() + plot_list[[paste0(pn_lab, "_tile")]] <- ggplot(pred, aes(x = .data[[cn[1]]], y = .data[[cn[2]]], fill = .data[[pvar]])) + + geom_tile() + } else if (sum(is_num) == 0) { + # 2 categorical variables + cn <- colnames(df) + is_lgcl <- sapply(df, is.logical) + if (sum(is_lgcl) == 2) { + pred <- predict(x, pred_cmd = glue("{cn[1]} = c(FALSE, TRUE), {cn[2]} = c(FALSE, TRUE)"), se = FALSE) %>% set_pred_name() + } else if (sum(is_lgcl) == 1) { + if (is_lgcl[1]) { + pred <- predict(x, pred_cmd = glue("{cn[2]} = levels({cn[1]}), {cn[2]} = c(FALSE, TRUE)"), se = FALSE) %>% set_pred_name() + } else { + pred <- predict(x, pred_cmd = glue("{cn[1]} = levels({cn[1]}), {cn[2]} = c(FALSE, TRUE)"), se = FALSE) %>% set_pred_name() + } + } else { + pred <- predict(x, pred_cmd = glue("{cn[1]} = levels({cn[1]}), {cn[2]} = levels({cn[2]})"), se = FALSE) %>% set_pred_name() + } + + pred <- pred %>% mutate(across(where(is.logical), function(x) factor(x, levels = c(FALSE, TRUE)))) + plot_list[[pn_lab]] <- visualize( + pred, + xvar = cn[1], yvar = pvar, type = "line", color = cn[2], custom = TRUE + ) + labs(y = NULL) + min_max <- calc_ylim(pvar, pred, min_max) + } else if (sum(is_num) == 1) { + # 1 categorical and one numeric variable + cn <- colnames(df) + cn_fct <- cn[!is_num] + cn_num <- cn[is_num] + num_range <- df[[cn_num[1]]] %>% + (function(x) seq(minx(x), maxx(x), length.out = 20)) %>% + paste0(collapse = ", ") + + if (is.logical(df[[cn_fct]])) { + pred <- predict(x, pred_cmd = glue("{cn_num[1]} = c({num_range}), {cn_fct} = c(FALSE, TRUE)"), se = FALSE) %>% + set_pred_name() + pred[[cn_fct]] <- factor(pred[[cn_fct]], levels = c(FALSE, TRUE)) + } else { + pred <- predict(x, pred_cmd = glue("{cn_num[1]} = c({num_range}), {cn_fct} = levels({cn_fct})"), se = FALSE) %>% set_pred_name() + } + + plot_list[[pn_lab]] <- plot(pred, xvar = cn_num[1], yvar = pvar, color = cn_fct, custom = TRUE) + labs(y = NULL) + min_max <- calc_ylim(pvar, pred, min_max) + } + } + + if (length(min_max) > 1) { + for (pn_lab in intersect(c(incl, incl_int), names(plot_list))) { + plot_list[[pn_lab]] <- plot_list[[pn_lab]] + ylim(min_max[1], min_max[2]) + } + } + + if (isTRUE(hline)) { + y <- mod_dat[[1]] + if (is.factor(y)) { + lev <- ifelse(is.empty(x$lev), levels(y)[1], x$lev) + y <- y == lev + } + hline <- mean(y) + } + if (is.numeric(hline)) { + for (pn_lab in intersect(c(incl, incl_int), names(plot_list))) { + plot_list[[pn_lab]] <- plot_list[[pn_lab]] + + geom_hline(yintercept = hline, lty = 2, linewidth = 0.25) + } + } + + return(plot_list) +} + +#' Create Partial Dependence Plots +#' +#' @param x Return value from a model +#' @param plot_list List used to store plots +#' @param incl Which variables to include in PDP plots +#' @param incl_int Which interactions to investigate in PDP plots +#' @param fix Set the desired limited on yhat or have it calculated automatically. +#' Set to FALSE to have y-axis limits set by ggplot2 for each plot +#' @param hline Add a horizontal line at the average of the target variable. When set to FALSE +#' no line is added. When set to a specific number, the horizontal line will be added at that value +#' @param nr Number of values to use to generate predictions for a numeric explanatory variable +#' @param minq Quantile to use for the minimum value for simulation of numeric variables +#' @param maxq Quantile to use for the maximum value for simulation of numeric variables +#' +#' @importFrom radiant.data visualize +#' @importFrom pdp partial +#' @importFrom ggplot2 autoplot +#' @importFrom tidyselect where +#' +#' @export +pdp_plot <- function(x, plot_list = list(), incl, incl_int, fix = TRUE, hline = TRUE, nr = 20, minq = 0.025, maxq = 0.975) { + pdp_list <- list() + min_max <- c(Inf, -Inf) + minx <- function(x) quantile(x, p = minq) + maxx <- function(x) quantile(x, p = maxq) + probs <- seq(minq, maxq, length.out = nr) + + calc_ylim <- function(lab, lst, min_max) { + if (isTRUE(fix)) { + vals <- lst[[lab]] + c(min(min_max[1], min(vals)), max(min_max[2], max(vals))) + } else if (length(fix) == 2) { + fix + } else { + FALSE + } + } + + mod_dat <- x$model$model + pvar <- "Prediction" + set_pred_name <- function(pred) { + if (!pvar %in% colnames(pred)) { + pname <- colnames(pred)[ncol(mod_dat)] + colnames(pred)[colnames(pred) == pname] <- pvar + pred <- select(pred, 1:Prediction) + } + return(pred) + } + + if (length(incl_int) > 0) { + incl_int <- strsplit(incl_int, ":") + } + incl <- c(incl, incl_int) + for (pn in incl) { + df <- select(x$model$model, {{ pn }}) + pn_lab <- paste0(pn, collapse = ":") + if (length(pn) < 2 & is.logical(df[[pn_lab]])) { + pdp_list[[pn_lab]] <- pdp::partial( + x$model, + pred.var = pn, + plot = FALSE, + prob = x$type == "classification", + train = x$model$model + ) + min_max <- calc_ylim("yhat", pdp_list[[pn_lab]], min_max) + } else if (length(pn) < 2 || sum(sapply(df, is.numeric)) < 2) { + pdp_list[[pn_lab]] <- pdp::partial( + x$model, + pred.var = pn, + plot = FALSE, + quantiles = TRUE, + probs = probs, + prob = x$type == "classification", + train = x$model$model + ) + min_max <- calc_ylim("yhat", pdp_list[[pn_lab]], min_max) + } else { + # issues with autoplot of interactions between two numeric variables + pdp_list[[pn_lab]] <- df %>% mutate(fake_pred = 0) + } + } + + for (pn_lab in names(pdp_list)) { + df <- pdp_list[[pn_lab]] + is_num <- sapply(df, is.numeric) + if (ncol(df) == 2) { + if (is.logical(df[[1]])) { + cn_fct <- colnames(df)[1] + df[[cn_fct]] <- factor(df[[cn_fct]], levels = c(FALSE, TRUE)) + plot_list[[pn_lab]] <- visualize(df, xvar = cn_fct, yvar = "yhat", type = "line", custom = TRUE) + + labs(y = NULL) + } else { + plot_list[[pn_lab]] <- autoplot(pdp_list[[pn_lab]]) + + labs(y = NULL) + } + } else if (sum(is_num) == 3) { + # 2 numeric variables + cn <- colnames(df) + num_range1 <- df[[cn[1]]] %>% + (function(x) seq(minx(x), maxx(x), length.out = nr)) %>% + paste0(collapse = ", ") + num_range2 <- df[[cn[2]]] %>% + (function(x) seq(minx(x), maxx(x), length.out = nr)) %>% + paste0(collapse = ", ") + pred <- predict(x, pred_cmd = glue("{cn[1]} = c({num_range1}), {cn[2]} = c({num_range2})"), se = FALSE) %>% + set_pred_name() + plot_list[[paste0(pn_lab, "_tile")]] <- ggplot(pred, aes(x = .data[[cn[1]]], y = .data[[cn[2]]], fill = .data[[pvar]])) + + geom_tile() + # giving weird results "blotchy" graphs with lots of empty space + # plot_list[[paste0(pn_lab, "_tile")]] <- autoplot(pdp_list[[pn_lab]]) + } else if (sum(is_num) == 1) { + # 2 categorical variables + cn <- colnames(df) + df <- df %>% mutate(across(where(is.logical), function(x) factor(x, levels = c(FALSE, TRUE)))) + plot_list[[pn_lab]] <- visualize( + df, + xvar = cn[1], yvar = cn[3], type = "line", color = cn[2], custom = TRUE + ) + labs(y = NULL) + } else if (sum(is_num) == 2) { + # 1 categorical and one numeric variable + cn <- colnames(df) + cn_fct <- cn[!is_num] + cn_num <- cn[is_num] + plot_list[[pn_lab]] <- visualize( + df, + xvar = cn_num[1], yvar = cn[3], type = "line", color = cn_fct, custom = TRUE + ) + labs(y = NULL) + } + } + + to_augment <- names(plot_list) %>% (function(x) x[!grepl("_tile$", x)]) + + if (length(min_max) > 1) { + for (pn_lab in to_augment) { + plot_list[[pn_lab]] <- plot_list[[pn_lab]] + ylim(min_max[1], min_max[2]) + } + } + + if (isTRUE(hline)) { + y <- mod_dat[[1]] + if (is.factor(y)) { + lev <- ifelse(is.empty(x$lev), levels(y)[1], x$lev) + y <- y == lev + } + hline <- mean(y) + } + if (is.numeric(hline)) { + for (pn_lab in to_augment) { + plot_list[[pn_lab]] <- plot_list[[pn_lab]] + + geom_hline(yintercept = hline, lty = 2, linewidth = 0.25) + } + } + + return(plot_list) +} + +#' Plot method for the regress function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{regress}} +#' @param plots Regression plots to produce for the specified regression model. Enter "" to avoid showing any plots (default). "dist" to shows histograms (or frequency bar plots) of all variables in the model. "correlations" for a visual representation of the correlation matrix selected variables. "scatter" to show scatter plots (or box plots for factors) for the response variable with each explanatory variable. "dashboard" for a series of six plots that can be used to evaluate model fit visually. "resid_pred" to plot the explanatory variables against the model residuals. "coef" for a coefficient plot with adjustable confidence intervals and "influence" to show (potentially) influential observations +#' @param lines Optional lines to include in the select plot. "line" to include a line through a scatter plot. "loess" to include a polynomial regression fit line. To include both use c("line", "loess") +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param intercept Include the intercept in the coefficient plot (TRUE, FALSE). FALSE is the default +#' @param incl Which variables to include in a coefficient plot or PDP plot +#' @param excl Which variables to exclude in a coefficient plot +#' @param incl_int Which interactions to investigate in PDP plots +#' @param nrobs Number of data points to show in scatter plots (-1 for all) +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- regress(diamonds, "price", c("carat", "clarity")) +#' plot(result, plots = "coef", conf_lev = .99, intercept = TRUE) +#' \dontrun{ +#' plot(result, plots = "dist") +#' plot(result, plots = "scatter", lines = c("line", "loess")) +#' plot(result, plots = "resid_pred", lines = "line") +#' plot(result, plots = "dashboard", lines = c("line", "loess")) +#' } +#' @seealso \code{\link{regress}} to generate the results +#' @seealso \code{\link{summary.regress}} to summarize results +#' @seealso \code{\link{predict.regress}} to generate predictions +#' +#' @importFrom dplyr sample_n +#' @importFrom ggrepel geom_text_repel +#' @importFrom broom augment +#' @importFrom rlang .data +#' +#' @export +plot.regress <- function(x, plots = "", lines = "", + conf_lev = .95, intercept = FALSE, + incl = NULL, excl = NULL, + incl_int = NULL, nrobs = -1, + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(x) + } + + ## checking x size + if (inherits(x$model, "lm")) { + model <- broom::augment(x$model) + } else if (inherits(x, "nn") || inherits(x, "rforest") || inherits(x, "gbt") || inherits(x, "crtree")) { + model <- x$model$model + model$pred <- predict(x, x$model$model)$Prediction + model <- lm(formula(paste0(x$rvar, " ~ ", "pred")), data = model) %>% + broom::augment() + } else { + return(x) + } + + rvar <- x$rvar + evar <- intersect(x$evar, colnames(model)) + vars <- c(rvar, evar) + + flines <- sub("loess", "", lines) %>% sub("line", "", .) + # not clear why this was needed in the first place + # nlines <- sub("jitter", "", lines) + + if (any(plots %in% c("dashboard", "scatter", "resid_pred")) && !is.empty(nrobs)) { + nrobs <- as.integer(nrobs) + if (nrobs > 0 && nrobs < nrow(model)) { + model <- sample_n(model, nrobs, replace = FALSE) + } + } + + nrCol <- 2 + plot_list <- list() + if ("dashboard" %in% plots) { + plot_list[["dash1"]] <- + visualize(model, xvar = ".fitted", yvar = rvar, type = "scatter", custom = TRUE) + + labs(title = "Actual vs Fitted values", x = "Fitted", y = "Actual") + + plot_list[["dash2"]] <- + visualize(model, xvar = ".fitted", yvar = ".resid", type = "scatter", custom = TRUE) + + labs(title = "Residuals vs Fitted", x = "Fitted values", y = "Residuals") + + plot_list[["dash3"]] <- ggplot(model, aes(y = .resid, x = seq_along(.resid))) + + geom_line() + + labs(title = "Residuals vs Row order", x = "Row order", y = "Residuals") + + plot_list[["dash4"]] <- ggplot(model, aes(sample = .data$.std.resid)) + + stat_qq(alpha = 0.5) + + labs(title = "Normal Q-Q", x = "Theoretical quantiles", y = "Standardized residuals") + + plot_list[["dash5"]] <- + visualize(model, xvar = ".resid", custom = TRUE) + + labs(title = "Histogram of residuals", x = "Residuals") + + plot_list[["dash6"]] <- ggplot(model, aes(x = .data$.resid)) + + geom_density(alpha = 0.3, fill = "green") + + stat_function(fun = dnorm, args = list(mean = mean(model$.resid), sd = sd(model$.resid)), color = "blue") + + labs(title = "Residuals vs Normal density", x = "Residuals", y = "") + + theme(axis.text.y = element_blank()) + + if ("loess" %in% lines) { + for (i in paste0("dash", 1:3)) plot_list[[i]] <- plot_list[[i]] + sshhr(geom_smooth(method = "loess", size = .75, linetype = "dotdash")) + } + + if ("line" %in% lines) { + for (i in paste0("dash", c(1, 4))) { + plot_list[[i]] <- plot_list[[i]] + geom_abline(linetype = "dotdash") + } + for (i in paste0("dash", 2:3)) { + plot_list[[i]] <- plot_list[[i]] + sshhr(geom_smooth(method = "lm", se = FALSE, size = .75, linetype = "dotdash", color = "black")) + } + } + } + + if ("dist" %in% plots) { + for (i in vars) { + plot_list[[paste0("dist", i)]] <- select_at(model, .vars = i) %>% + visualize(xvar = i, bins = 10, custom = TRUE) + } + } + + if ("scatter" %in% plots) { + for (i in evar) { + if ("factor" %in% class(model[, i])) { + plot_list[[paste0("scatter", i)]] <- select_at(model, .vars = c(i, rvar)) %>% + visualize(xvar = i, yvar = rvar, type = "scatter", check = flines, alpha = 0.2, custom = TRUE) + } else { + plot_list[[paste0("scatter", i)]] <- select_at(model, .vars = c(i, rvar)) %>% + visualize(xvar = i, yvar = rvar, type = "scatter", check = lines, custom = TRUE) + } + } + } + + if ("resid_pred" %in% plots) { + for (i in evar) { + if ("factor" %in% class(model[, i])) { + plot_list[[paste0("resid_", i)]] <- select_at(model, .vars = c(i, ".resid")) %>% + visualize(xvar = i, yvar = ".resid", type = "scatter", check = flines, alpha = 0.2, custom = TRUE) + + labs(y = "residuals") + } else { + plot_list[[paste0("resid_", i)]] <- select_at(model, .vars = c(i, ".resid")) %>% + visualize(xvar = i, yvar = ".resid", type = "scatter", check = lines, custom = TRUE) + + labs(y = "residuals") + } + } + } + + if ("coef" %in% plots) { + nrCol <- 1 + + if (nrow(x$coeff) == 1 && !intercept) { + return("** Model contains only an intercept **") + } + + yl <- if ("standardize" %in% x$check) "Coefficient (standardized)" else "Coefficient" + + if ("robust" %in% x$check) { + cnfint <- radiant.model::confint_robust + } else { + cnfint <- confint + } + + coef_df <- cnfint(x$model, level = conf_lev, dist = "t") %>% + data.frame(stringsAsFactors = FALSE) %>% + na.omit() %>% + set_colnames(c("Low", "High")) %>% + cbind(select(x$coeff, 2), .) %>% + set_rownames(x$coeff$label) %>% + { + if (!intercept) .[-1, ] else . + } %>% + mutate(variable = factor(rownames(.), levels = rownames(.))) + + if (length(incl) > 0) { + incl <- paste0("^(", paste0(incl, "[|]*", collapse = "|"), ")") + incl <- grepl(incl, coef_df$variable) + if (isTRUE(intercept)) incl[1] <- TRUE + coef_df <- coef_df[incl, ] + } + if (length(excl) > 0) { + excl <- paste0("^(", paste0(excl, "[|]*", collapse = "|"), ")") + if (isTRUE(intercept)) excl[1] <- FALSE + coef_df <- coef_df[!excl, ] + } + coef_df <- droplevels(coef_df) + + plot_list[["coef"]] <- ggplot(coef_df) + + geom_pointrange(aes( + x = .data$variable, y = .data$coefficient, + ymin = .data$Low, ymax = .data$High + )) + + geom_hline(yintercept = 0, linetype = "dotdash", color = "blue") + + labs(y = yl, x = "") + + scale_x_discrete(limits = rev(coef_df$variable)) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("correlations" %in% plots) { + if (length(evar) == 0) { + message("Model contains only an intercept. Correlation plot cannot be generated") + } else { + return(radiant.basics:::plot.correlation(x$model$model, nrobs = nrobs)) + } + } + + if ("influence" %in% plots) { + nrCol <- 1 + + ## based on http://www.sthda.com/english/articles/36-classification-methods-essentials/148-logistic-regression-assumptions-and-diagnostics-in-r/ + mod <- model %>% + select(.std.resid, .cooksd) %>% + mutate(index = 1:n(), .cooksd.max = .cooksd) %>% + arrange(desc(.cooksd)) %>% + mutate(index.max = 1:n(), .cooksd.max = ifelse(index.max < 4, .cooksd, NA)) %>% + mutate(index.max = ifelse(index.max < 4, index, NA)) %>% + arrange(index) + + mod <- mutate(mod, .std.resid = ifelse(abs(.std.resid) < 1 & is.na(index.max), NA, .std.resid)) + lim <- max(abs(mod$.std.resid), na.rm = TRUE) %>% + (function(x) c(min(-4, -x), max(4, x))) + plot_list[["influence"]] <- ggplot(mod, aes(index, .std.resid)) + + geom_point(aes(size = .cooksd), alpha = 0.5) + + ggrepel::geom_text_repel(aes(label = index.max)) + + geom_hline(yintercept = c(-1, -3, 1, 3), linetype = "longdash", linewidth = 0.25) + + scale_y_continuous(breaks = -4:4, limits = lim) + + labs( + title = "Influential observations", + x = "Observation index", + y = "Standardized residuals", + size = "cooksd" + ) + } + + rem <- c() + if (any(grepl("stepwise", x$check))) { + if (length(incl) > 0 | length(incl_int) > 0) { + if (sum(incl %in% evar) < length(incl)) { + rem <- incl[!incl %in% evar] + } + if (length(incl_int) > 0) { + incl_int_split <- strsplit(incl_int, ":") %>% + unlist() %>% + unique() + if (sum(incl_int_split %in% evar) < length(incl_int_split)) { + rem <- c(rem, incl_int_split[!incl_int_split %in% evar]) %>% unique() + } + } + } + } + + if ("pred_plot" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + if (length(rem) > 0) { + return(paste("The following variables are not in the model:", paste(rem, collapse = ", "))) + } + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("pdp" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + if (length(rem) > 0) { + return(paste("The following variables are not in the model:", paste(rem, collapse = ", "))) + } + plot_list <- pdp_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Partial Dependence Plots") + } + } + + if ("vip" %in% plots) { + nrCol <- 1 + if (length(evar) < 2) { + message("Model must contain at least 2 explanatory variables (features). Permutation Importance plot cannot be generated") + } else { + if (any(grepl("stepwise", x$check))) x$evar <- evar + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = "Importance (R-square decrease)" + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} + +#' Predict method for the regress function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{regress}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., diamonds). The dataset must contain all columns used in the estimation +#' @param pred_cmd Command used to generate data for prediction +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param se Logical that indicates if prediction standard errors should be calculated (default = FALSE) +#' @param interval Type of interval calculation ("confidence" or "prediction"). Set to "none" if se is FALSE +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- regress(diamonds, "price", c("carat", "clarity")) +#' predict(result, pred_cmd = "carat = 1:10") +#' predict(result, pred_cmd = "clarity = levels(clarity)") +#' result <- regress(diamonds, "price", c("carat", "clarity"), int = "carat:clarity") +#' predict(result, pred_data = diamonds) %>% head() +#' +#' @seealso \code{\link{regress}} to generate the result +#' @seealso \code{\link{summary.regress}} to summarize results +#' @seealso \code{\link{plot.regress}} to plot results +#' +#' @export +predict.regress <- function(object, pred_data = NULL, pred_cmd = "", conf_lev = 0.95, + se = TRUE, interval = "confidence", dec = 3, + envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + if (isTRUE(se)) { + if (isTRUE(interval == "none")) { + se <- FALSE + } else if ("center" %in% object$check || "standardize" %in% object$check) { + message("Standard error calculations not supported when coefficients are centered or standardized") + se <- FALSE + interval <- "none" + } + } else { + interval <- "none" + } + + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev) { + pred_val <- + try( + sshhr( + predict( + model, pred, + interval = ifelse(se, interval, "none"), + level = conf_lev + ) + ), + silent = TRUE + ) + + if (!inherits(pred_val, "try-error")) { + if (se) { + pred_val %<>% data.frame(stringsAsFactors = FALSE) %>% mutate(diff = .[, 3] - .[, 1]) + ci_perc <- ci_label(cl = conf_lev) + colnames(pred_val) <- c("Prediction", ci_perc[1], ci_perc[2], "+/-") + } else { + pred_val %<>% data.frame(stringsAsFactors = FALSE) %>% select(1) + colnames(pred_val) <- "Prediction" + } + } + + pred_val + } + + predict_model(object, pfun, "regress.predict", pred_data, pred_cmd, conf_lev, se, dec, envir = envir) %>% + set_attr("radiant_interval", interval) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Predict method for model functions +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{regress}} +#' @param pfun Function to use for prediction +#' @param mclass Model class to attach +#' @param pred_data Dataset to use for prediction +#' @param pred_cmd Command used to generate data for prediction (e.g., 'carat = 1:10') +#' @param conf_lev Confidence level used to estimate confidence intervals (.95 is the default) +#' @param se Logical that indicates if prediction standard errors should be calculated (default = FALSE) +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @importFrom radiant.data set_attr +#' +#' @export +predict_model <- function(object, pfun, mclass, pred_data = NULL, pred_cmd = "", + conf_lev = 0.95, se = FALSE, dec = 3, envir = parent.frame(), + ...) { + if (is.character(object)) { + return(object) + } + if (is.empty(pred_data) && is.empty(pred_cmd)) { + return("Please select data and/or specify a command to generate predictions.\nFor example, carat = seq(.5, 1.5, .1) would produce predictions for values\n of carat starting at .5, increasing to 1.5 in increments of .1. Make sure\nto press return after you finish entering the command.\n\nAlternatively, specify a dataset to generate predictions. You could create\nthis in a spread sheet and use the paste feature in Data > Manage to bring\nit into Radiant") + } + + pred_type <- "cmd" + vars <- object$evar + if (!is.empty(pred_cmd) && is.empty(pred_data)) { + dat <- object$model$model + if ("center" %in% object$check) { + ms <- attr(object$model$model, "radiant_ms") + if (!is.null(ms)) { + dat[names(ms)] <- lapply(names(ms), function(var) (dat[[var]] + ms[[var]])) + } + } else if ("standardize" %in% object$check) { + ms <- attr(object$model$model, "radiant_ms") + sds <- attr(object$model$model, "radiant_sds") + if (!is.null(ms) && !is.null(sds)) { + sf <- attr(object$model$model, "radiant_sf") + sf <- ifelse(is.null(sf), 2, sf) + dat[names(ms)] <- lapply(names(ms), function(var) (dat[[var]] * sf * sds[[var]] + ms[[var]])) + } + } + + pred_cmd %<>% paste0(., collapse = ";") %>% + gsub("\"", "\'", .) %>% + gsub(";\\s*$", "", .) %>% + gsub(";", ",", .) + + pred <- try(eval(parse(text = paste0("with(dat, expand.grid(", pred_cmd, "))"))), silent = TRUE) + if (inherits(pred, "try-error")) { + return(paste0("The command entered did not generate valid data for prediction. The\nerror message was:\n\n", attr(pred, "condition")$message, "\n\nPlease try again. Examples are shown in the help file.")) + } + + vars <- vars[vars %in% colnames(dat)] + dat <- select_at(dat, .vars = vars) + + if (!is.null(object$model$term)) { + dat_classes <- attr(object$model$term, "dataClasses")[-1] + } else { + dat_classes <- get_class(dat) + } + + ## weights and interaction terms mess-up data manipulation below so remove from + dat_classes <- dat_classes[!grepl("(^\\(weights\\)$)|(^I\\(.+\\^[0-9]+\\)$)", names(dat_classes))] + + isFct <- dat_classes == "factor" + isOther <- dat_classes %in% c("date", "other") + isChar <- dat_classes %in% c("character") + isLog <- dat_classes == "logical" + isNum <- dat_classes %in% c("numeric", "integer", "ts", "period") + + # based on http://stackoverflow.com/questions/19982938/how-to-find-the-most-frequent-values-across-several-columns-containing-factors + max_freq <- function(x) names(which.max(table(x))) + max_ffreq <- function(x) as.factor(max_freq(x)) + max_lfreq <- function(x) ifelse(mean(x) > .5, TRUE, FALSE) + + plug_data <- data.frame(init___ = 1, stringsAsFactors = FALSE) + if (sum(isNum) > 0) { + plug_data %<>% bind_cols(., summarise_at(dat, .vars = vars[isNum], .funs = mean, na.rm = TRUE)) + } + if (sum(isFct) > 0) { + plug_data %<>% bind_cols(., summarise_at(dat, .vars = vars[isFct], .funs = max_ffreq)) + } + if (sum(isChar) > 0) { + plug_data %<>% bind_cols(., summarise_at(dat, .vars = vars[isChar], .funs = max_freq)) + } + if (sum(isOther) > 0) { + plug_data %<>% bind_cols(., summarise_at(dat, .vars = vars[isOther], .funs = max_freq) %>% mutate_all(as.Date, origin = "1970-1-1")) + } + if (sum(isLog) > 0) { + plug_data %<>% bind_cols(., summarise_at(dat, .vars = vars[isLog], .funs = max_lfreq)) + } + + isPDO <- colnames(plug_data)[get_class(plug_data) %in% c("date", "other")] + isPDO <- dplyr::intersect(isPDO, colnames(pred)) + if (length(isPDO) > 0) { + pred %<>% mutate_at(.vars = isPDO, as.Date, origin = "1970-1-1") + } + + if ((sum(isNum) + sum(isFct) + sum(isLog) + sum(isChar) + sum(isOther)) < length(vars)) { + return("The model includes data-types that cannot be used for\nprediction at this point\n") + } else { + pred_names <- names(pred) + if (sum(pred_names %in% names(plug_data)) < length(pred_names)) { + vars_in <- pred_names %in% names(plug_data) + return(paste0("The command entered contains variable names that are not in the model\nVariables in the model: ", paste0(vars, collapse = ", "), "\nVariables not available in prediction data: ", paste0(pred_names[!vars_in], collapse = ", "))) + } else { + plug_data[names(pred)] <- list(NULL) + pred <- cbind(select(plug_data, -1), pred) + } + } + } else { + ## generate predictions for all observations in the dataset + pred <- get_data(pred_data, filt = "", rows = NULL, na.rm = FALSE, envir = envir) + pred_names <- colnames(pred) + vars_in <- vars %in% pred_names + ## keep all variables in the prediction data for the "customized" prediction + if (!sum(vars_in) == length(vars)) { + return(paste0("All variables in the model must also be in the prediction data\nVariables in the model: ", paste0(vars, collapse = ", "), "\nVariables not available in prediction data: ", paste0(vars[!vars_in], collapse = ", "))) + } + + if (!is.empty(pred_cmd)) { + pred_cmd %<>% paste0(., collapse = ";") %>% + gsub("\"", "\'", .) %>% + gsub("\\s+", " ", .) %>% + gsub("<-", "=", .) + + cmd_vars <- strsplit(pred_cmd, ";\\s*")[[1]] %>% + strsplit(., "=") %>% + sapply("[", 1) %>% + gsub("(^\\s+|\\s+$)", "", .) + + cmd_vars_in <- cmd_vars %in% vars + if (sum(cmd_vars_in) < length(cmd_vars)) { + return(paste0("The command entered contains variable names that are not in the model\nVariables in the model: ", paste0(vars, collapse = ", "), "\nVariables not available in prediction data: ", paste0(cmd_vars[!cmd_vars_in], collapse = ", "))) + } + + dots <- rlang::parse_exprs(pred_cmd) %>% + set_names(cmd_vars) + + ## any variables of type date? + isPDO <- colnames(pred)[get_class(pred) %in% c("date", "other")] + + pred <- try(mutate(pred, !!!dots), silent = TRUE) + if (inherits(pred, "try-error")) { + return(paste0("The command entered did not generate valid data for prediction. The\nerror message was:\n\n", attr(pred, "condition")$message, "\n\nPlease try again. Examples are shown in the help file.")) + } + + if (length(isPDO) > 0) { + pred %<>% mutate_at(.vars = isPDO, as.Date, origin = "1970-1-1") + } + + pred_type <- "datacmd" + } else { + pred_type <- "data" + } + + ## only keep the variables used in the model + pred <- select_at(pred, .vars = vars) %>% na.omit() + } + + if ("crtree" %in% class(object)) { + ## also need to update data in crtree because + ## logicals would get < 0.5 and >= 0.5 otherwise + pred <- mutate_if(pred, is.logical, as.factor) + } + + ## scale predictors if needed + if ("center" %in% object$check || "standardize" %in% object$check) { + attr(pred, "radiant_ms") <- attr(object$model$model, "radiant_ms") + if ("standardize" %in% object$check) { + scale <- TRUE + attr(pred, "radiant_sds") <- attr(object$model$model, "radiant_sds") + attr(pred, "radiant_sf") <- attr(object$model$model, "radiant_sf") + } else { + scale <- FALSE + } + pred_val <- scale_df(pred, center = TRUE, scale = scale, calc = FALSE) %>% + pfun(object$model, ., se = se, conf_lev = conf_lev, ...) + } else { + ## generate predictions using the supplied function (pfun) + pred_val <- pfun(object$model, pred, se = se, conf_lev = conf_lev, ...) + } + + if (!inherits(pred_val, "try-error")) { + ## scale rvar for regression models + if ("center" %in% object$check) { + ms <- attr(object$model$model, "radiant_ms")[[object$rvar]] + if (!is.null(ms)) { + pred_val[["Prediction"]] <- pred_val[["Prediction"]] + ms + } + } else if ("standardize" %in% object$check) { + ms <- attr(object$model$model, "radiant_ms")[[object$rvar]] + sds <- attr(object$model$model, "radiant_sds")[[object$rvar]] + if (!is.null(ms) && !is.null(sds)) { + sf <- attr(object$model$model, "radiant_sf") + sf <- ifelse(is.null(sf), 2, sf) + pred_val[["Prediction"]] <- pred_val[["Prediction"]] * sf * sds + ms + } + } + + pred <- data.frame(pred, pred_val, check.names = FALSE, stringsAsFactors = FALSE) + vars <- colnames(pred) + + if (any(grepl("stepwise", object$check))) { + ## show only the selected variables when printing predictions + object$evar <- attr(terms(object$model), "variables") %>% + as.character() %>% + .[-c(1, 2)] + vars <- c(object$evar, colnames(pred_val)) + } + + extra_args <- list(...) + pred <- set_attr(pred, "radiant_df_name", object$df_name) %>% + set_attr("radiant_data_filter", object$data_filter) %>% + set_attr("radiant_arr", object$arr) %>% + set_attr("radiant_rows", object$rows) %>% + set_attr("radiant_rvar", object$rvar) %>% + set_attr("radiant_lev", object$lev) %>% + set_attr("radiant_evar", object$evar) %>% + set_attr("radiant_wtsname", object$wtsname) %>% + set_attr("radiant_vars", vars) %>% + set_attr("radiant_dec", dec) %>% + set_attr("radiant_pred_type", pred_type) %>% + set_attr("radiant_pred_cmd", pred_cmd) %>% + set_attr("radiant_extra_args", extra_args) + + return(add_class(pred, c(mclass, "model.predict"))) + } else { + return(paste0("There was an error trying to generate predictions. The error\nmessage was:\n\n", attr(pred_val, "condition")$message, "\n\nPlease try again. Examples are shown in the help file.")) + } +} + +#' Print method for the model prediction +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' @param header Header line +#' +#' @export +print_predict_model <- function(x, ..., n = 10, header = "") { + class(x) <- "data.frame" + data_filter <- attr(x, "radiant_data_filter") + arr <- attr(x, "radiant_arr") + rows <- attr(x, "radiant_rows") + vars <- attr(x, "radiant_vars") + pred_type <- attr(x, "radiant_pred_type") + pred_data <- attr(x, "radiant_pred_data") + + pred_cmd <- gsub("\\s*([\\=\\+\\*-])\\s*", " \\1 ", attr(x, "radiant_pred_cmd")) %>% + gsub("(\\s*[;,]\\s*)", "\\1 ", .) %>% + gsub("\\s+=\\s+=\\s+", " == ", .) + + cat(header) + cat("\nData :", attr(x, "radiant_df_name"), "\n") + if (!is.empty(data_filter)) { + cat("Filter :", gsub("\\n", "", data_filter), "\n") + } + if (!is.empty(arr)) { + cat("Arrange :", gsub("\\n", "", arr), "\n") + } + if (!is.empty(rows)) { + cat("Slice :", gsub("\\n", "", rows), "\n") + } + cat("Response variable :", attr(x, "radiant_rvar"), "\n") + if (!is.empty(attr(x, "radiant_lev"))) { + cat("Level(s) :", paste0(attr(x, "radiant_lev"), collapse = ", "), "in", attr(x, "radiant_rvar"), "\n") + } + cat("Explanatory variables:", paste0(attr(x, "radiant_evar"), collapse = ", "), "\n") + if (!is.empty(attr(x, "radiant_wtsname"))) { + cat("Weights used :", attr(x, "radiant_wtsname"), "\n") + } + + if (!is.empty(attr(x, "radiant_interval"), "none")) { + cat("Interval :", attr(x, "radiant_interval"), "\n") + } + + if (pred_type == "cmd") { + cat("Prediction command :", pred_cmd, "\n") + } else if (pred_type == "datacmd") { + cat("Prediction dataset :", pred_data, "\n") + cat("Customize command :", pred_cmd, "\n") + } else { + cat("Prediction dataset :", pred_data, "\n") + } + + extra_args <- attr(x, "radiant_extra_args") + if (!is.empty(extra_args)) { + extra_args <- deparse(extra_args) %>% + sub("list\\(", "", .) %>% + sub("\\)$", "", .) + cat("Additional arguments :", extra_args, "\n") + } + + if (n == -1) { + cat("\n") + format_df(x, attr(x, "radiant_dec")) %>% + print(row.names = FALSE) + } else { + if (nrow(x) > n) { + cat("Rows shown :", n, "of", format_nr(nrow(x), dec = 0), "\n") + } + cat("\n") + head(x, n) %>% + format_df(attr(x, "radiant_dec")) %>% + print(row.names = FALSE) + } +} + +#' Print method for predict.regress +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.regress.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Linear regression (OLS)") +} + +#' Plot method for model.predict functions +#' +#' @param x Return value from predict functions (e.g., predict.regress) +#' @param xvar Variable to display along the X-axis of the plot +#' @param facet_row Create vertically arranged subplots for each level of the selected factor variable +#' @param facet_col Create horizontally arranged subplots for each level of the selected factor variable +#' @param color Adds color to a scatter plot to generate a heat map. For a line plot one line is created for each group and each is assigned a different color +#' @param conf_lev Confidence level to use for prediction intervals (.95 is the default) +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' regress(diamonds, "price", c("carat", "clarity")) %>% +#' predict(pred_cmd = "carat = 1:10") %>% +#' plot(xvar = "carat") +#' logistic(titanic, "survived", c("pclass", "sex", "age"), lev = "Yes") %>% +#' predict(pred_cmd = c("pclass = levels(pclass)", "sex = levels(sex)", "age = 0:100")) %>% +#' plot(xvar = "age", color = "sex", facet_col = "pclass") +#' +#' @seealso \code{\link{predict.regress}} to generate predictions +#' @seealso \code{\link{predict.logistic}} to generate predictions +#' +#' @importFrom rlang .data +#' +#' @export +plot.model.predict <- function(x, xvar = "", facet_row = ".", + facet_col = ".", color = "none", + conf_lev = .95, ...) { + if (is.character(x)) { + return(x) + } + ## should work with req in regress_ui but doesn't + if (is.empty(xvar)) { + return(invisible()) + } + if (facet_col != "." && facet_row == facet_col) { + return("The same variable cannot be used for both Facet row and Facet column") + } + + cn <- colnames(x) + pvars <- "Prediction" + cnpred <- which(cn == pvars) + if (length(cnpred) == 0) { + return(invisible()) + } + if (length(cn) > cnpred) { + pvars <- c(pvars, "ymin", "ymax") + cn[cnpred + 1] <- pvars[2] + cn[cnpred + 2] <- pvars[3] + colnames(x) <- cn + } + + byvar <- NULL + if (color != "none") byvar <- color + if (facet_row != ".") { + byvar <- if (is.null(byvar)) facet_row else unique(c(byvar, facet_row)) + } + + if (facet_col != ".") { + byvar <- if (is.null(byvar)) facet_col else unique(c(byvar, facet_col)) + } + + tbv <- if (is.null(byvar)) xvar else c(xvar, byvar) + + if (any(!tbv %in% colnames(x))) { + return("Some specified plotting variables are not in the model.\nPress the Estimate button to update results.") + } + + tmp <- x %>% + select_at(.vars = c(tbv, pvars)) %>% + group_by_at(.vars = tbv) %>% + summarise_all(mean) + + if (color == "none") { + p <- ggplot(tmp, aes(x = .data[[xvar]], y = .data$Prediction)) + } else { + p <- ggplot(tmp, aes(x = .data[[xvar]], y = .data$Prediction, color = .data[[color]], group = .data[[color]])) + } + + if (length(pvars) >= 3) { + if (is.factor(tmp[[xvar]]) || length(unique(tmp[[xvar]])) < 11) { + p <- p + geom_pointrange(aes(ymin = .data$ymin, ymax = .data$ymax), size = .3) + } else { + p <- p + geom_ribbon(aes(ymin = .data$ymin, ymax = .data$ymax), fill = "grey70", color = NA, alpha = 0.5) + } + } + + ## needed now that geom_smooth no longer accepts ymin and ymax as arguments + ## can't see line properly using geom_ribbon + if (color == "none") { + p <- p + geom_line(aes(group = 1)) + } else { + p <- p + geom_line() + } + + if (facet_row != "." || facet_col != ".") { + facets <- ifelse(facet_row == ".", paste("~", facet_col), paste(facet_row, "~", facet_col)) + facet_fun <- ifelse(facet_row == ".", facet_wrap, facet_grid) + p <- p + facet_fun(as.formula(facets)) + } + + sshhr(p) +} + +#' Store predicted values generated in model functions +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param dataset Dataset to add predictions to +#' @param object Return value from model function +#' @param name Variable name(s) assigned to predicted values +#' @param ... Additional arguments +#' +#' @examples +#' regress(diamonds, rvar = "price", evar = c("carat", "cut")) %>% +#' predict(pred_data = diamonds) %>% +#' store(diamonds, ., name = c("pred", "pred_low", "pred_high")) %>% +#' head() +#' +#' @export +store.model.predict <- function(dataset, object, name = "prediction", ...) { + if (is.empty(name)) name <- "prediction" + + ## gsub needed because trailing/leading spaces may be added to the variable name + ind <- which(colnames(object) == "Prediction") + + ## if se was calculated + if (length(name) == 1) { + name <- unlist(strsplit(name, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + gsub("\\s", "", .) + } + if (length(name) > 1) { + name <- name[1:min(3, length(name))] + ind_mult <- ind:(ind + length(name[-1])) + df <- object[, ind_mult, drop = FALSE] + } else { + df <- object[, "Prediction", drop = FALSE] + } + + vars <- colnames(object)[seq_len(ind - 1)] + indr <- indexr(dataset, vars = vars, filt = "", rows = NULL, cmd = attr(object, "radiant_pred_cmd")) + pred <- as.data.frame(matrix(NA, nrow = indr$nr, ncol = ncol(df)), stringsAsFactors = FALSE) + # pred[indr$ind, ] <- as.vector(df) ## as.vector removes all attributes from df + pred[indr$ind, ] <- df %>% mutate(across(everything(), as.vector)) + + dataset[, name] <- pred + dataset +} + +#' Store residuals from a model +#' +#' @details The store method for objects of class "model". Adds model residuals to the dataset while handling missing values and filters. See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param dataset Dataset to append residuals to +#' @param object Return value from a model function +#' @param name Variable name(s) assigned to model residuals +#' @param ... Additional arguments +#' +#' @examples +#' regress(diamonds, rvar = "price", evar = c("carat", "cut"), data_filter = "price > 1000") %>% +#' store(diamonds, ., name = "resid") %>% +#' head() +#' +#' @export +store.model <- function(dataset, object, name = "residuals", ...) { + indr <- indexr(dataset, vars = c(object$rvar, object$evar), filt = object$data_filter, arr = object$arr, rows = object$rows) + name <- unlist(strsplit(name, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + gsub("\\s", "", .) + nr_res <- length(name) + res <- matrix(rep(NA, indr$nr * nr_res), ncol = nr_res) %>% + set_colnames(name) %>% + as.data.frame(stringsAsFactors = FALSE) + residuals <- object$model$residuals + if (is.vector(residuals)) { + res[indr$ind, name] <- residuals + } else { + res[indr$ind, name] <- residuals[, 1:nr_res] + } + dataset[, name] <- res + dataset +} + +#' Check if main effects for all interaction effects are included in the model +#' +#' @details If ':' is used to select a range evar is updated. See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param ev List of explanatory variables provided to \code{\link{regress}} or \code{\link{logistic}} +#' @param cn Column names for all explanatory variables in the dataset +#' @param intv Interaction terms specified +#' +#' @return \code{vars} is a vector of right-hand side variables, possibly with interactions, \code{iv} is the list of explanatory variables, and \code{intv} are interaction terms +#' +#' @examples +#' var_check("a:d", c("a", "b", "c", "d")) +#' var_check(c("a", "b"), c("a", "b"), "a:c") +#' var_check(c("a", "b"), c("a", "b"), "a:c") +#' var_check(c("a", "b"), c("a", "b"), c("a:c", "I(b^2)")) +#' +#' @export +var_check <- function(ev, cn, intv = c()) { + ## if : is used to select a range of variables evar is updated + vars <- ev + if (length(vars) < length(cn)) vars <- ev <- cn + if (!is.empty(intv)) { + if (all(unlist(strsplit(intv[!grepl("\\^", intv)], ":")) %in% vars)) { + vars <- c(vars, intv) + } else { + cat("Interaction terms contain variables not selected as main effects.\nRemoving interactions from the estimation\n") + intv <- intv[grepl("\\^", intv)] + } + } + list(vars = vars, ev = ev, intv = intv) +} + +#' Add interaction terms to list of test variables if needed +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/regress.html} for an example in Radiant +#' +#' @param tv List of variables to use for testing for regress or logistic +#' @param int Interaction terms specified +#' +#' @return A vector of variables names to test +#' +#' @examples +#' test_specs("a", "a:b") +#' test_specs("a", c("a:b", "b:c")) +#' test_specs("a", c("a:b", "b:c", "I(c^2)")) +#' test_specs(c("a", "b", "c"), c("a:b", "b:c", "I(c^2)")) +#' +#' @export +test_specs <- function(tv, int) { + int <- int[!grepl("\\^", int)] + if (any(unlist(strsplit(int, ":")) %in% tv)) { + cat("Interaction terms contain variables specified for testing.\nRelevant interaction terms are included in the requested test.\n\n") + unique(int[unlist(sapply(tv, grep, int))]) + } else { + tv + } +} diff --git a/radiant.model/R/rforest.R b/radiant.model/R/rforest.R new file mode 100644 index 0000000..343454d --- /dev/null +++ b/radiant.model/R/rforest.R @@ -0,0 +1,692 @@ +#' Random Forest using Ranger +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param dataset Dataset +#' @param rvar The response variable in the model +#' @param evar Explanatory variables in the model +#' @param type Model type (i.e., "classification" or "regression") +#' @param lev Level to use as the first column in prediction output +#' @param mtry Number of variables to possibly split at in each node. Default is the (rounded down) square root of the number variables +#' @param num.trees Number of trees to create +#' @param min.node.size Minimal node size +#' @param sample.fraction Fraction of observations to sample. Default is 1 for sampling with replacement and 0.632 for sampling without replacement +#' @param replace Sample with (TRUE) or without (FALSE) replacement. If replace is NULL it will be reset to TRUE if the sample.fraction is equal to 1 and will be set to FALSE otherwise +#' @param num.threads Number of parallel threads to use. Defaults to 12 if available +#' @param wts Case weights to use in estimation +#' @param seed Random seed to use as the starting point +#' @param data_filter Expression entered in, e.g., Data > View to filter the dataset in Radiant. The expression should be a string (e.g., "price > 10000") +#' @param rows Rows to select from the specified dataset +#' @param arr Expression to arrange (sort) the data on (e.g., "color, desc(price)") +#' @param envir Environment to extract data from +#' @param ... Further arguments to pass to ranger +#' +#' @return A list with all variables defined in rforest as an object of class rforest +#' +#' @examples +#' rforest(titanic, "survived", c("pclass", "sex"), lev = "Yes") %>% summary() +#' rforest(titanic, "survived", c("pclass", "sex")) %>% str() +#' rforest(titanic, "survived", c("pclass", "sex"), max.depth = 1) +#' rforest(diamonds, "price", c("carat", "clarity"), type = "regression") %>% summary() +#' +#' @seealso \code{\link{summary.rforest}} to summarize results +#' @seealso \code{\link{plot.rforest}} to plot results +#' @seealso \code{\link{predict.rforest}} for prediction +#' +#' @importFrom ranger ranger +#' @importFrom lubridate is.Date +#' +#' @export +rforest <- function(dataset, rvar, evar, type = "classification", lev = "", + mtry = NULL, num.trees = 100, min.node.size = 1, + sample.fraction = 1, replace = NULL, + num.threads = 12, wts = "None", seed = NA, + data_filter = "", arr = "", rows = NULL, envir = parent.frame(), ...) { + if (rvar %in% evar) { + return("Response variable contained in the set of explanatory variables.\nPlease update model specification." %>% + add_class("rforest")) + } + + vars <- c(rvar, evar) + + if (is.empty(wts, "None")) { + wts <- NULL + } else if (is_string(wts)) { + wtsname <- wts + vars <- c(rvar, evar, wtsname) + } + + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) %>% + mutate_if(is.Date, as.numeric) + + if (!is.empty(wts)) { + if (exists("wtsname")) { + wts <- dataset[[wtsname]] + dataset <- select_at(dataset, .vars = base::setdiff(colnames(dataset), wtsname)) + } + if (length(wts) != nrow(dataset)) { + return( + paste0("Length of the weights variable is not equal to the number of rows in the dataset (", format_nr(length(wts), dec = 0), " vs ", format_nr(nrow(dataset), dec = 0), ")") %>% + add_class("rforest") + ) + } + } + + not_vary <- colnames(dataset)[summarise_all(dataset, does_vary) == FALSE] + if (length(not_vary) > 0) { + return(paste0("The following variable(s) show no variation. Please select other variables.\n\n** ", paste0(not_vary, collapse = ", "), " **") %>% + add_class("rforest")) + } + + rv <- dataset[[rvar]] + + if (type == "classification") { + if (lev == "") { + if (is.factor(rv)) { + lev <- levels(rv)[1] + } else { + lev <- as.character(rv) %>% + as.factor() %>% + levels() %>% + .[1] + } + } + if (lev != levels(rv)[1]) { + dataset[[rvar]] <- relevel(dataset[[rvar]], lev) + } + probability <- TRUE + } else { + probability <- FALSE + } + + vars <- evar + ## in case : is used + if (length(vars) < (ncol(dataset) - 1)) { + vars <- evar <- colnames(dataset)[-1] + } + + if (is.empty(replace)) { + replace <- ifelse(sample.fraction < 1, FALSE, TRUE) + } + + ## use decay http://stats.stackexchange.com/a/70146/61693 + rforest_input <- list( + formula = as.formula(paste(rvar, "~ . ")), + mtry = mtry, + num.trees = num.trees, + min.node.size = min.node.size, + probability = probability, + importance = "permutation", + sample.fraction = sample.fraction, + replace = replace, + num.threads = num.threads, + case.weights = wts, + data = dataset, + ... + ) + extra_args <- list(...) + + ## based on https://stackoverflow.com/a/14324316/1974918 + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) { + if (exists(".Random.seed")) { + gseed <- .Random.seed + on.exit(.Random.seed <<- gseed) + } + set.seed(seed) + } + + model <- do.call(ranger::ranger, rforest_input) + + ## rforest doesn't return residuals + if (type == "regression") { + model$residuals <- dataset[[rvar]] - model$predictions + } else { + model$residuals <- NULL + } + + ## rforest model object does not include the data by default + model$model <- dataset + + rm(dataset, envir, rforest_input) ## dataset not needed elsewhere + + ## needed to work with prediction functions + check <- "" + + as.list(environment()) %>% add_class(c("rforest", "model")) +} + +#' Summary method for the rforest function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{rforest}} +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- rforest(titanic, "survived", "pclass", lev = "Yes") +#' summary(result) +#' +#' @seealso \code{\link{rforest}} to generate results +#' @seealso \code{\link{plot.rforest}} to plot results +#' @seealso \code{\link{predict.rforest}} for prediction +#' +#' @export +summary.rforest <- function(object, ...) { + if (is.character(object)) { + return(object) + } + cat("Random Forest (Ranger)\n") + if (object$type == "classification") { + cat("Type : Classification") + } else { + cat("Type : Regression") + } + cat("\nData :", object$df_name) + if (!is.empty(object$data_filter)) { + cat("\nFilter :", gsub("\\n", "", object$data_filter)) + } + if (!is.empty(object$arr)) { + cat("\nArrange :", gsub("\\n", "", object$arr)) + } + if (!is.empty(object$rows)) { + cat("\nSlice :", gsub("\\n", "", object$rows)) + } + cat("\nResponse variable :", object$rvar) + if (object$type == "classification") { + cat("\nLevel :", object$lev, "in", object$rvar) + } + cat("\nExplanatory variables:", paste0(object$evar, collapse = ", "), "\n") + if (length(object$wtsname) > 0) { + cat("Weights used :", object$wtsname, "\n") + } + cat("Mtry :", object$mtry, "\n") + cat("Number of trees :", object$num.trees, "\n") + cat("Min node size :", object$min.node.size, "\n") + cat("Sample fraction :", object$sample.fraction, "\n") + cat("Number of threads :", object$num.threads, "\n") + if (length(object$extra_args)) { + extra_args <- deparse(object$extra_args) %>% + sub("list\\(", "", .) %>% + sub("\\)$", "", .) + cat("Additional arguments :", extra_args, "\n") + } + if (!is.empty(object$wts, "None") && (length(unique(object$wts)) > 2 || min(object$wts) >= 1)) { + cat("Nr obs :", format_nr(sum(object$wts), dec = 0), "\n") + } else { + cat("Nr obs :", format_nr(length(object$rv), dec = 0), "\n") + } + if (object$type != "classification") { + cat("R-squared :", format_nr(object$model$r.square, dec = 3), "\n") + } + OOB <- ifelse(object$type == "classification", object$model$prediction.error, sqrt(object$model$prediction.error)) + cat("OOB prediction error :", format_nr(OOB, dec = 3), "\n") +} + +#' Plot method for the rforest function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param x Return value from \code{\link{rforest}} +#' @param plots Plots to produce for the specified Random Forest model. Use "" to avoid showing any plots (default). Options are ... +#' @param nrobs Number of data points to show in dashboard scatter plots (-1 for all) +#' @param incl Which variables to include in PDP or Prediction plots +#' @param incl_int Which interactions to investigate in PDP or Prediction plots +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. +#' This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples +#' and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- rforest(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' +#' @seealso \code{\link{rforest}} to generate results +#' @seealso \code{\link{summary.rforest}} to summarize results +#' @seealso \code{\link{predict.rforest}} for prediction +#' +#' @importFrom pdp partial +#' +#' @export +plot.rforest <- function(x, plots = "", nrobs = Inf, + incl = NULL, incl_int = NULL, + shiny = FALSE, custom = FALSE, ...) { + if (is.character(x) || !inherits(x$model, "ranger")) { + return(x) + } + plot_list <- list() + nrCol <- 1 + + if (x$type == "regression" && "dashboard" %in% plots) { + plot_list <- plot.regress(x, plots = "dashboard", lines = "line", nrobs = nrobs, custom = TRUE) + nrCol <- 2 + } + + if ("pred_plot" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 | length(incl_int) > 0) { + plot_list <- pred_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Prediction plots") + } + } + + if ("pdp" %in% plots) { + nrCol <- 2 + if (length(incl) > 0 || length(incl_int) > 0) { + plot_list <- pdp_plot(x, plot_list, incl, incl_int, ...) + } else { + return("Select one or more variables to generate Partial Dependence Plots") + } + } + + if ("vimp" %in% plots) { + nrCol <- 1 + vip <- x$model$variable.importance + if (x$type == "regression") vip <- vip / max(vip) + vimp <- data.frame( + vip = vip, + vars = names(vip), + stringsAsFactors = FALSE + ) %>% + arrange(vip) %>% + mutate(vars = factor(vars, levels = vars)) + plot_list[["vimp"]] <- visualize(vimp, yvar = "vip", xvar = "vars", type = "bar", custom = TRUE) + + guides(fill = guide_legend(title = "")) + + labs(x = "", y = "Variable Importance (permutation)") + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + + if ("vip" %in% plots) { + nrCol <- 1 + if (length(x$evar) < 2) { + message("Model must contain at least 2 explanatory variables (features). Permutation Importance plot cannot be generated") + } else { + vi_scores <- varimp(x) + plot_list[["vip"]] <- + visualize(vi_scores, yvar = "Importance", xvar = "Variable", type = "bar", custom = TRUE) + + labs( + title = "Permutation Importance", + x = NULL, + y = ifelse(x$type == "regression", "Importance (R-square decrease)", "Importance (AUC decrease)") + ) + + coord_flip() + + theme(axis.text.y = element_text(hjust = 0)) + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = nrCol) %>% + (function(x) if (isTRUE(shiny)) x else print(x)) + } + } +} + +#' Predict method for the rforest function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{rforest}} +#' @param pred_data Provide the dataframe to generate predictions (e.g., diamonds). The dataset must contain all columns used in the estimation +#' @param pred_cmd Generate predictions using a command. For example, `pclass = levels(pclass)` would produce predictions for the different +#' levels of factor `pclass`. To add another variable, create a vector of prediction strings, (e.g., c('pclass = levels(pclass)', 'age = seq(0,100,20)') +#' @param pred_names Names for the predictions to be stored. If one name is provided, only the first column of predictions is stored. If empty, the levels +#' in the response variable of the rforest model will be used +#' @param OOB Use Out-Of-Bag predictions (TRUE or FALSE). Relevant when evaluating predictions for the training sample. If set to NULL, datasets will be compared +#' to determine if OOB predictions should be used +#' @param dec Number of decimals to show +#' @param envir Environment to extract data from +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- rforest(titanic, "survived", c("pclass", "sex"), lev = "Yes") +#' predict(result, pred_cmd = "pclass = levels(pclass)") +#' result <- rforest(diamonds, "price", "carat:color", type = "regression") +#' predict(result, pred_cmd = "carat = 1:3") +#' predict(result, pred_data = diamonds) %>% head() +#' +#' @seealso \code{\link{rforest}} to generate the result +#' @seealso \code{\link{summary.rforest}} to summarize results +#' +#' @export +predict.rforest <- function(object, pred_data = NULL, pred_cmd = "", + pred_names = "", OOB = NULL, dec = 3, + envir = parent.frame(), ...) { + if (is.character(object)) { + return(object) + } + + ## ensure you have a name for the prediction dataset + if (is.data.frame(pred_data)) { + df_name <- deparse(substitute(pred_data)) + } else { + df_name <- pred_data + } + + pfun <- function(model, pred, se, conf_lev, OOB = OOB) { + pred <- mutate_if(pred, is.Date, as.numeric) + if (is.empty(OOB)) { + if (isTRUE(all.equal(select(model$model, -1), pred))) { + message("Using OOB predictions after comparing the training and prediction data") + OOB <- TRUE + } + } + + if (isTRUE(OOB)) { + pred_val <- list(predictions = model$predictions) + message("Using OOB predictions") + } else { + pred_val <- try(sshhr(predict(model, pred)), silent = TRUE) + } + + if (!inherits(pred_val, "try-error")) { + pred_val <- as.data.frame(pred_val$predictions, stringsAsFactors = FALSE) + if (nrow(pred_val) != nrow(pred)) { + pred_val <- list() %>% add_class("try-error") + attr(pred_val, "condition") <- list(message = "Attempt to use OOB predictions failed. This could be because\na filter was set but the random forest model has not yet been\nre-estimated.") + } else { + if (ncol(pred_val) == 1) { + pred_names <- "Prediction" + } else if (is.empty(pred_names)) { + pred_names <- colnames(pred_val) + } + pred_val <- select(pred_val, 1:min(ncol(pred_val), length(pred_names))) %>% + set_colnames(pred_names) + } + } + + pred_val + } + + predict_model(object, pfun, "rforest.predict", pred_data, pred_cmd, conf_lev = 0.95, se = FALSE, dec, envir = envir, OOB = OOB) %>% + set_attr("radiant_pred_data", df_name) +} + +#' Print method for predict.rforest +#' +#' @param x Return value from prediction method +#' @param ... further arguments passed to or from other methods +#' @param n Number of lines of prediction results to print. Use -1 to print all lines +#' +#' @export +print.rforest.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "Random Forest") +} + +#' Plot method for rforest.predict function +#' +#' @param x Return value from predict function predict.rforest +#' @param xvar Variable to display along the X-axis of the plot +#' @param facet_row Create vertically arranged subplots for each level of the selected factor variable +#' @param facet_col Create horizontally arranged subplots for each level of the selected factor variable +#' @param color Adds color to a scatter plot to generate a heat map. For a line plot one line is created for each group and each is assigned a different color +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' result <- mnl( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' pred <- predict(result, pred_cmd = "price.heinz28 = seq(3, 5, 0.1)") +#' plot(pred, xvar = "price.heinz28") +#' +#' @seealso \code{\link{predict.mnl}} to generate predictions +#' @importFrom rlang .data +#' +#' @export +plot.rforest.predict <- function(x, xvar = "", facet_row = ".", facet_col = ".", + color = "none", ...) { + if (color != ".class") { + return(plot.model.predict( + x, + xvar = xvar, facet_row = facet_row, facet_col = facet_col, + color = color, ... + )) + } + + ## should work with req in regress_ui but doesn't + if (is.empty(xvar)) { + return(invisible()) + } + if (is.character(x)) { + return(x) + } + if (facet_col != "." && facet_row == facet_col) { + return("The same variable cannot be used for both Facet row and Facet column") + } + + pvars <- base::setdiff(attr(x, "radiant_vars"), attr(x, "radiant_evar")) + rvar <- attr(x, "radiant_rvar") + x %<>% gather(".class", "Prediction", !!pvars) + + byvar <- c(xvar, color) + if (facet_row != ".") byvar <- unique(c(byvar, facet_row)) + if (facet_col != ".") byvar <- unique(c(byvar, facet_col)) + + tmp <- group_by_at(x, .vars = byvar) %>% + select_at(.vars = c(byvar, "Prediction")) %>% + summarise_all(mean) + p <- ggplot(tmp, aes(x = .data[[xvar]], y = .data$Prediction, color = .data[[color]], group = .data[[color]])) + + geom_line() + + if (facet_row != "." || facet_col != ".") { + facets <- ifelse(facet_row == ".", paste("~", facet_col), paste(facet_row, "~", facet_col)) + facet_fun <- ifelse(facet_row == ".", facet_wrap, facet_grid) + p <- p + facet_fun(as.formula(facets)) + } + + p <- p + guides(color = guide_legend(title = rvar)) + + sshhr(p) +} + +#' Store predicted values generated in the rforest function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param dataset Dataset to add predictions to +#' @param object Return value from model function +#' @param name Variable name(s) assigned to predicted values. If empty, the levels of the response variable will be used +#' @param ... Additional arguments +#' +#' @examples +#' result <- rforest( +#' ketchup, +#' rvar = "choice", +#' evar = c("price.heinz28", "price.heinz32", "price.heinz41", "price.hunts32"), +#' lev = "heinz28" +#' ) +#' pred <- predict(result, pred_data = ketchup) +#' ketchup <- store(ketchup, pred, name = c("heinz28", "heinz32", "heinz41", "hunts32")) +#' +#' @export +store.rforest.predict <- function(dataset, object, name = NULL, ...) { + ## extract the names of the variables predicted + pvars <- base::setdiff(attr(object, "radiant_vars"), attr(object, "radiant_evar")) + + ## as.vector removes all attributes from df + # df <- as.vector(object[, pvars, drop = FALSE]) + df <- object[, pvars, drop = FALSE] %>% mutate(across(everything(), as.vector)) + + if (is.empty(name)) { + name <- pvars + } else { + ## gsub needed because trailing/leading spaces may be added to the variable name + name <- unlist(strsplit(name, "(\\s*,\\s*|\\s*;\\s*|\\s+)")) %>% + gsub("\\s", "", .) + if (length(name) < length(pvars)) { + df <- df[, 1:length(name), drop = FALSE] %>% set_colnames(name) + } + } + + indr <- indexr(dataset, attr(object, "radiant_evar"), "", cmd = attr(object, "radiant_pred_cmd")) + pred <- as.data.frame(matrix(NA, nrow = indr$nr, ncol = ncol(df)), stringsAsFactors = FALSE) + pred[indr$ind, ] <- df + dataset[, name] <- pred + dataset +} + +#' Cross-validation for a Random Forest +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/rforest.html} for an example in Radiant +#' +#' @param object Object of type "rforest" or "ranger" +#' @param K Number of cross validation passes to use +#' @param repeats Repeated cross validation +#' @param mtry Number of variables to possibly split at in each node. Default is the (rounded down) square root of the number variables +#' @param num.trees Number of trees to create +#' @param min.node.size Minimal node size +#' @param sample.fraction Fraction of observations to sample. Default is 1 for sampling with replacement and 0.632 for sampling without replacement +#' @param seed Random seed to use as the starting point +#' @param trace Print progress +#' @param fun Function to use for model evaluation (i.e., auc for classification and RMSE for regression) +#' @param ... Additional arguments to be passed to 'fun' +#' +#' @return A data.frame sorted by the mean of the performance metric +#' +#' @seealso \code{\link{rforest}} to generate an initial model that can be passed to cv.rforest +#' @seealso \code{\link{Rsq}} to calculate an R-squared measure for a regression +#' @seealso \code{\link{RMSE}} to calculate the Root Mean Squared Error for a regression +#' @seealso \code{\link{MAE}} to calculate the Mean Absolute Error for a regression +#' @seealso \code{\link{auc}} to calculate the area under the ROC curve for classification +#' @seealso \code{\link{profit}} to calculate profits for classification at a cost/margin threshold +#' +#' @importFrom shiny getDefaultReactiveDomain withProgress incProgress +#' +#' @examples +#' \dontrun{ +#' result <- rforest(dvd, "buy", c("coupon", "purch", "last")) +#' cv.rforest( +#' result, +#' mtry = 1:3, min.node.size = seq(1, 10, 5), +#' num.trees = c(100, 200), sample.fraction = 0.632 +#' ) +#' result <- rforest(titanic, "survived", c("pclass", "sex"), max.depth = 1) +#' cv.rforest(result, mtry = 1:3, min.node.size = seq(1, 10, 5)) +#' cv.rforest(result, mtry = 1:3, num.trees = c(100, 200), fun = profit, cost = 1, margin = 5) +#' result <- rforest(diamonds, "price", c("carat", "color", "clarity"), type = "regression") +#' cv.rforest(result, mtry = 1:3, min.node.size = 1) +#' cv.rforest(result, mtry = 1:3, min.node.size = 1, fun = Rsq) +#' } +#' +#' @export +cv.rforest <- function(object, K = 5, repeats = 1, mtry = 1:5, num.trees = NULL, min.node.size = 1, sample.fraction = NA, + trace = TRUE, seed = 1234, fun, ...) { + if (inherits(object, "rforest")) object <- object$model + if (inherits(object, "ranger")) { + dv <- as.character(object$call$formula[[2]]) + m <- eval(object$call[["data"]]) + mtry <- mtry[mtry < ncol(m)] + weights <- eval(object$call[["case.weights"]]) + if (is.numeric(m[[dv]])) { + type <- "regression" + } else { + type <- "classification" + if (is.factor(m[[dv]])) { + lev <- levels(m[[dv]])[1] + } else if (is.logical(m[[dv]])) { + lev <- TRUE + } else { + stop("The level to use for classification is not clear. Use a factor of logical as the response variable") + } + } + } else { + stop("The model object does not seems to be a random forest") + } + + if (is.empty(num.trees)) { + num.trees <- object$call[["num.trees"]] + } + if (is.empty(sample.fraction)) { + sample.fraction <- object$call[["sample.fraction"]] + sample.fraction <- ifelse(is.null(sample.fraction), 1, sample.fraction) + } else { + object$call[["replace"]] <- FALSE + } + + set.seed(seed) + tune_grid <- expand.grid(mtry = mtry, min.node.size = min.node.size, num.trees = num.trees, sample.fraction = sample.fraction) + out <- data.frame( + mean = NA, std = NA, min = NA, max = NA, + mtry = tune_grid[["mtry"]], min.node.size = tune_grid[["min.node.size"]], + num.trees = tune_grid[["num.trees"]], sample.fraction = tune_grid[["sample.fraction"]] + ) + + if (missing(fun)) { + if (type == "classification") { + fun <- radiant.model::auc + cn <- "AUC (mean)" + } else { + fun <- radiant.model::RMSE + cn <- "RMSE (mean)" + } + } else { + cn <- glue("{deparse(substitute(fun))} (mean)") + } + + if (length(shiny::getDefaultReactiveDomain()) > 0) { + trace <- FALSE + incProgress <- shiny::incProgress + withProgress <- shiny::withProgress + } else { + incProgress <- function(...) {} + withProgress <- function(...) list(...)[["expr"]] + } + + nitt <- nrow(tune_grid) + withProgress(message = "Running cross-validation (rforest)", value = 0, { + for (i in seq_len(nitt)) { + perf <- double(K * repeats) + object$call[["mtry"]] <- tune_grid[i, "mtry"] + object$call[["min.node.size"]] <- tune_grid[i, "min.node.size"] + object$call[["num.trees"]] <- tune_grid[i, "num.trees"] + object$call[["sample.fraction"]] <- tune_grid[i, "sample.fraction"] + if (trace) { + cat("Working on mtry", tune_grid[i, "mtry"], "num.trees", tune_grid[i, "num.trees"], "\n") + } + for (j in seq_len(repeats)) { + rand <- sample(K, nrow(m), replace = TRUE) + for (k in seq_len(K)) { + object$call[["data"]] <- quote(m[rand != k, , drop = FALSE]) + if (length(weights) > 0) { + object$call[["case.weights"]] <- weights[rand != k] + } + if (type == "classification") { + pred <- predict(eval(object$call), m[rand == k, , drop = FALSE])$prediction[, 1] + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv]), lev) + } else { + perf[k + (j - 1) * K] <- fun(pred, unlist(m[rand == k, dv]), lev, ...) + } + } else { + pred <- predict(eval(object$call), m[rand == k, , drop = FALSE])$prediction + rvar <- unlist(m[rand == k, dv]) + if (missing(...)) { + perf[k + (j - 1) * K] <- fun(pred, rvar) + } else { + perf[k + (j - 1) * K] <- fun(pred, rvar, ...) + } + } + } + } + out[i, 1:4] <- c(mean(perf), sd(perf), min(perf), max(perf)) + incProgress(1 / nitt, detail = paste("\nCompleted run", i, "out of", nitt)) + } + }) + + if (type == "classification") { + out <- arrange(out, desc(mean)) + } else { + out <- arrange(out, mean) + } + ## show evaluation metric in column name + colnames(out)[1] <- cn + out +} diff --git a/radiant.model/R/simulater.R b/radiant.model/R/simulater.R new file mode 100644 index 0000000..1c6038d --- /dev/null +++ b/radiant.model/R/simulater.R @@ -0,0 +1,1150 @@ +#' Convenience function used in "simulater" +#' @param x Character vector to be converted to integer +#' @param dataset Data list +# +#' @return An integer vector +#' +#' @export +.as_int <- function(x, dataset = list()) { + if (is.character(x)) x <- strsplit(x, "/") %>% unlist() + asInt <- function(x) ifelse(length(x) > 1, as.integer(as.integer(x[1]) / as.integer(x[2])), as.integer(x)) + ret <- sshhr(asInt(x)) + if (is.na(ret)) { + if (x %in% names(dataset)) { + dataset[[x]] + } else if (is.na(x)) { + x + } else { + ret <- try(eval(parse(text = paste0("with(dataset, ", x, ")"))), silent = TRUE) + if (inherits(ret, "try-error")) { + cat(glue('"{x}" not (yet) defined when called. Note that simulation\nvariables of type "Constant" are always evaluated first\n\n\n')) + NA + } else { + ret + } + } + } else { + ret + } +} + +#' Convenience function used in "simulater" +#' +#' @param x Character vector to be converted to an numeric value +#' @param dataset Data list +# +#' @return An numeric vector +#' +#' @export +.as_num <- function(x, dataset = list()) { + if (is.character(x)) x <- strsplit(x, "/") %>% unlist() + asNum <- function(x) ifelse(length(x) > 1, as.numeric(x[1]) / as.numeric(x[2]), as.numeric(x)) + ret <- sshhr(asNum(x)) + if (is.na(ret)) { + if (x %in% names(dataset)) { + dataset[[x]] + } else if (is.na(x)) { + x + } else { + ret <- try(eval(parse(text = paste0("with(dataset, ", x, ")"))), silent = TRUE) + if (inherits(ret, "try-error")) { + cat(glue('"{x}" not (yet) defined when called. Note that simulation\nvariables of type "Constant" are always evaluated first\n\n\n')) + NA + } else { + ret + } + } + } else { + ret + } +} + +#' Simulate data for decision analysis +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/simulater.html} for an example in Radiant +#' +#' @param const A character vector listing the constants to include in the analysis (e.g., c("cost = 3", "size = 4")) +#' @param lnorm A character vector listing the log-normally distributed random variables to include in the analysis (e.g., "demand 2000 1000" where the first number is the log-mean and the second is the log-standard deviation) +#' @param norm A character vector listing the normally distributed random variables to include in the analysis (e.g., "demand 2000 1000" where the first number is the mean and the second is the standard deviation) +#' @param unif A character vector listing the uniformly distributed random variables to include in the analysis (e.g., "demand 0 1" where the first number is the minimum value and the second is the maximum value) +#' @param discrete A character vector listing the random variables with a discrete distribution to include in the analysis (e.g., "price 5 8 .3 .7" where the first set of numbers are the values and the second set the probabilities +#' @param binom A character vector listing the random variables with a binomial distribution to include in the analysis (e.g., "crash 100 .01") where the first number is the number of trials and the second is the probability of success) +#' @param pois A character vector listing the random variables with a poisson distribution to include in the analysis (e.g., "demand 10") where the number is the lambda value (i.e., the average number of events or the event rate) +#' @param sequ A character vector listing the start and end for a sequence to include in the analysis (e.g., "trend 1 100 1"). The number of 'steps' is determined by the number of simulations +#' @param grid A character vector listing the start, end, and step for a set of sequences to include in the analysis (e.g., "trend 1 100 1"). The number of rows in the expanded will over ride the number of simulations +#' @param data Dataset to be used in the calculations +#' @param form A character vector with the formula to evaluate (e.g., "profit = demand * (price - cost)") +#' @param funcs A named list of user defined functions to apply to variables generated as part of the simulation +#' @param seed Optional seed used in simulation +#' @param nexact Logical to indicate if normally distributed random variables should be simulated to the exact specified values +#' @param ncorr A string of correlations used for normally distributed random variables. The number of values should be equal to one or to the number of combinations of variables simulated +#' @param name Deprecated argument +#' @param nr Number of simulations +#' @param dataset Data list from previous simulation. Used by repeater function +#' @param envir Environment to extract data from +#' +#' @importFrom dplyr near +#' +#' @return A data.frame with the simulated data +#' +#' @examples +#' simulater( +#' const = "cost 3", +#' norm = "demand 2000 1000", +#' discrete = "price 5 8 .3 .7", +#' form = "profit = demand * (price - cost)", +#' seed = 1234 +#' ) %>% str() +#' +#' @seealso \code{\link{summary.simulater}} to summarize results +#' @seealso \code{\link{plot.simulater}} to plot results +#' +#' @export +simulater <- function(const = "", lnorm = "", norm = "", unif = "", discrete = "", + binom = "", pois = "", sequ = "", grid = "", data = NULL, + form = "", funcs = "", seed = NULL, nexact = FALSE, ncorr = NULL, + name = "", nr = 1000, dataset = NULL, envir = parent.frame()) { + if (!is.empty(seed)) set.seed(as.numeric(seed)) + if (is.null(dataset)) { + dataset <- list() + } else { + ## needed because number may be NA and missing if grid used in Simulate + nr <- attr(dataset, "radiant_sim_call")$nr + data <- attr(dataset, "radiant_sim_call")$data + } + + ## needed to be exported functions + if (!exists(".as_num") || !exists(".as_int")) { + .as_num <- radiant.model::.as_num + .as_int <- radiant.model::.as_int + } + + grid <- sim_cleaner(grid) + if (grid != "" && length(dataset) == 0) { + s <- grid %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + if (is.empty(si[4])) si[4] <- 1 + dataset[[si[1]]] <- seq(.as_num(si[2], dataset), .as_num(si[3], dataset), .as_num(si[4], dataset)) + } + dataset <- as.list(expand.grid(dataset) %>% as.data.frame(stringsAsFactors = FALSE)) + nr <- length(dataset[[1]]) + } + + if (is.empty(nr)) { + mess <- c("error", paste0("Please specify the number of simulations in '# sims'")) + return(add_class(mess, "simulater")) + } + + ## fetching data if needed + if (!is.empty(data, "none") && is_string(data)) { + if (exists(data, envir = envir)) { + data <- get_data(data, envir = envir) + } else { + stop(paste0("Data set ", data, " cannot be found", call. = FALSE)) + } + } + + ## adding data to dataset list + if (is.data.frame(data)) { + for (i in colnames(data)) { + dataset[[i]] <- data[[i]] + } + } + + ## parsing constant + const <- sim_cleaner(const) + if (const != "") { + s <- const %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + dataset[[si[1]]] <- .as_num(si[2], dataset) + } + } + + ## parsing uniform + unif <- sim_cleaner(unif) + if (unif != "") { + s <- unif %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + dataset[[si[1]]] <- runif(nr, .as_num(si[2], dataset), .as_num(si[3], dataset)) + } + } + + ## parsing log normal + lnorm <- sim_cleaner(lnorm) + if (lnorm != "") { + s <- lnorm %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + sdev <- .as_num(si[3], dataset) + if (is.na(sdev) || !sdev > 0) { + mess <- c("error", paste0("All log-normal variables should have a standard deviation larger than 0.\nPlease review the input carefully")) + return(add_class(mess, "simulater")) + } + dataset[[si[1]]] <- rlnorm(nr, .as_num(si[2], dataset), sdev) + } + } + + ## parsing normal + norm <- sim_cleaner(norm) + if (norm != "") { + s <- norm %>% sim_splitter() + means <- sds <- nms <- c() + for (i in seq_along(s)) { + si <- s[[i]] + sdev <- .as_num(si[3], dataset) + if (is.na(sdev) || !sdev > 0) { + mess <- c("error", paste0("All normal variables should have a standard deviation larger than 0.\nPlease review the input carefully")) + return(add_class(mess, "simulater")) + } + if (is.empty(ncorr) || length(s) == 1) { + if (nexact) { + dataset[[si[1]]] <- scale(rnorm(nr, 0, 1)) * sdev + .as_num(si[2], dataset) + } else { + dataset[[si[1]]] <- rnorm(nr, .as_num(si[2], dataset), sdev) + } + } else { + nms <- c(nms, si[1]) + means <- c(means, .as_num(si[2], dataset)) + sds <- c(sds, sdev) + } + } + if (!is.empty(ncorr) && length(nms) > 1) { + ncorr <- gsub(",", " ", ncorr) %>% + strsplit("\\s+") %>% + unlist() %>% + .as_num(dataset) + ncorr_nms <- combn(nms, 2) %>% apply(2, paste, collapse = "-") + if (length(ncorr) == 1 && length(ncorr_nms) > 2) { + ncorr <- rep(ncorr, length(ncorr_nms)) + } + if (length(ncorr) != length(ncorr_nms)) { + mess <- c("error", paste0("The number of correlations specified is not equal to\nthe number of pairs of variables to be simulated.\nPlease review the input carefully")) + return(add_class(mess, "simulater")) + } + names(ncorr) <- ncorr_nms + df <- try(sim_cor(nr, ncorr, means, sds, exact = nexact), silent = TRUE) + if (inherits(df, "try-error")) { + mess <- c("error", paste0("Data with the specified correlation structure could not be generated.\nPlease review the input and try again")) + return(add_class(mess, "simulater")) + } + + colnames(df) <- nms + for (i in nms) { + dataset[[i]] <- df[[i]] + } + } + } + + ## parsing binomial + binom <- sim_cleaner(binom) + if (binom != "") { + s <- binom %>% sim_splitter() + for (i in 1:length(s)) { + si <- s[[i]] + dataset[[si[1]]] <- rbinom(nr, .as_int(si[2], dataset), .as_num(si[3], dataset)) + } + } + + ## parsing poisson + pois <- sim_cleaner(pois) + if (pois != "") { + s <- pois %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + dataset[[si[1]]] <- rpois(nr, .as_num(si[2], dataset)) + } + } + + ## parsing sequence + sequ <- sim_cleaner(sequ) + if (sequ != "") { + s <- sequ %>% sim_splitter() + for (i in 1:length(s)) { + si <- s[[i]] + dataset[[si[1]]] <- seq(.as_num(si[2], dataset), .as_num(si[3], dataset), length.out = .as_num(nr, dataset)) + } + } + + ## parsing discrete + discrete <- sim_cleaner(discrete) + if (discrete != "") { + s <- discrete %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + dpar <- si[-1] %>% + gsub(",", " ", .) %>% + strsplit("\\s+") %>% + unlist() %>% + strsplit("/") + asNum <- function(x) ifelse(length(x) > 1, .as_num(x[1], dataset) / .as_num(x[2], dataset), .as_num(x, dataset)) + dpar <- sshhr(try(sapply(dpar, asNum) %>% matrix(ncol = 2), silent = TRUE)) + if (inherits(dpar, "try-error") || any(is.na(dpar))) { + mess <- c("error", paste0("Input for discrete variable # ", i, " contains an error. Please review the input carefully")) + return(add_class(mess, "simulater")) + } else if (!near(sum(dpar[, 2]), 1)) { + mess <- c("error", glue("Probabilities for discrete variable # {i} do not sum to 1 ({sum(dpar[, 2])})")) + return(add_class(mess, "simulater")) + } + + dataset[[si[1]]] <- sample(dpar[, 1], nr, replace = TRUE, prob = dpar[, 2]) + } + } + + ## convert named list of functions to a string to evaluate + if (is.list(funcs)) { + funcs <- sapply( + names(funcs), + function(f) { + paste0(f, " = ", paste0(deparse(funcs[[f]], control = getOption("dctrl"), width.cutoff = 500L), collapse = "\n")) + } + ) %>% paste0(collapse = ";") + } + if (!is.expression(funcs)) { + pfuncs <- parse(text = funcs, keep.source = TRUE) + } else { + pfuncs <- funcs + } + + if (!is.empty(form)) { + form <- form %>% + gsub("[ ]{2,}", " ", .) %>% + gsub("<-", "=", .) + + form_no_comments <- remove_comments(form) + out <- try(do.call(within, list(dataset, c(pfuncs, parse(text = form_no_comments)))), silent = TRUE) + if (!inherits(out, "try-error")) { + dataset <- out + } else { + mess <- c( + "error", paste0("Formula was not successfully evaluated:\n\n", form) %>% + paste0(collapse = "\n"), "\n\nMessage: ", attr(out, "condition")$message + ) + return(add_class(mess, "simulater")) + } + } + + ## removing data from dataset list + if (is.data.frame(data)) { + dataset[colnames(data)] <- NULL + } + + ## remove functions + ind <- radiant.data::get_class(dataset) == "function" + dataset[ind] <- NULL + + ## convert list to a data.frame + dataset <- as.data.frame(dataset, stringsAsFactors = FALSE) %>% na.omit() + + ## capturing the function call for use in repeat + sc <- formals() + smc <- lapply(match.call()[-1], eval, envir = envir) + smc$envir <- NULL + sc[names(smc)] <- smc + sc$nr <- nr + sc$ncorr <- ncorr + sc$nexact <- nexact + sc$funcs <- pfuncs + + if (is.empty(sc$data, "none")) { + attr(dataset, "sim_data_name") <- NULL + } else if (is_string(sc$data)) { + attr(dataset, "sim_data_name") <- sc$data + sc$data <- data + } else { + attr(dataset, "sim_data_name") <- deparse(substitute(data)) + } + + attr(dataset, "radiant_sim_call") <- sc + + if (nrow(dataset) == 0) { + mess <- c("error", paste0("The simulated data set has 0 rows")) + return(add_class(mess, "simulater")) + } + + form <- gsub("*", "\\*", form, fixed = TRUE) %>% + gsub("^\\s*?\\#+[^\\#]", "##### # ", .) %>% + gsub("[;\n]\\s*?\\#+[^\\#]", "; ##### # ", .) %>% + gsub(";\\s*", "\n\n", .) + + mess <- paste0("\n### Simulated data\n\nFormulas:\n\n", form, "\n\nDate: ", lubridate::now()) + + add_class(set_attr(dataset, "description", mess), "simulater") +} + +#' Summary method for the simulater function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/simulater.html} for an example in Radiant +#' +#' @param object Return value from \code{\link{simulater}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' simdat <- simulater(norm = "demand 2000 1000", seed = 1234) +#' summary(simdat) +#' +#' @seealso \code{\link{simulater}} to generate the results +#' @seealso \code{\link{plot.simulater}} to plot results +#' +#' @export +summary.simulater <- function(object, dec = 4, ...) { + if (is.character(object)) { + if (length(object) == 2 && object[1] == "error") { + return(cat(object[2])) + } + stop("To generate summary statistics please provide a simulated dataset as input", call. = FALSE) + } + + sc <- attr(object, "radiant_sim_call") + clean <- function(x) { + paste0(x, collapse = ";") %>% + gsub(";", "; ", .) %>% + gsub("\\n", "", .) %>% + paste0(., "\n") + } + + cat("Simulation\n") + cat("Simulations:", format_nr(nrow(object), dec = 0), "\n") + cat("Random seed:", sc$seed, "\n") + if (is.empty(sc$name)) { + cat("Sim data :", deparse(substitute(object)), "\n") + } else { + cat("Sim data :", sc$name, "\n") + } + if (!is.empty(sc$binom)) cat("Binomial :", clean(sc$binom)) + if (!is.empty(sc$discrete)) cat("Discrete :", clean(sc$discrete)) + if (!is.empty(sc$lnorm)) cat("Log normal :", clean(sc$lnorm)) + if (!is.empty(sc$norm)) cat("Normal :", clean(ifelse(sc$nexact, paste0(sc$norm, "(exact)"), sc$norm))) + if (!is.empty(sc$unif)) cat("Uniform :", clean(sc$unif)) + if (!is.empty(sc$pois)) cat("Poisson :", clean(sc$pois)) + if (!is.empty(sc$const)) cat("Constant :", clean(sc$const)) + if (is.data.frame(sc$data)) cat("Data :", attr(object, "sim_data_name"), "\n") + if (!is.empty(sc$grid)) cat("Grid search:", clean(sc$grid)) + if (!is.empty(sc$sequ)) cat("Sequence :", clean(sc$sequ)) + + funcs <- attr(object, "radiant_funcs") + if (!is.empty(funcs)) { + funcs <- parse(text = funcs) + lfuncs <- list() + for (i in seq_len(length(funcs))) { + tmp <- strsplit(as.character(funcs[i]), "(\\s*=|\\s*<-)")[[1]][1] + lfuncs[[tmp]] <- as.symbol(tmp) + } + cat("Functions :", paste0(names(lfuncs), collapse = ", "), "\n") + } + + if (!is.empty(sc$form)) { + cat(paste0("Formulas :\n\t", paste0(sc$form, collapse = ";") %>% gsub(";", "\n", .) %>% gsub("\n", "\n\t", .), "\n")) + } + cat("\n") + + if (!is.empty(sc$ncorr) && is.numeric(sc$ncorr)) { + cat("Correlations:\n") + print(sc$ncorr) + cat("\n") + } + + sim_summary(object, dec = ifelse(is.empty(dec), 4, round(dec, 0))) +} + +#' Plot method for the simulater function +#' +#' @details See \url{https://radiant-rstats.github.io/docs/model/simulater} for an example in Radiant +#' +#' @param x Return value from \code{\link{simulater}} +#' @param bins Number of bins used for histograms (1 - 50) +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @examples +#' simdat <- simulater( +#' const = "cost 3", +#' norm = "demand 2000 1000", +#' discrete = "price 5 8 .3 .7", +#' form = "profit = demand * (price - cost)", +#' seed = 1234 +#' ) +#' plot(simdat, bins = 25) +#' +#' @seealso \code{\link{simulater}} to generate the result +#' @seealso \code{\link{summary.simulater}} to summarize results +#' +#' @export +plot.simulater <- function(x, bins = 20, shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(invisible()) + } + if (nrow(x) == 0) { + return(invisible()) + } + plot_list <- list() + for (i in colnames(x)) { + dat <- select_at(x, .vars = i) + if (!does_vary(x[[i]])) next + plot_list[[i]] <- select_at(x, .vars = i) %>% + visualize(xvar = i, bins = bins, custom = TRUE) + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = min(length(plot_list), 2)) %>% + (function(x) if (shiny) x else print(x)) + } + } +} + +#' Repeated simulation +#' +#' @param dataset Return value from the simulater function +#' @param nr Number times to repeat the simulation +#' @param vars Variables to use in repeated simulation +#' @param grid Character vector of expressions to use in grid search for constants +#' @param sum_vars (Numeric) variables to summaries +#' @param byvar Variable(s) to group data by before summarizing +#' @param fun Functions to use for summarizing +#' @param form A character vector with the formula to apply to the summarized data +#' @param seed Seed for the repeated simulation +#' @param name Deprecated argument +#' @param envir Environment to extract data from +#' +#' @importFrom shiny getDefaultReactiveDomain +#' +#' @examples +#' simdat <- simulater( +#' const = c("var_cost 5", "fixed_cost 1000"), +#' norm = "E 0 100;", +#' discrete = "price 6 8 .3 .7;", +#' form = c( +#' "demand = 1000 - 50*price + E", +#' "profit = demand*(price-var_cost) - fixed_cost", +#' "profit_small = profit < 100" +#' ), +#' seed = 1234 +#' ) +#' +#' repdat <- repeater( +#' simdat, +#' nr = 12, +#' vars = c("E", "price"), +#' sum_vars = "profit", +#' byvar = ".sim", +#' form = "profit_365 = profit_sum < 36500", +#' seed = 1234, +#' ) +#' +#' head(repdat) +#' summary(repdat) +#' plot(repdat) +#' +#' @seealso \code{\link{summary.repeater}} to summarize results from repeated simulation +#' @seealso \code{\link{plot.repeater}} to plot results from repeated simulation +#' +#' @export +repeater <- function(dataset, nr = 12, vars = "", grid = "", sum_vars = "", + byvar = ".sim", fun = "sum", form = "", seed = NULL, + name = "", envir = parent.frame()) { + if (byvar %in% c(".sim", "sim")) grid <- "" + if (is.empty(nr)) { + if (is.empty(grid)) { + mess <- c("error", paste0("Please specify the number of repetitions in '# reps'")) + return(add_class(mess, "repeater")) + } else { + nr <- 1 + } + } + + ## needed to be exported functions + if (!exists(".as_num") || !exists(".as_int")) { + .as_num <- radiant.model::.as_num + .as_int <- radiant.model::.as_int + } + + if (is_string(dataset)) { + sim_df_name <- dataset + dataset <- get_data(dataset, envir = envir) + } else { + sim_df_name <- deparse(substitute(dataset)) + } + if (!is.empty(seed)) set.seed(as.numeric(seed)) + + if (identical(vars, "") && identical(grid, "")) { + mess <- c("error", paste0("Select variables to re-simulate and/or a specify a constant\nto change using 'Grid search' when Group by is set to Repeat")) + return(add_class(mess, "repeater")) + } + + if (identical(vars, "")) vars <- character(0) + + grid_list <- list() + if (!identical(grid, "")) { + grid <- sim_cleaner(grid) + if (grid != "") { + s <- grid %>% sim_splitter() + for (i in seq_along(s)) { + si <- s[[i]] + if (is.empty(s[[i]][4])) s[[i]][4] <- 1 + grid_list[[si[1]]] <- seq(.as_num(si[2], dataset), .as_num(si[3], dataset), .as_num(si[4], dataset)) + } + } + ## expanding list of variables but removing "" + vars <- c(vars, names(grid_list)) %>% unique() + } + + ## from http://stackoverflow.com/a/7664655/1974918 + ## keep those list elements that, e.g., q is in + nr_sim <- nrow(dataset) + sc <- attr(dataset, "radiant_sim_call") + + if (is.data.frame(sc$data)) { + data <- sc$data + } else { + data <- NULL + } + + ## reset dataset to list with vectors of the correct length + dataset <- as.list(dataset) + if ("const" %in% names(sc)) { + s <- sc$const + if (length(s) < 2) { + s <- strsplit(gsub("\n", "", s), ";\\s*")[[1]] %>% strsplit("\\s+") + } else { + s <- strsplit(s, "\\s+") + } + for (const in seq_len(length(s))) { + nm <- s[[const]][1] + dataset[[nm]] <- dataset[[nm]][1] + } + } + + ## needed if inputs are provided as vectors + sc[1:(which(names(sc) == "seed") - 1)] %<>% lapply(paste, collapse = ";") + + sc$name <- sc$seed <- "" ## cleaning up the sim call + + ## using \\b based on https://stackoverflow.com/a/34074458/1974918 + sc_keep <- grep(paste(paste0("\\b", vars, "\\b"), collapse = "|"), sc, value = TRUE) + sc_keep["funcs"] <- sc$funcs + + ## ensure that only the selected variables of a specific type are resimulated + ## e.g., if A, B, and C are normal and A should be re-sim'd, don't also re-sim B and C + for (i in names(sc_keep)) { + if (i %in% c("form", "funcs")) next + sc_check <- sim_cleaner(sc_keep[[i]]) %>% + sim_splitter(";") + if (length(sc_check) < 2) { + next + } else { + sc_keep[[i]] <- grep(paste(paste0("\\b", vars, "\\b"), collapse = "|"), sc_check, value = TRUE) %>% + paste0(collapse = ";\n") + } + } + + ## needed in case there is no 'form' in simulate + sc[1:(which(names(sc) == "seed") - 1)] <- "" + sc[names(sc_keep)] <- sc_keep + sc$dataset <- dataset + + if (!is.empty(sc$data, "none") && is_string(sc$data)) { + if (exists(sc$data, envir = envir)) { + sc$data <- get(sc$data, envir = envir) + } else { + stop(paste0("Data set ", sc$data, " cannot be found", call. = FALSE)) + } + } + + summarize_sim <- function(object) { + if (is.empty(fun) || any(fun == "none")) { + object <- select_at(object, .vars = c(".rep", ".sim", sum_vars)) + } else { + cn <- unlist(sapply(fun, function(f) paste0(sum_vars, "_", f), simplify = FALSE)) + first <- function(x, ...) dplyr::first(x) + last <- function(x, ...) dplyr::last(x) + object <- group_by_at(object, byvar) %>% + summarise_at(.vars = sum_vars, .funs = fun, na.rm = TRUE) %>% + set_colnames(c(byvar, cn)) + } + object + } + + rep_sim <- function(rep_nr, nr, sfun = function(x) x) { + bind_cols( + data.frame(.rep = rep(rep_nr, nr_sim), .sim = 1:nr_sim, stringsAsFactors = FALSE), + do.call(simulater, sc) + ) %>% + na.omit() %>% + sfun() %T>% + (function(x) incProgress(rep_nr / nr, detail = paste("\nCompleted run", rep_nr, "out of", nr))) + } + + rep_grid_sim <- function(gval, rep_nr, nr, sfun = function(x) x) { + gvars <- names(gval) + ## removing form and funcs ... + sc_grid <- grep(paste(gvars, collapse = "|"), sc_keep, value = TRUE) %>% + (function(x) x[which(!names(x) %in% c("form", "funcs"))]) %>% + gsub("[ ]{2,}", " ", .) + + for (i in 1:length(gvars)) { + sc_grid %<>% sub(paste0("[;\n]", gvars[i], " [.0-9]+"), paste0("\n", gvars[i], " ", gval[gvars[i]]), .) %>% + sub(paste0("^", gvars[i], " [.0-9]+"), paste0(gvars[i], " ", gval[gvars[i]]), .) + } + + sc[names(sc_grid)] <- sc_grid + bind_cols( + data.frame(.rep = rep(paste(gval, collapse = "|"), nr_sim), .sim = 1:nr_sim, stringsAsFactors = FALSE), + do.call(simulater, sc) + ) %>% + na.omit() %>% + sfun() %>% + { + incProgress(rep_nr / nr, detail = paste("\nCompleted run", rep_nr, "out of", nr)) + . + } + } + + if (length(shiny::getDefaultReactiveDomain()) > 0) { + trace <- FALSE + incProgress <- shiny::incProgress + withProgress <- shiny::withProgress + } else { + incProgress <- function(...) {} + withProgress <- function(...) list(...)[["expr"]] + } + + withProgress(message = "Running repeated simulation", value = 0, { + if (length(grid_list) == 0) { + if (byvar == ".sim") { + ret <- bind_rows(lapply(1:nr, rep_sim, nr)) %>% + summarize_sim() %>% + add_class("repeater") + } else { + ret <- bind_rows(lapply(1:nr, function(x) rep_sim(x, nr, summarize_sim))) %>% + add_class("repeater") + } + } else { + grid <- expand.grid(grid_list) + nr <- nrow(grid) + if (byvar == ".sim") { + ret <- bind_rows(lapply(1:nr, function(x) rep_grid_sim(grid[x, , drop = FALSE], x, nr))) %>% + summarize_sim() %>% + add_class("repeater") + } else { + ret <- bind_rows(lapply(1:nr, function(x) rep_grid_sim(grid[x, , drop = FALSE], x, nr, summarize_sim))) %>% + add_class("repeater") + } + } + }) + + if (is.data.frame(data)) { + ret <- as.list(ret) + for (i in colnames(data)) { + ret[[i]] <- data[[i]] + } + sim_data_name <- attr(dataset, "sim_data_name") + } else { + sim_data_name <- NULL + } + + if (!is.empty(form)) { + form <- form %>% + gsub("[ ]{2,}", " ", .) %>% + gsub("<-", "=", .) + + form_no_comments <- remove_comments(form) + out <- try(do.call(within, list(ret, parse(text = form_no_comments))), silent = TRUE) + if (!inherits(out, "try-error")) { + ret <- out + } else { + mess <- c("error", paste0("Formula was not successfully evaluated:\n\n", form) %>% unlist() %>% paste0(collapse = "\n"), "\n\nMessage: ", attr(out, "condition")$message, "\n\nNote that repeated simulation formulas can only be applied to\n(summarized) 'Output variables'") + if (!is.empty(fun)) { + cn <- unlist(sapply(fun, function(f) paste0(sum_vars, "_", f), simplify = FALSE)) + mess[2] <- paste0(mess[2], "\n\nAvailable (summarized) output variables:\n* ", paste0(cn, collapse = "\n* ")) + } + return(add_class(mess, "repeater")) + } + } + + ## removing data from dataset list + if (is.data.frame(data)) { + ret[colnames(data)] <- NULL + } + + ## tbl_df remove attributes so use as.data.frame for now + ret <- as.data.frame(ret, stringsAsFactors = FALSE) + + ## capturing the function call for use in summary and plot + rc <- formals() + rmc <- lapply(match.call()[-1], eval, envir = envir) + rmc$envir <- NULL + rc[names(rmc)] <- rmc + + rc$sc <- sc[base::setdiff(names(sc), "dat")] + attr(ret, "radiant_rep_call") <- rc + attr(ret, "sim_df_name") <- sim_df_name + attr(ret, "sim_data_name") <- sim_data_name + + mess <- paste0( + "\n### Repeated simulation data\n\nFormula:\n\n", + gsub("*", "\\*", sc$form, fixed = TRUE) %>% + gsub("[;\n]\\s*?\\#+[^\\#]", "; ##### # ", .) %>% + gsub(";", "\n\n", .), + "\n\nDate: ", + lubridate::now() + ) + + add_class(set_attr(ret, "description", mess), "repeater") +} + +#' Summarize repeated simulation +#' +#' @param object Return value from \code{\link{repeater}} +#' @param dec Number of decimals to show +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{repeater}} to run a repeated simulation +#' @seealso \code{\link{plot.repeater}} to plot results from repeated simulation +#' +#' @export +summary.repeater <- function(object, dec = 4, ...) { + if (is.character(object)) { + if (length(object) == 2 && object[1] == "error") { + return(cat(object[2])) + } + stop("To generate summary statistics please provide a simulated dataset as input", call. = FALSE) + } + + ## getting the repeater call + rc <- attr(object, "radiant_rep_call") + + clean <- function(x) { + paste0(x, collapse = ";") %>% + gsub(";", "; ", .) %>% + gsub("\\n", "", .) %>% + paste0(., "\n") + } + + ## show results + cat("Repeated simulation\n") + cat("Simulations :", ifelse(is.empty(rc$sc$nr), "", format_nr(rc$sc$nr, dec = 0)), "\n") + cat("Repetitions :", format_nr(ifelse(is.empty(rc$nr), nrow(object), rc$nr), dec = 0), "\n") + if (!is.empty(rc$vars)) { + cat("Re-simulated :", paste0(rc$vars, collapse = ", "), "\n") + } + cat("Group by :", ifelse(rc$byvar == ".rep", "Repeat", "Simulation"), "\n") + cat("Function :", rc$fun, "\n") + cat("Random seed :", rc$seed, "\n") + if (is.data.frame(rc$sim)) { + rc$sim <- attr(rc$sim, "radiant_sim_call")$name + } + cat("Simulated data:", attr(object, "sim_df_name"), "\n") + attr(object, "sim_data_name") %>% + { + if (!is.empty(.)) cat("Data :", ., "\n") + } + if (is.empty(rc$name)) { + cat("Repeat data :", deparse(substitute(object)), "\n") + } else { + cat("Repeat data :", rc$name, "\n") + } + + if (isTRUE(rc$byvar == "rep") && !is.empty(rc$grid)) { + cat("Grid search. :", clean(rc$grid)) + } + + if (!is.empty(rc$form)) { + rc$form %<>% sim_cleaner() + paste0( + "Formulas :\n\t", + paste0(rc$form, collapse = ";") %>% + gsub(";", "\n", .) %>% + gsub("\n", "\n\t", .), + "\n" + ) %>% cat() + } + cat("\n") + + sim_summary(select(object, -1), fun = rc$fun, dec = ifelse(is.na(dec), 4, dec)) +} + +#' Plot repeated simulation +#' +#' @param x Return value from \code{\link{repeater}} +#' @param bins Number of bins used for histograms (1 - 50) +#' @param shiny Did the function call originate inside a shiny app +#' @param custom Logical (TRUE, FALSE) to indicate if ggplot object (or list of ggplot objects) should be returned. This option can be used to customize plots (e.g., add a title, change x and y labels, etc.). See examples and \url{https://ggplot2.tidyverse.org} for options. +#' @param ... further arguments passed to or from other methods +#' +#' @seealso \code{\link{repeater}} to run a repeated simulation +#' @seealso \code{\link{summary.repeater}} to summarize results from repeated simulation +#' +#' @export +plot.repeater <- function(x, bins = 20, shiny = FALSE, custom = FALSE, ...) { + if (is.character(x)) { + return(invisible()) + } + if (nrow(x) == 0) { + return(invisible()) + } + + ## getting the repeater call + rc <- attr(x, "radiant_rep_call") + plot_list <- list() + for (i in colnames(x)[-1]) { + dat <- select_at(x, .vars = i) + if (!does_vary(x[[i]])) next + + plot_list[[i]] <- select_at(x, .vars = i) %>% + visualize(xvar = i, bins = bins, custom = TRUE) + + if (i %in% rc$sum_vars && !is.empty(rc$fun, "none")) { + plot_list[[i]] <- plot_list[[i]] + labs(x = paste0(rc$fun, " of ", i)) + } + } + + if (length(plot_list) > 0) { + if (custom) { + if (length(plot_list) == 1) plot_list[[1]] else plot_list + } else { + patchwork::wrap_plots(plot_list, ncol = min(length(plot_list), 2)) %>% + (function(x) if (shiny) x else print(x)) + } + } +} + +#' Print simulation summary +#' +#' @param dataset Simulated data +#' @param dc Variable classes +#' @param fun Summary function to apply +#' @param dec Number of decimals to show +#' +#' @seealso \code{\link{simulater}} to run a simulation +#' @seealso \code{\link{repeater}} to run a repeated simulation +#' +#' @examples +#' simulater( +#' const = "cost 3", +#' norm = "demand 2000 1000", +#' discrete = "price 5 8 .3 .7", +#' form = c("profit = demand * (price - cost)", "profit5K = profit > 5000"), +#' seed = 1234 +#' ) %>% sim_summary() +#' +#' @export +sim_summary <- function(dataset, dc = get_class(dataset), fun = "", dec = 4) { + isFct <- "factor" == dc + isNum <- dc %in% c("numeric", "integer", "Duration") + isChar <- "character" == dc + isLogic <- "logical" == dc + + dec <- ifelse(is.na(dec), 4, as.integer(dec)) + + if (sum(isNum) > 0) { + isConst <- !sapply(dataset, does_vary) & isNum + if (sum(isConst) > 0) { + cn <- names(dc)[isConst] + cat("Constants:\n") + select(dataset, which(isConst)) %>% + na.omit() %>% + .[1, ] %>% + as.data.frame(stringsAsFactors = FALSE) %>% + round(dec) %>% + mutate_all(~ formatC(., big.mark = ",", digits = dec, format = "f")) %>% + set_rownames("") %>% + set_colnames(cn) %>% + print() + cat("\n") + } + + isRnd <- isNum & !isConst + if (sum(isRnd) > 0) { + cn <- names(dc)[isRnd] + cat("Variables:\n") + select(dataset, which(isNum & !isConst)) %>% + gather("variable", "values", !!cn) %>% + group_by_at(.vars = "variable") %>% + summarise_all( + list( + n_obs = n_obs, mean = mean, sd = sd, min = min, + p25 = p25, median = median, p75 = p75, max = max + ), + na.rm = TRUE + ) %>% + mutate(variable = format(variable, justify = "left")) %>% + data.frame(check.names = FALSE, stringsAsFactors = FALSE) %>% + format_df(dec = dec, mark = ",") %>% + rename(` ` = "variable") %>% + print(row.names = FALSE) + cat("\n") + } + } + + if (sum(isLogic) > 0) { + cat("Logicals:\n") + select(dataset, which(isLogic)) %>% + summarise_all(list(sum, mean), na.rm = TRUE) %>% + round(dec) %>% + matrix(ncol = 2) %>% + as.data.frame(stringsAsFactors = FALSE) %>% + set_colnames(c("TRUE (nr) ", "TRUE (prop)")) %>% + set_rownames(names(dataset)[isLogic]) %>% + format(big.mark = ",", scientific = FALSE) %>% + print() + cat("\n") + } + + if (sum(isFct) > 0 || sum(isChar) > 0) { + cat("Factors:\n") + df <- select(dataset, which(isFct | isChar)) %>% + mutate(across(where(is.character), as_factor)) %>% + as.data.frame() + + tab <- summary(df) + pt <- lapply(df, function(x) prop.table(table(x))) + for (i in seq_len(ncol(tab))) { + tab[, i] <- paste0(tab[, i], "(", 100 * round(pt[[i]], dec), "%)") + } + tab[tab == "NA(100%)"] <- "" + print(tab) + cat("\n") + } +} + +#' Clean input command string +#' +#' @param x Input string +#' +#' @return Cleaned string +#' +#' @export +sim_cleaner <- function(x) { + gsub("[ ]{2,}", " ", paste(x, collapse = ";")) %>% + gsub("[ ]*[\n;]+[ ]*", ";", .) %>% + gsub("[;]{2,}", ";", .) %>% + gsub(";$", "", .) %>% + gsub("^;", "", .) +} + +#' Remove comments from formula before it is evaluated +#' +#' @param x Input string +#' +#' @return Cleaned string +#' +#' @export +remove_comments <- function(x) { + gsub("[ ]*\\#{1,}[^\n;]*[\n]", "\n", x) %>% + gsub("[ ]*\\#{1,}[^\n;]*[;]", ";", .) %>% + gsub("^[ ]*;{1,}", "", .) %>% + gsub(";{2,}", ";", .) %>% + gsub("^[ ]*\n{1,}", "", .) %>% + gsub("\n{2,}", "\n", .) %>% + gsub("^[ ]{1,}", "", .) +} + +#' Split input command string +#' +#' @param x Input string +#' @param symbol Symbol used to split the command string +#' +#' @return Split input command string +#' +#' @export +sim_splitter <- function(x, symbol = " ") { + strsplit(x, "(;\\s*|\n)") %>% + extract2(1) %>% + # from https://stackoverflow.com/a/16644618/1974918 + gsub("\\s+(?=[^(\\)]*\\))", "", ., perl = TRUE) %>% + strsplit(symbol) +} + +#' Find maximum value of a vector +#' +#' @details Find the value of y at the maximum value of x +#' @param x Variable to find the maximum for +#' @param y Variable to find the value for at the maximum of var +#' +#' @return Value of val at the maximum of var +#' +#' @examples +#' find_max(1:10, 21:30) +#' +#' @export +find_max <- function(x, y) { + if (missing(y)) { + stop("Error in find_max (2 inputs required)\nSpecify the variable to evaluate at the maximum of the first input") + } + y[which.max(x)] +} + +#' Find minimum value of a vector +#' +#' @details Find the value of y at the minimum value of x +#' @param x Variable to find the minimum for +#' @param y Variable to find the value for at the maximum of var +#' +#' @return Value of val at the minimum of var +#' +#' @examples +#' find_min(1:10, 21:30) +#' +#' @export +find_min <- function(x, y) { + if (missing(y)) { + stop("Error in find_min (2 inputs required)\nSpecify the variable to evaluate at the minimum of the first input") + } + y[which.min(x)] +} + +#' Standard deviation of weighted sum of variables +#' +#' @param ... A matched number of weights and stocks +#' +#' @return A vector of standard deviation estimates +#' +#' @export +sdw <- function(...) { + dl <- list(...) + nr <- length(dl) / 2 + w <- data.frame(dl[1:nr], stringsAsFactors = FALSE) + d <- data.frame(dl[(nr + 1):length(dl)], stringsAsFactors = FALSE) + apply(w, 1, function(w) sd(rowSums(sweep(d, 2, w, "*")))) +} + +#' Simulate correlated normally distributed data +#' +#' @param n The number of values to simulate (i.e., the number of rows in the simulated data) +#' @param rho A vector of correlations to apply to the columns of the simulated data. The number of values should be equal to one or to the number of combinations of variables to be simulated +#' @param means A vector of means. The number of values should be equal to the number of variables to simulate +#' @param sds A vector of standard deviations. The number of values should be equal to the number of variables to simulate +#' @param exact A logical that indicates if the inputs should be interpreted as population of sample characteristics +#' +#' @return A data.frame with the simulated data +#' +#' @examples +#' sim <- sim_cor(100, .74, c(0, 10), c(1, 5), exact = TRUE) +#' cor(sim) +#' sim_summary(sim) +#' +#' @export +sim_cor <- function(n, rho, means, sds, exact = FALSE) { + nrx <- length(means) + C <- matrix(1, nrow = nrx, ncol = nrx) + C[lower.tri(C)] <- C[upper.tri(C)] <- rho + + X <- matrix(rnorm(n * nrx, 0, 1), ncol = nrx) + + if (exact) { + X <- psych::principal(X, nfactors = nrx, scores = TRUE)$scores + } + + X <- X %*% chol(C) + + X <- sweep(X, 2, sds, "*") + X <- sweep(X, 2, means, "+") + as.data.frame(X, stringsAsFactors = FALSE) +} diff --git a/radiant.model/R/svm.R b/radiant.model/R/svm.R new file mode 100644 index 0000000..b4b3d85 --- /dev/null +++ b/radiant.model/R/svm.R @@ -0,0 +1,122 @@ +#' Support Vector Machine using e1071 +#' +#' @export +svm <- function(dataset, rvar, evar, + type = "classification", lev = "", + kernel = "radial", cost = 1, gamma = "auto", + degree = 3, coef0 = 0, nu = 0.5, epsilon = 0.1, + probability = FALSE, wts = "None", seed = 1234, + check = NULL, form, data_filter = "", arr = "", rows = NULL, + envir = parent.frame()) { + + ## ---- 公式入口 ---------------------------------------------------------- + if (!missing(form)) { + form <- as.formula(format(form)) + vars <- all.vars(form) + rvar <- vars[1] + evar <- vars[-1] + } + + ## ---- 基础检查 ---------------------------------------------------------- + if (rvar %in% evar) + return("Response variable contained in explanatory variables" %>% add_class("svm")) + + vars <- c(rvar, evar) + if (is.empty(wts, "None")) { + wts <- NULL + } else { + vars <- c(vars, wts) + } + + ## ---- 数据提取 ---------------------------------------------------------- + df_name <- if (is_string(dataset)) dataset else deparse(substitute(dataset)) + dataset <- get_data(dataset, vars, filt = data_filter, arr = arr, rows = rows, envir = envir) + + if (!is.empty(wts)) { + wts_vec <- dataset[[wts]] + dataset <- select_at(dataset, setdiff(colnames(dataset), wts)) + } else { + wts_vec <- NULL + } + + rv <- dataset[[rvar]] + if (type == "classification") { + if (lev == "") lev <- levels(as.factor(rv))[1] + dataset[[rvar]] <- factor(dataset[[rvar]] == lev, levels = c(TRUE, FALSE)) + } + + ## ---- 标准化(占位) ---------------------------------------------------- + if ("standardize" %in% check) dataset <- scale_df(dataset, wts = wts_vec) + + ## ---- 构造公式 ---------------------------------------------------------- + if (missing(form)) form <- as.formula(paste(rvar, "~ .")) + + ## ---- 设定种子 ---------------------------------------------------------- + seed <- gsub("[^0-9]", "", seed) + if (!is.empty(seed)) set.seed(as.integer(seed)) + + ## ---- 调 e1071::svm ----------------------------------------------------- + svm_call <- list( + formula = form, + data = dataset, + type = ifelse(type == "classification", "C-classification", "eps-regression"), + kernel = kernel, + cost = cost, + gamma = if (gamma == "auto") 1 / ncol(select(dataset, -rvar)) else as.numeric(gamma), + degree = degree, + coef0 = coef0, + nu = nu, + epsilon = epsilon, + probability = probability, + weights = wts_vec, + fitted = TRUE + ) + model <- do.call(e1071::svm, svm_call) + + ## ---- 打包返回 ---------------------------------------------------------- + out <- as.list(environment()) + out$model <- model + out$df_name <- df_name + out$type <- type + out$lev <- if (type == "classification") lev else NULL + out$check <- check + add_class(out, c("svm", "model")) +} + +#' Summary method +#' @export +summary.svm <- function(object, ...) { + if (is.character(object)) return(object) + cat("Support Vector Machine\n") + cat("Data :", object$df_name, "\n") + if (!is.empty(object$data_filter)) cat("Filter :", object$data_filter, "\n") + cat("Response :", object$rvar, "\n") + if (object$type == "classification") cat("Level :", object$lev, "\n") + cat("Variables :", paste(object$evar, collapse = ", "), "\n") + cat("Kernel :", object$model$kernel, "\n") + cat("Cost (C) :", object$model$cost, "\n") + if (object$model$kernel != "linear") cat("Gamma :", object$model$gamma, "\n") + cat("Support vectors :", length(object$model$SV), "\n") + invisible(object) +} + +#' Predict method +#' @export +predict.svm <- function(object, pred_data = NULL, pred_cmd = "", + dec = 3, envir = parent.frame(), ...) { + if (is.character(object)) return(object) + + pfun <- function(model, newdata, ...) { + predict(model, newdata, probability = object$model$probability)[, 1] + } + + predict_model(object, pfun, "svm.predict", + pred_data, pred_cmd, + dec = dec, envir = envir) +} + +#' Print predictions +#' @export +print.svm.predict <- function(x, ..., n = 10) { + print_predict_model(x, ..., n = n, header = "SVM") +} \ No newline at end of file diff --git a/radiant.model/README.md b/radiant.model/README.md new file mode 100644 index 0000000..3718c4c --- /dev/null +++ b/radiant.model/README.md @@ -0,0 +1,188 @@ +# Radiant - Business analytics using R and Shiny + + + +[![CRAN\_Status\_Badge](http://www.r-pkg.org/badges/version/radiant.model)](https://CRAN.R-project.org/package=radiant.model) + + +Radiant is an open-source platform-independent browser-based interface for business analytics in [R](https://www.r-project.org/). The application is based on the [Shiny](https://shiny.posit.co/) package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.model/issues. For other questions and comments please use radiant@rady.ucsd.edu. + +## Key features + +- Explore: Quickly and easily summarize, visualize, and analyze your data +- Cross-platform: It runs in a browser on Windows, Mac, and Linux +- Reproducible: Recreate results and share work with others as a state file or an [Rmarkdown](https://rmarkdown.rstudio.com/) report +- Programming: Integrate Radiant's analysis functions with your own R-code +- Context: Data and examples focus on business applications + + + + +#### Playlists + +There are two youtube playlists with video tutorials. The first provides a general introduction to key features in Radiant. The second covers topics relevant in a course on business analytics (i.e., Probability, Decision Analysis, Hypothesis Testing, Linear Regression, and Simulation). + +* Introduction to Radiant +* Radiant Tutorial Series + +#### Explore + +Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., `Estimate` in _Model > Estimate > Logistic regression (GLM)_). This facilitates rapid exploration and understanding of the data. + +#### Cross-platform + +Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server. + +#### Reproducible + +To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using [Rmarkdown](https://rmarkdown.rstudio.com/). See also the section on `Saving and loading state` below + +If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to [Joe Cheng](https://github.com/jcheng5). + +#### Programming + +Although Radiant's web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant's functions directly from R-code). For more information about programming with Radiant see the [programming](https://radiant-rstats.github.io/docs/programming.html) page on the documentation site. + +#### Context + +Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve. + +## How to install Radiant + +- Required: [R](https://cran.r-project.org/) version 4.0.0 or later +- Required: [Rstudio](https://posit.co/download/rstudio-server/) + +In Rstudio you can start and update Radiant through the `Addins` menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Once all packages are installed, select `Start radiant` from the `Addins` menu in Rstudio or use the command below to launch the app: + +```r +radiant::radiant() +``` + +To launch Radiant in Rstudio's viewer pane use the command below: + +```r +radiant::radiant_viewer() +``` + +To launch Radiant in an Rstudio Window use the command below: + +```r +radiant::radiant_window() +``` + +To easily update Radiant and the required packages, install the `radiant.update` package using: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("remotes") +remotes::install_github("radiant-rstats/radiant.update", upgrade = "never") +``` + +Then select `Update radiant` from the `Addins` menu in Rstudio or use the command below: + +```r +radiant.update::radiant.update() +``` + +See the [installing radiant](https://radiant-rstats.github.io/docs/install.html) page additional for details. + +**Optional:** You can also create a launcher on your Desktop to start Radiant by typing `radiant::launcher()` in the R(studio) console and pressing return. A file called `radiant.bat` (windows) or `radiant.command` (mac) will be created that you can double-click to start Radiant in your default browser. The `launcher` command will also create a file called `update_radiant.bat` (windows) or `update_radiant.command` (mac) that you can double-click to update Radiant to the latest release. + +When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click `Stop`. The Radiant process will stop and the browser window will close (Chrome) or gray-out. + +## Documentation + +Documentation and tutorials are available at and in the Radiant web interface (the icons on each page and the icon in the navigation bar). + +Individual Radiant packages also each have their own [pkgdown](https://github.com/r-lib/pkgdown) sites: + +* http://radiant-rstats.github.io/radiant +* http://radiant-rstats.github.io/radiant.data +* http://radiant-rstats.github.io/radiant.design +* http://radiant-rstats.github.io/radiant.basics +* http://radiant-rstats.github.io/radiant.model +* http://radiant-rstats.github.io/radiant.multivariate + +Want some help getting started? Watch the tutorials on the [documentation site](https://radiant-rstats.github.io/docs/tutorials.html). + + +## Reporting issues + +Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant. + +## Try Radiant online + +Not ready to install Radiant on your computer? Try it online at the link below: + +https://vnijs.shinyapps.io/radiant + +Do **not** upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons. + +## Running Radiant on shinyapps.io + +To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running `radiant/inst/app/for.shinyapps.io.R`. Finally, open `radiant/inst/app/ui.R` and [deploy](https://shiny.posit.co/articles/shinyapps.html) the application. + +## Running Radiant on shiny-server + +You can also host Radiant using [shiny-server](https://posit.co/download/shiny-server/). First, install radiant on the server using the command below: + +```r +options(repos = c(RSM = "https://radiant-rstats.github.io/minicran", CRAN = "https://cloud.r-project.org")) +install.packages("radiant") +``` + +Then clone the radiant repo and point shiny-server to the `inst/app/` directory. As a courtesy, please let me know if you intend to use Radiant on a server. + +When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in _Report > Rmd_ and _Report > R_ will not be evaluated for security reasons. If you have `sudo` access to the server and have appropriate security in place you can change these settings by adding the following lines to `.Rprofile` for the `shiny` user on the server. + +```bash +options(radiant.maxRequestSize = -1) ## no file size limit +options(radiant.report = TRUE) +``` + +## Running Radiant in the cloud (e.g., AWS) + +To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details + +## Saving and loading state + +To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on `Save radiant state file` (see also the _Data > Manage_ tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file [`radiant-example.state.rda`](https://radiant-rstats.github.io/docs/examples/radiant-example.state.rda) by clicking on the icon in the navbar and then on `Load radiant state file`. Go to _Data > View_ and _Data > Visualize_ to see some of the settings from the previous "state" of the app. There is also a report in _Report > Rmd_ that was created using the Radiant interface. The html file `radiant-example.nb.html` contains the output. + +A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use `Refresh` in the menu in the navigation bar to return to a clean/new state. + +Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > `Stop` to stop the app, lists called `r_data`, `r_info`, and `r_state` will be put into Rstudio's global workspace. If you start radiant again using `radiant::radiant()` it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state. + +**Technical note**: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called `r_state`. If there is, this value is used. The `r_state` list is created when saving state using `reactiveValuesToList(input)`. An example of a call to `numericInput` is given below where the `state_init` function from `radiant.R` is used to check if a value from `r_state` can be used. + +```r +numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0)) +``` + +## Source code + +The source code for the radiant application is available on GitHub at . `radiant.data`, offers tools to load, save, view, visualize, summarize, combine, and transform data. `radiant.design` builds on `radiant.data` and adds tools for experimental design, sampling, and sample size calculation. `radiant.basics` covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. `radiant.model` covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, `radiant.multivariate` includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis. + +These tools are used in the _Business Analytics_, _Quantitative Analysis_, _Research for Marketing Decisions_, _Applied Market Research_, _Consumer Behavior_, _Experiments in Firms_, _Pricing_, _Pricing Analytics_, and _Customer Analytics_ classes at the Rady School of Management (UCSD). + +## Credits + +Radiant would not be possible without [R](https://cran.r-project.org/) and [Shiny](https://shiny.posit.co/). I would like to thank [Joe Cheng](https://github.com/jcheng5), [Winston Chang](https://github.com/wch), and [Yihui Xie](https://github.com/yihui) for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, shinyFiles, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page. + + +## License + + +Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file. + +The documentation, images, and videos for the `radiant.data` package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for `radiant.design`, `radiant.basics`, `radiant.model`, and `radiant.multivariate`, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA. + +If you are interested in using any of the radiant packages please email me at radiant@rady.ucsd.edu + +© Vincent Nijs (2024) Creative Commons License \ No newline at end of file diff --git a/radiant.model/_pkgdown.yml b/radiant.model/_pkgdown.yml new file mode 100644 index 0000000..517e5bc --- /dev/null +++ b/radiant.model/_pkgdown.yml @@ -0,0 +1,232 @@ +url: https://radiant-rstats.github.io/radiant.model + +template: + params: + docsearch: + api_key: 279f8fe71a37f83093f51a606ddc3f50 + index_name: radiant_model + +navbar: + title: "radiant.model" + left: + - icon: fa-home fa-lg + href: index.html + - text: "Reference" + href: reference/index.html + - text: "Articles" + href: articles/index.html + - text: "Changelog" + href: news/index.html + - text: "Other Packages" + menu: + - text: "radiant" + href: https://radiant-rstats.github.io/radiant/ + - text: "radiant.data" + href: https://radiant-rstats.github.io/radiant.data/ + - text: "radiant.design" + href: https://radiant-rstats.github.io/radiant.design/ + - text: "radiant.basics" + href: https://radiant-rstats.github.io/radiant.basics/ + - text: "radiant.model" + href: https://radiant-rstats.github.io/radiant.model/ + - text: "radiant.multivariate" + href: https://radiant-rstats.github.io/radiant.multivariate/ + - text: "docker" + href: https://github.com/radiant-rstats/docker + right: + - icon: fa-twitter fa-lg + href: https://twitter.com/vrnijs + - icon: fa-github fa-lg + href: https://github.com/radiant-rstats + +reference: +- title: Model > Linear regression (OLS) + desc: Estimate linear regression models + contents: + - regress + - summary.regress + - predict.regress + - print.regress.predict + - plot.regress +- title: Model > Logistic regression + desc: Estimate logistic regression models + contents: + - logistic + - summary.logistic + - predict.logistic + - print.logistic.predict + - plot.logistic + - confint_robust +- title: Model > Multinomial logistic regression + desc: Estimate multinomial logistic regression models + contents: + - mnl + - summary.mnl + - predict.mnl + - print.mnl.predict + - plot.mnl.predict + - store.mnl.predict + - plot.mnl +- title: Model > Neural network + desc: Estimate neural network models + contents: + - nn + - summary.nn + - predict.nn + - print.nn.predict + - plot.nn + - cv.nn +- title: Model > Naive Bayes + desc: Estimate naive Bayes models + contents: + - nb + - summary.nb + - predict.nb + - print.nb.predict + - plot.nb.predict + - store.nb.predict + - plot.nb +- title: Model > Classification and regression trees + desc: Estimate classification and regression trees + contents: + - crtree + - summary.crtree + - predict.crtree + - print.crtree.predict + - plot.crtree + - cv.crtree +- title: Model > Random Forest + desc: Estimate a random forest of classification or regression trees + contents: + - rforest + - summary.rforest + - predict.rforest + - print.rforest.predict + - plot.rforest.predict + - store.rforest.predict + - plot.rforest + - cv.rforest +- title: Model > Gradient Boosted Trees + desc: Estimate a gradient boosted trees for regression of classification + contents: + - gbt + - summary.gbt + - predict.gbt + - print.gbt.predict + - plot.gbt + - cv.gbt +- title: Model > Evaluate regression + desc: Evaluate regression models + contents: + - evalreg + - summary.evalreg + - plot.evalreg + - MAE + - RMSE + - Rsq + - profit +- title: Model > Evaluate classification + desc: Evaluate binary classification models + contents: + - evalbin + - summary.evalbin + - plot.evalbin + - confusion + - summary.confusion + - plot.confusion + - auc + - rig + - uplift + - summary.uplift + - plot.uplift +- title: Model > Collaborative filtering + desc: Esitmate collaborative filtering models + contents: + - crs + - summary.crs + - plot.crs +- title: Model > Decision analysis + desc: Create and evaluate decision trees + contents: + - dtree + - summary.dtree + - plot.dtree + - sensitivity + - sensitivity.dtree + - dtree_parser +- title: Model > Simulate + desc: Create simulation models + contents: + - simulater + - summary.simulater + - plot.simulater + - repeater + - summary.repeater + - plot.repeater + - sim_summary + - sdw + - sim_cleaner + - sim_splitter + - sim_cor + - find_max + - find_min +- title: General modeling functions + desc: General modeling functions + contents: + - plot.model.predict + - scale_df + - minmax + - onehot + - predict_model + - print_predict_model + - store.model + - store.model.predict + - render.DiagrammeR + - test_specs + - var_check + - write.coeff + - pdp_plot + - pred_plot + - varimp + - varimp_plot +- title: Starting radiant.model + desc: Functions used to start radiant shiny apps + contents: + - radiant.model + - radiant.model_viewer + - radiant.model_window +- title: Data sets + desc: Data sets bundled with radiant.model + contents: + - catalog + - dvd + - direct_marketing + - houseprices + - ideal + - kaggle_uplift + - ketchup + - movie_contract + - ratings +- title: Deprecated + desc: Deprecated + contents: + - ann + - store.crs +articles: +- title: Model Menu + desc: > + These vignettes provide an introduction to the Model menu in radiant + contents: + - pkgdown/regress + - pkgdown/logistic + - pkgdown/mnl + - pkgdown/nn + - pkgdown/nb + - pkgdown/crtree + - pkgdown/rforest + - pkgdown/gbt + - pkgdown/evalreg + - pkgdown/evalbin + - pkgdown/crs + - pkgdown/dtree + - pkgdown/simulater diff --git a/radiant.model/build/build.R b/radiant.model/build/build.R new file mode 100644 index 0000000..f0028bf --- /dev/null +++ b/radiant.model/build/build.R @@ -0,0 +1,90 @@ +setwd(rstudioapi::getActiveProject()) +curr <- getwd() +pkg <- basename(curr) + +## building package for mac and windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) stop("Change R-version") + +dirsrc <- "../minicran/src/contrib" + +if (rv < "3.4") { + dirmac <- fs::path("../minicran/bin/macosx/mavericks/contrib", rv) +} else if (rv > "3.6") { + dirmac <- c( + fs::path("../minicran/bin/macosx/big-sur-arm64/contrib", rv), + fs::path("../minicran/bin/macosx/contrib", rv) + ) +} else { + dirmac <- fs::path("../minicran/bin/macosx/el-capitan/contrib", rv) +} + +dirwin <- fs::path("../minicran/bin/windows/contrib", rv) + +if (!fs::file_exists(dirsrc)) fs::dir_create(dirsrc, recursive = TRUE) +for (d in dirmac) { + if (!fs::file_exists(d)) fs::dir_create(d, recursive = TRUE) +} +if (!fs::file_exists(dirwin)) fs::dir_create(dirwin, recursive = TRUE) + +# delete older version of radiant +rem_old <- function(pkg) { + unlink(paste0(dirsrc, "/", pkg, "*")) + for (d in dirmac) { + unlink(paste0(d, "/", pkg, "*")) + } + unlink(paste0(dirwin, "/", pkg, "*")) +} + +sapply(pkg, rem_old) + +## avoid 'loaded namespace' stuff when building for mac +system(paste0(Sys.which("R"), " -e \"setwd('", getwd(), "'); app <- '", pkg, "'; source('build/build_mac.R')\"")) + +win <- readline(prompt = "Did you build on Windows? y/n: ") +if (grepl("[yY]", win)) { + + fl <- list.files(pattern = "*.zip", path = "~/Dropbox/r-packages/", full.names = TRUE) + for (f in fl) { + print(f) + file.copy(f, "~/gh/") + } + + ## move packages to radiant_miniCRAN. must package in Windows first + # path <- normalizePath("../") + pth <- fs::path_abs("../") + + sapply(list.files(pth, pattern = "*.tar.gz", full.names = TRUE), file.copy, dirsrc) + unlink("../*.tar.gz") + for (d in dirmac) { + sapply(list.files(pth, pattern = "*.tgz", full.names = TRUE), file.copy, d) + } + unlink("../*.tgz") + sapply(list.files(pth, pattern = "*.zip", full.names = TRUE), file.copy, dirwin) + unlink("../*.zip") + + tools::write_PACKAGES(dirwin, type = "win.binary") + for (d in dirmac) { + tools::write_PACKAGES(d, type = "mac.binary") + } + tools::write_PACKAGES(dirsrc, type = "source") + + # commit to repo + setwd("../minicran") + system("git add --all .") + mess <- paste0(pkg, " package update: ", format(Sys.Date(), format = "%m-%d-%Y")) + system(paste0("git commit -m '", mess, "'")) + system("git push") +} + +setwd(curr) + +pkgs <- c("radiant", "radiant.data", "radiant.design", "radiant.basics", "radiant.model", "radiant.multivariate") +sapply(pkgs, remove.packages) + +radiant.update::radiant.update() +# install.packages("radiant.update") + diff --git a/radiant.model/build/build_mac.R b/radiant.model/build/build_mac.R new file mode 100644 index 0000000..1452bac --- /dev/null +++ b/radiant.model/build/build_mac.R @@ -0,0 +1,6 @@ +## build for mac +app <- basename(getwd()) +curr <- setwd("../") +f <- devtools::build(app) +system(paste0("R CMD INSTALL --build ", f)) +setwd(curr) diff --git a/radiant.model/build/build_win.R b/radiant.model/build/build_win.R new file mode 100644 index 0000000..e6861ce --- /dev/null +++ b/radiant.model/build/build_win.R @@ -0,0 +1,26 @@ +## build for windows +rv <- R.Version() +rv <- paste(rv$major, substr(rv$minor, 1, 1), sep = ".") + +rvprompt <- readline(prompt = paste0("Running for R version: ", rv, ". Is that what you wanted y/n: ")) +if (grepl("[nN]", rvprompt)) + stop("Change R-version using Rstudio > Tools > Global Options > Rversion") + +## build for windows +setwd(rstudioapi::getActiveProject()) +f <- devtools::build(binary = TRUE) +devtools::install(upgrade = "never") + +fl <- list.files(pattern = "*.zip", path = "../", full.names = TRUE) + +for (f in fl) { + print(glue::glue("Copying: {f}")) + file.copy(f, "C:/Users/vnijs/Dropbox/r-packages/", overwrite = TRUE) + unlink(f) +} + +#options(repos = c(RSM = "https://radiant-rstats.github.io/minicran")) +#install.packages("radiant.data", type = "binary") +# remove.packages(c("radiant.data", "radiant.model")) +#install.packages("radiant.update") +# radiant.update::radiant.update() diff --git a/radiant.model/build/remove_screenshots.R b/radiant.model/build/remove_screenshots.R new file mode 100644 index 0000000..532da15 --- /dev/null +++ b/radiant.model/build/remove_screenshots.R @@ -0,0 +1,30 @@ +## based on https://gist.github.com/mages/1544009 +cdir <- setwd("./inst/app/tools/help") + +## remove all local png files +list.files("./figures/", pattern = "*.png") +unlink("figures/*.png") +check <- list.files("./figures/", pattern = "*.png") +stopifnot(length(check) == 0) +cat("--", file = "figures/place_holder.txt") + +fn <- list.files(pattern = "\\.(md|Rmd)$") +for (f in fn) { + org <- readLines(f, warn = FALSE) + changed <- gsub("figures_model/", "https://radiant-rstats.github.io/docs/model/figures_model/", org) + cat(changed, file = f, sep = "\n") +} + +setwd(cdir) + +## get package checked +# devtools::check_win_devel() + +## submit package to CRAN +devtools::submit_cran() + +## use the git-tab to manually revert all changes to docs and +## restore all images + +## remove after reverting the changes from the code above +unlink("inst/app/tools/help/figures/place_holder.txt") diff --git a/radiant.model/data/catalog.rda b/radiant.model/data/catalog.rda new file mode 100644 index 0000000000000000000000000000000000000000..de4d76a82dcec4b2b6617c5a8dbf6bb7f02a42f9 GIT binary patch literal 2675 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 literal 0 HcmV?d00001 diff --git a/radiant.model/data/direct_marketing.rda b/radiant.model/data/direct_marketing.rda new file mode 100644 index 0000000000000000000000000000000000000000..04e5b50c71b19b58a493e5ab51469bbf8828b3b9 GIT binary patch literal 14557 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

    U<>xG<}MWsA1h8b8}k%NZJ&!uFti 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 J6D+cYtU}R6A05+ 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 literal 0 HcmV?d00001 diff --git a/radiant.model/data/houseprices.rda b/radiant.model/data/houseprices.rda new file mode 100644 index 0000000000000000000000000000000000000000..f8c4afe400572458e7c4e7978058e3d222a03f1f GIT binary patch literal 1578 zcmV+_2G#i=iwFP!000001C3XIh!j;E|J>}}&YPJ%m5R8?>eU^!)}8JBDh(2a6Q$$= ztvul>XK!cSt+^eWnY&9UyhzCWBdnw%4v|AbLgX;1`$N=3;)n|ji=>Q91tmKQ%}~p;;?h{f@EO zF7+A?khqgXDH?S&hQP*5u&>?#JD!ESbQns*X|N-!q3yf|ZEFvddJg&Oa;W!SfRgKm zeCiUEkqOkj#i2d058Bc+QX5Z#Z5>DYn>}E^Z3jEB52>jnSbZn7E2GfzNvO^^o^rKjhAtBh<-JsMp3ZZ~idSA0C6&c><}6yD;yi!;pVEgSthHP>wW09>_rblj5AuL;WKI z?M4sM%g3ONY=in3aoE2T+C5ZL?X<`(zXqyx77Om9lUij$>u3a9Me&wq!T!pCJ(~u5 zhw68N@XHIpPMv_VbuZ)}CNY1>n|>{|{!hVP-UVhZ7qv@sC=XtMwwmg-ZvvWi7|Pq9 zPWJ&)Hv#zy%@Z^q2H09!Pty8fT5qPYjP}Qcjod|JfMf+gy@V zGnyBYeuT!~fsAZY%V~X`WZ%)eL(J@w&@)bRH=wv=Hzqix>PeOrF+6;E7mYi_o=JkU zhs)Y&-6^y#}pJbvt$z+jKkpxjf>(7a#d;`!8mA$a<{dIBE1MgAU6D3{HE^QBvL z^6`5F7v)vLx)$VSid;N<`4_?6=eA7Xdu#b1`D_nzPX}?ymi;KOd>wIA&WU((F38(E zlLNt-?GpZe3^SK<}OD-L$?Sc!qrd@99X=NW_d}L?_Kr7l)CounYI0 zPi@6I%14UWM&n5lS#+PMz>9K-Vnpqtb(zgB%0DiLXkFrRh}y*QsLVCWskTZzq?owg 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

    ))8akNU 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 K?iJjz3i&_BYAC1x literal 0 HcmV?d00001 diff --git a/radiant.design/inst/app/tools/help/figures/sample_size_ex2a.png b/radiant.design/inst/app/tools/help/figures/sample_size_ex2a.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1fcfe31135f4f21575bd8548a681e24cc3bc79 GIT binary patch literal 85029 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

    + + + + + + + + + + + + + + +
    +

    Manage data and state: Load data into Radiant, Save data to disk, Remove a dataset from memory, or Save/Load the state of the app

    +
    +
    +
    +

    Load data

    +

    The best way to load and save data for use in Radiant (and R) is to use the R-data format (rds or rda). These are binary files that can be stored compactly and read into R quickly. Select rds (or rda) from the Load data of type dropdown and click Browse to locate the file(s) you want to load on your computer.

    +

    You can get data from a spreadsheet (e.g., Excel or Google sheets) into Radiant in two ways. First, you can save data from the spreadsheet in csv format and then, in Radiant, choose csv from the Load data of type dropdown. Most likely you will have a header row in the csv file with variable names. If the data are not comma separated you can choose semicolon or tab separated. To load a csv file click ‘Browse’ and locate the file on your computer.

    +
    +

    Note: For Windows users with data that contain multibyte characters please make sure your data are in ANSI format so R(adiant) can load the characters correctly.

    +
    +

    Alternatively, you can select and copy the data in the spreadsheet using CTRL-C (or CMD-C on mac), go to Radiant, choose clipboard from the Load data of type dropdown, and click the Paste button. This is a short-cut that can be convenient for smaller datasets that are cleanly formatted.

    +

    If the data is available in R’s global workspace (e.g., you opened a data set in Rstudio and then started Radiant from the addins menu) you can move (or copy) it to Radiant by selecting from global workspace. Select the data.frame(s) you want to use and click the Load button.

    +

    To access all data files bundled with Radiant choose examples from the Load data of type dropdown and then click the Load button. These files are used to illustrate the various data and analysis tools accessible in Radiant. For example, the avengers and publishers data are used to illustrate how to combine data in R(adiant) (i.e., Data > Combine).

    +

    If csv data is available online choose csv (url) from the dropdown, paste the url into the text input shown, and press Load. If an rda file is available online choose rda (url) from the dropdown, paste the url into the text input, and press Load.

    +
    +
    +

    Save data

    +

    As mentioned above, the most convenient way to get data in and out of Radiant is to use the R-data format (rds or rda). Choose rds (or rda) from the Save data to type dropdown and click the Save button to save the selected dataset to file.

    +

    Again, it is good practice to add a description of the data and variables to each file you use. To add a description for your own data click the ‘Add/edit data description’ check-box, add text to the text-input window shown in markdown format, and then click the Update description button. When you save the data as an rds (or rda) file the description you created (or edited) will automatically be added to the file as an attribute.

    +

    Getting data from Radiant into a spreadsheet can be achieved in two ways. First, you can save data in csv format and load the file into the spreadsheet (i.e., choose csv from the Save data to type dropdown and click the Save button). Alternatively, you can copy the data from Radiant into the clipboard by choosing clipboard from the dropdown and clicking the Copy button, open the spreadsheet, and paste the data from Radiant using CTRL-V (or CMD-V on mac).

    +

    To move or copy data from Radiant into R’s global workspace select to global workspace from the Save data to type dropdown and click the Save button.

    +
    +
    +

    Save and load state

    +

    It is convenient to work with state files if you want complete your work at another time, perhaps on another computer, or to review previous work you completed using Radiant. You can save and load the state of the Radiant app just as you would a data file. The state file (extension .rda) will contain (1) the data loaded in Radiant, (2) settings for the analyses you were working on, (3) and any reports or code from the Report menu. To save the current state of the app to your hard-disk click the icon in the navbar and then click Save radiant state file. To load load a previous state click the icon in the navbar and the click Load radiant state file.

    +

    You can also share a state file with others that would like to replicate your analyses. As an example, download and then load the state file radiant-state.rda as described above. You will navigate automatically to the Data > Visualize tab and will see a plot. See also the Data > View tab for some additional settings loaded from the state file. There is also a report in Report > Rmd created using the Radiant interface. The html file radiant-state.html contains the output created by clicking the Knit report button.

    +

    Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use and then click Stop, the r_data environment and the r_info and r_state lists will be put into Rstudio’s global workspace. If you start radiant again from the Addins menu it will use r_data, r_info, and r_state to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant.

    +

    Use Refresh in the menu in the navbar to return to a clean/new state.

    +
    +
    +

    Remove data from memory

    +

    If data are loaded in memory that you no longer need in the current session check the Remove data from memory box. Then select the data to remove and click the Remove data button. One datafile will always remain open.

    +
    +
    +

    Using commands to load and save data

    +

    R-code can be used in Report > Rmd or Report > R to load data from a file directly into the active Radiant session. Use register("insert-dataset-name") to add a dataset to the Datasets dropdown. R-code can also be used to extract data from Radiant and save it to disk.

    +
    +
    +

    R-functions

    +

    For an overview of related R-functions used by Radiant to load and save data see Data > Manage

    +
    + + + + +
  • d9`kHfvQL%DRr(u zF6E!R`eS1~%$7<4UhQ1euF@LLGRQehj|m~H74xN7TM-oJL!AOW;==&$o)^fLhU~>x z#7fUjqVLn9qS!)a$Y<$SkP^ye5C@q(KK z)SW)YUKcH90Ozq}yeH3(oYu0eUY)Fr^yxGH=4cJeAKl>Fj<|QxzARt?NEF1zW@y|4 zr1UH!gJZGx3YUN%6LIIT3eS_k*+2T5G6hSA(?snKK`kvUVP6$4*0HB1XT2wbQUea? zzH6CL?mW$*_d%TgQYDbZY&mmq8=}doIpgNXYWxx=$@R-~!>fK47XVm<$ptv-ver@A z$So(QD4Lz!P*6Zh0d$N%z$c(O-7&}yFfy8iU@J~ONa|%rM~5&DN4HdjeHjS0olKx- z#V-{j`2?DsnLKSiIAE4u8EV!vGmDNoT}=MeTE1$}e4utk2RapuPqO4uu=a2LWL$36Emv-@@ zl9Gdkz4Fd9g`Hxm`xzD9Klfc*B&yH87XcQ@)30RrJ8KQC93wy3>@deEBuqUvmKZC4 z5+@eZBM+s=jRMIY37TBNt!qpvaR3%_#1mGzdkY+C+bgU6&Q4Z|TA45n5*XcQ^`m3a zHgM*qkRsjd9X713evq%^_$l!`e)b}KR_iMj^c`8)-ud@o6*&z^E&%n7PM%Dfp+I0^G6`N(AQ};RZ z46I-rQ`*hNb!(-#pRgt@MV)bgte>EVy%gj>7IS?E0+R&x z5=d@w%~$p4Q-5>yTzq@xafw@RyxyLG3!EO2;Rw}ZW0o-X-dU63-zF0Rbo~^eQdD)n zRh}K<`*@dwvY{e2#M#N|V3RcYK8*lv7^mdq>>aMXvxPh+h1?A|To(7@?1ZFKqz z!yw_C5;EgU-%v|ZzTb?!LmeTWmZ=@n;Z^Jj)HWrPLC~F)5X=n>GP@lg#jdufqiGztIsBGG$AkHl*THkK3v`Dg*0D@xkFQU$&WvQm%g^~$ydMH-S{u&ZIQ45 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/single_mean_summary.png b/radiant.basics/inst/app/tools/help/figures/single_mean_summary.png new file mode 100644 index 0000000000000000000000000000000000000000..0449b74dada49d3f2d104b5504c4aee1517498ee GIT binary patch literal 94322 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 literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/single_prop_prob_calc_p.png b/radiant.basics/inst/app/tools/help/figures/single_prop_prob_calc_p.png new file mode 100644 index 0000000000000000000000000000000000000000..a4c9fe3fbdeb7a4e29e8b2487bd8db99a05be032 GIT binary patch literal 121790 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

  • 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 NrK$)}sFt$``5*qvZiWB= literal 0 HcmV?d00001 diff --git a/radiant.basics/inst/app/tools/help/figures/compare_props_plot.png b/radiant.basics/inst/app/tools/help/figures/compare_props_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..8cf24791321ea0170418447208ac1b5ce54d7331 GIT binary patch literal 91622 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¥F(BGFVBX_otGZ&FRk0` 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 (h)D8(?DL#K+>_u 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 TO{vL=fGcY?dyuQ})3 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