Skip to content

{teal} module returns a teal_report object that extends from teal_data #884

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 44 commits into
base: main
Choose a base branch
from

Conversation

averissimo
Copy link
Contributor

@averissimo averissimo commented Jun 3, 2025

@averissimo averissimo marked this pull request as ready for review June 5, 2025 13:11
Copy link
Contributor

github-actions bot commented Jun 5, 2025

badge

Code Coverage Summary

Filename                      Stmts    Miss  Cover    Missing
--------------------------  -------  ------  -------  --------------------------------------
R/tm_a_pca.R                    876     876  0.00%    141-1146
R/tm_a_regression.R             765     765  0.00%    180-1044
R/tm_data_table.R               201     201  0.00%    100-349
R/tm_file_viewer.R              172     172  0.00%    47-254
R/tm_front_page.R               144     133  7.64%    77-247
R/tm_g_association.R            327     327  0.00%    161-557
R/tm_g_bivariate.R              686     422  38.48%   332-811, 852, 963, 980, 998, 1009-1031
R/tm_g_distribution.R          1100    1100  0.00%    158-1400
R/tm_g_response.R               355     355  0.00%    179-609
R/tm_g_scatterplot.R            720     720  0.00%    261-1081
R/tm_g_scatterplotmatrix.R      283     264  6.71%    200-516, 577, 591
R/tm_missing_data.R            1095    1095  0.00%    126-1402
R/tm_outliers.R                1022    1022  0.00%    165-1337
R/tm_t_crosstable.R             269     269  0.00%    177-491
R/tm_variable_browser.R         803     798  0.62%    89-1044, 1082-1265
R/utils.R                       142     126  11.27%   87-272, 301-327, 339-348, 353, 367-386
R/zzz.R                           2       2  0.00%    2-3
TOTAL                          8962    8647  3.51%

Diff against main

Filename                      Stmts    Miss  Cover
--------------------------  -------  ------  --------
R/tm_a_pca.R                    -13     -13  +100.00%
R/tm_a_regression.R              -8      -8  +100.00%
R/tm_g_association.R            -17     -17  +100.00%
R/tm_g_bivariate.R              -12     -12  +0.66%
R/tm_g_distribution.R           -17     -17  +100.00%
R/tm_g_response.R               -14     -14  +100.00%
R/tm_g_scatterplot.R            -14     -14  +100.00%
R/tm_g_scatterplotmatrix.R      -14     -14  +0.32%
R/tm_missing_data.R             -24     -24  +100.00%
R/tm_outliers.R                 -23     -23  +100.00%
R/tm_t_crosstable.R             -16     -16  +100.00%
R/utils.R                        -9      -9  +0.67%
TOTAL                          -181    -181  +0.07%

Results for commit: 7c2dc13

Minimum allowed coverage is 80%

♻️ This comment has been updated with latest results

Copy link
Contributor

github-actions bot commented Jun 5, 2025

Unit Tests Summary

  1 files  22 suites   2s ⏱️
144 tests 29 ✅ 115 💤 0 ❌
182 runs  67 ✅ 115 💤 0 ❌

Results for commit 7c2dc13.

♻️ This comment has been updated with latest results.

m7pr and others added 2 commits June 6, 2025 14:26
Companion to
insightsengineering/teal.reporter#334
Consequence of changing naming convention for `teal_report` object.

---------

Co-authored-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
averissimo added a commit to insightsengineering/teal.code that referenced this pull request Jun 12, 2025
…l_data` (#255)

# Pull Request

Fixes:

- insightsengineering/teal#1526

Built on top of:

- insightsengineering/teal.reporter#307
    - _(#307 will be closed once this PR is stable)_

### Companion PRs:

- insightsengineering/teal#1541
- #255
- insightsengineering/teal.data#370
- insightsengineering/teal.reporter#331
- insightsengineering/teal.modules.general#884

### Changes description

- [x] Add new parameter `cache`
- Caches the result of the last evaluation in the respective `@code`
slot
    - [ ] Decide on name
- [x] Remove signature with multiple arguments to allow overriding
`eval_code` in other packages without showing a note

``` r
pkgload::load_all("teal.code")
#> ℹ Loading teal.code

q <- qenv() |> 
  eval_code(1 + 1, cache = TRUE) |> 
  eval_code(mtcars <- head(mtcars))

