The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The Rparadox package provides tools to read data from Paradox
database files (.db
) directly into R. This vignette will
walk you through the basic and advanced usage of the package.
You can install the development version from GitHub:
read_paradox()
The simplest way to read a Paradox file is with the
read_paradox()
wrapper function. It handles the entire
workflow of opening the file, reading the data, and closing the
connection for you.
# Get the path to an example database included with the package
db_path <- system.file("extdata", "biolife.db", package = "Rparadox")
# Read the data in a single step
biolife_data <- read_paradox(db_path)
# Display the first few rows of the resulting tibble
head(biolife_data)
#> # A tibble: 6 × 8
#> `Species No` Category Common_Name `Species Name` `Length (cm)` Length_In Notes
#> <dbl> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 90020 Trigger… Clown Trig… Ballistoides … 50 19.7 "Als…
#> 2 90030 Snapper Red Emperor Lutjanus sebae 60 23.6 "Cal…
#> 3 90050 Wrasse Giant Maor… Cheilinus und… 229 90.2 "Thi…
#> 4 90070 Angelfi… Blue Angel… Pomacanthus n… 30 11.8 "Hab…
#> 5 90080 Cod Lunartail … Variola louti 80 31.5 "Als…
#> 6 90090 Scorpio… Firefish Pterois volit… 38 15.0 "Als…
#> # ℹ 1 more variable: Graphic <blob>
For legacy files with incorrect encoding information in the header,
you can specify the correct encoding manually with the
encoding
argument.
# Example for a file known to be in the CP866 encoding
my_data <- read_paradox("path/to/your/file.db", encoding = "cp866")
This ensures that text is correctly converted to UTF-8.
If you need more control, for instance, to check a file’s metadata before committing to reading a large dataset, you can use the lower-level functions.
The workflow is: 1. pxlib_open_file()
to get a file
handle. 2. pxlib_metadata()
to inspect metadata (optional).
3. pxlib_get_data()
to read the data. 4.
pxlib_close_file()
to release the connection.
# This chunk uses the db_path defined in the previous chunk
# Open the file handle
pxdoc <- pxlib_open_file(db_path)
if (!is.null(pxdoc)) {
# Get and print metadata
metadata <- pxlib_metadata(pxdoc)
print(metadata$fields)
# Read the full dataset
data_from_handle <- pxlib_get_data(pxdoc)
# IMPORTANT: Always close the file handle
pxlib_close_file(pxdoc)
}
#> name type size
#> 1 Species No 6 8
#> 2 Category 1 15
#> 3 Common_Name 1 30
#> 4 Species Name 1 40
#> 5 Length (cm) 6 8
#> 6 Length_In 6 8
#> 7 Notes 12 60
#> 8 Graphic 16 10
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.