Skip to content

Commit

Permalink
using lazyeval for mutate.
Browse files Browse the repository at this point in the history
  • Loading branch information
romainfrancois committed Sep 24, 2014
1 parent 7c9abed commit 42d0bde
Show file tree
Hide file tree
Showing 92 changed files with 165 additions and 153 deletions.
15 changes: 8 additions & 7 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Generated by roxygen2 (4.0.2): do not edit by hand
# Generated by roxygen2 (4.0.2.9000): do not edit by hand

S3method("[",grouped_df)
S3method("[",tbl_df)
Expand Down Expand Up @@ -146,12 +146,7 @@ S3method(left_join,data.frame)
S3method(left_join,data.table)
S3method(left_join,tbl_df)
S3method(left_join,tbl_sql)
S3method(mutate,data.frame)
S3method(mutate,data.table)
S3method(mutate,grouped_dt)
S3method(mutate,tbl_df)
S3method(mutate,tbl_dt)
S3method(mutate,tbl_sql)
S3method(mutate_,tbl_df)
S3method(n_groups,data.frame)
S3method(n_groups,grouped_df)
S3method(n_groups,grouped_dt)
Expand Down Expand Up @@ -371,6 +366,12 @@ export(location)
export(make_tbl)
export(min_rank)
export(mutate)
export(mutate.data.frame)
export(mutate.data.table)
export(mutate.grouped_dt)
export(mutate.tbl_dt)
export(mutate.tbl_sql)
export(mutate_)
export(mutate_each)
export(mutate_each_q)
export(n)
Expand Down
4 changes: 2 additions & 2 deletions R/RcppExports.R
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ slice_impl <- function(df, args, env) {
.Call('dplyr_slice_impl', PACKAGE = 'dplyr', df, args, env)
}

