--- title: "df2yaml" author: "Yabing Song" date: "`r Sys.Date()`" output: prettydoc::html_pretty vignette: > %\VignetteIndexEntry{Introduction to df2yaml} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", dpi=60 ) ``` # Getting started `df2yaml` is an R package distributed as part of the [CRAN](https://cran.r-project.org/). To install the package, start R and enter: ```{r install, eval=FALSE} # install via CRAN install.package("df2yaml") # install via Github # install.package("remotes") #In case you have not installed it. remotes::install_github("showteeth/df2yaml") ``` In general, it is **recommended** to install from [Github repository](https://github.com/showteeth/df2yaml) (update more timely). Once `df2yaml` is installed, it can be loaded by the following command. ```{r library, message=FALSE, warning=FALSE} library(df2yaml) ``` ------------- # Introduction [![CRAN_RELEASE](https://www.r-pkg.org/badges/version/df2yaml?color=orange)](https://cran.r-project.org/package=df2yaml) [![CODE_SIZE](https://img.shields.io/github/languages/code-size/showteeth/df2yaml.svg)](https://github.com/showteeth/df2yaml) [![devel_version](https://img.shields.io/badge/devel%20version-0.3.0-blue.svg)](https://github.com/showteeth/df2yaml) The goal of `df2yaml` is simplify the process of converting dataframe to YAML. The dataframe with multiple key columns and one value column (this column can also contain key-value pair(s)) will be converted to multi-level hierarchy. ------------- # Usage Load the test data, this test data contains **two key columns** (`paras` and `subcmd`) and **one value column**, the value column also contains **key and value pair(s) separated by ":"**. ```{r level_3_load} # library library(df2yaml) # load test file test_file <- system.file("extdata", "df2yaml_l3.txt", package = "df2yaml") test_data = read.table(file = test_file, header = T, sep = "\t") head(test_data) # output yaml string yaml_res = df2yaml(df = test_data, key_col = c("paras", "subcmd"), val_col = "values") cat(yaml_res) ``` Convert above dataframe to YAML: ```{r level_3_convert} yaml_res = df2yaml(df = test_data, key_col = c("paras", "subcmd"), val_col = "values") cat(yaml_res) ``` There is no limit to the number of key columns used to convert. ------------- # Session info ```{r session} sessionInfo() ```