diff --git a/latest-tag/search.json b/latest-tag/search.json index e2576d63..48f3f449 100644 --- a/latest-tag/search.json +++ b/latest-tag/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement [INSERT CONTACT METHOD]. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contribution Guidelines","title":"Contribution Guidelines","text":"🙏 Thank taking time contribute! input deeply valued, whether issue, pull request, even feedback, regardless size, content scope.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"table-of-contents","dir":"","previous_headings":"","what":"Table of contents","title":"Contribution Guidelines","text":"👶 Getting started 📔 Code Conduct 🗃 License 📜 Issues 🚩 Pull requests 💻 Coding guidelines 🏆 Recognition model ❓ Questions","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Contribution Guidelines","text":"Please refer project documentation brief introduction. Please also see articles within project documentation additional information.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contribution Guidelines","text":"Code Conduct governs project. Participants contributors expected follow rules outlined therein.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"license","dir":"","previous_headings":"","what":"License","title":"Contribution Guidelines","text":"contributions covered project’s license.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"issues","dir":"","previous_headings":"","what":"Issues","title":"Contribution Guidelines","text":"use GitHub track issues, feature requests, bugs. submitting new issue, please check issue already reported. issue already exists, please upvote existing issue 👍. new feature requests, please elaborate context benefit feature users, developers, relevant personas.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"github-flow","dir":"","previous_headings":"Pull requests","what":"GitHub Flow","title":"Contribution Guidelines","text":"repository uses GitHub Flow model collaboration. submit pull request: Create branch Please see branch naming convention . don’t write access repository, please fork . Make changes Make sure code passes checks imposed GitHub Actions well documented well tested unit tests sufficiently covering changes introduced Create pull request (PR) pull request description, please link relevant issue (), provide detailed description change, include assumptions. Address review comments, Post approval Merge PR write access. Otherwise, reviewer merge PR behalf. Pat back Congratulations! 🎉 now official contributor project! grateful contribution.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"branch-naming-convention","dir":"","previous_headings":"Pull requests","what":"Branch naming convention","title":"Contribution Guidelines","text":"Suppose changes related current issue current project; please name branch follows: _. Please use underscore (_) delimiter word separation. example, 420_fix_ui_bug suitable branch name change resolving UI-related bug reported issue number 420 current project. change affects multiple repositories, please name branches follows: __. example, 69_awesomeproject_fix_spelling_error reference issue 69 reported project awesomeproject aims resolve one spelling errors multiple (likely related) repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"monorepo-and-stageddependencies","dir":"","previous_headings":"Pull requests","what":"monorepo and staged.dependencies","title":"Contribution Guidelines","text":"Sometimes might need change upstream dependent package(s) able submit meaningful change. using staged.dependencies functionality simulate monorepo behavior. dependency configuration already specified project’s staged_dependencies.yaml file. need name feature branches appropriately. exception branch naming convention described . Please refer staged.dependencies package documentation details.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"coding-guidelines","dir":"","previous_headings":"","what":"Coding guidelines","title":"Contribution Guidelines","text":"repository follows unified processes standards adopted maintainers ensure software development carried consistently within teams cohesively across repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"style-guide","dir":"","previous_headings":"Coding guidelines","what":"Style guide","title":"Contribution Guidelines","text":"repository follows standard tidyverse style guide uses lintr lint checks. Customized lint configurations available repository’s .lintr file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"dependency-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency management","title":"Contribution Guidelines","text":"Lightweight right weight. repository follows tinyverse recommedations limiting dependencies minimum.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"dependency-version-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency version management","title":"Contribution Guidelines","text":"code compatible (!) historical versions given dependenct package, required specify minimal version DESCRIPTION file. particular: development version requires (imports) development version another package - required put abc (>= 1.2.3.9000).","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"r--package-versions","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"R & package versions","title":"Contribution Guidelines","text":"continuously test packages newest R version along recent dependencies CRAN BioConductor. recommend working environment also set way. can find details R version packages used R CMD check GitHub Action execution log - step prints R sessionInfo(). discover bugs older R versions older set dependencies, please create relevant bug reports.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"pre-commit","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"pre-commit","title":"Contribution Guidelines","text":"highly recommend use pre-commit tool combined R hooks pre-commit execute checks committing pushing changes. Pre-commit hooks already available repository’s .pre-commit-config.yaml file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"recognition-model","dir":"","previous_headings":"","what":"Recognition model","title":"Contribution Guidelines","text":"mentioned previously, contributions deeply valued appreciated. contribution data available part repository insights, recognize significant contribution hence add contributor package authors list, following rules enforced: Minimum 5% lines code authored* (determined git blame query) top 5 contributors terms number commits lines added lines removed* *Excluding auto-generated code, including limited roxygen comments renv.lock files. package maintainer also reserves right adjust criteria recognize contributions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/CONTRIBUTING.html","id":"questions","dir":"","previous_headings":"","what":"Questions","title":"Contribution Guidelines","text":"questions regarding contribution guidelines, please contact package/repository maintainer.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/SECURITY.html","id":"reporting-security-issues","dir":"","previous_headings":"","what":"Reporting Security Issues","title":"Security Policy","text":"believe found security vulnerability repositories organization, please report us coordinated disclosure. Please report security vulnerabilities public GitHub issues, discussions, pull requests. Instead, please send email vulnerability.management[@]roche.com. Please include much information listed can help us better understand resolve issue: type issue (e.g., buffer overflow, SQL injection, cross-site scripting) Full paths source file(s) related manifestation issue location affected source code (tag/branch/commit direct URL) special configuration required reproduce issue Step--step instructions reproduce issue Proof--concept exploit code (possible) Impact issue, including attacker might exploit issue information help us triage report quickly.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/SECURITY.html","id":"data-security-standards-dss","dir":"","previous_headings":"","what":"Data Security Standards (DSS)","title":"Security Policy","text":"Please make sure reporting issues form bug, feature, pull request, sensitive information PII, PHI, PCI completely removed text attachments, including pictures videos.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Data Expectations","text":"teal.goshawk expects provided ADSL accompanying ADLB clinical trials data set ADaM format. information ADaM please ADaM standards. package provides ready--use teal modules can embed teal application. modules generate highly customizable plots outputs often used exploratory data analysis, e.g.: box plots - tm_g_gh_boxplot() correlation scatter plots - tm_g_gh_correlationplot() tm_g_gh_scatterplot() density distribution plots - tm_g_gh_density_distribution_plot() line plots - tm_g_gh_lineplot() spaghetti plots - tm_g_spaghettiplot() See package functions / modules.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"adsl","dir":"Articles","previous_headings":"Data Expectations","what":"ADSL","title":"Data Expectations","text":"subject level data set one record per subject includes variables intended used plot splitting e.g. ABCWK24 represents two level outcome variable values \"Y\" \"N\" Week 24.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"adlb","dir":"Articles","previous_headings":"Data Expectations","what":"ADLB","title":"Data Expectations","text":"Basic Data Structure (BDS) data set meaning multiple records per subject per assay (PARAM) across unique time points. Additional variables intended used plot splitting joined ADLB. See ADSL example ABCWK24 need joined ADLB","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"other-basic-data-structures","dir":"Articles","previous_headings":"Data Expectations","what":"Other Basic Data Structures","title":"Data Expectations","text":"BDS data sets provisioned teal.goshawk like ADQS contains multiple records per subject per question (PARAM) across unique time points. However cases ADLB likely workarounds needed. example concept assay units, stored AVALU, really relevant BDS like ADQS contains questionnaire data. Given teal.goshawk expects AVALU variable uses values plot title y-axis label, AVALU need added ADQS appropriate value: Perhaps \"Q\". value provided \"()\" portion title y-axis label empty.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"required-variables","dir":"Articles","previous_headings":"","what":"Required Variables","title":"Data Expectations","text":"Several variables required realize full functionality teal.goshawk.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"trtord","dir":"Articles","previous_headings":"Required Variables","what":"TRTORD","title":"Data Expectations","text":"Definition: variable orders treatment values legend Rationale: Allows congruent ordering compared outputs generated study team Alternative: Variable required","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"avisitcd","dir":"Articles","previous_headings":"Required Variables","what":"AVISITCD","title":"Data Expectations","text":"Definition: variable contains abbreviated values AVISIT values Rationale: Many AVISIT values long contain arguably superfluous information cases. Using long values x-axis tick labels can really chew real estate area available plot. Using thoughtful abbreviations conveys chronology substantive loss information maximizes area available plot. Alternative: cases creating abbreviations helpful simply set AVISITCD <- AVISIT","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"avisitcdn","dir":"Articles","previous_headings":"Required Variables","what":"AVISITCDN","title":"Data Expectations","text":"Definition: variable contains numeric portion AVISITCD values Rationale: Often AVISITN contains values particularly helpful reflect proportional chronology visits. AVISITCD created helpful create numeric values AVISITCD values can seen intuitively reflecting visit chronology. example: 0, 2, 4, 12, 24, 56, 84 etc. weeks 0, 14, 28, 84, 168, 392, 588 etc. days. Using , longitudinal visualization x-axis nicely reflect proportional distances visits. Alternative: cases creating intuitive numeric chronology helpful simply set AVISITCDN <- AVISITN","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"avalu","dir":"Articles","previous_headings":"Required Variables","what":"AVALU","title":"Data Expectations","text":"Definition: Analysis Value Unit Rationale: Used plot title y-axis labels. Please see \"BDS data sets\" comments Alternative: Variable required.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"lbstresc","dir":"Articles","previous_headings":"Required Variables","what":"LBSTRESC","title":"Data Expectations","text":"Definition: SDTM Character Result/Finding Std Format Rationale: character type variable, variable contains values include limits quantitation (LOQ). might look like \"2.1<\" \">20.7\". case AVAL often missing. important able still capture values following derivation used needed LOQFL variable set \"Y\". signifies AVAL value record derived. - values limit quantitation, AVAL set numeric portion LBSTRESC divided 2. - values limit quantitation, AVAL set numeric portion LBSTRESC. Alternative: Variable required","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"loqfl","dir":"Articles","previous_headings":"Required Variables","what":"LOQFL","title":"Data Expectations","text":"Definition: ADaM standard variable represents Limit Quantitation Flag Rationale: Set \"Y\" LBSTRESC value used populate AVAL LBSTRESC value either limit quantitation assay limit quantitation assay. Derivations AVAL LOQFL look like following mutate() statement. - AVAL = if_else(grepl(\"<|>\", LBSTRESC), .numeric(gsub(\"[^0-9, .]+\", \"\", LBSTRESC)), AVAL) - LOQFL = if_else(grepl(\"<|>\", LBSTRESC), \"Y\", \"N\") Alternative: limit quantitation concept relevant please set LOQFL <- \"N\"","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"base2","dir":"Articles","previous_headings":"Required Variables","what":"BASE2","title":"Data Expectations","text":"Definition: ADaM standard variable represents assay value Screening Rationale: change Screening visit analyses needed variable contains assay value Screening Alternative: Screening visit analyses relevant please set BASE2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"chg2","dir":"Articles","previous_headings":"Required Variables","what":"CHG2","title":"Data Expectations","text":"Definition: ADaM standard variable represents change Screening assay value Rationale: change Screening visit analyses needed variable contains assay value change Screening subsequent visit Alternative: Screening visit analyses relevant please set CHG2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"pchg2","dir":"Articles","previous_headings":"Required Variables","what":"PCHG2","title":"Data Expectations","text":"Definition: ADaM standard variable represents percent change Screening assay value Rationale: percent change Screening visit analyses needed variable contains assay value percent change Screening subsequent visit Alternative: Screening visit analyses relevant please set PCHG2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"additional-variables","dir":"Articles","previous_headings":"","what":"Additional Variables","title":"Data Expectations","text":"additional data manipulations performed create variables useful context longitudinal visualizations","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/data-expectations.html","id":"avall2-basel2-base2l2","dir":"Articles","previous_headings":"Additional Variables","what":"AVALL2, BASEL2, BASE2L2","title":"Data Expectations","text":"Description: Log 2 AVAL, BASE BASE2 respectively Rationale: transformation addresses data variance improve interpretability appearance plots.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/teal-goshawk.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Getting started with teal.goshawk","text":"teal.goshawk package implementing number teal modules helpful exploring clinical trials data, specifically targeted data following ADaM standards. teal.goshawk modules can used data ADaM standard clinical data features package likely applicable. concepts presented require knowledge core features teal, specifically launch teal application pass data . Therefore, highly recommended refer README file introductory vignette teal package.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/teal-goshawk.html","id":"main-features","dir":"Articles","previous_headings":"","what":"Main features","title":"Getting started with teal.goshawk","text":"package provides ready--use teal modules can embed teal application. modules generate highly customizable plots outputs often used exploratory data analysis, e.g.: box plots - tm_g_gh_boxplot() correlation scatter plots - tm_g_gh_correlationplot() tm_g_gh_scatterplot() density distribution plots - tm_g_gh_density_distribution_plot() line plots - tm_g_gh_lineplot() spaghetti plots - tm_g_spaghettiplot() See package functions / modules.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/teal-goshawk.html","id":"a-simple-application","dir":"Articles","previous_headings":"","what":"A simple application","title":"Getting started with teal.goshawk","text":"teal.goshawk module needs embedded inside shiny / teal application interact . need load teal teal.goshawk already depends . nestcolor optional package can loaded apply standardized NEST color palette module plots. simple application including box plot module look like : Refer Get Started section teal.modules.clinical package provides additional detail teal concepts applied another simple app example. Please see additional information Articles data expectations, requirements pre/post-processing rationale","code":"library(teal.goshawk) library(nestcolor) ADSL <- goshawk::rADSL %>% mutate(TRTORD = case_when( TRT01P == \"A: Drug X\" ~ 1, TRT01P == \"C: Combination\" ~ 2, TRT01P == \"B: Placebo\" ~ 3, TRUE ~ as.numeric(NA) ) ) ADLB <- goshawk::rADLB %>% mutate(AVISITCD = AVISIT, TRTORD = case_when( TRT01P == \"A: Drug X\" ~ 1, TRT01P == \"C: Combination\" ~ 2, TRT01P == \"B: Placebo\" ~ 3, TRUE ~ as.numeric(NA) ) ) app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset(\"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB\"), check = FALSE ), modules = list( tm_g_gh_boxplot( label = \"Longitudinal Analysis\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = teal.transform::choices_selected( choices = c(\"ALT\", \"CRP\", \"IGA\"), selected = c(\"ALT\") ), trt_group = teal.transform::choices_selected( choices = c(\"TRT01P\", \"TRT01A\"), selected = c(\"TRT01P\") ), facet_var = teal.transform::choices_selected( choices = c(\"TRT01P\", \"TRT01A\"), selected = c(\"TRT01P\") ), rotate_xlab = TRUE ) ) ) if (interactive()) shiny::shinyApp(app$ui, app$server)"},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"paramcd","dir":"Articles","previous_headings":"User Guide","what":"PARAMCD","title":"User Guide","text":"“Parameter Code” (PARAMCD) variable used select biomarker/lab interest. biomarker/lab selection pull menu items concatenation PARAMCD PARAM ease identification.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"pull-down-menus","dir":"Articles","previous_headings":"User Guide","what":"Pull down menus","title":"User Guide","text":"containing many items include search functionality ease finding menu items.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"avisit","dir":"Articles","previous_headings":"User Guide","what":"AVISIT","title":"User Guide","text":"“Analysis Visit” (AVISIT) variable used display visit abbreviated analysis visit value (AVISITCD). See Data Expectations article detail AVISITCD variable.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"the-data-constraint-filter","dir":"Articles","previous_headings":"User Guide","what":"The Data Constraint Filter","title":"User Guide","text":"Selecting Screening constraint remove subjects satisfy filter range based screening value given assay. Selecting Baseline constraint remove subjects satisfy filter range based baseline value given assay. Example: Consider subject #58 baseline value 5 assay x range assay x across subjects 1 10. baseline constraint selected value changed range 7 10 subjects meet condition removed visualizations. Since subject #58 baseline value 5 assay x one subjects removed.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"data-point-brushing","dir":"Articles","previous_headings":"User Guide","what":"Data Point Brushing","title":"User Guide","text":"Selecting specific data points reveal Subject ID data available Box, Correlation Spaghetti Plot visualizations.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"log2---points-to-consider","dir":"Articles","previous_headings":"User Guide","what":"Log2 - Points to Consider","title":"User Guide","text":"biomarker/lab values already log2 transformed represent change value. excluded log2 transformation applied biomarkers/labs large. Biomarkers/labs value 0 log2 transformed taking log2 minimum non-zero value biomarker/lab, divided 2.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"right-hand-data-filter-panel","dir":"Articles","previous_headings":"User Guide","what":"Right Hand Data Filter Panel","title":"User Guide","text":"filters hierarchical used filter analysis variables. filter analysis variables please use filtering controls available left hand panel. Use right hand data panel filters filter categorical variables: AVISIT exclude/include specific visits visualizations. LOQFL exclude/include LOQ flagged values. SEX exclude/include specific gender. etc.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/articles/user-guide.html","id":"visualization-specifics","dir":"Articles","previous_headings":"User Guide","what":"Visualization Specifics","title":"User Guide","text":"Box Plot: Selecting STUDYID X-Axis variable produce visualization subjects combined identify study x-axis. Correlation Plot data constraint can placed Screening Baseline records associated analysis variable biomarker/lab selected x-axis . Limit Quantification (LOQFL) flag set either biomarker/lab values identified LOQ. brushing table column header reflects LOQFL_COMB. “Regression Line” option used conjunction “Treatment Faceting” option. Otherwise per treatment regression formula coefficient annotations overlay. Line Plot: error displayed related plot height ’s best first alter relative plot height left panel using slider. additional plot height control, use icons upper right corner visualization.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Nick Paszty. Author, maintainer. Dawid Kaledkowski. Author. Mahmoud Hallal. Author. Pawel Rucki. Author. Wenyi Liu. Author. Jeffrey Tomlinson. Author. Bali Toth. Author. Junlue Zhao. Author. Maciej Nasinski. Author. Maximilian Mordig. Contributor. F. Hoffmann-La Roche AG. Copyright holder, funder.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Paszty N, Kaledkowski D, Hallal M, Rucki P, Liu W, Tomlinson J, Toth B, Zhao J, Nasinski M (2023). teal.goshawk: Longitudinal Visualization 'teal' Modules. R package version 0.1.15.","code":"@Manual{, title = {teal.goshawk: Longitudinal Visualization `teal` Modules}, author = {Nick Paszty and Dawid Kaledkowski and Mahmoud Hallal and Pawel Rucki and Wenyi Liu and Jeffrey Tomlinson and Bali Toth and Junlue Zhao and Maciej Nasinski}, year = {2023}, note = {R package version 0.1.15}, }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/index.html","id":"tealgoshawk","dir":"","previous_headings":"","what":"Longitudinal Visualization `teal` Modules","title":"Longitudinal Visualization `teal` Modules","text":"teal.goshawk package provides teal modules longitudinal visualization functions goshawk R package. enables teal app developers easily create applications explore longitudinal clinical trial data.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/index.html","id":"modules","dir":"","previous_headings":"","what":"Modules","title":"Longitudinal Visualization `teal` Modules","text":"tm_g_gh_boxplot tm_g_gh_correlationplot tm_g_gh_density_distribution_plot tm_g_gh_lineplot tm_g_gh_spaghettiplot","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Longitudinal Visualization `teal` Modules","text":"July 2023 insightsengineering packages available r-universe.","code":"# stable versions install.packages('teal.goshawk', repos = c('https://insightsengineering.r-universe.dev', 'https://cloud.r-project.org')) # beta versions install.packages('teal.goshawk', repos = c('https://pharmaverse.r-universe.dev', 'https://cloud.r-project.org'))"},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/pull_request_template.html","id":null,"dir":"","previous_headings":"","what":"Pull Request","title":"Pull Request","text":"Fixes #nnn","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/include_css_files.html","id":null,"dir":"Reference","previous_headings":"","what":"Include CSS files from /inst/css/ package directory to application header — include_css_files","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"system.file used access files packages, work devtools. Therefore, redefine method package needed. Thus, export method.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/include_css_files.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"","code":"include_css_files(pattern = \"*\")"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/include_css_files.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"pattern (character) pattern files included","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/include_css_files.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"HTML code includes CSS files","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/maptrt.html","id":null,"dir":"Reference","previous_headings":"","what":"helper for writing arm mapping and ordering code. — maptrt","title":"helper for writing arm mapping and ordering code. — maptrt","text":"Provides lines code left hand side arm mapping. user must provide right hand side","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/maptrt.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"helper for writing arm mapping and ordering code. — maptrt","text":"","code":"maptrt(df_armvar, code = c(\"M\", \"O\"))"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/maptrt.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"helper for writing arm mapping and ordering code. — maptrt","text":"df_armvar dataframe column name containing treatment code. e.g. ADSL$ARMCD code controls whether mapping ordering code written console. Valid values: \"M\" \"O\".","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/maptrt.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"helper for writing arm mapping and ordering code. — maptrt","text":"SPA configure study specific pre-processing deploying goshawk. writing code ARM mapping ordering tedious. function helps get started providing left hand side mapping ordering syntax. call function copy paste resulting code console app.R file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/maptrt.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"helper for writing arm mapping and ordering code. — maptrt","text":"","code":"ADSL <- goshawk::rADSL # get treatment mapping code maptrt(df_armvar = ADSL$ARMCD, code = \"M\") #> #> \"ARM A\" = \"\", #> \"ARM C\" = \"\", #> \"ARM B\" = \"\", # get treatment ordering code maptrt(df_armvar = ADSL$ARMCD, code = \"O\") #> #> ARMCD == \"ARM A\" ~ , #> ARMCD == \"ARM C\" ~ , #> ARMCD == \"ARM B\" ~ ,"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/srv_arbitrary_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Server module to arbitrary lines — srv_arbitrary_lines","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"Server validate transform comma separated values vectors values passed goshawk functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/srv_arbitrary_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"","code":"srv_arbitrary_lines(id)"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/srv_arbitrary_lines.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"id ID string corresponds ID used call module's UI function.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/srv_arbitrary_lines.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"(reactive) returning list containing line_arb, line_arb_color, line_arb_label validated passed goshawk plot functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/teal_goshawk.html","id":null,"dir":"Reference","previous_headings":"","what":"teal.goshawk core packages — teal_goshawk","title":"teal.goshawk core packages — teal_goshawk","text":"teal.goshawk package renders UI calls respective biomarker visualization functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/teal_goshawk.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"teal.goshawk core packages — teal_goshawk","text":"data used teal.goshawk constraints. must contain columns AVISITCD, BASE, BASE2, AVALU, LBSTRESC, LOQFL, CHG2, PCHG2.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Box Plot — tm_g_gh_boxplot","title":"Box Plot — tm_g_gh_boxplot","text":"teal module renders UI calls functions create box plot accompanying summary table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Box Plot — tm_g_gh_boxplot","text":"","code":"tm_g_gh_boxplot( label, dataname, param_var, param, yaxis_var = teal.transform::choices_selected(c(\"AVAL\", \"CHG\"), \"AVAL\"), xaxis_var = teal.transform::choices_selected(\"AVISITCD\", \"AVISITCD\"), facet_var = teal.transform::choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = NULL, loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, plot_height = c(600, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(2, 1, 12), alpha = c(0.8, 0, 1), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Box Plot — tm_g_gh_boxplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ALB. param_var name variable containing biomarker codes e.g. PARAMCD. param list biomarkers interest. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. provided, defaults choices_selected(c(\"AVAL\", \"CHG\"), \"AVAL\"). xaxis_var variable categorize x-axis. provided, defaults choices_selected(\"AVISITCD\", \"AVISITCD\"). facet_var variable facet plots . provided, defaults choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"). trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. loq_legend loq legend toggle. rotate_xlab 45 degree rotation x-axis values. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear legend. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. alpha numeric vector define transparency plotted points. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Box Plot — tm_g_gh_boxplot","text":"module object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Box Plot — tm_g_gh_boxplot","text":"Jeff Tomlinson (tomlinsj) jeffrey.tomlinson@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_boxplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Box Plot — tm_g_gh_boxplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) library(nestcolor) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 50, ANRHI = 75 ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ALB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \" set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 50, ANRHI = 75) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup() attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']] attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ALB_LOQS, by = 'PARAM')\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = FALSE # to shorten the example check = FALSE, in real scenarios use check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_boxplot( label = \"Box Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\"), \"AVAL\"), xaxis_var = choices_selected(c(\"ACTARM\", \"ARM\", \"AVISITCD\", \"STUDYID\"), \"ARM\"), facet_var = choices_selected(c(\"ACTARM\", \"ARM\", \"AVISITCD\", \"SEX\"), \"AVISITCD\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = c(60, 55), hline_arb_color = c(\"grey\", \"red\"), hline_arb_label = c(\"default_hori_A\", \"default_hori_B\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"pink\", \"brown\", \"purple\", \"black\"), ) ) ) #> [INFO] 2023-08-14 13:51:57.9683 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_boxplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_correlationplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"Scatter Plot Teal Module Biomarker Analysis","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_correlationplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"","code":"tm_g_gh_correlationplot( label, dataname, param_var = \"PARAMCD\", xaxis_param = \"ALT\", xaxis_var = \"BASE\", yaxis_param = \"CRP\", yaxis_var = \"AVAL\", trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = 2, visit_facet = TRUE, trt_facet = FALSE, reg_line = FALSE, loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, vline_arb = numeric(0), vline_arb_color = \"red\", vline_arb_label = \"Vertical line\", vline_vars = character(0), vline_vars_colors = \"green\", vline_vars_labels = vline_vars, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_correlationplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. xaxis_param biomarker selected x-axis. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. yaxis_param biomarker selected y-axis. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. visit_facet visit facet toggle. trt_facet facet treatment group trt_group. reg_line include regression line annotations slope coefficient visualization. Use facet TRUE. loq_legend loq legend toggle. rotate_xlab 45 degree rotation x-axis values. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear vline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. vline_arb_color character vector length vline_arb. naming color arbitrary horizontal lines. vline_arb_label character vector length vline_arb. naming label arbitrary horizontal lines. vline_vars character vector name columns define additional vertical lines. vline_vars_colors character vector naming colors additional vertical lines. vline_vars_labels character vector naming labels additional vertical lines appear plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. reg_text_size font size control regression line annotations. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_correlationplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_correlationplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"","code":"# Example using ADaM structure analysis dataset. # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) color_manual <- c(\"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\") # assign LOQ flag symbols: circles for \"N\" and triangles for \"Y\", squares for \"NA\" shape_manual <- c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste( \"W\", trimws( substr( AVISIT, start = 6, stop = stringr::str_locate(AVISIT, \"DAY\") - 1 ) ) ), TRUE ~ NA_character_ )) %>% dplyr::mutate(AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ NA_real_ )) %>% # use ARMCD values to order treatment in visualization legend dplyr::mutate(TRTORD = ifelse(grepl(\"C\", ARMCD), 1, ifelse(grepl(\"B\", ARMCD), 2, ifelse(grepl(\"A\", ARMCD), 3, NA) ) )) %>% dplyr::mutate(ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))])) %>% dplyr::mutate(ARM = factor(ARM) %>% reorder(TRTORD)) %>% dplyr::mutate( ANRHI = dplyr::case_when( PARAMCD == \"ALT\" ~ 60, PARAMCD == \"CRP\" ~ 70, PARAMCD == \"IGA\" ~ 80, TRUE ~ NA_real_ ), ANRLO = dplyr::case_when( PARAMCD == \"ALT\" ~ 20, PARAMCD == \"CRP\" ~ 30, PARAMCD == \"IGA\" ~ 40, TRUE ~ NA_real_ ) ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" # add LLOQ and ULOQ variables ADLB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ADLB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste( 'W', trimws( substr( AVISIT, start = 6, stop = stringr::str_locate(AVISIT, 'DAY') - 1 ) ) ), TRUE ~ NA_character_)) %>% dplyr::mutate(AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ NA_real_)) %>% # use ARMCD values to order treatment in visualization legend dplyr::mutate(TRTORD = ifelse(grepl('C', ARMCD), 1, ifelse(grepl('B', ARMCD), 2, ifelse(grepl('A', ARMCD), 3, NA)))) %>% dplyr::mutate(ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))])) %>% dplyr::mutate(ARM = factor(ARM) %>% reorder(TRTORD)) %>% dplyr::mutate( ANRHI = dplyr::case_when( PARAMCD == 'ALT' ~ 60, PARAMCD == 'CRP' ~ 70, PARAMCD == 'IGA' ~ 80, TRUE ~ NA_real_ ), ANRLO = dplyr::case_when( PARAMCD == 'ALT' ~ 20, PARAMCD == 'CRP' ~ 30, PARAMCD == 'IGA' ~ 40, TRUE ~ NA_real_ )) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup() attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' # add LLOQ and ULOQ variables ADLB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ADLB_LOQS, by = 'PARAM')\", vars = list(arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_correlationplot( label = \"Correlation Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", xaxis_param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), yaxis_param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"CRP\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"BASE\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"Drug X 100mg\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination 100mg\" = \"#E74C3C\" ), shape_manual = c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0), plot_height = c(500, 200, 2000), facet_ncol = 2, visit_facet = TRUE, reg_line = FALSE, loq_legend = TRUE, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), hline_arb = c(40, 50), hline_arb_label = \"arb hori label\", hline_arb_color = c(\"red\", \"blue\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"green\", \"blue\", \"purple\", \"cyan\"), hline_vars_label = c(\"ANRHI Label\", \"ANRLO Label\", \"ULOQN Label\", \"LLOQN Label\"), vline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), vline_vars_colors = c(\"yellow\", \"orange\", \"brown\", \"gold\"), vline_vars_labels = c(\"ANRHI Label\", \"ANRLO Label\", \"ULOQN Label\", \"LLOQN Label\"), vline_arb = c(50, 70), vline_arb_label = \"arb vert A\", vline_arb_color = c(\"green\", \"orange\") ) ) ) #> [INFO] 2023-08-14 13:52:00.5965 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_correlationplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Density Distribution Plot — tm_g_gh_density_distribution_plot","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"teal module renders UI calls functions create density distribution plot accompanying summary table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"","code":"tm_g_gh_density_distribution_plot( label, dataname, param_var, param, xaxis_var, trt_group, color_manual = NULL, color_comb = NULL, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), line_size = c(1, 0.25, 3), hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", facet_ncol = 2L, comb_line = TRUE, rotate_xlab = FALSE, pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. color_comb name hex value combined treatment color. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. line_size plot line thickness. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. facet_ncol numeric value indicating number facets per row. comb_line display combined treatment line toggle. rotate_xlab 45 degree rotation x-axis values. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"None","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_density_distribution_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_density_distribution_plot( label = \"Density Distribution Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\" ), color_comb = \"#39ff14\", comb_line = TRUE, plot_height = c(500, 200, 2000), font_size = c(12, 8, 20), line_size = c(1, .25, 3), hline_arb = c(.02, .05), hline_arb_color = c(\"red\", \"black\"), hline_arb_label = c(\"Horizontal Line A\", \"Horizontal Line B\") ) ) ) #> [INFO] 2023-08-14 13:52:02.0473 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_density_distribution_plot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Line plot — tm_g_gh_lineplot","title":"Line plot — tm_g_gh_lineplot","text":"teal module renders UI calls function creates line plot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Line plot — tm_g_gh_lineplot","text":"","code":"tm_g_gh_lineplot( label, dataname, param_var, param, param_var_label = \"PARAM\", xaxis_var, yaxis_var, xvar_level = NULL, filter_var = yaxis_var, filter_var_choices = filter_var, trt_group, trt_group_level = NULL, shape_choices = NULL, stat = \"mean\", hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", color_manual = c(getOption(\"ggplot2.discrete.colour\"), c(\"#ff0000\", \"#008000\", \"#4ca3dd\", \"#8a2be2\"))[1:4], xtick = ggplot2::waiver(), xlabel = xtick, rotate_xlab = FALSE, plot_height = c(600, 200, 4000), plot_width = NULL, plot_font_size = c(12, 8, 20), dodge = c(0.4, 0, 1), pre_output = NULL, post_output = NULL, count_threshold = 0, table_font_size = c(12, 4, 20), plot_relative_height_value = 1000 )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Line plot — tm_g_gh_lineplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. param_var_label single name variable analysis data includes parameter labels. xaxis_var single name variable analysis data used x-axis plot respective goshawk function. yaxis_var single name variable analysis data used summary variable respective goshawk function. xvar_level vector can used define factor level xvar. use xvar character factor. filter_var data constraint variable. filter_var_choices data constraint variable choices. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. trt_group_level vector can used define factor level trt_group. shape_choices Vector choices_selected object names ADSL variables can used change shape stat string statistics hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. color_manual string vector representing customized colors xtick numeric vector define tick values x-axis x variable numeric. Default value waive(). xlabel vector length xtick define label x-axis tick values. Default value waive(). rotate_xlab logical(1) value indicating whether rotate x-axis labels. plot_height controls plot height. plot_width optional, controls plot width. plot_font_size control font size title, x-axis, y-axis legend font. dodge controls position dodge error bar pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful. count_threshold minimum count observations (listed output table) plot nodes graph table_font_size controls font size values table plot_relative_height_value numeric value 500 5000 controlling starting value relative plot height slider","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Line plot — tm_g_gh_lineplot","text":"shiny object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Line plot — tm_g_gh_lineplot","text":"Wenyi Liu (luiw2) wenyi.liu@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_lineplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Line plot — tm_g_gh_lineplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) library(stringr) library(nestcolor) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset(\"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_lineplot( label = \"Line Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), shape_choices = c(\"SEX\", \"RACE\"), xaxis_var = choices_selected(\"AVISITCD\", \"AVISITCD\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), hline_arb = c(20.5, 19.5), hline_arb_color = c(\"red\", \"green\"), hline_arb_label = c(\"A\", \"B\") ) ) ) #> [INFO] 2023-08-14 13:52:03.4233 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_lineplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_scatterplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"tm_g_gh_scatterplot deprecated. Please use tm_g_gh_correlationplot instead.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_scatterplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"","code":"tm_g_gh_scatterplot( label, dataname, param_var, param, xaxis_var, yaxis_var, trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = 2, trt_facet = FALSE, reg_line = FALSE, rotate_xlab = FALSE, hline = NULL, vline = NULL, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_scatterplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. trt_facet facet treatment group trt_group. reg_line include regression line annotations slope coefficient visualization. Use facet TRUE. rotate_xlab 45 degree rotation x-axis values. hline y-axis value position horizontal line. vline x-axis value position vertical line. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. reg_text_size font size control regression line annotations. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_scatterplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_scatterplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"","code":"# Example using ADaM structure analysis dataset. # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% stats::reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% stats::reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% stats::reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_scatterplot( label = \"Scatter Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"BASE\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\" ), shape_manual = c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0), plot_height = c(500, 200, 2000), facet_ncol = 2, trt_facet = FALSE, reg_line = FALSE, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10) ) ) ) #> Warning: `tm_g_gh_scatterplot()` was deprecated in teal.goshawk 0.1.15. #> ℹ You should use teal.goshawk::tm_g_gh_correlationplot instead of #> teal.goshawk::tm_g_gh_scatterplot #> [INFO] 2023-08-14 13:52:04.4837 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_scatterplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Spaghetti Plot — tm_g_gh_spaghettiplot","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"teal module renders UI calls function creates spaghetti plot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"","code":"tm_g_gh_spaghettiplot( label, dataname, param_var, param, param_var_label = \"PARAM\", idvar, xaxis_var, yaxis_var, xaxis_var_level = NULL, filter_var = yaxis_var, trt_group, trt_group_level = NULL, group_stats = \"NONE\", man_color = NULL, color_comb = NULL, xtick = ggplot2::waiver(), xlabel = xtick, rotate_xlab = FALSE, facet_ncol = 2, free_x = FALSE, plot_height = c(600, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. param_var_label single name variable analysis data includes parameter labels. idvar name unique subject id variable. xaxis_var single name variable analysis data used x-axis plot respective goshawk function. yaxis_var single name variable analysis data used summary variable respective goshawk function. xaxis_var_level vector can used define factor level xaxis_var. use xaxis_var character factor. filter_var data constraint variable. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. trt_group_level vector can used define factor level trt_group. group_stats control group mean median overlay. man_color string vector representing customized colors color_comb name hex value combined treatment color. xtick numeric vector define tick values x-axis x variable numeric. Default value waive(). xlabel vector length xtick define label x-axis tick values. Default value waive(). rotate_xlab logical(1) value indicating whether rotate x-axis labels facet_ncol numeric value indicating number facets per row. free_x logical(1) scales \"fixed\" (FALSE) \"free\" (TRUE) x-axis facet_wrap scales parameter. plot_height controls plot height. plot_width optional, controls plot width. font_size control font size title, x-axis, y-axis legend font. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear legend. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"shiny object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"Wenyi Liu (luiw2) wenyi.liu@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/tm_g_gh_spaghettiplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 30, ANRHI = 75 ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ALB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 30, ANRHI = 75) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']] attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ALB_LOQS, by = 'PARAM')\", vars = list(arm_mapping = arm_mapping) ), check = FALSE ), modules = teal::modules( teal.goshawk::tm_g_gh_spaghettiplot( label = \"Spaghetti Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), idvar = \"USUBJID\", xaxis_var = choices_selected(c(\"Analysis Visit Code\" = \"AVISITCD\"), \"AVISITCD\"), yaxis_var = choices_selected(c(\"AVAL\", \"CHG\", \"PCHG\"), \"AVAL\"), filter_var = choices_selected( c(\"None\" = \"NONE\", \"Screening\" = \"BASE2\", \"Baseline\" = \"BASE\"), \"NONE\" ), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_comb = \"#39ff14\", man_color = c( \"Combination\" = \"#000000\", \"Placebo\" = \"#fce300\", \"150mg QD\" = \"#5a2f5f\" ), hline_arb = c(60, 50), hline_arb_color = c(\"grey\", \"red\"), hline_arb_label = c(\"default A\", \"default B\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"pink\", \"brown\", \"purple\", \"black\"), ) ) ) #> [INFO] 2023-08-14 13:52:05.5119 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_spaghettiplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":null,"dir":"Reference","previous_headings":"","what":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"useful slider shown, sometimes hard configure sliders, one can toggle one two numeric input fields set slider instead. normal sliders (single number range) dichotomous sliders (range within slider range) supported. former case, toggle button show one numeric input field, latter case two.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"","code":"toggle_slider_ui( id, label, min, max, value, slider_initially = TRUE, step_slider = NULL, step_numeric = step_slider, width = NULL, ... )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"id character module id label label label input field, e.g. slider numeric inputs min numeric integer minimum value max numeric integer maximum value value numeric integer either length 1 normal slider length 2 dichotomous slider. slider_initially logical whether show slider numeric fields initially step_slider numeric integer step slider step_numeric numeric integer step numeric input fields width numeric width slider numeric field ... additional parameters pass sliderInput","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"Shiny HTML UI","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"Value checked within minmax range","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/toggle_slider_ui.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"","code":"value <- c(20.3, 81.5) # dichotomous slider # value <- c(50.1) # normal slider app <- shinyApp( ui = div( teal.goshawk:::toggle_slider_ui( \"toggle_slider\", \"Select value\", min = 0.2, max = 100.1, value = value, slider_initially = FALSE, step_slider = 0.1, step_numeric = 0.001 ), verbatimTextOutput(\"value\") ), server = function(input, output, session) { is_dichotomous_slider <- (length(value) == 2) range_value <- toggle_slider_server(\"toggle_slider\", is_dichotomous_slider = is_dichotomous_slider ) messages <- reactiveVal() # to keep history observeEvent(range_value$state(), { list_with_names_str <- function(x) paste(names(x), x, sep = \": \", collapse = \", \") messages(c(messages(), list_with_names_str(range_value$state()))) }) output$value <- renderText({ paste(messages(), collapse = \"\\n\") }) # for stress-testing example, update slider settings # bug with invalidateLater not working inside `observeEvent` # observe({ # invalidateLater(1000, session) # a <- sample(0:100, 1) # for range # b <- sample(0:100, 1) # isolate(do.call( # range_value$update_state, # list( # value = sort(sample(0:100, if (is_dichotomous_slider) 2 else 1)), # min = min(a, b), max = max(a, b), # step = sample(1:20, 1) / 10 # )[sample(1:4, sample(4, 1))] # select up to four fields from the list # )) # }) } ) shinyApp(app$ui, app$server) %>% invisible()"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/ui_arbitrary_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"UI module to arbitrary lines — ui_arbitrary_lines","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"UI module input either horizontal vertical lines plot via comma separated values","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/ui_arbitrary_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"","code":"ui_arbitrary_lines( id, line_arb, line_arb_label, line_arb_color, title = \"Arbitrary Horizontal Lines:\" )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/ui_arbitrary_lines.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"id (character(1)) defining namespace shiny module. line_arb (numeric) default values textInput defining values arbitrary lines line_arb_label (character) default values textInput defining labels arbitrary lines line_arb_color (character) default values textInput defining colors arbitrary lines title (character(1)) title arbitrary lines input. default \"Arbitrary Horizontal Lines\".","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/reference/ui_arbitrary_lines.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"(shiny.tag) input define values, colors labels arbitrary straight lines.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-15","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.15","text":"Updated encodings input checks use shinyvalidate::InputValidator instead shiny::validate better UI experience. Added tooltip value input ui_arbitrary_lines explain supply multiple values.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"breaking-changes-0-1-15","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"teal.goshawk 0.1.15","text":"Constraints range calculated filtered data instead unfiltered. Replaced chunks simpler qenv class. Replaced datasets argument containing FilteredData new arguments data (tdata object) filter_panel_api (FilterPanelAPI).","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-15","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.15","text":"Deprecated tm_g_gh_scatterplot. Use tm_g_gh_correlationplot instead. Removed scda package dependency examples.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-14","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.14","text":"Added teal.reporter reporting package modules. Added optional argument plot_relative_height_value tm_g_gh_lineplot control initial value relative plot height slider. Implemented nestcolor slight refactoring tm_g_gh_lineplot added nestcolor examples custom color manuals.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-14","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.14","text":"Fixed minor type coercion warning srv_arbitrary_lines. Updated modules use datasets suffix _FILTERED package works breaking changes teal.slice.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-13","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.13","text":"Added template pkgdown site. Updated package authors.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"breaking-changes-0-1-12","dir":"Changelog","previous_headings":"","what":"Breaking Changes","title":"teal.goshawk 0.1.12","text":"Converted hline parameter tm_g_gh_lineplot three parameters: hline_arb, hline_arb_color hline_arb_label.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-12","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.12","text":"Added basic logging modules. Rewrote modules use moduleServer updated calls teal.devel modules also written use moduleServer. Replaced calls teal::root_modules teal::modules following deprecation teal::root_modules. Adjusted package imports take account changes teal framework.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-11","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.11","text":"Added UI input component add additional arbitrary horizontal lines tm_g_gh_spaghettiplot, tm_g_gh_boxplot, tm_g_gh_density_distribution_plot well two additional UI input components add additional horizontal additional vertical line tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"bug-fixes-0-1-11","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"teal.goshawk 0.1.11","text":"Fixed error tm_g_gh_boxplot facet variable selected.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-11","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.11","text":"Updated R version requirement R >= 3.6. Removed dependency test.nest package. Removed dependency utils.nest package replaced functions equivalents checkmate package.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"new-features-0-1-10","dir":"Changelog","previous_headings":"","what":"New Features","title":"teal.goshawk 0.1.10","text":"Lab normal range LOQs horizontal line feature tm_g_gh_spaghettiplot, tm_g_gh_boxplot tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"breaking-changes-0-1-10","dir":"Changelog","previous_headings":"","what":"Breaking Changes","title":"teal.goshawk 0.1.10","text":"hline replaced hline_arb, hline_arb_color hline_arb_label modules. vline replaced vline_arb_var, vline_arb_color vline_arb_label tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"bug-fixes-0-1-10","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"teal.goshawk 0.1.10","text":"Fixed bug tm_g_gh_boxplot module always used AVISITCD variable Visit Column table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-10","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.10","text":"Updated LICENCE README new package references. Updated examples documentation using scda synthetic data instead random.cdisc.data. Added error_on_lint: TRUE .lintr. Replaced tidyr’s gather spread pivot_wider pivot_longer package.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-9","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.9","text":"Updated tm_g_gh_correlationplot tm_g_gh_scatterplot encodings checkbox facet treatment variable instead drop menu. Updated starting line type solid instead dashed tm_g_gh_lineplot.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-8","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.8","text":"Updated plot remove x-axis label x-axis numeric data corresponding y-axis variable. Added slider control relative size plot tables. Replaced function brushedPoints clean_brushedPoints tm_g_gh_boxplot, tm_g_gh_correlationplot, tm_g_gh_scatterplot tm_g_gh_spaghettiplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"bug-fixes-0-1-8","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"teal.goshawk 0.1.8","text":"Fixed infinite reactive loop inside toggle_slider_server.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-8","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.8","text":"Renamed toggle.R file toggleable.R file consistent accepted correct spelling word.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-7","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.7","text":"Added table display summary statistics.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"bug-fixes-0-1-7","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"teal.goshawk 0.1.7","text":"Fixed displaying number messages, warnings errors Debug Info button. Fixed treatment variable values symbols (e.g. ‘:’). Allow treatment variables different arm levels.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"miscellaneous-0-1-7","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.7","text":"Reduced minimum number records required dataset either 1 2 modules.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"enhancements-0-1-6","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.6","text":"Changed slider title “Transparency” “Alpha”. Added facet_var argument UI drop . Rug plot option added. Argument changes: font_size –> plot_font_size. Line symbol type can now configured. especially useful line splitting used. Can set minimum records threshold rendering data point plot. Table font size can now controlled. Added facet_var argument UI drop . Changed slider title “Transparency” “Alpha”.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"general-0-1-6","dir":"Changelog","previous_headings":"","what":"General","title":"teal.goshawk 0.1.6","text":"Moved code argument cdisc_dataset (cdisc_data) examples. Implemented new plot_with_settings functionality modules support plot resizing, zooming, downloading functionality. Added drop selector treatment ARM.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"tealgoshawk-015","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.5","title":"teal.goshawk 0.1.5","text":"templ_ui_params_vars now uses optionalSelectInput teal. shape_choices argument tm_g_gh_lineplot can either character vector choices_selected.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"tealgoshawk-014","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.4","title":"teal.goshawk 0.1.4","text":"bug fix correlation plot module related axis ranges reflect changes data filter panel re-factoring modification correlation module pass data data driven LLOQ ULOQ footnote","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"tealgoshawk-013","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.3","title":"teal.goshawk 0.1.3","text":"Added .data PARAMCD new functions related sliders reactivity. Fixing doc small fixes. Added toggleable slider modules. Added data driven data constraints UI rendering.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"tealgoshawk-012","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.2","title":"teal.goshawk 0.1.2","text":"Box: Toggle LoQ legend /. Correlation: Toggle LoQ legend /, toggle visit facetting /. Density: Toggle combined treatment line /. Modified line-plot vertical axis range match parameter value CI range.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/news/index.html","id":"tealgoshawk-011","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.1","title":"teal.goshawk 0.1.1","text":"First release.","code":""}] +[{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement [INSERT CONTACT METHOD]. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired Mozilla’s code conduct enforcement ladder. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contribution Guidelines","title":"Contribution Guidelines","text":"🙏 Thank taking time contribute! input deeply valued, whether issue, pull request, even feedback, regardless size, content scope.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"table-of-contents","dir":"","previous_headings":"","what":"Table of contents","title":"Contribution Guidelines","text":"👶 Getting started 📔 Code Conduct 🗃 License 📜 Issues 🚩 Pull requests 💻 Coding guidelines 🏆 Recognition model ❓ Questions","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"getting-started","dir":"","previous_headings":"","what":"Getting started","title":"Contribution Guidelines","text":"Please refer project documentation brief introduction. Please also see articles within project documentation additional information.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contribution Guidelines","text":"Code Conduct governs project. Participants contributors expected follow rules outlined therein.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"license","dir":"","previous_headings":"","what":"License","title":"Contribution Guidelines","text":"contributions covered project’s license.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"issues","dir":"","previous_headings":"","what":"Issues","title":"Contribution Guidelines","text":"use GitHub track issues, feature requests, bugs. submitting new issue, please check issue already reported. issue already exists, please upvote existing issue 👍. new feature requests, please elaborate context benefit feature users, developers, relevant personas.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"github-flow","dir":"","previous_headings":"Pull requests","what":"GitHub Flow","title":"Contribution Guidelines","text":"repository uses GitHub Flow model collaboration. submit pull request: Create branch Please see branch naming convention . don’t write access repository, please fork . Make changes Make sure code passes checks imposed GitHub Actions well documented well tested unit tests sufficiently covering changes introduced Create pull request (PR) pull request description, please link relevant issue (), provide detailed description change, include assumptions. Address review comments, Post approval Merge PR write access. Otherwise, reviewer merge PR behalf. Pat back Congratulations! 🎉 now official contributor project! grateful contribution.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"branch-naming-convention","dir":"","previous_headings":"Pull requests","what":"Branch naming convention","title":"Contribution Guidelines","text":"Suppose changes related current issue current project; please name branch follows: _. Please use underscore (_) delimiter word separation. example, 420_fix_ui_bug suitable branch name change resolving UI-related bug reported issue number 420 current project. change affects multiple repositories, please name branches follows: __. example, 69_awesomeproject_fix_spelling_error reference issue 69 reported project awesomeproject aims resolve one spelling errors multiple (likely related) repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"monorepo-and-stageddependencies","dir":"","previous_headings":"Pull requests","what":"monorepo and staged.dependencies","title":"Contribution Guidelines","text":"Sometimes might need change upstream dependent package(s) able submit meaningful change. using staged.dependencies functionality simulate monorepo behavior. dependency configuration already specified project’s staged_dependencies.yaml file. need name feature branches appropriately. exception branch naming convention described . Please refer staged.dependencies package documentation details.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"coding-guidelines","dir":"","previous_headings":"","what":"Coding guidelines","title":"Contribution Guidelines","text":"repository follows unified processes standards adopted maintainers ensure software development carried consistently within teams cohesively across repositories.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"style-guide","dir":"","previous_headings":"Coding guidelines","what":"Style guide","title":"Contribution Guidelines","text":"repository follows standard tidyverse style guide uses lintr lint checks. Customized lint configurations available repository’s .lintr file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"dependency-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency management","title":"Contribution Guidelines","text":"Lightweight right weight. repository follows tinyverse recommedations limiting dependencies minimum.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"dependency-version-management","dir":"","previous_headings":"Coding guidelines","what":"Dependency version management","title":"Contribution Guidelines","text":"code compatible (!) historical versions given dependenct package, required specify minimal version DESCRIPTION file. particular: development version requires (imports) development version another package - required put abc (>= 1.2.3.9000).","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"r--package-versions","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"R & package versions","title":"Contribution Guidelines","text":"continuously test packages newest R version along recent dependencies CRAN BioConductor. recommend working environment also set way. can find details R version packages used R CMD check GitHub Action execution log - step prints R sessionInfo(). discover bugs older R versions older set dependencies, please create relevant bug reports.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"pre-commit","dir":"","previous_headings":"Coding guidelines > Recommended development environment & tools","what":"pre-commit","title":"Contribution Guidelines","text":"highly recommend use pre-commit tool combined R hooks pre-commit execute checks committing pushing changes. Pre-commit hooks already available repository’s .pre-commit-config.yaml file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"recognition-model","dir":"","previous_headings":"","what":"Recognition model","title":"Contribution Guidelines","text":"mentioned previously, contributions deeply valued appreciated. contribution data available part repository insights, recognize significant contribution hence add contributor package authors list, following rules enforced: Minimum 5% lines code authored* (determined git blame query) top 5 contributors terms number commits lines added lines removed* *Excluding auto-generated code, including limited roxygen comments renv.lock files. package maintainer also reserves right adjust criteria recognize contributions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/CONTRIBUTING.html","id":"questions","dir":"","previous_headings":"","what":"Questions","title":"Contribution Guidelines","text":"questions regarding contribution guidelines, please contact package/repository maintainer.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/SECURITY.html","id":"reporting-security-issues","dir":"","previous_headings":"","what":"Reporting Security Issues","title":"Security Policy","text":"believe found security vulnerability repositories organization, please report us coordinated disclosure. Please report security vulnerabilities public GitHub issues, discussions, pull requests. Instead, please send email vulnerability.management[@]roche.com. Please include much information listed can help us better understand resolve issue: type issue (e.g., buffer overflow, SQL injection, cross-site scripting) Full paths source file(s) related manifestation issue location affected source code (tag/branch/commit direct URL) special configuration required reproduce issue Step--step instructions reproduce issue Proof--concept exploit code (possible) Impact issue, including attacker might exploit issue information help us triage report quickly.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/SECURITY.html","id":"data-security-standards-dss","dir":"","previous_headings":"","what":"Data Security Standards (DSS)","title":"Security Policy","text":"Please make sure reporting issues form bug, feature, pull request, sensitive information PII, PHI, PCI completely removed text attachments, including pictures videos.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Data Expectations","text":"teal.goshawk expects provided ADSL accompanying ADLB clinical trials data set ADaM format. information ADaM please ADaM standards. package provides ready--use teal modules can embed teal application. modules generate highly customizable plots outputs often used exploratory data analysis, e.g.: box plots - tm_g_gh_boxplot() correlation scatter plots - tm_g_gh_correlationplot() tm_g_gh_scatterplot() density distribution plots - tm_g_gh_density_distribution_plot() line plots - tm_g_gh_lineplot() spaghetti plots - tm_g_spaghettiplot() See package functions / modules.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"adsl","dir":"Articles","previous_headings":"Data Expectations","what":"ADSL","title":"Data Expectations","text":"subject level data set one record per subject includes variables intended used plot splitting e.g. ABCWK24 represents two level outcome variable values \"Y\" \"N\" Week 24.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"adlb","dir":"Articles","previous_headings":"Data Expectations","what":"ADLB","title":"Data Expectations","text":"Basic Data Structure (BDS) data set meaning multiple records per subject per assay (PARAM) across unique time points. Additional variables intended used plot splitting joined ADLB. See ADSL example ABCWK24 need joined ADLB","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"other-basic-data-structures","dir":"Articles","previous_headings":"Data Expectations","what":"Other Basic Data Structures","title":"Data Expectations","text":"BDS data sets provisioned teal.goshawk like ADQS contains multiple records per subject per question (PARAM) across unique time points. However cases ADLB likely workarounds needed. example concept assay units, stored AVALU, really relevant BDS like ADQS contains questionnaire data. Given teal.goshawk expects AVALU variable uses values plot title y-axis label, AVALU need added ADQS appropriate value: Perhaps \"Q\". value provided \"()\" portion title y-axis label empty.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"required-variables","dir":"Articles","previous_headings":"","what":"Required Variables","title":"Data Expectations","text":"Several variables required realize full functionality teal.goshawk.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"trtord","dir":"Articles","previous_headings":"Required Variables","what":"TRTORD","title":"Data Expectations","text":"Definition: variable orders treatment values legend Rationale: Allows congruent ordering compared outputs generated study team Alternative: Variable required","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"avisitcd","dir":"Articles","previous_headings":"Required Variables","what":"AVISITCD","title":"Data Expectations","text":"Definition: variable contains abbreviated values AVISIT values Rationale: Many AVISIT values long contain arguably superfluous information cases. Using long values x-axis tick labels can really chew real estate area available plot. Using thoughtful abbreviations conveys chronology substantive loss information maximizes area available plot. Alternative: cases creating abbreviations helpful simply set AVISITCD <- AVISIT","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"avisitcdn","dir":"Articles","previous_headings":"Required Variables","what":"AVISITCDN","title":"Data Expectations","text":"Definition: variable contains numeric portion AVISITCD values Rationale: Often AVISITN contains values particularly helpful reflect proportional chronology visits. AVISITCD created helpful create numeric values AVISITCD values can seen intuitively reflecting visit chronology. example: 0, 2, 4, 12, 24, 56, 84 etc. weeks 0, 14, 28, 84, 168, 392, 588 etc. days. Using , longitudinal visualization x-axis nicely reflect proportional distances visits. Alternative: cases creating intuitive numeric chronology helpful simply set AVISITCDN <- AVISITN","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"avalu","dir":"Articles","previous_headings":"Required Variables","what":"AVALU","title":"Data Expectations","text":"Definition: Analysis Value Unit Rationale: Used plot title y-axis labels. Please see \"BDS data sets\" comments Alternative: Variable required.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"lbstresc","dir":"Articles","previous_headings":"Required Variables","what":"LBSTRESC","title":"Data Expectations","text":"Definition: SDTM Character Result/Finding Std Format Rationale: character type variable, variable contains values include limits quantitation (LOQ). might look like \"2.1<\" \">20.7\". case AVAL often missing. important able still capture values following derivation used needed LOQFL variable set \"Y\". signifies AVAL value record derived. - values limit quantitation, AVAL set numeric portion LBSTRESC divided 2. - values limit quantitation, AVAL set numeric portion LBSTRESC. Alternative: Variable required","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"loqfl","dir":"Articles","previous_headings":"Required Variables","what":"LOQFL","title":"Data Expectations","text":"Definition: ADaM standard variable represents Limit Quantitation Flag Rationale: Set \"Y\" LBSTRESC value used populate AVAL LBSTRESC value either limit quantitation assay limit quantitation assay. Derivations AVAL LOQFL look like following mutate() statement. - AVAL = if_else(grepl(\"<|>\", LBSTRESC), .numeric(gsub(\"[^0-9, .]+\", \"\", LBSTRESC)), AVAL) - LOQFL = if_else(grepl(\"<|>\", LBSTRESC), \"Y\", \"N\") Alternative: limit quantitation concept relevant please set LOQFL <- \"N\"","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"base2","dir":"Articles","previous_headings":"Required Variables","what":"BASE2","title":"Data Expectations","text":"Definition: ADaM standard variable represents assay value Screening Rationale: change Screening visit analyses needed variable contains assay value Screening Alternative: Screening visit analyses relevant please set BASE2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"chg2","dir":"Articles","previous_headings":"Required Variables","what":"CHG2","title":"Data Expectations","text":"Definition: ADaM standard variable represents change Screening assay value Rationale: change Screening visit analyses needed variable contains assay value change Screening subsequent visit Alternative: Screening visit analyses relevant please set CHG2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"pchg2","dir":"Articles","previous_headings":"Required Variables","what":"PCHG2","title":"Data Expectations","text":"Definition: ADaM standard variable represents percent change Screening assay value Rationale: percent change Screening visit analyses needed variable contains assay value percent change Screening subsequent visit Alternative: Screening visit analyses relevant please set PCHG2 <- NA","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"additional-variables","dir":"Articles","previous_headings":"","what":"Additional Variables","title":"Data Expectations","text":"additional data manipulations performed create variables useful context longitudinal visualizations","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/data-expectations.html","id":"avall2-basel2-base2l2","dir":"Articles","previous_headings":"Additional Variables","what":"AVALL2, BASEL2, BASE2L2","title":"Data Expectations","text":"Description: Log 2 AVAL, BASE BASE2 respectively Rationale: transformation addresses data variance improve interpretability appearance plots.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/teal-goshawk.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Getting started with teal.goshawk","text":"teal.goshawk package implementing number teal modules helpful exploring clinical trials data, specifically targeted data following ADaM standards. teal.goshawk modules can used data ADaM standard clinical data features package likely applicable. concepts presented require knowledge core features teal, specifically launch teal application pass data . Therefore, highly recommended refer README file introductory vignette teal package.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/teal-goshawk.html","id":"main-features","dir":"Articles","previous_headings":"","what":"Main features","title":"Getting started with teal.goshawk","text":"package provides ready--use teal modules can embed teal application. modules generate highly customizable plots outputs often used exploratory data analysis, e.g.: box plots - tm_g_gh_boxplot() correlation scatter plots - tm_g_gh_correlationplot() tm_g_gh_scatterplot() density distribution plots - tm_g_gh_density_distribution_plot() line plots - tm_g_gh_lineplot() spaghetti plots - tm_g_spaghettiplot() See package functions / modules.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/teal-goshawk.html","id":"a-simple-application","dir":"Articles","previous_headings":"","what":"A simple application","title":"Getting started with teal.goshawk","text":"teal.goshawk module needs embedded inside shiny / teal application interact . need load teal teal.goshawk already depends . nestcolor optional package can loaded apply standardized NEST color palette module plots. simple application including box plot module look like : Refer Get Started section teal.modules.clinical package provides additional detail teal concepts applied another simple app example. Please see additional information Articles data expectations, requirements pre/post-processing rationale","code":"library(teal.goshawk) library(nestcolor) ADSL <- goshawk::rADSL %>% mutate(TRTORD = case_when( TRT01P == \"A: Drug X\" ~ 1, TRT01P == \"C: Combination\" ~ 2, TRT01P == \"B: Placebo\" ~ 3, TRUE ~ as.numeric(NA) ) ) ADLB <- goshawk::rADLB %>% mutate(AVISITCD = AVISIT, TRTORD = case_when( TRT01P == \"A: Drug X\" ~ 1, TRT01P == \"C: Combination\" ~ 2, TRT01P == \"B: Placebo\" ~ 3, TRUE ~ as.numeric(NA) ) ) app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset(\"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB\"), check = FALSE ), modules = list( tm_g_gh_boxplot( label = \"Longitudinal Analysis\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = teal.transform::choices_selected( choices = c(\"ALT\", \"CRP\", \"IGA\"), selected = c(\"ALT\") ), trt_group = teal.transform::choices_selected( choices = c(\"TRT01P\", \"TRT01A\"), selected = c(\"TRT01P\") ), facet_var = teal.transform::choices_selected( choices = c(\"TRT01P\", \"TRT01A\"), selected = c(\"TRT01P\") ), rotate_xlab = TRUE ) ) ) if (interactive()) shiny::shinyApp(app$ui, app$server)"},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"paramcd","dir":"Articles","previous_headings":"User Guide","what":"PARAMCD","title":"User Guide","text":"“Parameter Code” (PARAMCD) variable used select biomarker/lab interest. biomarker/lab selection pull menu items concatenation PARAMCD PARAM ease identification.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"pull-down-menus","dir":"Articles","previous_headings":"User Guide","what":"Pull down menus","title":"User Guide","text":"containing many items include search functionality ease finding menu items.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"avisit","dir":"Articles","previous_headings":"User Guide","what":"AVISIT","title":"User Guide","text":"“Analysis Visit” (AVISIT) variable used display visit abbreviated analysis visit value (AVISITCD). See Data Expectations article detail AVISITCD variable.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"the-data-constraint-filter","dir":"Articles","previous_headings":"User Guide","what":"The Data Constraint Filter","title":"User Guide","text":"Selecting Screening constraint remove subjects satisfy filter range based screening value given assay. Selecting Baseline constraint remove subjects satisfy filter range based baseline value given assay. Example: Consider subject #58 baseline value 5 assay x range assay x across subjects 1 10. baseline constraint selected value changed range 7 10 subjects meet condition removed visualizations. Since subject #58 baseline value 5 assay x one subjects removed.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"data-point-brushing","dir":"Articles","previous_headings":"User Guide","what":"Data Point Brushing","title":"User Guide","text":"Selecting specific data points reveal Subject ID data available Box, Correlation Spaghetti Plot visualizations.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"log2---points-to-consider","dir":"Articles","previous_headings":"User Guide","what":"Log2 - Points to Consider","title":"User Guide","text":"biomarker/lab values already log2 transformed represent change value. excluded log2 transformation applied biomarkers/labs large. Biomarkers/labs value 0 log2 transformed taking log2 minimum non-zero value biomarker/lab, divided 2.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"right-hand-data-filter-panel","dir":"Articles","previous_headings":"User Guide","what":"Right Hand Data Filter Panel","title":"User Guide","text":"filters hierarchical used filter analysis variables. filter analysis variables please use filtering controls available left hand panel. Use right hand data panel filters filter categorical variables: AVISIT exclude/include specific visits visualizations. LOQFL exclude/include LOQ flagged values. SEX exclude/include specific gender. etc.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/articles/user-guide.html","id":"visualization-specifics","dir":"Articles","previous_headings":"User Guide","what":"Visualization Specifics","title":"User Guide","text":"Box Plot: Selecting STUDYID X-Axis variable produce visualization subjects combined identify study x-axis. Correlation Plot data constraint can placed Screening Baseline records associated analysis variable biomarker/lab selected x-axis . Limit Quantification (LOQFL) flag set either biomarker/lab values identified LOQ. brushing table column header reflects LOQFL_COMB. “Regression Line” option used conjunction “Treatment Faceting” option. Otherwise per treatment regression formula coefficient annotations overlay. Line Plot: error displayed related plot height ’s best first alter relative plot height left panel using slider. additional plot height control, use icons upper right corner visualization.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Nick Paszty. Author, maintainer. Dawid Kaledkowski. Author. Mahmoud Hallal. Author. Pawel Rucki. Author. Wenyi Liu. Author. Jeffrey Tomlinson. Author. Bali Toth. Author. Junlue Zhao. Author. Maciej Nasinski. Author. Maximilian Mordig. Contributor. F. Hoffmann-La Roche AG. Copyright holder, funder.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Paszty N, Kaledkowski D, Hallal M, Rucki P, Liu W, Tomlinson J, Toth B, Zhao J, Nasinski M (2023). teal.goshawk: Longitudinal Visualization 'teal' Modules. R package version 0.1.15.","code":"@Manual{, title = {teal.goshawk: Longitudinal Visualization `teal` Modules}, author = {Nick Paszty and Dawid Kaledkowski and Mahmoud Hallal and Pawel Rucki and Wenyi Liu and Jeffrey Tomlinson and Bali Toth and Junlue Zhao and Maciej Nasinski}, year = {2023}, note = {R package version 0.1.15}, }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/index.html","id":"tealgoshawk","dir":"","previous_headings":"","what":"Longitudinal Visualization `teal` Modules","title":"Longitudinal Visualization `teal` Modules","text":"teal.goshawk package provides teal modules longitudinal visualization functions goshawk R package. enables teal app developers easily create applications explore longitudinal clinical trial data.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/index.html","id":"modules","dir":"","previous_headings":"","what":"Modules","title":"Longitudinal Visualization `teal` Modules","text":"tm_g_gh_boxplot tm_g_gh_correlationplot tm_g_gh_density_distribution_plot tm_g_gh_lineplot tm_g_gh_spaghettiplot","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Longitudinal Visualization `teal` Modules","text":"July 2023 insightsengineering packages available r-universe.","code":"# stable versions install.packages('teal.goshawk', repos = c('https://insightsengineering.r-universe.dev', 'https://cloud.r-project.org')) # beta versions install.packages('teal.goshawk', repos = c('https://pharmaverse.r-universe.dev', 'https://cloud.r-project.org'))"},{"path":[]},{"path":[]},{"path":[]},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/pull_request_template.html","id":null,"dir":"","previous_headings":"","what":"Pull Request","title":"Pull Request","text":"Fixes #nnn","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/include_css_files.html","id":null,"dir":"Reference","previous_headings":"","what":"Include CSS files from /inst/css/ package directory to application header — include_css_files","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"system.file used access files packages, work devtools. Therefore, redefine method package needed. Thus, export method.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/include_css_files.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"","code":"include_css_files(pattern = \"*\")"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/include_css_files.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"pattern (character) pattern files included","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/include_css_files.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Include CSS files from /inst/css/ package directory to application header — include_css_files","text":"HTML code includes CSS files","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/maptrt.html","id":null,"dir":"Reference","previous_headings":"","what":"helper for writing arm mapping and ordering code. — maptrt","title":"helper for writing arm mapping and ordering code. — maptrt","text":"Provides lines code left hand side arm mapping. user must provide right hand side","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/maptrt.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"helper for writing arm mapping and ordering code. — maptrt","text":"","code":"maptrt(df_armvar, code = c(\"M\", \"O\"))"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/maptrt.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"helper for writing arm mapping and ordering code. — maptrt","text":"df_armvar dataframe column name containing treatment code. e.g. ADSL$ARMCD code controls whether mapping ordering code written console. Valid values: \"M\" \"O\".","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/maptrt.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"helper for writing arm mapping and ordering code. — maptrt","text":"SPA configure study specific pre-processing deploying goshawk. writing code ARM mapping ordering tedious. function helps get started providing left hand side mapping ordering syntax. call function copy paste resulting code console app.R file.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/maptrt.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"helper for writing arm mapping and ordering code. — maptrt","text":"","code":"ADSL <- goshawk::rADSL # get treatment mapping code maptrt(df_armvar = ADSL$ARMCD, code = \"M\") #> #> \"ARM A\" = \"\", #> \"ARM C\" = \"\", #> \"ARM B\" = \"\", # get treatment ordering code maptrt(df_armvar = ADSL$ARMCD, code = \"O\") #> #> ARMCD == \"ARM A\" ~ , #> ARMCD == \"ARM C\" ~ , #> ARMCD == \"ARM B\" ~ ,"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/srv_arbitrary_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"Server module to arbitrary lines — srv_arbitrary_lines","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"Server validate transform comma separated values vectors values passed goshawk functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/srv_arbitrary_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"","code":"srv_arbitrary_lines(id)"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/srv_arbitrary_lines.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"id ID string corresponds ID used call module's UI function.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/srv_arbitrary_lines.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Server module to arbitrary lines — srv_arbitrary_lines","text":"(reactive) returning list containing line_arb, line_arb_color, line_arb_label validated passed goshawk plot functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/teal_goshawk.html","id":null,"dir":"Reference","previous_headings":"","what":"teal.goshawk core packages — teal_goshawk","title":"teal.goshawk core packages — teal_goshawk","text":"teal.goshawk package renders UI calls respective biomarker visualization functions.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/teal_goshawk.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"teal.goshawk core packages — teal_goshawk","text":"data used teal.goshawk constraints. must contain columns AVISITCD, BASE, BASE2, AVALU, LBSTRESC, LOQFL, CHG2, PCHG2.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Box Plot — tm_g_gh_boxplot","title":"Box Plot — tm_g_gh_boxplot","text":"teal module renders UI calls functions create box plot accompanying summary table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Box Plot — tm_g_gh_boxplot","text":"","code":"tm_g_gh_boxplot( label, dataname, param_var, param, yaxis_var = teal.transform::choices_selected(c(\"AVAL\", \"CHG\"), \"AVAL\"), xaxis_var = teal.transform::choices_selected(\"AVISITCD\", \"AVISITCD\"), facet_var = teal.transform::choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = NULL, loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, plot_height = c(600, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(2, 1, 12), alpha = c(0.8, 0, 1), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Box Plot — tm_g_gh_boxplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ALB. param_var name variable containing biomarker codes e.g. PARAMCD. param list biomarkers interest. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. provided, defaults choices_selected(c(\"AVAL\", \"CHG\"), \"AVAL\"). xaxis_var variable categorize x-axis. provided, defaults choices_selected(\"AVISITCD\", \"AVISITCD\"). facet_var variable facet plots . provided, defaults choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"). trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. loq_legend loq legend toggle. rotate_xlab 45 degree rotation x-axis values. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear legend. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. alpha numeric vector define transparency plotted points. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Box Plot — tm_g_gh_boxplot","text":"module object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Box Plot — tm_g_gh_boxplot","text":"Jeff Tomlinson (tomlinsj) jeffrey.tomlinson@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_boxplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Box Plot — tm_g_gh_boxplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) library(nestcolor) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 50, ANRHI = 75 ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ALB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \" set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 50, ANRHI = 75) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup() attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']] attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ALB_LOQS, by = 'PARAM')\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = FALSE # to shorten the example check = FALSE, in real scenarios use check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_boxplot( label = \"Box Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\"), \"AVAL\"), xaxis_var = choices_selected(c(\"ACTARM\", \"ARM\", \"AVISITCD\", \"STUDYID\"), \"ARM\"), facet_var = choices_selected(c(\"ACTARM\", \"ARM\", \"AVISITCD\", \"SEX\"), \"AVISITCD\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = c(60, 55), hline_arb_color = c(\"grey\", \"red\"), hline_arb_label = c(\"default_hori_A\", \"default_hori_B\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"pink\", \"brown\", \"purple\", \"black\"), ) ) ) #> [INFO] 2023-08-14 13:51:57.9683 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_boxplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_correlationplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"Scatter Plot Teal Module Biomarker Analysis","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_correlationplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"","code":"tm_g_gh_correlationplot( label, dataname, param_var = \"PARAMCD\", xaxis_param = \"ALT\", xaxis_var = \"BASE\", yaxis_param = \"CRP\", yaxis_var = \"AVAL\", trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = 2, visit_facet = TRUE, trt_facet = FALSE, reg_line = FALSE, loq_legend = TRUE, rotate_xlab = FALSE, hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, vline_arb = numeric(0), vline_arb_color = \"red\", vline_arb_label = \"Vertical line\", vline_vars = character(0), vline_vars_colors = \"green\", vline_vars_labels = vline_vars, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_correlationplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. xaxis_param biomarker selected x-axis. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. yaxis_param biomarker selected y-axis. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. visit_facet visit facet toggle. trt_facet facet treatment group trt_group. reg_line include regression line annotations slope coefficient visualization. Use facet TRUE. loq_legend loq legend toggle. rotate_xlab 45 degree rotation x-axis values. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear vline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. vline_arb_color character vector length vline_arb. naming color arbitrary horizontal lines. vline_arb_label character vector length vline_arb. naming label arbitrary horizontal lines. vline_vars character vector name columns define additional vertical lines. vline_vars_colors character vector naming colors additional vertical lines. vline_vars_labels character vector naming labels additional vertical lines appear plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. reg_text_size font size control regression line annotations. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_correlationplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_correlationplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_correlationplot","text":"","code":"# Example using ADaM structure analysis dataset. # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) color_manual <- c(\"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\") # assign LOQ flag symbols: circles for \"N\" and triangles for \"Y\", squares for \"NA\" shape_manual <- c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste( \"W\", trimws( substr( AVISIT, start = 6, stop = stringr::str_locate(AVISIT, \"DAY\") - 1 ) ) ), TRUE ~ NA_character_ )) %>% dplyr::mutate(AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ NA_real_ )) %>% # use ARMCD values to order treatment in visualization legend dplyr::mutate(TRTORD = ifelse(grepl(\"C\", ARMCD), 1, ifelse(grepl(\"B\", ARMCD), 2, ifelse(grepl(\"A\", ARMCD), 3, NA) ) )) %>% dplyr::mutate(ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))])) %>% dplyr::mutate(ARM = factor(ARM) %>% reorder(TRTORD)) %>% dplyr::mutate( ANRHI = dplyr::case_when( PARAMCD == \"ALT\" ~ 60, PARAMCD == \"CRP\" ~ 70, PARAMCD == \"IGA\" ~ 80, TRUE ~ NA_real_ ), ANRLO = dplyr::case_when( PARAMCD == \"ALT\" ~ 20, PARAMCD == \"CRP\" ~ 30, PARAMCD == \"IGA\" ~ 40, TRUE ~ NA_real_ ) ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" # add LLOQ and ULOQ variables ADLB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ADLB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste( 'W', trimws( substr( AVISIT, start = 6, stop = stringr::str_locate(AVISIT, 'DAY') - 1 ) ) ), TRUE ~ NA_character_)) %>% dplyr::mutate(AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ NA_real_)) %>% # use ARMCD values to order treatment in visualization legend dplyr::mutate(TRTORD = ifelse(grepl('C', ARMCD), 1, ifelse(grepl('B', ARMCD), 2, ifelse(grepl('A', ARMCD), 3, NA)))) %>% dplyr::mutate(ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))])) %>% dplyr::mutate(ARM = factor(ARM) %>% reorder(TRTORD)) %>% dplyr::mutate( ANRHI = dplyr::case_when( PARAMCD == 'ALT' ~ 60, PARAMCD == 'CRP' ~ 70, PARAMCD == 'IGA' ~ 80, TRUE ~ NA_real_ ), ANRLO = dplyr::case_when( PARAMCD == 'ALT' ~ 20, PARAMCD == 'CRP' ~ 30, PARAMCD == 'IGA' ~ 40, TRUE ~ NA_real_ )) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse( USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup() attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' # add LLOQ and ULOQ variables ADLB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ADLB_LOQS, by = 'PARAM')\", vars = list(arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_correlationplot( label = \"Correlation Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", xaxis_param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), yaxis_param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"CRP\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"BASE\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"Drug X 100mg\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination 100mg\" = \"#E74C3C\" ), shape_manual = c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0), plot_height = c(500, 200, 2000), facet_ncol = 2, visit_facet = TRUE, reg_line = FALSE, loq_legend = TRUE, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), hline_arb = c(40, 50), hline_arb_label = \"arb hori label\", hline_arb_color = c(\"red\", \"blue\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"green\", \"blue\", \"purple\", \"cyan\"), hline_vars_label = c(\"ANRHI Label\", \"ANRLO Label\", \"ULOQN Label\", \"LLOQN Label\"), vline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), vline_vars_colors = c(\"yellow\", \"orange\", \"brown\", \"gold\"), vline_vars_labels = c(\"ANRHI Label\", \"ANRLO Label\", \"ULOQN Label\", \"LLOQN Label\"), vline_arb = c(50, 70), vline_arb_label = \"arb vert A\", vline_arb_color = c(\"green\", \"orange\") ) ) ) #> [INFO] 2023-08-14 13:52:00.5965 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_correlationplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Density Distribution Plot — tm_g_gh_density_distribution_plot","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"teal module renders UI calls functions create density distribution plot accompanying summary table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"","code":"tm_g_gh_density_distribution_plot( label, dataname, param_var, param, xaxis_var, trt_group, color_manual = NULL, color_comb = NULL, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), line_size = c(1, 0.25, 3), hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", facet_ncol = 2L, comb_line = TRUE, rotate_xlab = FALSE, pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. color_comb name hex value combined treatment color. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. line_size plot line thickness. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. facet_ncol numeric value indicating number facets per row. comb_line display combined treatment line toggle. rotate_xlab 45 degree rotation x-axis values. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"None","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_density_distribution_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Density Distribution Plot — tm_g_gh_density_distribution_plot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_density_distribution_plot( label = \"Density Distribution Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\" ), color_comb = \"#39ff14\", comb_line = TRUE, plot_height = c(500, 200, 2000), font_size = c(12, 8, 20), line_size = c(1, .25, 3), hline_arb = c(.02, .05), hline_arb_color = c(\"red\", \"black\"), hline_arb_label = c(\"Horizontal Line A\", \"Horizontal Line B\") ) ) ) #> [INFO] 2023-08-14 13:52:02.0473 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_density_distribution_plot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Line plot — tm_g_gh_lineplot","title":"Line plot — tm_g_gh_lineplot","text":"teal module renders UI calls function creates line plot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Line plot — tm_g_gh_lineplot","text":"","code":"tm_g_gh_lineplot( label, dataname, param_var, param, param_var_label = \"PARAM\", xaxis_var, yaxis_var, xvar_level = NULL, filter_var = yaxis_var, filter_var_choices = filter_var, trt_group, trt_group_level = NULL, shape_choices = NULL, stat = \"mean\", hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", color_manual = c(getOption(\"ggplot2.discrete.colour\"), c(\"#ff0000\", \"#008000\", \"#4ca3dd\", \"#8a2be2\"))[1:4], xtick = ggplot2::waiver(), xlabel = xtick, rotate_xlab = FALSE, plot_height = c(600, 200, 4000), plot_width = NULL, plot_font_size = c(12, 8, 20), dodge = c(0.4, 0, 1), pre_output = NULL, post_output = NULL, count_threshold = 0, table_font_size = c(12, 4, 20), plot_relative_height_value = 1000 )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Line plot — tm_g_gh_lineplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. param_var_label single name variable analysis data includes parameter labels. xaxis_var single name variable analysis data used x-axis plot respective goshawk function. yaxis_var single name variable analysis data used summary variable respective goshawk function. xvar_level vector can used define factor level xvar. use xvar character factor. filter_var data constraint variable. filter_var_choices data constraint variable choices. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. trt_group_level vector can used define factor level trt_group. shape_choices Vector choices_selected object names ADSL variables can used change shape stat string statistics hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. color_manual string vector representing customized colors xtick numeric vector define tick values x-axis x variable numeric. Default value waive(). xlabel vector length xtick define label x-axis tick values. Default value waive(). rotate_xlab logical(1) value indicating whether rotate x-axis labels. plot_height controls plot height. plot_width optional, controls plot width. plot_font_size control font size title, x-axis, y-axis legend font. dodge controls position dodge error bar pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful. count_threshold minimum count observations (listed output table) plot nodes graph table_font_size controls font size values table plot_relative_height_value numeric value 500 5000 controlling starting value relative plot height slider","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Line plot — tm_g_gh_lineplot","text":"shiny object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Line plot — tm_g_gh_lineplot","text":"Wenyi Liu (luiw2) wenyi.liu@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_lineplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Line plot — tm_g_gh_lineplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) library(stringr) library(nestcolor) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset(\"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_lineplot( label = \"Line Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), shape_choices = c(\"SEX\", \"RACE\"), xaxis_var = choices_selected(\"AVISITCD\", \"AVISITCD\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), hline_arb = c(20.5, 19.5), hline_arb_color = c(\"red\", \"green\"), hline_arb_label = c(\"A\", \"B\") ) ) ) #> [INFO] 2023-08-14 13:52:03.4233 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_lineplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_scatterplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"tm_g_gh_scatterplot deprecated. Please use tm_g_gh_correlationplot instead.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_scatterplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"","code":"tm_g_gh_scatterplot( label, dataname, param_var, param, xaxis_var, yaxis_var, trt_group, color_manual = NULL, shape_manual = NULL, facet_ncol = 2, trt_facet = FALSE, reg_line = FALSE, rotate_xlab = FALSE, hline = NULL, vline = NULL, plot_height = c(500, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10), pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_scatterplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. xaxis_var name variable containing biomarker results displayed x-axis e.g. BASE. yaxis_var name variable containing biomarker results displayed y-axis e.g. AVAL. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. color_manual vector colors applied treatment values. shape_manual vector symbols applied LOQ values. facet_ncol numeric value indicating number facets per row. trt_facet facet treatment group trt_group. reg_line include regression line annotations slope coefficient visualization. Use facet TRUE. rotate_xlab 45 degree rotation x-axis values. hline y-axis value position horizontal line. vline x-axis value position vertical line. plot_height controls plot height. plot_width optional, controls plot width. font_size font size control title, x-axis label, y-axis label legend. dot_size plot dot size. reg_text_size font size control regression line annotations. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_scatterplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"Nick Paszty (npaszty) paszty.nicholas@gene.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_scatterplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Scatter Plot Teal Module For Biomarker Analysis — tm_g_gh_scatterplot","text":"","code":"# Example using ADaM structure analysis dataset. # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% stats::reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% stats::reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% stats::reorder(TRTORD) ) attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] app <- teal::init( data = teal.data::cdisc_data( adsl <- teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD)) attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']]\", vars = list(ADSL = adsl, arm_mapping = arm_mapping) ), check = TRUE ), modules = teal::modules( teal.goshawk::tm_g_gh_scatterplot( label = \"Scatter Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), xaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"BASE\"), yaxis_var = choices_selected(c(\"AVAL\", \"BASE\", \"CHG\", \"PCHG\"), \"AVAL\"), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_manual = c( \"150mg QD\" = \"#000000\", \"Placebo\" = \"#3498DB\", \"Combination\" = \"#E74C3C\" ), shape_manual = c(\"N\" = 1, \"Y\" = 2, \"NA\" = 0), plot_height = c(500, 200, 2000), facet_ncol = 2, trt_facet = FALSE, reg_line = FALSE, font_size = c(12, 8, 20), dot_size = c(1, 1, 12), reg_text_size = c(3, 3, 10) ) ) ) #> Warning: `tm_g_gh_scatterplot()` was deprecated in teal.goshawk 0.1.15. #> ℹ You should use teal.goshawk::tm_g_gh_correlationplot instead of #> teal.goshawk::tm_g_gh_scatterplot #> [INFO] 2023-08-14 13:52:04.4837 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_scatterplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":null,"dir":"Reference","previous_headings":"","what":"Spaghetti Plot — tm_g_gh_spaghettiplot","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"teal module renders UI calls function creates spaghetti plot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"","code":"tm_g_gh_spaghettiplot( label, dataname, param_var, param, param_var_label = \"PARAM\", idvar, xaxis_var, yaxis_var, xaxis_var_level = NULL, filter_var = yaxis_var, trt_group, trt_group_level = NULL, group_stats = \"NONE\", man_color = NULL, color_comb = NULL, xtick = ggplot2::waiver(), xlabel = xtick, rotate_xlab = FALSE, facet_ncol = 2, free_x = FALSE, plot_height = c(600, 200, 2000), plot_width = NULL, font_size = c(12, 8, 20), hline_arb = numeric(0), hline_arb_color = \"red\", hline_arb_label = \"Horizontal line\", hline_vars = character(0), hline_vars_colors = \"green\", hline_vars_labels = hline_vars, pre_output = NULL, post_output = NULL )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"label menu item label module teal app. dataname analysis data passed data argument init. E.g. ADaM structured laboratory data frame ADLB. param_var name variable containing biomarker codes e.g. PARAMCD. param biomarker selected. param_var_label single name variable analysis data includes parameter labels. idvar name unique subject id variable. xaxis_var single name variable analysis data used x-axis plot respective goshawk function. yaxis_var single name variable analysis data used summary variable respective goshawk function. xaxis_var_level vector can used define factor level xaxis_var. use xaxis_var character factor. filter_var data constraint variable. trt_group choices_selected object available choices pre-selected option variable names representing treatment group e.g. ARM. trt_group_level vector can used define factor level trt_group. group_stats control group mean median overlay. man_color string vector representing customized colors color_comb name hex value combined treatment color. xtick numeric vector define tick values x-axis x variable numeric. Default value waive(). xlabel vector length xtick define label x-axis tick values. Default value waive(). rotate_xlab logical(1) value indicating whether rotate x-axis labels facet_ncol numeric value indicating number facets per row. free_x logical(1) scales \"fixed\" (FALSE) \"free\" (TRUE) x-axis facet_wrap scales parameter. plot_height controls plot height. plot_width optional, controls plot width. font_size control font size title, x-axis, y-axis legend font. hline_arb numeric vector 2 values identifying intercepts arbitrary horizontal lines. hline_arb_color character vector length hline_arb. naming color arbitrary horizontal lines. hline_arb_label character vector length hline_arb. naming label arbitrary horizontal lines. hline_vars character vector name columns define additional horizontal lines. hline_vars_colors character vector naming colors additional horizontal lines. hline_vars_labels character vector naming labels additional horizontal lines appear legend. pre_output (shiny.tag, optional) text placed output put output context. example title. post_output (shiny.tag, optional) text placed output put output context. example shiny::helpText() elements useful.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"shiny object","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":"author","dir":"Reference","previous_headings":"","what":"Author","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"Wenyi Liu (luiw2) wenyi.liu@roche.com Balazs Toth (tothb2) toth.balazs@gene.com","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/tm_g_gh_spaghettiplot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Spaghetti Plot — tm_g_gh_spaghettiplot","text":"","code":"# Example using ADaM structure analysis dataset. library(dplyr) # original ARM value = dose value arm_mapping <- list( \"A: Drug X\" = \"150mg QD\", \"B: Placebo\" = \"Placebo\", \"C: Combination\" = \"Combination\" ) set.seed(1) ADSL <- goshawk::rADSL ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate( AVISITCD = dplyr::case_when( AVISIT == \"SCREENING\" ~ \"SCR\", AVISIT == \"BASELINE\" ~ \"BL\", grepl(\"WEEK\", AVISIT) ~ paste(\"W\", stringr::str_extract(AVISIT, \"(?<=(WEEK ))[0-9]+\")), TRUE ~ as.character(NA) ), AVISITCDN = dplyr::case_when( AVISITCD == \"SCR\" ~ -2, AVISITCD == \"BL\" ~ 0, grepl(\"W\", AVISITCD) ~ as.numeric(gsub(\"[^0-9]*\", \"\", AVISITCD)), TRUE ~ as.numeric(NA) ), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == \"ARM C\" ~ 1, ARMCD == \"ARM B\" ~ 2, ARMCD == \"ARM A\" ~ 3 ), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 30, ANRHI = 75 ) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\"<\", round(runif(1, min = 25, max = 30))), LBSTRESC )) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste(\">\", round(runif(1, min = 70, max = 75))), LBSTRESC )) %>% ungroup() attr(ADLB[[\"ARM\"]], \"label\") <- var_labels[[\"ARM\"]] attr(ADLB[[\"ACTARM\"]], \"label\") <- var_labels[[\"ACTARM\"]] attr(ADLB[[\"ANRLO\"]], \"label\") <- \"Analysis Normal Range Lower Limit\" attr(ADLB[[\"ANRHI\"]], \"label\") <- \"Analysis Normal Range Upper Limit\" # add LLOQ and ULOQ variables ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- dplyr::left_join(ADLB, ALB_LOQS, by = \"PARAM\") app <- teal::init( data = teal.data::cdisc_data( teal.data::cdisc_dataset(\"ADSL\", ADSL, code = \"ADSL <- goshawk::rADSL\"), teal.data::cdisc_dataset( \"ADLB\", ADLB, code = \"set.seed(1) ADLB <- goshawk::rADLB var_labels <- lapply(ADLB, function(x) attributes(x)$label) ADLB <- ADLB %>% dplyr::mutate(AVISITCD = dplyr::case_when( AVISIT == 'SCREENING' ~ 'SCR', AVISIT == 'BASELINE' ~ 'BL', grepl('WEEK', AVISIT) ~ paste('W', stringr::str_extract(AVISIT, '(?<=(WEEK ))[0-9]+')), TRUE ~ as.character(NA)), AVISITCDN = dplyr::case_when( AVISITCD == 'SCR' ~ -2, AVISITCD == 'BL' ~ 0, grepl('W', AVISITCD) ~ as.numeric(gsub('[^0-9]*', '', AVISITCD)), TRUE ~ as.numeric(NA)), AVISITCD = factor(AVISITCD) %>% reorder(AVISITCDN), TRTORD = dplyr::case_when( ARMCD == 'ARM C' ~ 1, ARMCD == 'ARM B' ~ 2, ARMCD == 'ARM A' ~ 3), ARM = as.character(arm_mapping[match(ARM, names(arm_mapping))]), ARM = factor(ARM) %>% reorder(TRTORD), ACTARM = as.character(arm_mapping[match(ACTARM, names(arm_mapping))]), ACTARM = factor(ACTARM) %>% reorder(TRTORD), ANRLO = 30, ANRHI = 75) %>% dplyr::rowwise() %>% dplyr::group_by(PARAMCD) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste('<', round(runif(1, min = 25, max = 30))), LBSTRESC)) %>% dplyr::mutate(LBSTRESC = ifelse(USUBJID %in% sample(USUBJID, 1, replace = TRUE), paste( '>', round(runif(1, min = 70, max = 75))), LBSTRESC)) %>% ungroup attr(ADLB[['ARM']], 'label') <- var_labels[['ARM']] attr(ADLB[['ACTARM']], 'label') <- var_labels[['ACTARM']] attr(ADLB[['ANRLO']], 'label') <- 'Analysis Normal Range Lower Limit' attr(ADLB[['ANRHI']], 'label') <- 'Analysis Normal Range Upper Limit' ALB_LOQS <- goshawk:::h_identify_loq_values(ADLB) ADLB <- left_join(ADLB, ALB_LOQS, by = 'PARAM')\", vars = list(arm_mapping = arm_mapping) ), check = FALSE ), modules = teal::modules( teal.goshawk::tm_g_gh_spaghettiplot( label = \"Spaghetti Plot\", dataname = \"ADLB\", param_var = \"PARAMCD\", param = choices_selected(c(\"ALT\", \"CRP\", \"IGA\"), \"ALT\"), idvar = \"USUBJID\", xaxis_var = choices_selected(c(\"Analysis Visit Code\" = \"AVISITCD\"), \"AVISITCD\"), yaxis_var = choices_selected(c(\"AVAL\", \"CHG\", \"PCHG\"), \"AVAL\"), filter_var = choices_selected( c(\"None\" = \"NONE\", \"Screening\" = \"BASE2\", \"Baseline\" = \"BASE\"), \"NONE\" ), trt_group = choices_selected(c(\"ARM\", \"ACTARM\"), \"ARM\"), color_comb = \"#39ff14\", man_color = c( \"Combination\" = \"#000000\", \"Placebo\" = \"#fce300\", \"150mg QD\" = \"#5a2f5f\" ), hline_arb = c(60, 50), hline_arb_color = c(\"grey\", \"red\"), hline_arb_label = c(\"default A\", \"default B\"), hline_vars = c(\"ANRHI\", \"ANRLO\", \"ULOQN\", \"LLOQN\"), hline_vars_colors = c(\"pink\", \"brown\", \"purple\", \"black\"), ) ) ) #> [INFO] 2023-08-14 13:52:05.5119 pid:1122 token:[] teal.goshawk Initializing tm_g_gh_spaghettiplot if (interactive()) { shinyApp(app$ui, app$server) }"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":null,"dir":"Reference","previous_headings":"","what":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"useful slider shown, sometimes hard configure sliders, one can toggle one two numeric input fields set slider instead. normal sliders (single number range) dichotomous sliders (range within slider range) supported. former case, toggle button show one numeric input field, latter case two.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"","code":"toggle_slider_ui( id, label, min, max, value, slider_initially = TRUE, step_slider = NULL, step_numeric = step_slider, width = NULL, ... )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"id character module id label label label input field, e.g. slider numeric inputs min numeric integer minimum value max numeric integer maximum value value numeric integer either length 1 normal slider length 2 dichotomous slider. slider_initially logical whether show slider numeric fields initially step_slider numeric integer step slider step_numeric numeric integer step numeric input fields width numeric width slider numeric field ... additional parameters pass sliderInput","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"Shiny HTML UI","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"Value checked within minmax range","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/toggle_slider_ui.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"UI with a toggleable slider to change between slider and numeric input fields — toggle_slider_ui","text":"","code":"value <- c(20.3, 81.5) # dichotomous slider # value <- c(50.1) # normal slider app <- shinyApp( ui = div( teal.goshawk:::toggle_slider_ui( \"toggle_slider\", \"Select value\", min = 0.2, max = 100.1, value = value, slider_initially = FALSE, step_slider = 0.1, step_numeric = 0.001 ), verbatimTextOutput(\"value\") ), server = function(input, output, session) { is_dichotomous_slider <- (length(value) == 2) range_value <- toggle_slider_server(\"toggle_slider\", is_dichotomous_slider = is_dichotomous_slider ) messages <- reactiveVal() # to keep history observeEvent(range_value$state(), { list_with_names_str <- function(x) paste(names(x), x, sep = \": \", collapse = \", \") messages(c(messages(), list_with_names_str(range_value$state()))) }) output$value <- renderText({ paste(messages(), collapse = \"\\n\") }) # for stress-testing example, update slider settings # bug with invalidateLater not working inside `observeEvent` # observe({ # invalidateLater(1000, session) # a <- sample(0:100, 1) # for range # b <- sample(0:100, 1) # isolate(do.call( # range_value$update_state, # list( # value = sort(sample(0:100, if (is_dichotomous_slider) 2 else 1)), # min = min(a, b), max = max(a, b), # step = sample(1:20, 1) / 10 # )[sample(1:4, sample(4, 1))] # select up to four fields from the list # )) # }) } ) shinyApp(app$ui, app$server) %>% invisible()"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/ui_arbitrary_lines.html","id":null,"dir":"Reference","previous_headings":"","what":"UI module to arbitrary lines — ui_arbitrary_lines","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"UI module input either horizontal vertical lines plot via comma separated values","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/ui_arbitrary_lines.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"","code":"ui_arbitrary_lines( id, line_arb, line_arb_label, line_arb_color, title = \"Arbitrary Horizontal Lines:\" )"},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/ui_arbitrary_lines.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"id (character(1)) defining namespace shiny module. line_arb (numeric) default values textInput defining values arbitrary lines line_arb_label (character) default values textInput defining labels arbitrary lines line_arb_color (character) default values textInput defining colors arbitrary lines title (character(1)) title arbitrary lines input. default \"Arbitrary Horizontal Lines\".","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/reference/ui_arbitrary_lines.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"UI module to arbitrary lines — ui_arbitrary_lines","text":"(shiny.tag) input define values, colors labels arbitrary straight lines.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-15","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.15","text":"Updated encodings input checks use shinyvalidate::InputValidator instead shiny::validate better UI experience. Added tooltip value input ui_arbitrary_lines explain supply multiple values.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"breaking-changes-0-1-15","dir":"Changelog","previous_headings":"","what":"Breaking changes","title":"teal.goshawk 0.1.15","text":"Constraints range calculated filtered data instead unfiltered. Replaced chunks simpler qenv class. Replaced datasets argument containing FilteredData new arguments data (tdata object) filter_panel_api (FilterPanelAPI).","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-15","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.15","text":"Deprecated tm_g_gh_scatterplot. Use tm_g_gh_correlationplot instead. Removed scda package dependency examples.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-14","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.14","text":"Added teal.reporter reporting package modules. Added optional argument plot_relative_height_value tm_g_gh_lineplot control initial value relative plot height slider. Implemented nestcolor slight refactoring tm_g_gh_lineplot added nestcolor examples custom color manuals.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-14","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.14","text":"Fixed minor type coercion warning srv_arbitrary_lines. Updated modules use datasets suffix _FILTERED package works breaking changes teal.slice.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-13","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.13","text":"Added template pkgdown site. Updated package authors.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"breaking-changes-0-1-12","dir":"Changelog","previous_headings":"","what":"Breaking Changes","title":"teal.goshawk 0.1.12","text":"Converted hline parameter tm_g_gh_lineplot three parameters: hline_arb, hline_arb_color hline_arb_label.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-12","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.12","text":"Added basic logging modules. Rewrote modules use moduleServer updated calls teal.devel modules also written use moduleServer. Replaced calls teal::root_modules teal::modules following deprecation teal::root_modules. Adjusted package imports take account changes teal framework.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-11","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.11","text":"Added UI input component add additional arbitrary horizontal lines tm_g_gh_spaghettiplot, tm_g_gh_boxplot, tm_g_gh_density_distribution_plot well two additional UI input components add additional horizontal additional vertical line tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"bug-fixes-0-1-11","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"teal.goshawk 0.1.11","text":"Fixed error tm_g_gh_boxplot facet variable selected.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-11","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.11","text":"Updated R version requirement R >= 3.6. Removed dependency test.nest package. Removed dependency utils.nest package replaced functions equivalents checkmate package.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"new-features-0-1-10","dir":"Changelog","previous_headings":"","what":"New Features","title":"teal.goshawk 0.1.10","text":"Lab normal range LOQs horizontal line feature tm_g_gh_spaghettiplot, tm_g_gh_boxplot tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"breaking-changes-0-1-10","dir":"Changelog","previous_headings":"","what":"Breaking Changes","title":"teal.goshawk 0.1.10","text":"hline replaced hline_arb, hline_arb_color hline_arb_label modules. vline replaced vline_arb_var, vline_arb_color vline_arb_label tm_g_gh_correlationplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"bug-fixes-0-1-10","dir":"Changelog","previous_headings":"","what":"Bug Fixes","title":"teal.goshawk 0.1.10","text":"Fixed bug tm_g_gh_boxplot module always used AVISITCD variable Visit Column table.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-10","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.10","text":"Updated LICENCE README new package references. Updated examples documentation using scda synthetic data instead random.cdisc.data. Added error_on_lint: TRUE .lintr. Replaced tidyr’s gather spread pivot_wider pivot_longer package.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-9","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.9","text":"Updated tm_g_gh_correlationplot tm_g_gh_scatterplot encodings checkbox facet treatment variable instead drop menu. Updated starting line type solid instead dashed tm_g_gh_lineplot.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-8","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.8","text":"Updated plot remove x-axis label x-axis numeric data corresponding y-axis variable. Added slider control relative size plot tables. Replaced function brushedPoints clean_brushedPoints tm_g_gh_boxplot, tm_g_gh_correlationplot, tm_g_gh_scatterplot tm_g_gh_spaghettiplot.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"bug-fixes-0-1-8","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"teal.goshawk 0.1.8","text":"Fixed infinite reactive loop inside toggle_slider_server.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-8","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.8","text":"Renamed toggle.R file toggleable.R file consistent accepted correct spelling word.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-7","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.7","text":"Added table display summary statistics.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"bug-fixes-0-1-7","dir":"Changelog","previous_headings":"","what":"Bug fixes","title":"teal.goshawk 0.1.7","text":"Fixed displaying number messages, warnings errors Debug Info button. Fixed treatment variable values symbols (e.g. ‘:’). Allow treatment variables different arm levels.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"miscellaneous-0-1-7","dir":"Changelog","previous_headings":"","what":"Miscellaneous","title":"teal.goshawk 0.1.7","text":"Reduced minimum number records required dataset either 1 2 modules.","code":""},{"path":[]},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"enhancements-0-1-6","dir":"Changelog","previous_headings":"","what":"Enhancements","title":"teal.goshawk 0.1.6","text":"Changed slider title “Transparency” “Alpha”. Added facet_var argument UI drop . Rug plot option added. Argument changes: font_size –> plot_font_size. Line symbol type can now configured. especially useful line splitting used. Can set minimum records threshold rendering data point plot. Table font size can now controlled. Added facet_var argument UI drop . Changed slider title “Transparency” “Alpha”.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"general-0-1-6","dir":"Changelog","previous_headings":"","what":"General","title":"teal.goshawk 0.1.6","text":"Moved code argument cdisc_dataset (cdisc_data) examples. Implemented new plot_with_settings functionality modules support plot resizing, zooming, downloading functionality. Added drop selector treatment ARM.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"tealgoshawk-015","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.5","title":"teal.goshawk 0.1.5","text":"templ_ui_params_vars now uses optionalSelectInput teal. shape_choices argument tm_g_gh_lineplot can either character vector choices_selected.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"tealgoshawk-014","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.4","title":"teal.goshawk 0.1.4","text":"bug fix correlation plot module related axis ranges reflect changes data filter panel re-factoring modification correlation module pass data data driven LLOQ ULOQ footnote","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"tealgoshawk-013","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.3","title":"teal.goshawk 0.1.3","text":"Added .data PARAMCD new functions related sliders reactivity. Fixing doc small fixes. Added toggleable slider modules. Added data driven data constraints UI rendering.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"tealgoshawk-012","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.2","title":"teal.goshawk 0.1.2","text":"Box: Toggle LoQ legend /. Correlation: Toggle LoQ legend /, toggle visit facetting /. Density: Toggle combined treatment line /. Modified line-plot vertical axis range match parameter value CI range.","code":""},{"path":"https://insightsengineering.github.io/teal.goshawk/latest-tag/v0.1.15/news/index.html","id":"tealgoshawk-011","dir":"Changelog","previous_headings":"","what":"teal.goshawk 0.1.1","title":"teal.goshawk 0.1.1","text":"First release.","code":""}] diff --git a/main/404.html b/main/404.html index d8a33ac6..2661504a 100644 --- a/main/404.html +++ b/main/404.html @@ -50,6 +50,15 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +