The grumpy R package provides a way to read NumPy’s .npy files into R. It supports a wide range of data types and array shapes.
As a file format generated by a Python package, .npy files are prime candidates for using the reticulate package to read them into R. However, this comes with downsides in terms of performance, flexibility, and robustness of the R package infrastructure. grumpy, on the other hand, is a pure R package with no dependency and is performant, flexible. Overall, it is designed to be used deep in the dependency graph of other packages.
For more details on the motivation and design principles underpinning grumpy, see the dedicated vignette: vignette("design", package = "grumpy").
Installation
You can install the released version of grumpy with:
install.packages("grumpy")and the development version like so:
# install.packages("pak")
pak::pak("Bisaloo/grumpy")Example
library(grumpy)
read_npy(system.file("extdata", "test_2d.npy", package = "grumpy"))
#> [,1] [,2] [,3] [,4]
#> [1,] 0 3 6 9
#> [2,] 1 4 7 10
#> [3,] 2 5 8 11