Pythonic Zip() for R

Implements Python-style zip for R. Is a more flexible version of cbind.


Travis-CI Build Status AppVeyor Build Status

This library does one thing, and one thing only: implementing Python-style* zip() for R.

To install

install.packages("zipR")

* without the functionality of iterators or tuples.

Quick demo

Dummy data

Some sequences of different lengths, in order to test the different options available in zipr.

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

zipR::zipr(a,b)
#>   x y
#> 1 1 4
#> 2 2 5
#> 3 3 6

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

zipr(a, z, broadcast = TRUE)
#>   x y
#> 1 1 9
#> 2 2 9
#> 3 3 9
 
zipr(a, c, broadcast = TRUE)
#>   x y
#> 1 1 1
#> 2 2 2
#> 3 3 3
#> 4 1 4
#> 5 2 5
#> 6 3 6

zip two vectors of different lengths, using the default fill value

fill = TRUE without a fillvalue specified fills in the shorter vector with NA

zipr(z, a, fill = TRUE)
#>    x y
#> 1  9 1
#> 2 NA 2
#> 3 NA 3

zip two vectors of different lengths, using a custom fill value

zipr(c,a, fill = TRUE, fillvalue = z)
#>   x y
#> 1 1 1
#> 2 2 2
#> 3 3 3
#> 4 4 9
#> 5 5 9
#> 6 6 9
 
zipr(c,z, fill = TRUE, fillvalue = d)
#>   x y
#> 1 1 9
#> 2 2 7
#> 3 3 8
#> 4 4 7
#> 5 5 8
#> 6 6 7

The demo for zipR is also available here.

News

zipR 0.1.0

This is the first CRAN release of the zipR package. The vignette/Readme have been updated to conform with CRAN standards.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("zipR")

0.1.1 by Leslie Huang, 3 months ago


https://github.com/leslie-huang/zipR


Report a bug at https://github.com/leslie-huang/zipR/issues


Browse source code at https://github.com/cran/zipR


Authors: Leslie Huang [aut, cre]


Documentation:   PDF Manual  


GPL-3 license


Suggests knitr, rmarkdown, devtools


See at CRAN