NEWS
DataScienceExercises 0.0.1
DataScienceExercises 0.0.0.9039
Exercises
ProjectOrga: the exercise on here::i_am() rejected the correct answer, and
no answer could have passed it. The code is executed in a temporary directory
without a project root, so i_am() aborted with "Could not find associated
project" before the check even ran, and the check itself searched for the path
in single quotes, which neither the sample solution nor any student writes.
The exercise now creates the directory structure it describes, so the code
runs, and the check accepts both quoting styles and reports a missing
library(here) and the wrong order separately.
ObjectTypes2: the two exercises on extracting a column from a tibble also
searched for the column name in double quotes only, so the correct
tib_1['vec_2'] was rejected as referring to the wrong column. Both checks
now accept either quoting style and ignore spacing. In the exercise on [[,
the guard against the single-bracket form tested for tib_1[2 instead of
tib_1[1, so tib_1[1] fell through to a fail() without any message.
Documentation and tests
- The README explains how to update the package. It previously said that the
installation is only needed once per computer, although corrections to the
exercises only arrive with a new installation.
- New test: a check that searches the student code for a literal must accept
the code in its own
-solution chunk. This is the bug above, and it was
invisible until a student ran into it.
- The test of the exercise-name suggestion in
run_exercise() is skipped when
the package is not installed. It reads the list of exercises through
learnr::available_tutorials(), which does not see a source tree, so the
test failed under devtools::test() while passing under devtools::check().
DataScienceExercises 0.0.0.9038
Installation
- The package is now distributed via r-universe, so it can be installed with
install.packages() and no longer requires the remotes package or a
GitHub account. See the README for the new installation instructions.
- All packages used by the exercises are now declared in
DESCRIPTION.
Previously seven of them (ggplot2, data.table, tidyr, here,
moderndive, purrr, scales) were missing, which meant that eight of the
exercises interrupted students with an install prompt on first start.
Everything is now installed together with the package.
- Removed the dependency on
moderndive, which pulled in 14 further packages.
WDI is only needed to rebuild the data sets and moved to Suggests.
- The minimum required R version is now stated correctly as 4.3.
New features
run_exercise() starts an exercise, e.g. run_exercise("Basics"). It fills
in the package name, opens the exercise in a browser, ignores capitalisation
and suggests the closest name if you mistype it.
list_exercises() lists all available exercises.
check_setup() reports your R version and whether all required packages are
installed - useful when something does not work.
regression_table() summarises a linear model in a concise table with
confidence intervals. It replaces moderndive::get_regression_table().
Exercises
- All exercises now use the native pipe
|> instead of %>%.
LinearRegression2: the section on parallel slopes and interaction models now
builds on gdplifexp2007, the data set already used earlier in the same
tutorial, instead of moderndive::evals. The regression lines are drawn from
the fitted values of the model via predict() and geom_line() rather than
with moderndive::geom_parallel_slopes(), which makes visible why the slopes
are parallel. The difference between the two models is now also much clearer:
the effect of GDP per capita on life expectancy differs by a factor of about
five between Africa and Europe.
Functions: the sample solution of the exercise on defining a variance
function did not pass its own check, because it defined the function without
applying it. Fixed, and the check now explains the problem.
Wrangling1: the check of the filtering exercise contained a misplaced
parenthesis, so its explanatory message was never shown. Fixed.
ObjectTypes1, Basics, Functions: converted to the current grade_this()
interface.
- Fixed several typos, among them "Regresssion" in two exercise titles.
Data
Growth, product_complexity and unemp_pop are now documented.
- Corrected the documented dimensions of
gdplifexp2007, aggGDPlifexp,
nycflights21_small, wine2dine and EUFstudentsemesters, and documented
the previously missing columns of aggGDPlifexp and econjournals.