Kaggle / Kaggle/docker-rcran

Proposal for updating the R container

Open
#78 2 comments 0 reactions 1 assignee Claimed by @calderjo View on GitHub
enhancement
Dominant language
Shell
Stars
21
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Hello there, I'm interested in helping update the R container,
after spending some time working on the build errors I have written a patch,
but I want to discuss the changes before opening a PR because they are significant:

- Upgrade R to 4.4
the latest R available on Kaggle is 3 years old now, it's about time we get an update ;)

- Drop mxnet
as of 2023-09, the project has been [retired](https://attic.apache.org/projects/mxnet.html).

- Remove packages: rgdal, rgeos
these packages have been [removed from CRAN](https://cran.r-project.org/web/packages/rgdal/index.html):
`Archived on 2023-10-16 at the request of the maintainer. Consider using 'sf' or 'terra' instead.`

- Install the latest versions of the packages: randomForest, terra, ranger, imager
the version of these packages is fixed on `package_installs.R`,
the comments imply there is context for these ( internal bug tracker ?), but it's not clear why or if they are still needed.

- Use [pak](https://pak.r-lib.org/index.html) to install packages
The build is currently failling here:

```R
r$> utils:::.make_dependency_list(pkgs, allPackages, recursive = TRUE)
Error in tools:::.extract_dependency_package_names(x) :
non-character argument

r$> traceback()
4: tools:::.extract_dependency_package_names(x)
3: unique.default(tools:::.extract_dependency_package_names(x))
2: .clean_up_dependencies(info2[i, ])
1: utils:::.make_dependency_list(pkgs, allPackages, recursive = TRUE)
```

`package_installs.R` uses `utils:::.make_dependency_list`,
this is an internal function and is prone to changing its behavior without warning,
which is what I think happened here.

pak can do parallel downloads and parallel installation of packages, [among other features](https://pak.r-lib.org/reference/features.html).

I think that by using pak most of the `package_installs.R` code becomes redundant, and the script can be simplified significantly.

of course, none of these are required but it is what I think would be better, let me know what you think.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.