View source: R/convert_to_omv.R
convert_to_omv | R Documentation |
Convert data files (CSV, R, other statistics packages) into .omv-files for the statistical spreadsheet 'jamovi' (https://www.jamovi.org)
convert_to_omv(
fleInp = "",
fleOut = "",
varSrt = c(),
usePkg = c("foreign", "haven"),
selSet = "",
...
)
fleInp |
Name (including the path, if required) of the data file to be read ("FILENAME.ext"; default: ""); supports CSV and R-files natively, or other file types if "foreign" or "haven" are installed, see Details below |
fleOut |
Name (including the path, if required) of the data file to be written ("FILENAME.omv"; default: ""); if empty, the extension of fleInp is replaced with ".omv" |
varSrt |
Variable(s) that are used to sort the data frame (see Details; if empty, the row order of the input file is kept; default: c()) |
usePkg |
Name of the package: "foreign" or "haven" that shall be used to read SPSS, Stata and SAS files; "foreign" is the default (it comes with base R), but "haven" is newer and more comprehensive |
selSet |
Name of the data set that is to be selected from the workspace (only applies when reading .RData-files) |
... |
Additional arguments passed on to methods; see Details below |
In difference to the remaining helper functions, convert_to_omv
doesn't accept a data frame as input and it neither does return a data frame if fleOut
is left empty: If you want to write a data frame, use write_omv
. If you want to have a data frame returned use read_omv
for jamovi-files or any of the
functions listed in the bullet point below for any other file type.
varSrt
can be either a character or a character vector (with one or more variables respectively). The sorting order for a particular variable can be
inverted with preceding the variable name with "-". Please note that this doesn't make sense and hence throws a warning for certain variable types (e.g.,
factors).
The ellipsis-parameter (...
) can be used to submit arguments / parameters to the functions that are used for reading and writing the data. By clicking
on the respective function under “See also”, you can get a more detailed overview over which parameters each of those functions take. The functions are:
read_omv
and write_omv
(for jamovi-files), read.table
(for CSV / TSV files; using similar defaults as read.csv
for CSV and read.delim
for TSV
which both are based upon read.table
), load
(for .RData-files), readRDS
(for .rds-files), read_sav
(needs the R-package haven
) or read.spss
(needs the R-package foreign
) for SPSS-files, read_dta
(haven
) / read.dta
(foreign
) for Stata-files, read_sas
(haven
) for SAS-data-files,
and read_xpt
(haven
) / read.xport
(foreign
) for SAS-transport-files. If you would like to use haven
, you may need to install it using
install.packages("haven", dep = TRUE)
.
the function doesn't have a return value (it returns NULL)
convert_to_omv
internally uses the following functions for reading and writing data files in different formats: read_omv()
and
write_omv()
for jamovi-files, utils::read.table()
for CSV / TSV files, load()
for reading .RData-files, readRDS()
for .rds-files,
haven::read_sav()
or foreign::read.spss()
for SPSS-files, haven::read_dta()
or foreign::read.dta()
for Stata-files, haven::read_sas()
for
SAS-data-files, and haven::read_xpt()
or foreign::read.xport()
for SAS-transport-files.
## Not run:
# Example 1: Convert from RDS
# (use ToothGrowth as example, save it as RDS)
nmeInp <- tempfile(fileext = ".rds")
nmeOut <- tempfile(fileext = ".omv")
saveRDS(jmvReadWrite::ToothGrowth, nmeInp)
jmvReadWrite::convert_to_omv(fleInp = nmeInp, fleOut = nmeOut)
cat(list.files(dirname(nmeOut), basename(nmeOut)))
# -> "file[...].omv" ([...] contains a random combination of numbers / characters
cat(file.info(nmeOut)$size)
# -> 2448 (size may differ on different OSes)
cat(str(jmvReadWrite::read_omv(nmeOut, sveAtt = FALSE)))
# gives a overview of the dataframe (all columns and some attributes,
# sveAtt is intentionally set to FALSE to make the output not too overwhelming)
unlink(nmeInp)
unlink(nmeOut)
# Example 2: Convert from CSV
# (use ToothGrowth again as example, this time save it as CSV)
nmeInp <- tempfile(fileext = ".csv")
nmeOut <- tempfile(fileext = ".omv")
write.csv(jmvReadWrite::ToothGrowth, nmeInp)
jmvReadWrite::convert_to_omv(fleInp = nmeInp, fleOut = nmeOut)
cat(list.files(dirname(nmeOut), basename(nmeOut)))
cat(file.info(nmeOut)$size)
# -> 2104 (size may differ acc. to OS; the size is smaller than for the RDS-file
# because CSV can store fewer attributes, e.g., labels)
cat(str(jmvReadWrite::read_omv(nmeOut, sveAtt = FALSE)))
# gives a overview of the dataframe (all columns and some attributes)
unlink(nmeInp)
unlink(nmeOut)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.