--- title: "zipR vignette" author: "Leslie Huang" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{zipR vignette} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ## Introducing zipR: zip() for R zip() is an incredibly handy built-in function in Python. Unlike many other great Python features/structures (such as iterators, generators, and dictionaries), zip() is relatively easy to implement in R. Here is a brief introduction to `zipR`. This is a work in progress! For bugs and features, please open an issue on GitHub. ### Loading the library ```{r echo=FALSE} library(zipR) ``` ### Dummy data Some sequences of different lengths, in order to test the different options available in `zipr`. ```{r echo=TRUE} a <- c(1,2,3) b <- c(4,5,6) c <- c(1,2,3,4,5,6) d <- c(7,8) z <- c(9) filler <- c(NA) ``` ### zip two vectors of the same length ```{r} zipR::zipr(a,b) ``` ### zip two vectors of different lengths, repeating the shorter vector `broadcast = TRUE` repeats elements of the shorter vector so that it is the same length as the longer vector ```{r} zipr(a, z, broadcast = TRUE) zipr(a, c, broadcast = TRUE) ``` ### zip two vectors of different lengths, using the default fill value `fill = TRUE` without a `fillvalue` specified fills in the shorter vector with `NA` ```{r} zipr(z, a, fill = TRUE) ``` ### zip two vectors of different lengths, using a custom fill value ```{r} zipr(c,a, fill = TRUE, fillvalue = z) zipr(c,z, fill = TRUE, fillvalue = d) ```