This library does one thing, and one thing only: implementing Python-style* zip() for R.
install.packages("zipR")
* without the functionality of iterators or tuples.
Some sequences of different lengths, in order to test the different
options available in zipr
.
<- c(1,2,3)
a <- c(4,5,6)
b <- c(1,2,3,4,5,6)
c <- c(7,8)
d <- c(9)
z <- c(NA) filler
::zipr(a,b)
zipR#> x y
#> 1 1 4
#> 2 2 5
#> 3 3 6
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
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
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.