Welcome to ClientVPS Mirrors

zipR vignette

zipR vignette

Leslie Huang

2019-03-03

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

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

Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.

This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.