You can install 'lplyr' from GitHub with:
# install.packages("devtools")
devtools::install_github("paulponcet/lplyr")
The package 'lplyr' extends some dplyr verbs to lists and pairlists:
library(lplyr)
xs <- list(x1 = 1:3,
x2 = 2:5,
x3 = list("alpha", c("beta", "gamma")))
mutate(xs, x4 = 4)
rename(xs, x0 = x1)
Usual verbs made for standard evaluation work as well:
mutate_(xs, x4 = ~ 4)
rename_(xs, x0 = ~ x1)
The mutate_which
and transmute_which
functions are made for adding new variables or modifying existing ones on a subset of the data.
df <- mtcars[1:10,]
mutate_which(df, gear==4, carb = 100)
transmute_which(df, gear==4, carb = 100)
There is also a standard evaluation version of these functions,
called mutate_which_
and transmute_which_
:
mutate_which_(df, ~ gear==4, carb = ~ 100)
transmute_which_(df, ~ gear==4, carb = ~ 100)
The function pull
selects a column in a data frame
and transforms it into a vector.
This is useful to use it in combination with
magrittr's pipe operator and dplyr's verbs.
mtcars[["mpg"]]
mtcars %>% pull(mpg)
# more convenient than (mtcars %>% filter(mpg > 20))[[3L]]
mtcars %>%
filter(mpg > 20) %>%
pull(3)