Checks if object and expected have the same groups.
If the groups differ
tbl_check_groups()returns a list describing the problemtbl_grade_groups()returns a failing grade and informative message withgradethis::fail()
Usage
tbl_check_groups(object = .result, expected = .solution, env = parent.frame())
tbl_grade_groups(
object = .result,
expected = .solution,
max_diffs = 3,
env = parent.frame(),
...
)Arguments
- object
An object to be compared to
expected.- expected
An object containing the expected result.
- env
The environment in which to find
.resultand.solution.- max_diffs
[numeric(1)]
The maximum number of missing and/or unexpected names to include in an informative failure message. Defaults to 3.- ...
Arguments passed on to
gradethis::failhintInclude a code feedback hint with the failing message? This argument only applies to
fail()andfail_if_equal()and the message is added using the default options ofgive_code_feedback()andmaybe_code_feedback(). The default value ofhintcan be set usinggradethis_setup()or thegradethis.fail.hintoption.encourageInclude a random encouraging phrase with
random_encouragement()? The default value ofencouragecan be set usinggradethis_setup()or thegradethis.fail.encourageoption.
Value
If there are any issues, a list from tbl_check_groups() or a
gradethis::fail() message from tbl_grade_groups().
Otherwise, invisibly returns NULL.
Problems
groups: The object has groups that are not expected, or is missing groups that are expected.
Examples
.result <- dplyr::group_by(tibble::tibble(a = 1:10, b = 11:20), a)
.solution <- dplyr::group_by(tibble::tibble(a = 1:10, b = 11:20), b)
tbl_check_groups()
#> <tblcheck problem>
#> Your table should be grouped by `b`. Your table should not be grouped by `a`.
#> $ type : chr "groups"
#> $ missing : chr "b"
#> $ unexpected: chr "a"
#> $ location : chr "table"
tbl_grade_groups()
#> <gradethis_graded: [Incorrect]
#> Your table should be grouped by `b`. Your table should not be
#> grouped by `a`.
#> >
