Maintaining an I/O infrastructure of R
A random person in Mannheim
2025-02-27
“First, you must import your data into R. This typically means that you take data stored in a file, database, or web application programming interface (API) and load it into a data frame in R. If you can’t get your data into R, you can’t do data science on it!”
Source: R for Data Science
Source: https://xkcd.com/2347/
rio
Data import and export
## data i/o, circa pre 2013
write.csv(iris, "iris.csv")
saveRDS(iris, "iris.rds")
save(iris, "iris.Rdata")
x <- read.csv("iris.csv")
x <- readRDS("iris.rds")
load("iris.Rdata")
## data i/o after rio
library(rio)
export(iris, "iris.csv")
export(iris, "iris.rds")
export(iris, "iris.Rdata")
x <- import("iris.csv")
x <- import("iris.rds")
x <- import("iris.Rdata")
rio
development, the human partrio
1.0.0readODS
readODS
issue 49 / 71readODS
issue 71odfpy
(Also Julia’s wrapper: OdsIO.jl
), JS SheetJS
“I’ll devote my 2023 to the project I tentatively called”Projekt 71”. The idea is simple: I want to have a way that can read the aforementioned “jts0501.ods” directly as an R data frame without memory issues; but yet pass at least 80% of the current unit tests of
readODS
. So, I am embarking on solving just one Github issue ofreadODS
. I will put other of my R packages into maintenance mode and focus only on this.”
readODS::read_ods()
in C++ (RapidXML)Reading speed: 5539 x 11
Writing speed: 3000 x 8
“Software, unlike papers or grants, is never done.”
“Ein guter Anfang braucht Begeisterung, ein gutes Ende Disziplin.”
das Motto des DFB für die WM 2014
rio
from 2015 to 2023)readODS
)read_ods
)rio
)rio
and leading the GESIS TSA Team)readr
)readODS
)rio
and readODS
contributors and usersA more complete version of this presentation
rio
in real worldrio
in real world 2rio
in real world 3readxl
- working on minty
readxl
(and other formats)https://chainsawriot.codeberg.page/karlsruhe_derse2025