attr(q@code[[1]], "cache")
#> [1] 2
```

<sup>Created on 2025-06-03 with [reprex
v2.1.1](https://reprex.tidyverse.org)</sup>

---------

Co-authored-by: Dawid Kaledkowski <dawid.kaledkowski@gmail.com>
Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
averissimo added a commit to insightsengineering/teal.data that referenced this pull request Jun 12, 2025
…l_data` (#370)

# Pull Request

Fixes:

- insightsengineering/teal#1526

Built on top of:

- insightsengineering/teal.reporter#307
    - _(#307 will be closed once this PR is stable)_

### Companion PRs:

- insightsengineering/teal#1541
- insightsengineering/teal.code#255
- #370
- insightsengineering/teal.reporter#331
- insightsengineering/teal.modules.general#884

### Changes description

- [x] Cleanup of `teal_data` class to allow for `teal_report` extension
- [x] Change the `show()` method to remove reference to `teal_data`
specifically

---------

Co-authored-by: Dawid Kaledkowski <dawid.kaledkowski@gmail.com>
Co-authored-by: Marcin <133694481+m7pr@users.noreply.github.com>
averissimo and others added 2 commits June 17, 2025 14:42
# Pull Request

- Changes from `teal_reportable` branch at `{ŧeal.report}`
- Remove old logic that was defusing the argument
Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com>
Signed-off-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
averissimo and others added 2 commits July 7, 2025 15:06
Signed-off-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
@averissimo averissimo self-assigned this Jul 7, 2025
Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com>
@m7pr
Copy link
Contributor

m7pr commented Jul 8, 2025

@@ -982,7 +989,7 @@ srv_a_regression <- function(id,

output_q <- reactive({
teal::validate_inputs(iv_r())
switch(input$plot_type,
obj <- switch(input$plot_type,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Result will be the switch, why use obj?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, instead of

      obj <- switch(input$plot_type,
        "Response vs Regressor" = output_plot_0(),
        "Residuals vs Fitted" = output_plot_1(),
        "Normal Q-Q" = output_plot_2(),
        "Scale-Location" = output_plot_3(),
        "Cook's distance" = output_plot_4(),
        "Residuals vs Leverage" = output_plot_5(),
        "Cook's dist vs Leverage" = output_plot_6()
      )
      obj

we can go with

      switch(input$plot_type,
        "Response vs Regressor" = output_plot_0(),
        "Residuals vs Fitted" = output_plot_1(),
        "Normal Q-Q" = output_plot_2(),
        "Scale-Location" = output_plot_3(),
        "Cook's distance" = output_plot_4(),
        "Residuals vs Leverage" = output_plot_5(),
        "Cook's dist vs Leverage" = output_plot_6()
      )

)

fitted <- reactive({
req(output_q())
req(decorated_output_q())
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️ good catch on both of these

teal.reporter::teal_card(obj),
teal.reporter::teal_card("## Module's code")
)
teal.code::eval_code(obj, 'library("ggplot2");library("dplyr");library("tidyr")') # nolint: quotes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think about this change?

If you like it, I can find and replace all of these.

Suggested change
teal.code::eval_code(obj, 'library("ggplot2");library("dplyr");library("tidyr")') # nolint: quotes.
teal.code::eval_code(obj, expression(library("ggplot2"), library("dplyr"), library("tidyr"))

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is done in other modules

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks

@@ -370,7 +371,7 @@ srv_g_scatterplotmatrix <- function(id,

# check character columns. If any, then those are converted to factors
check_char <- vapply(ANL[, cols_names], is.character, logical(1))
qenv <- teal.code::eval_code(qenv, 'library("dplyr")') # nolint quotes
qenv <- teal.code::eval_code(qenv, 'library("dplyr")') # nolint: quotes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Duplicate?

What is happening here so that the duplicate library call is present on Show R Code and not on reporter previewer?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was on main. I didn't actually verify if this is needed. I think we could remove as it's already called earlier in this module

grid::grid.newpage()
grid::grid.draw(combination_plot)
}
combination_plot
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TableGrob appears that is not supported by to_rmd in teal.reporter @m7pr @gogonzo do you think we should add it?

Screenshot from report.html

image

@@ -906,6 +909,7 @@ srv_outliers <- function(id, data, reporter, filter_panel_api, outlier_var,
# Cumulative distribution plot
cumulative_plot_q <- reactive({
qenv <- common_code_q()
teal.reporter::teal_card(qenv) <- c(teal.reporter::teal_card(qenv), "## Cumulative Distribution Plot")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code and plot and not together, consider naming this section "## Cumulative Distribution Plot Code" and the actual plot the "## Cumulative Distribution Plot"

Same to summary table and the table

That or fully separate the 2 sections so that the code and prints are sequential

image

m7pr and others added 2 commits July 11, 2025 14:35
Co-authored-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com>
Co-authored-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com>
m7pr and others added 3 commits July 11, 2025 15:01
Signed-off-by: Marcin <133694481+m7pr@users.noreply.github.com>
Signed-off-by: André Veríssimo <211358+averissimo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants