Section author: Sebastian Jentschke

Write files to be used with jamovi (write_omv)


Write files to be used with the statistical spreadsheet jamovi.


  dtaFrm = NULL,
  fleNme = "",
  retDbg = FALSE)


dtaFrm Data frame to be exported (default = NULL)
fleNme Name / position of the output file to be generated (“FILENAME.omv”; default = “”)
retDbg Whether to return a list with debugging information (see Value; default: FALSE)


jamovi has a specific measurement level / type “ID” (in addition to the “standard” ones “Nominal”, “Ordinal”, and “Continuous”). “ID” is used for columns that contain some form of ID (e.g., a participant code). In order to set a variable of your data frame to “ID”, you have to manually set an attribute ‘jmv-id’ (e.g., ‘attr(dtaFrm$column, “jmv-id”) = TRUE’).


A results object (list; only if retDbg is TRUE), containing the meta data (mtaDta, metadata.json in the OMV-file), the extended data (xtdDta, xdata.json in the OMV-file) and the original data frame (dtaFrm).



# use the data set "ToothGrowth" and, if it exists, write it as jamovi-file using write_omv()
fleOMV <- paste0(tempfile(), ".omv");
# typically, one would use a "real" file name instead of tempfile(), e.g., "Data1.omv"
dtaDbg = write_omv(ToothGrowth, fleOMV, retDbg = TRUE);
# the print-function is only used to force devtools::run_examples() to show output -> "mtaDta" "xtdDta" "dtaFrm"
# returns a list with the metadata (mtaDta, e.g., column and data type), the extended data (xtdDta, e.g., variable
# lables), and the data frame (dtaFrm)
# the purpose of these variables is merely for checking (understanding the file format) and debugging

# check whether the file was written to the disk, get the file information (size, etc.) and delete the file afterwards
print(list.files(dirname(fleOMV), basename(fleOMV)));
# -> "file[...].omv" ([...] contains a random combination of numbers / characters
# -> 2199 (size may differ on different OSes)