mutate_impl <- function(df, args, env) {
.Call('dplyr_mutate_impl', PACKAGE = 'dplyr', df, args, env)
mutate_impl <- function(df, dots) {
.Call('dplyr_mutate_impl', PACKAGE = 'dplyr', df, dots)
}

order_impl <- function(args, env) {
Expand Down
5 changes: 4 additions & 1 deletion R/manip-df.r
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ filter.tbl_df <- .data_dots(filter_impl)
slice.tbl_df <- .data_dots(slice_impl)

#' @export
mutate.tbl_df <- .data_dots(mutate_impl, named_dots)
mutate_.tbl_df <- function(.data, ..., .dots) {
dots <- lazyeval::all_dots(.dots, ..., env = parent.frame(), all_named = TRUE)
mutate_impl(.data, dots)
}

#' @export
summarise_.tbl_df <- function(.data, ..., .dots) {
Expand Down
10 changes: 9 additions & 1 deletion R/manip.r
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,15 @@ summarize_ <- summarise_
#' transmute(mtcars, displ_l = disp / 61.0237)
#'
#' mutate(mtcars, cyl = NULL)
mutate <- function(.data, ...) UseMethod("mutate")
mutate <- function(.data, ...) {
mutate_(.data, .dots = lazyeval::lazy_dots(...))
}

#' @export
#' @rdname mutate
mutate_ <- function(.data, ..., .dots) {
UseMethod("mutate_")
}

#' @rdname mutate
#' @export
Expand Down
7 changes: 3 additions & 4 deletions R/tbl-data-frame.R
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,9 @@ summarise_.data.frame <- function(.data, ..., .dots) {
as.data.frame(summarise_(tbl_df(.data), .dots = dots))
}
#' @export
mutate.data.frame <- function(.data, ...) {
tbl <- tbl_df(.data)
res <- mutate.tbl_df(tbl, ...)
as.data.frame(res)
mutate_.data.frame <- function(.data, ..., .dots) {
dots <- lazyeval::all_dots(.dots, ..., env = parent.frame(), all_named = TRUE)
as.data.frame(mutate_(tbl_df(.data), .dots = dots))
}
#' @export
arrange.data.frame <- function(.data, ...) {
Expand Down
2 changes: 1 addition & 1 deletion man/all.equal.tbl_df.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{all.equal.tbl_df}
\alias{all.equal.tbl_df}
\alias{all.equal.tbl_dt}
Expand Down
13 changes: 7 additions & 6 deletions man/arrange.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{arrange}
\alias{arrange}
\title{Arrange rows by variables.}
Expand Down Expand Up @@ -34,10 +34,11 @@ arrange(mtcars, desc(disp))
}
\seealso{
Other single.table.verbs: \code{\link{filter}};
\code{\link{mutate}}, \code{\link{transmute}};
\code{\link{rename}}, \code{\link{select}},
\code{\link{select_}}; \code{\link{slice}};
\code{\link{summarise}}, \code{\link{summarise_}},
\code{\link{summarize}}, \code{\link{summarize_}}
\code{\link{mutate}}, \code{\link{mutate_}},
\code{\link{transmute}}; \code{\link{rename}},
\code{\link{select}}, \code{\link{select_}};
\code{\link{slice}}; \code{\link{summarise}},
\code{\link{summarise_}}, \code{\link{summarize}},
\code{\link{summarize_}}
}

2 changes: 1 addition & 1 deletion man/as.tbl_cube.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{as.tbl_cube}
\alias{as.tbl_cube}
\alias{as.tbl_cube.array}
Expand Down
2 changes: 1 addition & 1 deletion man/backend_db.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{backend_db}
\alias{backend_db}
\alias{db_analyze}
Expand Down
2 changes: 1 addition & 1 deletion man/backend_sql.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{backend_sql}
\alias{backend_sql}
\alias{sql_escape_ident}
Expand Down
2 changes: 1 addition & 1 deletion man/backend_src.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{backend_src}
\alias{backend_src}
\alias{src_desc}
Expand Down
2 changes: 1 addition & 1 deletion man/bench_compare.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{bench_compare}
\alias{bench_compare}
\alias{bench_tbls}
Expand Down
2 changes: 1 addition & 1 deletion man/between.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{between}
\alias{between}
\title{Do values in a numeric vector fail in specified range?}
Expand Down
2 changes: 1 addition & 1 deletion man/build_sql.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{build_sql}
\alias{build_sql}
\title{Build a SQL string.}
Expand Down
2 changes: 1 addition & 1 deletion man/chain.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{chain}
\alias{\%.\%}
\alias{\%>\%}
Expand Down
2 changes: 1 addition & 1 deletion man/compute.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{compute}
\alias{collapse}
\alias{collect}
Expand Down
2 changes: 1 addition & 1 deletion man/copy_to.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{copy_to}
\alias{copy_to}
\title{Copy a local data frame to a remote src.}
Expand Down
2 changes: 1 addition & 1 deletion man/copy_to.src_sql.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{copy_to.src_sql}
\alias{copy_to.src_sql}
\title{Copy a local data fram to a sqlite src.}
Expand Down
2 changes: 1 addition & 1 deletion man/cumall.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{cumall}
\alias{cumall}
\alias{cumany}
Expand Down
2 changes: 1 addition & 1 deletion man/data_frame.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{data_frame}
\alias{data_frame}
\alias{data_frame_}
Expand Down
2 changes: 1 addition & 1 deletion man/desc.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{desc}
\alias{desc}
\title{Descending order.}
Expand Down
2 changes: 1 addition & 1 deletion man/distinct.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{distinct}
\alias{distinct}
\alias{distinct_}
Expand Down
2 changes: 1 addition & 1 deletion man/do.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{do}
\alias{do}
\alias{do.tbl_sql}
Expand Down
2 changes: 1 addition & 1 deletion man/dplyr-cluster.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{dplyr-cluster}
\alias{dplyr-cluster}
\alias{get_cluster}
Expand Down
2 changes: 1 addition & 1 deletion man/dplyr-formatting.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{print.tbl_df}
\alias{dim_desc}
\alias{dplyr-formatting}
Expand Down
2 changes: 1 addition & 1 deletion man/dplyr.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\docType{package}
\name{dplyr}
\alias{dplyr}
Expand Down
2 changes: 1 addition & 1 deletion man/explain.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{explain}
\alias{explain}
\alias{show_query}
Expand Down
2 changes: 1 addition & 1 deletion man/failwith.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{failwith}
\alias{failwith}
\title{Fail with specified value.}
Expand Down
13 changes: 7 additions & 6 deletions man/filter.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{filter}
\alias{filter}
\title{Return rows with matching conditions.}
Expand Down Expand Up @@ -26,10 +26,11 @@ filter(mtcars, cyl < 6)
}
\seealso{
Other single.table.verbs: \code{\link{arrange}};
\code{\link{mutate}}, \code{\link{transmute}};
\code{\link{rename}}, \code{\link{select}},
\code{\link{select_}}; \code{\link{slice}};
\code{\link{summarise}}, \code{\link{summarise_}},
\code{\link{summarize}}, \code{\link{summarize_}}
\code{\link{mutate}}, \code{\link{mutate_}},
\code{\link{transmute}}; \code{\link{rename}},
\code{\link{select}}, \code{\link{select_}};
\code{\link{slice}}; \code{\link{summarise}},
\code{\link{summarise_}}, \code{\link{summarize}},
\code{\link{summarize_}}
}

2 changes: 1 addition & 1 deletion man/funs.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{funs}
\alias{funs}
\alias{funs_q}
Expand Down
2 changes: 1 addition & 1 deletion man/glimpse.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{glimpse}
\alias{glimpse}
\title{Get a glimpse of your data.}
Expand Down
2 changes: 1 addition & 1 deletion man/group_by.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{group_by}
\alias{group_by}
\title{Group a tbl by one or more variables.}
Expand Down
2 changes: 1 addition & 1 deletion man/group_size.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{group_size}
\alias{group_size}
\alias{n_groups}
Expand Down
2 changes: 1 addition & 1 deletion man/grouped_df.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{grouped_df}
\alias{grouped_df}
\alias{is.grouped_df}
Expand Down
2 changes: 1 addition & 1 deletion man/grouped_dt.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{grouped_dt}
\alias{grouped_dt}
\alias{is.grouped_dt}
Expand Down
2 changes: 1 addition & 1 deletion man/groups.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{groups}
\alias{groups}
\alias{regroup}
Expand Down
2 changes: 1 addition & 1 deletion man/id.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{id}
\alias{id}
\title{Compute a unique numeric id for each unique row in a data frame.}
Expand Down
2 changes: 1 addition & 1 deletion man/join.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{join}
\alias{anti_join}
\alias{inner_join}
Expand Down
2 changes: 1 addition & 1 deletion man/join.tbl_df.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{join.tbl_df}
\alias{anti_join.tbl_df}
\alias{inner_join.tbl_df}
Expand Down
2 changes: 1 addition & 1 deletion man/join.tbl_dt.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{join.tbl_dt}
\alias{anti_join.data.table}
\alias{inner_join.data.table}
Expand Down
2 changes: 1 addition & 1 deletion man/join.tbl_sql.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{join.tbl_sql}
\alias{anti_join.tbl_sql}
\alias{inner_join.tbl_sql}
Expand Down
2 changes: 1 addition & 1 deletion man/lahman.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{lahman}
\alias{copy_lahman}
\alias{has_lahman}
Expand Down
2 changes: 1 addition & 1 deletion man/lead-lag.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{lead-lag}
\alias{lag.default}
\alias{lead}
Expand Down
2 changes: 1 addition & 1 deletion man/location.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{location}
\alias{changes}
\alias{location}
Expand Down
2 changes: 1 addition & 1 deletion man/make_tbl.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{make_tbl}
\alias{make_tbl}
\title{Create a "tbl" object}
Expand Down
4 changes: 2 additions & 2 deletions man/manip_dt.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{manip_dt}
\alias{arrange.data.table}
\alias{filter.data.table}
Expand All @@ -13,7 +13,7 @@

\method{summarise_}{data.table}(.data, ..., .dots)

\method{mutate}{data.table}(.data, ..., inplace = FALSE)
mutate.data.table(.data, ..., inplace = FALSE)

\method{arrange}{data.table}(.data, ...)

Expand Down
4 changes: 2 additions & 2 deletions man/manip_grouped_dt.Rd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
% Generated by roxygen2 (4.0.2): do not edit by hand
% Generated by roxygen2 (4.0.2.9000): do not edit by hand
\name{manip_grouped_dt}
\alias{arrange.grouped_dt}
\alias{filter.grouped_dt}
Expand All @@ -13,7 +13,7 @@

\method{summarise_}{grouped_dt}(.data, ..., .dots)

\method{mutate}{grouped_dt}(.data, ..., inplace = FALSE)
mutate.grouped_dt(.data, ..., inplace = FALSE)

\method{arrange}{grouped_dt}(.data, ...)

Expand Down
Loading

0 comments on commit 42d0bde

Please sign in to comment.