Home
Package `dplyr`
Contents
1. End Not run dplyr dplyr a grammar of data manipulation Description dplyr provides a flexible grammar of data manipulation It s the next iteration of plyr focussed on tools for working with data frames hence the d in the name Details It has three main goals e Identify the most important data manipulation verbs and make them easy to use from R e Provide blazing fast performance for in memory data by writing key pieces in C using Repp Use the same interface to work with data no matter where it s stored whether in a data frame a data table or database To learn more about dplyr start with the vignettes browseVignettes package dplyr explain 21 explain Explain details of an tbl Description This is a generic function which gives more details about an object than print and is more focussed on human readable output than str Usage explain x show_query x Arguments x An object to explain Other parameters possibly used by generic Databases Explaining a tbl_sql will run the SQL EXPLAIN command which will describe the query plan This requires a little bit of knowledge about how EXPLAIN works for your database but is very useful for diagnosing performance problems Examples if require RSQLite 88 has_lahman sqlite lahman_s lt lahman_sqlite batting lt tbl lahman_s Batting batting gt show_query batting gt explain
2. The batting database has indices on all ID variables SQLite automatically picks the most restrictive index batting gt filter lgID NL 8 yearID 2000L gt explain OR s will use multiple indexes batting gt filter 1gID NL yearID 2000 gt explain Joins will use indexes in both tables teams lt tbl lahman_s Teams batting gt left_join teams c yearID teamID gt explain 22 failwith failwith Fail with specified value Description Modify a function so that it returns a default value when there is an error Usage failwith default NULL f quiet FALSE Arguments default default value f function quiet all error messages be suppressed Value a function See Also try_default Examples f lt function x if x 1 stop Error else 1 Not run f1 f 2 End Not run safef lt failwith NULL f safef 1 safef 2 filter 23 filter Return rows with matching conditions Description Return rows with matching conditions Usage filter data filter_ data dots Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tb1_dt and tbl_sql Logical predicates Multiple conditions are combined with 8 dots Used to work around non standard evaluation See vignette nse for de tails Value An object of the same class as data Data frame row names are si
3. Description This data comes from the ASA 2007 data expo http stat computing org dataexpo 2006 The data are geographic and atmospheric measures on a very coarse 24 by 24 grid covering Central America The variables are temperature surface and air ozone air pressure and cloud cover low mid and high All variables are monthly averages with observations for Jan 1995 to Dec 2000 These data were obtained from the NASA Langley Research Center Atmospheric Sciences Data Center with permission see important copyright terms below Usage nasa Format A tb1_cube with 41 472 observations Dimensions e lat long latitude and longitude e year month month and year Measures e cloudlow cloudmed cloudhigh cloud cover at three heights e ozone e surftemp and temperature e pressure Examples nasa nth 39 nth Extract the first last or nth value from a vector Description These are straightforward wrappers around The main advantage is that you can provide an optional secondary vector that defines the ordering and provide a default value to use when the input is shorter than expected Usage nth x n order_by NULL default default_missing x first x order_by NULL default default_missing x last x order_by NULL default default_missing x Arguments Xx A vector n For nth_value a single integer specifying the position If a numeric is supplied it will be silently truncated
4. db2 lt src_sqlite db path src_tbls db2 16 data_frame cumall Cumulativate versions of any all and mean Description dplyr adds cumall cumany and cummean to complete R s set of cumulate functions to match the aggregation functions available in most databases Usage cumal1 x cuman y x cummean x Arguments x For cumall amp cumany a logical vector for cummean an integer or numeric vec tor data_frame Build a data frame Description A trimmed down version of data frame that Never coerces inputs i e strings stay as strings Never adds row names Never munges column names Only recycles length 1 inputs Evaluates its arguments lazily and in order Adds tbl_df class to output DAR WN Usage data_frame data_frame_ columns Arguments A set of named arguments columns A lazy_dots desc See Also as_data_frame to turn an existing list into a data frame Examples a lt 1 5 data_frame a b a 2 data_frame a b a 2 c 1 data_frame x runif 10 y x 2 data_frame never coerces its inputs str data_frame letters str data_frame x list diag 1 diag 2 or munges column names data_frame a b 1 5 With the SE version you give it a list of formulas expressions data_frame_ list x 71 10 y quote x 2 17 desc Descending order Description Transform a vector into a format that will be sorted i
5. group_by cyl by_cyl gt summarise a n b a 1 Not run You can t with data tables or databases by_cyl_dt lt mtcars gt tbl_dt gt group_by cyl by_cyl_dt gt summarise a n b a 1 by_cyl_db lt src_sqlite memory create TRUE gt copy_to mtcars gt group_by cyl by_cyl_db gt summarise a n b a 1 End Not run 58 summarise_each summarise_each Summarise and mutate multiple columns Description Apply one or more functions to one or more columns Grouping variables are always excluded from modification Usage summarise_each tbl funs summarise_each_ tbl funs vars mutate_each tbl funs mutate_each_ tbl funs vars Arguments tbl funs vars Examples One function a tbl List of function calls generated by funs or a character vector of function names Variables to include exclude in mutate summarise You can use same specifica tions as in select If missing defaults to all non grouping variables For standard evaluation versions ending in _q these can be either a list of ex pressions or a character vector by_species lt iris gt group_by Species by_species gt by_species gt by_species gt by_species gt by_species gt by_species gt Two functions by_species gt by_species gt by_species gt summarise_each funs length summarise_each funs
6. summarise by_dest arr mean arr_delay na rm TRUE Normalise arrival and departure delays by airport by_dest gt mutate arr_z scale arr_delay dep_z scale dep_delay gt select starts_with arr starts_with dep tbl_vars 65 arrange by_dest desc arr_delay select by_dest day tailnum rename by_dest Year year All manip functions preserve grouping structure except for summarise which removes a grouping level by_day lt group_by flights2 year month day by_month lt summarise by_day delayed sum arr_delay gt na rm TRUE by_month summarise by_month delayed sum delayed You can also manually ungroup ungroup by_day tbl_vars List variables provided by a tbl Description List variables provided by a tbl Usage tbl_vars x Arguments x A tbl object top_n Select top n rows by value Description This is a convenient wrapper that uses filter and min_rank to select the top n entries in each group ordered by wt Usage top_n x n wt 66 translate_sql Arguments x a tbl to filter n number of rows to return If x is grouped this is the number of rows per group May include more than n if there are ties wt Optional The variable to use for ordering If not specified defaults to the last variable in the tbl Examples Find 10 players with most games if require Lahman players lt group_by tbl_df Batting playerID
7. x 2 y2 y 2 should be equivalent to mutate df x2 x 2 y2 y 2 filter filter df x 1 y 2 should be equivalent to filter df x 1 y 2 e summarise should return the summarised output with one level of grouping peeled off Examples Not run Connection basics rrr rrr rn To connect to a database first create a src my_db lt src_sqlite path tempfile create TRUE Then reference a tbl within that src my_tbl lt tbl my_db my_table End Not run Here we ll use the Lahman database to create your own local copy src_sqlite 55 run lahman_sqlite Not run if requireNamespace RSQLite 88 has_lahman sqlite lahman_s lt lahman_sqlite Methods 3 3 99 n nnn nnn rrr rrr nnn rst batting lt tbl lahman_s Batting dim batting colnames batting head batting Data manipulation verbs filter batting yearID gt 2005 G gt 130 select batting playerID 1gID arrange batting playerID desc yearID summarise batting G mean G n nO mutate batting rbi2 1 0 x R AB note that all operations are lazy they don t do anything until you request the data either by print ing it which shows the first ten rows by looking at the head or collect the results locally system time recent lt filter batting yearID gt 2010 system ti
8. 1 3 2 2 NA row_number x min_rank x dense_rank x percent_rank x cume_dist x ntile x 2 ntile runif 100 10 rowwise Group input by rows Description rowwise is used for the results of do when you create list variables It is also useful to support arbitrary complex operations that need to be applied to each row Usage rowwise data Arguments data Input data frame Details Currently rowwise grouping only works with data frames Its main impact is to allow you to work with list variables in summarise and mutate without having to use 1 This makes summarise on a rowwise tbl effectively equivalent to plyr s ldply Examples df lt expand grid x 1 3 y 3 1 df gt rowwise gt do i seq x y Last value gt summarise n length i sample 43 sample Sample n rows from a table Description This is a wrapper around sample int to make it easy to select random rows from a table It currently only works for local tbls Usage sample_n tbl size replace FALSE weight NULL env parent frame sample_frac tbl size 1 replace FALSE weight NULL env parent frame Arguments tbl tbl of data size For sample_n the number of rows to select For sample_frac the fraction of rows to select If tbl is grouped size applies to each group replace Sample with or without replacement weight Sampling weights This expression is evaluated in the con
9. An object of the same class as data Data frame row names are silently dropped To preserve convert to an explicit variable Special functions As well as using existing functions like and c there are a number of special functions that only work inside select e starts_with x ignore case TRUE names starts with x e ends_with x ignore case TRUE names ends in x contains x ignore case TRUE selects all variables whose name contains x e matches x ignore case TRUE selects all variables whose name matches the regular expression x e num_range x 1 5 width 2 selects all variables numerically from x01 to x05 select e one_of x y z selects variables provided in a character vector mn e everything selects all variables To drop variab See Also les use You can rename variables with named arguments 45 Other single table verbs arrange arrange_ filter filter_ mutate mutate_ transmute transmute_ slice slice_ summarise summarise_ summarize summarize_ Examples iris lt tbl_d select iris select iris select iris select iris select iris vars lt c Pe select iris df lt as data df lt tbl_df select df V4 select df nu Drop variab select iris select iris select iris select iris select iris Rename vari f iris so it prints a little nicer starts_with Petal ends_with Width contains etal matches
10. function For bench_tbls additional benchmarks to run Value eval_tbls a list of data frames compare_tbls an invisible TRUE on success otherwise an error is thrown bench_tbls an object of class microbenchmark See Also src_local for working with local data Examples Not run if require microbenchmark amp amp has_lahman lahman_local lt lahman_srcs df dt teams lt lapply lahman_local function x x gt tb1 Teams compare_tbls teams function x x gt filter yearID 2010 bench_tbls teams function x x gt filter yearID 2010 You can also supply arbitrary additional arguments to bench_tbls if there are other operations you d like to compare bench_tbls teams function x x gt filter yearID 2010 base subset Lahman Teams yearID 2010 A more complicated example using multiple tables setup lt function src list src gt tbl Batting gt filter stint 1 gt select playerID H src gt tbl Master gt select playerID birthYear two_tables lt lapply lahman_local setup op lt function tbls semi_join tbls 1 tbls 2 by playerID J compare_tbls two_tables op bench_tbls two_tables op times 2 End Not run between 9 between Do values in a numeric vector fall in specified range Description This is a shortcut for x gt left 8 x lt right implemented efficiently i
11. games lt tally players G top_n games 10 n A little nicer with gt tbl_df Batting gt group_by playerID gt tally G gt top_n 10 Find year with most games for each player tbl_df Batting gt group_by playerID gt top_n 1 G translate_sql Translate an expression to sql Description Translate an expression to sql Usage translate_sql tbl NULL env parent frame variant NULL window FALSE translate_sql_q expr tbl NULL env parent frame variant NULL window FALSE Arguments unevaluated expression to translate tbl An optional tbl If supplied will be used to automatically figure out the SQL variant to use env environment in which to evaluate expression variant used to override default variant provided by source useful for testing examples translate_sql 67 window If variant not supplied used to determine whether the variant is window based or not expr list of quoted objects to translate Base translation The base translator base_sql provides custom mappings for to NOT 88 and amp to AND and to OR to POWER gt to ceiling to CEIL mean to AVG var to VARIANCE tolower to LOWER toupper to UPPER and nchar to length c and keep their usual R behaviour so you can easily create vectors that are passed to sql All other functions will be preserved as is R s infix functions e g 1ike will be converted to their sql e
12. intersect first second union first second setdiff first second setdiff second first setequal mtcars mtcars 32 1 slice Select rows by position Description Slice does not work with relational databases because they have no intrinsic notion of row order If you want to perform the equivalent operation use filter and row_number src_mysql 47 Usage slice data slice_ data dots Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tbl_dt and tbl_sql Integer row values dots Used to work around non standard evaluation See vignette nse for de tails See Also Other single table verbs arrange arrange_ filter filter_ mutate mutate_ transmute transmute_ rename rename_ select select_ summarise summarise_ summarize summarize_ Examples slice mtcars 1L slice mtcars n slice mtcars 5 n by_cyl lt group_by mtcars cyl slice by_cyl 1 2 Equivalent code using filter that will also work with databases but won t be as fast for in memory data For many databases you ll need to supply an explicit variable to use to compute the row number filter mtcars row_number 1L filter mtcars row_number n filter mtcars between row_number 5 nO src_mysql Connect to mysql mariadb Description Use src_mysql to connect to an existing mysql or mariadb database and tbl to connect to tables within that data
13. joins is somewhat partial you can only create semi joins where the x and y columns are compared with not with more general operators Examples Not run if require RSQLite amp amp has_lahman sqlite E Left E lahman_s lt lahman_sqlite batting lt tbl lahman_s Batting team_info lt select tbl lahman_s Teams yearID lgID teamID G R H Combine player and whole team statistics first_stint lt select filter batting stint 1 playerID H both lt left_join first_stint team_info type inner by c yearID teamID lgID head both explain both Join with a local data frame grid lt expand grid teamID c WAS ATL PHI NYA yearID 2010 2012 top4a lt left_join batting grid copy TRUE explain top4a Indices don t really help here because there s no matching index on batting top4b lt left_join batting grid copy TRUE auto_index TRUE explain top4b Semi JOINS SA SaaS Se SAEs SAS SSSA Sa ee a SRS Sees people lt tbl lahman_s Master All people in half of fame hof lt tbl lahman_s HallOfFame semi_join people hof All people not in the hall of fame anti_join people hof Find all managers Manager lt tbl lahman_s Managers semi_join people manager Find all managers in hall of fame famous_manager lt semi_join semi_join people manager hof famous_manager explain fa
14. mean summarise_each funs mean Petal Width summarise_each funs mean matches Width mutate_each funs half 2 mutate_each funs min_rank summarise_each funs min max summarise_each funs min max Petal Width Sepal Width summarise_each funs min max matches Width Alternative function specification iris gt summarise_each funs ul length unique by_species gt summarise_each funs ul length unique tally 59 by_species gt summarise_each c min max tt Alternative variable specification summarise_each_ iris funs max names iris 5 summarise_each_ iris funs max list quote Species tally Counts tally observations by group Description tally is a convenient wrapper for summarise that will either call n or sum n depending on whether you re tallying for the first time or re tallying count is similar but also does the group_by for you Usage tally x wt sort FALSE count x wt NULL sort FALSE count_ x vars wt NULL sort FALSE Arguments x a tbl to tally count wt Optional If not specified will tally the number of rows If specified will perform a weighted tally but summing over the specified variable sort if TRUE will sort output in descending order of n Vars Variables to group by Examples if require Lahman batting_tbl lt tbl_df Batting tally group_by batting_tbl yearID tally group_b
15. order_by An optional vector used to determine the order default A default value to use if the position does not exist in the input This is guessed by default for atomic vectors where a missing value of the appropriate type is return and for lists where a NULL is return For more complicated objects you ll need to supply this value Value A single value is used to do the subsetting Examples x lt 1 10 y lt 10 1 last x last x y 40 order_by n_distinct Efficiently count the number of unique values in a vector Description This is a faster and more concise equivalent of length unique x Usage n_distinct x Arguments x a vector of values Examples x lt sample 1 10 1e5 rep TRUE length unique x n_distinct x order_by A helper function for ordering window function output Description This is a useful function to control the order of window functions in R that don t have a specific ordering parameter When translated to SQL it will modify the order clause of the OVER function Usage order_by order_by call Arguments order_by a vector to order_by call a function call to a window function where the first argument is the vector being operated on Details This function works by changing the call to instead call with_order with the appropriate argu ments ranking 41 Examples order_by 10 1 cumsum 1 10 x lt 10 1 y lt 1 10 order_by x cumsum
16. output defaults to the width of the console Examples glimpse mtcars if require RSQLite amp amp has_lahman sqlite batting lt tbl lahman_sqlite Batting glimpse batting grouped_dt A grouped data table Description The easiest way to create a grouped data table is to call the group_by method on a data table or tbl this will take care of capturing the unevalated expressions for you Usage grouped_dt data vars copy TRUE is grouped_dt x Arguments data a tbl or data frame vars a list of quoted variables copy If TRUE will make copy of input x an object to check Examples if require data table amp amp require nycflights13 flights_dt lt tbl_dt flights group_size group_by flights_dt year month day group_size group_by flights_dt dest monthly lt group_by flights_dt month summarise monthly n n delay mean arr_delay 26 group_by groups Get set the grouping variables for tbl Description These functions do not perform non standard evaluation and so are useful when programming against tbl objects ungroup is a convenient inline way of removing existing grouping Usage groups x ungroup x Arguments x data tbl Examples grouped lt group_by mtcars cyl groups grouped groups ungroup grouped group_by Group a tbl by one or more variables Description Most data operations are useful done on groups d
17. t Petal Length Petal Width tal Length Petal Width one_of vars Frame matrix runif 100 nrow 10 df c 3 4 7 1 9 8 5 2 6 10 V6 m_range V 4 6 les starts_with Petal ends_with Width contains etal matches t Petal Length Petal Width ables x select keeps only the variables you specify select iris petal_length Petal Length Renaming multiple variables uses a prefix select iris petal starts_with Petal x rename keeps all variables rename iris petal_length Petal Length Programming with select select_ iris Petal Length select_ iris Petal Length select_ iris lazyeval interp matches x x t select_ iris quote Petal Length quote Petal Width select_ iris dots list quote Petal Length quote Petal Width 46 slice setops Set operations Description These functions override the set functions provided in base to make them generic so that efficient versions for data frames and other tables can be provided The default methods call the base ver sions Usage intersect X y union x y setdiff x y setequal x y Arguments x y objects to compare ignoring order other arguments passed on to methods Examples mtcars model lt rownames mtcars first lt mtcars 1 20 second lt mtcars 10 32
18. t force computation but collapses a complex tbl into a form that additional restrictions can be placed on Usage compute x name random_table_name collect x collapse x S3 method for class tbl_sql compute x name random_table_name temporary TRUE Arguments Xx a data tbl name name of temporary table on database other arguments passed on to methods temporary if TRUE will create a temporary table that is local to this connection and will be automatically deleted when the connection expires Grouping compute and collect preserve grouping collapse drops it 14 copy_to See Also copy_to which is the conceptual opposite it takes a local data frame and makes it available to the remote source Examples if require RSQLite 88 has_lahman sqlite batting lt tbl lahman_sqlite Batting remote lt select filter batting yearID gt 2010 amp amp stint 1 playerID H remote2 lt collapse remote cached lt compute remote local lt collect remote copy_to Copy a local data frame to a remote src Description This uploads a local data frame into a remote data source creating the table definition as needed Wherever possible the new object will be temporary limited to the current connection to the source Usage copy_to dest df name deparse substitute df Arguments dest remote data source df local data frame name name for new remot
19. to match when row binding bind_rows data frame x 1 3 data frame y 1 4 Not run Rows do need to match when column binding bind_cols data frame x 1 data frame y 1 2 End Not run bind_cols one two bind_cols list one two combine applies the same coercion rules f1 lt factor a f2 lt factor b c f1 f2 unlist list f1 f2 combine f1 f2 combine list f1 f2 build_sql Build a SQL string Description This is a convenience function that should prevent sql injection attacks which in the context of dplyr are most likely to be accidental not deliberate by automatically escaping all expressions in the input while treating bare strings as sql This is unlikely to prevent any serious attack but should make it unlikely that you produce invalid sql chain 11 Usage build_sql env parent frame con NULL Arguments input to convert to SQL Use sql to preserve user input as is dangerous and ident to label user input as sql identifiers safe env the environment in which to evalute the arguments Should not be needed in typical use con database connection used to select correct quoting characters Examples build_sql SELECT FROM TABLE x lt TABLE build_sql SELECT build_sql SELECT build_sql SELECT FROM x FROM ident x FROM sql x http xkcd com 327 name lt Robert DROP TABLE Students bui
20. 0 eval_tbls bench_compare 7 explain 21 48 51 54 failwith 22 filter 5 18 23 37 45 47 57 65 filter_ 5 37 45 47 57 filter_ filter 23 first nth 39 full_join join 29 full_join tbl_df join tbl_df 30 funs 24 58 funs_ funs 24 glimpse 24 group_by 26 28 59 group_by_ group_by 26 group_indices 28 group_indices_ group_indices 28 70 group_size 28 grouped_df 27 48 51 54 grouped_dt 25 27 groups 26 27 ident inner_join join 29 inner_join data table join tbl_dt 31 inner_join tbl_df join tbl_df 30 inner_join tbl_sql join tb1_sql 33 intersect setops 46 is grouped_dt grouped_dt 25 is tbl tb1 60 isTRUE 4 join 29 30 31 33 join tbl_df 30 join tbl_dt 31 join tbl_sql 33 lag lead lag 35 last nth 39 lazy_dots 16 lead lead lag 35 lead lag 35 left_join join 29 left_join data table join tb1_dt 31 left_join tb1_df join tb1_df 30 left_join tb1_sql join tbl_sql 33 location 36 max 57 mean 57 microbenchmark 8 min 57 min_rank 65 min_rank ranking 41 mutate 5 18 23 36 37 42 45 47 57 mutate_ 5 23 45 47 57 mutate_ mutate 36 mutate_each summarise_each 58 mutate_each_ summarise_each 58 mutate_each_q summarise_each 58 MySQL 48 n 37 59 n_distinct 40 n_groups group_size 28 nasa 38 INDEX nth 39 ntile ranking 41 order_by 40 percent_rank r
21. 48 51 54 57 62 tbl_dt 5 23 37 44 47 57 64 tbl_sql 5 23 37 44 47 48 51 54 57 tbl_vars 65 top_n 65 translate_sql 66 translate_sql_q translate_sql 66 transmute 5 23 45 47 57 transmute mutate 36 transmute_ 5 23 45 47 57 transmute_ mutate 36 try_default 22 ungroup 27 ungroup groups 26 union setops 46 unique 18 unlist 9 with_order 40 71
22. ALSE S3 method for class tbl_sql left_join x y by NULL copy FALSE auto_index FALSE S3 method for class tbl_sql semi_join x y by NULL copy FALSE auto_index FALSE S3 method for class tbl_sql anti_join x y by NULL copy FALSE auto_index Arguments x y by copy auto_index FALSE tbls to join a character vector of variables to join by If NULL the default join will do a natural join using all variables with common names across the two tables A message lists the variables so that you can check they re right To join by different variables on x and y use a named vector For example by c a b will match x a to y b If x and y are not from the same data source and copy is TRUE then y will be copied into a temporary table in same database as x join will automatically run ANALYZE on the created table in the hope that this will make you queries as efficient as possible by giving more data to the query planner This allows you to join tables across srcs but it s potentially expensive operation so you must opt into it if copy is TRUE automatically create indices for the variables in by This may speed up the join if there are matching indexes in x other parameters passed onto methods 34 join tbl_sql Implementation notes Semi joins are implemented using WHERE EXISTS and anti joins with WHERE NOT EXISTS Support for semi
23. B When you group by multiple level each summarise peels off one level per_year lt group_by batting playerID yearID stints lt summarise per_year stints max stint filter ungroup stints stints gt 3 summarise stints max stints A NR NS player_info lt select tbl lahman_m Master playerID birthYear hof lt select filter tbl lahman_m HallOfFame inducted Y playerID votedBy category Match players and their hall of fame data inner_join player_info hof Keep all players match hof data where available left_join player_info hof Find only players in hof semi_join player_info hof Find players not in hof anti_join player_info hof Arbitrary SQL You can also provide sql as is using the sql function batting2008 lt tbl lahman_m sql SELECT FROM Batting WHERE YearID 2008 batting2008 src_postgres Connect to postgresql Description Use src_postgres to connect to an existing postgresql database and tbl to connect to tables within that database If you are running a local postgresql database leave all parameters set as their defaults to connect If you re connecting to a remote database ask your database administrator for the values of these variables Usage src_postgres dbname NULL host NULL port NULL user NULL password NULL S3 method for class src
24. Package dplyr June 16 2015 Type Package Version 0 4 2 Title A Grammar of Data Manipulation Description A fast consistent tool for working with data frame like objects both in memory and out of memory URL https github com hadley dplyr BugReports https github com hadley dplyr issues Depends R gt 3 1 2 Imports assertthat utils R6 Rcpp magrittr lazyeval gt 0 1 10 DBI gt 0 3 Suggests RSQLite gt 1 0 0 RMySQL RPostgreSQL data table testthat knitr microbenchmark ggplot2 mgcv Lahman gt 3 0 1 nycflights 13 methods VignetteBuilder knitr LazyData yes LinkingTo Rcpp gt 0 11 6 BH gt 1 58 0 1 License MIT file LICENSE Collate RcppExports R all equal r bench compare r chain r cluster R colwise R compute collect r copy to r data lahman r data nasa r data nycflights 13 r data temp r data r dataframe R dbi s3 r desc r distinct R do r dplyr r explain r failwith r funs R glimpse R group by r group indices R group size r grouped df r grouped dt r id r inline r join r lead lag R location R manip r nth value R order by R over R partial eval r progress R query r rank R rbind r rowwise r sample R select utils R select vars R sets r sql escape r sql star r sre local r src mysql r sre postgres r src sql r src sqlite r src r tally R tbl cube r tbl df r tb1 dt r
25. _p Master playerID birthYear hof lt select filter tbl lahman_p HallOfFame inducted Y playerID votedBy category Match players and their hall of fame data inner_join player_info hof Keep all players match hof data where available left_join player_info hof Find only players in hof semi_join player_info hof Find players not in hof anti_join player_info hof Arbitrary SQL n nnn nnn nnn cnr nnn nnn cnn n nan You can also provide sql as is using the sql function batting2008 lt tbl lahman_p sql SELECT FROM Batting WHERE yearID 2008 batting2008 src_sqlite Connect to a sqlite database Description Use src_sqlite to connect to an existing sqlite database and tbl to connect to tables within that database If you are running a local sqliteql database leave all parameters set as their defaults to connect If you re connecting to a remote database ask your database administrator for the values of these variables Usage src_sqlite path create FALSE S3 method for class src_sqlite tbl src from Arguments path Path to SQLite database create if FALSE path must already exist If TRUE will create a new SQlite3 database at path src a sqlite src created with src_sqlite 54 src_sqlite from Either a string giving the name of table in database or sql described a derived table or compound join Included for compatibili
26. _postgres tbl src from src_postgres Arguments dbname host port user password from Debugging 51 Database name Host name and port number of database User name and password if needed for the src other arguments passed on to the underlying database connector dbConnect For the tbl included for compatibility with the generic but other wise ignored a postgres src created with src_postgres Either a string giving the name of table in database or sql described a derived table or compound join To see exactly what SQL is being sent to the database you see show_query and explain Grouping Typically you will create a grouped data table is to call the group_by method on a mysq tbl this will take care of capturing the unevalated expressions for you For best performance the database should have an index on the variables that you are grouping by Use explain to check that the database is using the indexes that you expect Output All data manipulation on SQL tbls are lazy they will not actually run the query or retrieve the data unless you ask for it they all return a new tb1_sql object Use compute to run the query and save the results in a temporary in the database or use collect to retrieve the results to R Note that do is not lazy since it must pull the data into R It returns a tbl_df or grouped_df with one column for each grouping variable and one list column that contains the results of th
27. ach o 4 4 4 a a A Dew E ea 58 tallW sa gk bee Se he Sa a ee yy be ee he EE NP Se ee 59 AI IT ate eee ey Ge ee ee 60 E oe secgeeks we ee ew GR ue 60 A 2 2 ea ee bh eee SHAD See eee ERA ee ew 4 62 thlodt ir eee ee RA oe a ee Bee eS 64 DEVAS 244654 64 0 46444 654 40 bad e borne 2445 Se hoe Se edd 65 TOP 0 08 0 a A EE AEE ERA ee ee ee Oo 65 translate lirio hs rra De Dh aw ee Re ha VO ee eee ee 66 Index 69 add_rownames Convert row names to an explicit variable Description Convert row names to an explicit variable Usage add_rownames df var rowname Arguments df var Input data frame with rownames Name of variable to use 4 all equal tbl_df Examples mtcars gt head gt print gt add_rownames all equal tbl_df Provide a useful implementation of all equal for data frames Description Provide a useful implementation of all equal for data frames Usage S3 method for class tbl_df all equal target current ignore_col_order TRUE ignore_row_order TRUE convert FALSE HH S3 method for class tbl_dt all equal target current ignore_col_order TRUE ignore_row_order TRUE convert FALSE Arguments target current two data frames to compare ignore_col_order should order of columns be ignored ignore_row_order should order of rows be ignored convert Should similar classes be converted Currently this will convert factor to char acter and integer to d
28. agrittr package for a more detailed explanation of the forward pipe semantics Examples If you r if requir al lt grou a2 lt sele a3 lt summ arr me dep me a4 lt filt If you d wrap the filter summaris select grou arr_ Ji arr dep arr gt 30 This is inside t e performing many operations you can either do step by step e nycflights13 p_by flights year month day ct al arr_delay dep_delay arise a2 an arr_delay na rm TRUE an dep_delay na rm TRUE er a3 arr gt 30 dep gt 30 on t want to save the intermediate results you need to functions e p_by flights year month day delay dep_delay mean arr_delay na rm TRUE mean dep_delay na rm TRUE dep gt 30 difficult to read because the order of the operations is from o out and the arguments are a long way away from the function compute 13 Alternatively you can use gt to sequence the operations tt linearly flights gt group_by year month day gt select arr_delay dep_delay gt summarise arr mean arr_delay na rm TRUE dep mean dep_delay na rm TRUE gt filter arr gt 30 dep gt 30 compute Compute a lazy tbl Description compute forces computation of lazy tbls leaving data in the remote source collect also forces computation but will bring data back into an R data frame stored in a tbl_df collapse doesn
29. and for a mutate rename followed by a simple group_by group_by mtcars vsam vs am group_by mtcars vs2 vs You can also group by a constant but it s not very useful group_by mtcars vs By default group_by sets groups Use add TRUE to add groups groups group_by by_cyl vs am groups group_by by_cyl vs am add TRUE Duplicate groups are silently dropped groups group_by by_cyl cyl cyl 28 group_size group_indices Group id Description Generate a unique id for each group Usage group_indices data group_indices_ data dots add FALSE Arguments data a tbl variables to group by All tbls accept variable names some will also accept functions of variables Duplicated groups will be silently dropped dots Used to work around non standard evaluation See vignette nse for de tails add By default when add FALSE group_by will override existing groups To instead add to the existing groups use add TRUE See Also group_by Examples group_indices mtcars cyl group_size Calculate group sizes Description Calculate group sizes Usage group_size x n_groups x join 29 Arguments x a grouped tbl Examples if require nycflights13 by_day lt flights gt group_by year month day n_groups by_day group_size by_day by_dest lt flights gt group_by dest n_groups by_dest group_size by_dest join Join two t
30. anking 41 print 2 ranking 41 rbind_all bind 9 rbind_list bind 9 regroup group_by 26 rename 5 23 37 47 57 rename select 44 rename_ 5 23 37 47 57 rename_ select 44 right_join join 29 right_join tbl_df join tbl_df 30 row_number 46 row_number ranking 41 rowwise 19 42 sample 43 sample int 43 sample_frac sample 43 sample_n sample 43 select 5 18 23 37 44 47 57 58 select_ 5 23 37 47 57 select_ select 44 semi_join join 29 semi_join data table join tbl_dt 31 semi_join tbl_df join tbl_df 30 semi_join tbl_sql join tbl_sq1 33 setdiff setops 46 setequal setops 46 setops 46 show_query 48 51 54 show_query explain 21 slice 5 23 37 45 46 57 slice_ 5 23 37 45 57 slice_ slice 46 sql 11 48 51 54 src_local 8 src_mysql 27 47 src_postgres 27 50 src_sqlite 27 53 src_tbls 56 str 21 24 sum 59 INDEX summarise 5 18 19 23 37 42 45 47 56 summarise_ 5 23 37 45 47 summarise_ summarise 56 summarise_each 58 summarise_each_ summarise_each 58 summarise_each_q summarise_each 58 summarize 5 23 37 45 47 summarize summarise 56 summarize_ 5 23 37 45 47 summarize_ summarise 56 tally 59 tbl 7 15 26 59 60 66 tb1 src_mysql src_mysql 47 tbl src_postgres src_postgres 50 tbl src_sqlite src_sqlite 53 tb1_cube 38 60 tbl_df 5 13 23 31 37 44 47
31. base If you are running a local mysqlql database leave all parameters set as their defaults to connect If you re connecting to a remote database ask your database administrator for the values of these variables 48 src_mysql Usage src_mysql dbname host NULL port L user root password 24 S3 method for class src_mysql tbl src from Arguments dbname Database name host port Host name and port number of database user password User name and password Rather than supplying a username and password here it s better to save them in my cnf as described in MySQL In that case supply NULL to both user and password for the src other arguments passed on to the underlying database connector dbConnect For the tbl included for compatibility with the generic but other wise ignored src a mysql src created with src_mysa from Either a string giving the name of table in database or sql described a derived table or compound join Debugging To see exactly what SQL is being sent to the database you see show_query and explain Grouping Typically you will create a grouped data table is to call the group_by method on a mysq tbl this will take care of capturing the unevalated expressions for you For best performance the database should have an index on the variables that you are grouping by Use explain to check that the database is using the indexes that you expect Output All data manipulat
32. bles to join by If NULL the default join will do a natural join using all variables with common names across the two tables A message lists the variables so that you can check they re right to suppress the message supply a character vector copy If y is not a data frame or tbl_df and copy is TRUE y will be converted into a data frame included for compatibility with the generic otherwise ignored Examples if require Lahman batting_df lt tbl_df Batting person_df lt tbl_df Master uperson_df lt tbl_df Master duplicated Master playerID Inner join match batting and person data inner_join batting_df person_df inner_join batting_df uperson_df Left join match but preserve batting data left_join batting_df uperson_df Anti join find batters without person data anti_join batting_df person_df or people who didn t bat anti_join person_df batting_df join tbl_dt Join data table tbls Description See join for a description of the general purpose of the functions 32 join tbl dt Usage S3 method for class data table inner_join x y by NULL copy FALSE S3 method for class data table left_join x y by NULL copy FALSE S3 method for class data table semi_join x y by NULL copy FALSE S3 method for class data table anti_join x y by NULL copy FALSE Arguments x y tbls to join by a character v
33. bls together Description These are generic functions that dispatch to individual tbl methods see the method documentation for details of individual data sources x and y should usually be from the same data source but if copy is TRUE y will automatically be copied to the same source as x this may be an expensive operation Usage inner_join x y by NULL copy FALSE left_join x y by NULL copy FALSE right_join x y by NULL copy FALSE full_join x y by NULL copy FALSE semi_join x y by NULL copy FALSE anti_join x y by NULL copy FALSE Arguments x y tbls to join by a character vector of variables to join by If NULL the default join will do a natural join using all variables with common names across the two tables A message lists the variables so that you can check they re right To join by different variables on x and y use a named vector For example by c a b will match x a to y b 30 join tbl_df copy If x and y are not from the same data source and copy is TRUE then y will be copied into the same src as x This allows you to join tables across srcs but it is a potentially expensive operation so you must opt into it other parameters passed onto methods Join types Currently dplyr supports four join types inner_join return all rows from x where there are matching values in y and all columns from x and y If there are multip
34. e operation do never simplifies its output Query principles This section attempts to lay out the principles governing the generation of SQL queries from the manipulation verbs The basic principle is that a sequence of operations should return the same value modulo class regardless of where the data is stored e arrange arrange df x y should be equivalent to arrange df y x e select select df a x n o should be equivalent to select df n o e mutate mutate df x2 x 2 y2 y 2 should be equivalent to mutate df x2 x 2 y2 y 2 e filter filter df x 1 y 2 should be equivalent to filter df x 1 y 2 e summarise should return the summarised output with one level of grouping peeled off 52 src_postgres Examples Not run Connection basics To connect to a database first create a src my_db lt src_postgres host blah com user hadley password pass Then reference a tbl within that src my_tbl lt tbl my_db my_table End Not run Here we ll use the Lahman database to create your own local copy tt create a local database called lahman or tell lahman_postgres how to a database that you can write to if has_lahman postgres lahman_p lt lahman_postgres Methods 3 3 9 9 n nnn nr nrc ncn ns batting lt tbl lahman_p Batting dim batting colnames ba
35. e it would make Joins not implemented See vignettes joins graffle for ideas Probably straightforward if you get the indexes right and that s probably some straightforward array tensor operation See Also as tbl_cube for ways of coercing existing data structures into a tbl_cube Examples The built in nasa dataset records meterological data temperature cloud cover ozone etc for a 4d spatio temporal dataset lat long month and year nasa head as data frame nasa titanic lt as tbl_cube Titanic 62 tbl_df head as data frame titanic admit lt as tbl_cube UCBAdmissions head as data frame admit as tbl_cube esoph dim_names 1 3 Some manipulation examples with the NASA dataset select operates only on measures it doesn t affect dimensions in any way select nasa cloudhigh cloudmid select nasa matches temp filter operates only on dimensions filter nasa lat gt 0 year 2000 Each component can only refer to one dimensions ensuring that you always create a rectangular subset Not run filter nasa lat gt long Arrange is meaningless for tbl_cubes by_loc lt group_by nasa lat long summarise by_loc pressure max pressure temp mean temperature tbl_df Create a data frame tbl Description A data frame tbl wraps a local data frame The main advantage to using a tb1_df over a regular data frame is the printing
36. e table other parameters passed to methods Value a tbl object in the remote source copy_to src_sql 15 copy_to src_sql Copy a local data frame to a sqlite src Description This standard method works for all sql sources Usage S3 method for class src_sql copy_to dest df name deparse substitute df types NULL temporary TRUE indexes NULL analyze TRUE Arguments dest remote data source df local data frame name name for new remote table types a character vector giving variable types to use for the columns See http www sqlite org datatype3 html for available types temporary 1f TRUE will create a temporary table that is local to this connection and will be automatically deleted when the connection expires indexes a list of character vectors Each element of the list will create a new index analyze if TRUE the default will automatically ANALYZE the new table so that the query optimiser has useful information other parameters passed to methods Value a sqlite tbl object Examples if requireNamespace RSQLite db lt src_sqlite tempfile create TRUE iris2 lt copy_to db iris mtcars model lt rownames mtcars mtcars2 lt copy_to db mtcars indexes list model explain filter mtcars2 model Hornet 4 Drive Note that tables are temporary by default so they re not visible from other connections to the same database src_tbls db
37. ector of variables to join by If NULL the default join will do a natural join using all variables with common names across the two tables A message lists the variables so that you can check they re right To join by different variables on x and y use a named vector For example by c a b will match x a to y b copy If x and y are not from the same data source and copy is TRUE then y will be copied into the same src as x This allows you to join tables across srcs but it is a potentially expensive operation so you must opt into it Included for compatibility with generic otherwise ignored Examples if require data table 88 require Lahman batting_dt lt tbl_dt Batting person_dt lt tbl_dt Master Inner join match batting and person data inner_join batting_dt person_dt Left join keep batting data even if person missing left_join batting_dt person_dt Semi join find batting data for top 4 teams 2010 2012 grid lt expand grid teamID c WAS ATL PHI NYA yearID 2010 2012 top4 lt semi_join batting_dt grid copy TRUE Anti join find batting data with out player data anti_join batting_dt person_dt join tbl_sql 33 join tbl_sql Join sql tbls Description See join for a description of the general purpose of the functions Usage S3 method for class tbl_sql inner_join x y by NULL copy FALSE auto_index F
38. efined by variables in the the dataset The group_by function takes an existing tbl and converts it into a grouped tbl where operations are performed by group Usage group_by data add FALSE group_by_ data dots add FALSE Arguments data a tbl variables to group by All tbls accept variable names some will also accept functions of variables Duplicated groups will be silently dropped add By default when add FALSE group_by will override existing groups To instead add to the existing groups use add TRUE dots Used to work around non standard evaluation See vignette nse for de tails group _by 27 Tbl types group_by is an S3 generic with methods for the three built in tbls See the help for the correspond ing classes and their manip methods for more details e data frame grouped_df e data table grouped_dt e SQLite src_sqlite PostgreSQL src_postgres e MySQL src_mysql See Also ungroup for the inverse operation groups for accessors that don t do special evaluation Examples by_cyl lt group_by mtcars cyl summarise by_cyl mean disp mean hp filter by_cyl disp max disp summarise peels off a single layer of grouping by_vs_am lt group_by mtcars vs am by_vs lt summarise by_vs_am n n by_vs summarise by_vs n sum n use ungroup to remove if not wanted summarise ungroup by_vs n sum n You can group by expressions this is just short h
39. fore the experiement is conducted they are fixed by design in reshape2 they are known as id variables tb1_cubes are dense which means that almost every combination of the dimensions should have associated measurements missing values require an explicit NA so if the variables are nested not crossed the majority of the data structure will be empty Dimensions are typically but not always categorical variables measures A named list of arrays A measure is something that is actually measured and is not known in advance The dimension of each array should be the same as the length of the dimensions Measures are typically but not always continuous values Details tbl_cube support is currently experimental and little performance optimisation has been done but you may find them useful if your data already comes in this form or you struggle with the memory overhead of the sparse crossed of data frames There is no supported for hierarchical indices although I think that would be a relatively straightforward extension to storing data frames for indices rather than vectors Implementation Manipulation functions e select M e summarise M corresponds to roll up but rather more limited since there are no hierarchies e filter D corresponds to slice dice e mutate M is not implemented but should be relatively straightforward given the implemen tation of summarise e arrange D Not implemented not obvious how much sens
40. h e e e e Bae RA a Be ee a PS ee es 22 ter iaa A de tha beth Be A A A 23 TONOS 3 4 eS hk es od a A ae ee ea eR ew A Gees 24 GIIMPSE iris Gels GS ee Aaa Se Ge APRS aS BOs GR RRA ACRE a 24 prouped dt cs bi ead be ee eee ae HA be ee A eee ea eh ee 23 STOUPS eme A A ee ee AR 26 PIOUPUD va bee Sea ee A is ees 26 SBIOUP_IDOICES s gies we ke RAR PO Re eR eS Ea S 28 PIOUP SIZE o ie eho ek BH eS ee Sed e eee ee Ae ee a 28 JOM ak Ok Bae ME a A a ERA ee oe ae 29 JOMADLAOE shies ee A EAS GES a GS ES ae 30 JOMADI dt e oH oe bis SERA eee oe SEES Reeds 31 JOMADIESL es acid a e BA re we Be Bok a ee Ae ee ae 33 add_rownames 3 lead l co e a E A a E A E e 35 location sa ee da ri o e oe ewe Rots Bea da ee ee a Ed 36 MULAS o E a AA a a Be ee 36 E E E tbe tae Ook Ges Bk G2 ee eda 37 MASA rr a A ES 38 D A ec Ss he e Aa RR ee we ee Bee E de Ree ae OR Bs 39 Mm distinct lt lt 24 eben ed eeeid bbe eee bee we bee eee ede be ee E 40 order DY tice soe a Gc ee Se ae SA Ree ee ead BR es ae en a 40 Tanking fe hace ea Shad ey dae Saha AOR oe eee Bay Bee Bae de ee 41 TOWWISE see a pa eea aE a a a ES 42 Sample e presi a A o A a a akg et bee 43 select e ke Sa Pe ee a a a da a A 44 SETOPS iaa A A a a ot A Be ee ar at 46 SIGE sexe Acid Sm hcg Be ees hey de BRR akon O Ba 4 46 STC MYSL qe ces ec a ee SR ee E ee Be Be we de 47 NN 50 STC Sql ei o we eR a Bb eA ee de 53 Sre IDIS as a Be eo AD ATA AAA A he Bes 56 SUMISO oo dd e od 56 s mmarise G
41. ion on SQL tbls are lazy they will not actually run the query or retrieve the data unless you ask for it they all return a new tb1_sql object Use compute to run the query and save the results in a temporary in the database or use collect to retrieve the results to R Note that do is not lazy since it must pull the data into R It returns a tb1_df or grouped_df with one column for each grouping variable and one list column that contains the results of the operation do never simplifies its output Query principles This section attempts to lay out the principles governing the generation of SQL queries from the manipulation verbs The basic principle is that a sequence of operations should return the same value modulo class regardless of where the data is stored src_mysql 49 e arrange arrange df x y should be equivalent to arrange df y x e select select df a x n 0 should be equivalent to select df n o e mutate mutate df x2 x 2 y2 y 2 should be equivalent to mutate df x2 x 2 y2 y 2 e filter filter df x 1 y 2 should be equivalent to filter df x 1 y 2 e summarise should return the summarised output with one level of grouping peeled off Examples Not run Connection basics To connect to a database first create a src my_db lt src_mysql host blah com user hadley password pass Then reference a
42. ld_sql INSERT INTO Students Name VALUES name chain Chain together multiple operations Description The downside of the functional nature of dplyr is that when you combine multiple data manipu lation operations you have to read from the inside out and the arguments may be very distant to the function call These functions providing an alternative way of calling dplyr and other data manipulation functions that you read can from left to right Usage chain env parent frame chain_q calls env parent frame lhs rhs lhs gt rhs 12 Arguments sz Calls env lhs rhs Details chain A sequence of data transformations starting with a dataset The first argument of each call should be omitted the value of the previous step will be substituted in automatically Use chain and when working interactive use chain_q and calls when calling from another function Environment in which to evaluation expressions In ordinary operation you should not need to set this parameter A dataset and function to apply to it The functions work via simple substitution so that x gt f y is translated into f x y Deprecation chain was and defunc deprecated in version 0 2 and will be removed in 0 3 was deprecated in version 0 3 t in 0 4 They wwere removed in the interest of making dplyr code more standardised and gt is much more popular See Also gt in the m
43. le matches between x and y all combination of the matches are returned left_join return all rows from x and all columns from x and y Rows in x with no match in y will have NA values in the new columns If there are multiple matches between x and y all combinations of the matches are returned semi_join return all rows from x where there are matching values in y keeping just columns from x A semi join differs from an inner join because an inner join will return one row of x for each matching row of y where a semi join will never duplicate rows of x anti_join return all rows from x where there are not matching values in y keeping just columns from x Grouping Groups are ignored for the purpose of joining but the result preserves the grouping of x join tbl_df Join data frame tbls Description See join for a description of the general purpose of the functions Usage S3 method for class tbl_df inner_join x y by NULL copy FALSE S3 method for class tbl_df left_join x y by NULL copy FALSE S3 method for class tbl_df right_join x y by NULL copy FALSE S3 method for class tbl_df full_join x y by NULL copy FALSE join tbl_dt 31 HH S3 method for class tbl_df semi_join x y by NULL copy FALSE HH S3 method for class tbl_df anti_join x y by NULL copy FALSE Arguments x y tbls to join by a character vector of varia
44. lently dropped To preserve convert to an explicit variable See Also Other single table verbs arrange arrange_ mutate mutate_ transmute transmute_ rename rename_ select select_ slice slice_ summarise summarise_ summarize summarize_ Examples filter mtcars cyl 8 filter mtcars cyl lt 6 24 glimpse funs Create a list of functions calls Description funs provides a flexible way to generate a named list of functions for input to other functions like summarise_each Usage funs funs_ dots Arguments dots A list of functions specified by e Their name mean e The function itself mean e A call to the function with as a dummy parameter mean na rm TRUE Examples funs mean mean mean na rm TRUE Overide default names funs ml mean m2 mean m3 mean na rm TRUE If you have function names in a vector use funs_ fs lt c min max funs_ fs glimpse Get a glimpse of your data Description This is like a transposed version of print columns run down the page and data runs across This makes it possible to see every column in a data frame It s a little like str applied to a data frame but it tries to show you as much data as possible And it always shows the underlying data even when applied to a remote data source Usage glimpse tbl width getO0ption width grouped_dt 25 Arguments tbl A data table width Width of
45. me collect recent Group by Operations qa SS se ss SS sc Sales A SEE To perform operations by group create a grouped object with group_by players lt group_by batting playerID group_size players sqlite doesn t support windowed functions which means that only grouped summaries are really useful summarise players mean_g mean G best_ab max AB When you group by multiple level each summarise peels off one level per_year lt group_by batting playerID yearID stints lt summarise per_year stints max stint filter ungroup stints stints gt 3 summarise stints max stints JOINS HAAS SRS SRS SR SSR SSeS NCS Nee eS RE SCR SRC Se RS player_info lt select tbl lahman_s Master playerID birthYear hof lt select filter tbl lahman_s HallOfFame inducted Y playerID votedBy category Match players and their hall of fame data inner_join player_info hof Keep all players match hof data where available left_join player_info hof Find only players in hof semi_join player_info hof Find players not in hof anti_join player_info hof 56 summarise Arbitrary SOL 2273272209 Os ao oe nt ao es sas You can also provide sql as is using the sql function batting2008 lt tbl lahman_s sql SELECT FROM Batting WHERE YearID 2008 batting2008 End Not run src_tbls List all tbls provided by a source Description This is a ge
46. mous_manager lead lag Anti joins 35 batters without person covariates anti_join batting people End Not run lead lag Lead and lag Description Lead and lag are useful for comparing values offset by a constant e g the previous or next value Usage lead x n 1L default NA order_by NULL lag x n 1L default NA order_by NULL Arguments x n default order_by Examples lead 1 10 1 lead 1 10 2 lag 1 10 1 lead 1 10 1 x lt runif 5 cbind ahead a vector of values a postive integer of length 1 giving the number of positions to lead or lag by value used for non existant rows Defaults to NA override the default ordering to use another vector Needed for compatibility with lag generic lead x x behind lag x Use order_by if data not already ordered df lt data frame year 2000 2005 value 0 5 2 scrambled lt df sample nrow df J wrong lt mutate scrambled prev lag value arrange wrong year right lt mutate scrambled prev lag value order_by year arrange right year 36 mutate location Print the location in memory of a data frame Description This is useful for understand how and when dplyr makes copies of data frames Usage location df changes x y Arguments df a data frame x y two data frames to compare Examples location mtcars mtcars2 lt mutate
47. mponents with either another do or summarise do 19 Usage do data do_ data dots S3 method for class tbl_sql do_ data dots chunk_size 10000L Arguments data a tbl Expressions to apply to each group If named results will be stored in a new column If unnamed should return a data frame You can use to refer to the current group You can not mix named and unnamed arguments dots Used to work around non standard evaluation See vignette nse for de tails chunk_size The size of each chunk to pull into R If this number is too big the process will be slow because R has to allocate and free a lot of memory If it s too small it will be slow because of the overhead of talking to the database Value do always returns a data frame The first columns in the data frame will be the labels the others will be computed from Named arguments become list columns with one element for each group unnamed elements must be data frames and labels will be duplicated accordingly Groups are preserved for a single unnamed input This is different to summarise because do gen erally does not reduce the complexity of the data it just expresses it in a special way For multiple named inputs the output is grouped by row with rowwise This allows other verbs to work in an intuitive way Connection to plyr If you re familiar with plyr do with named arguments is basically eqvuivalent to d1p1y and d
48. mtcars cyl2 cyl 2 location mtcars2 changes mtcars mtcars changes mtcars mtcars2 mutate Add new variables Description Mutate adds new variables and preserves existing transmute drops existing variables Usage mutate data mutate_ data dots transmute data transmute_ data dots Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tbl_dt and tbl_sql Name value pairs of expressions Use NULL to drop a variable dots Used to work around non standard evaluation See vignette nse for de tails Value An object of the same class as data Data frame row names are silently dropped To preserve convert to an explicit variable See Also Other single table verbs arrange arrange_ filter filter_ rename rename_ select select_ slice slice_ summarise summarise_ summarize summarize_ Examples mutate mtcars displ_l disp 61 0237 transmute mtcars displ_l disp 61 0237 mutate mtcars cyl NULL n The number of observations in the current group Description This function is implemented special for each data source and can only be used from within summarise mutate and filter Usage nO Examples if require nycflights13 carriers lt group_by flights carrier summarise carriers n mutate carriers n n filter carriers n lt 100 38 nasa nasa NASA spatio temporal data
49. n C for local values and translated to the appropriate SQL for remote tables Usage between x left right Arguments x A numeric vector of values left right Boundary values Examples x lt rnorm 1e2 x between x 1 1 bind Efficiently bind multiple data frames by row and column Description This is an efficient implementation of the common pattern of do call rbind dfs ordo call cbind dfs for binding many data frames into one combine acts like c or unlist but uses consistent dplyr coercion rules Usage bind_rows x bind_cols x combine x Arguments eres Data frames to combine You can either supply one data frame per argument or a list of data frames in the first argument When column binding rows are matched by position not value so all data frames must have the same number of rows To match by value not position see left_join etc When row binding columns are matched by name and any values that don t match will be filled with NA 10 build_sql Value bind_rows and bind_cols always return a tbl_df Deprecated functions rbind_list and rbind_all have been deprecated Instead use bind_rows Examples one lt mtcars 1 4 two lt mtcars 11 14 You can either supply data frames as arguments bind_rows one two Or a single argument containing a list of data frames bind_rows list one two bind_rows split mtcars mtcars cyl Columns don t need
50. n descending order Usage desc x Arguments x vector to transform Examples desc 1 10 desc factor letters first_day lt seq as Date 1910 1 1 as Date 1920 1 1 years desc first_day 18 do distinct Select distinct unique rows Description Retain only unique distinct rows from an input tbl This is an efficient version of unique distinct 1s best suited for interactive use distinct_ for calling from a function Usage distinct data distinct_ data dots Arguments data a tbl Variables to use when determining uniqueness If there are multiple rows for a given combination of inputs only the first row will be preserved dots Used to work around non standard evaluation See vignette nse for de tails Examples df lt data frame x sample 10 100 rep TRUE y sample 10 100 rep TRUE nrow df nrow distinct df distinct df x distinct df y You can also use distinct on computed variables distinct df diff abs x y do Do arbitrary operations on a tbl Description This is a general purpose complement to the specialised manipulation functions filter select mutate summarise and arrange You can use do to perform arbitrary computation returning either a data frame or arbitrary objects which will be stored in a list This is particularly useful when working with models you can fit models per group with do and then flexibly extract co
51. neric method which individual src s will provide methods for Most methods will not be documented because it s usually pretty obvious what possible results will be Usage src_tbls x Arguments Xx a data src summarise Summarise multiple values to a single value Description Summarise multiple values to a single value Usage summarise data summarise_ data dots summarize data summarize_ data dots summarise 57 Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tbl_dt and tbl_sql Name value pairs of summary functions like min mean max etc dots Used to work around non standard evaluation See vignette nse for de tails Value An object of the same class as data One grouping level will be dropped Data frame row names are silently dropped To preserve convert to an explicit variable Backend variations Data frames are the only backend that supports creating a variable and using it in the same summary See examples for more details See Also Other single table verbs arrange arrange_ filter filter_ mutate mutate_ transmute transmute_ rename rename_ select select_ slice slice_ Examples summarise mtcars mean disp summarise group_by mtcars cyl mean disp summarise group_by mtcars cyl m mean disp sd sd disp With data frames you can create and immediately use summaries by_cyl lt mtcars gt
52. o with a single unnamed argument is basically equivalent to 1dp1y However instead of storing labels in a separate attribute the result is always a data frame This means that summarise applied to the result of do can act like 1dp1y Examples by_cyl lt group_by mtcars cyl do by_cyl head 2 models lt by_cyl gt do mod lm mpg disp data models summarise models rsq summary mod r squared models gt do data frame coef coef mod models gt do data frame 20 dplyr var names coef mod coef summary mod models lt by_cyl gt do mod_linear lm mpg disp data mod_quad lm mpg poly disp 2 data models compare lt models gt do aov anova mod_linear mod_quad compare gt summarise p value aov Pr gt F if require nycflights13 You can use it to do any arbitrary computation like fitting a linear tt model Let s explore how carrier departure delays vary over the time carriers lt group_by flights carrier group_size carriers mods lt do carriers mod lm arr_delay dep_time data mods gt do as data frame coef mod mods gt summarise rsq summary mod r squared Not run This longer example shows the progress bar in action by_dest lt flights gt group_by dest gt filter n gt 100 library mgcv by_dest gt do smooth gam arr_delay s dep_time month data
53. ouble Ignored Needed for compatibility with the generic Value TRUE if equal otherwise a character vector describing the first reason why they re not equal Use isTRUE if using the result in an if expression Examples scramble lt function x x sample nrow x sample ncol x By default ordering of rows and columns ignored mtcars_df lt tbl_df mtcars all equal mtcars_df scramble mtcars_df arrange But those can be overriden if desired all equal mtcars_df scramble mtcars_df ignore_col_order FALSE all equal mtcars_df scramble mtcars_df ignore_row_order FALSE arrange Arrange rows by variables Description Use desc to sort a variable in descending order Usage arrange data arrange_ data dots Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tbl_dt and tbl_sql Comma separated list of unquoted variable names Use desc to sort a variable in descending order dots Used to work around non standard evaluation See vignette nse for de tails Value An object of the same class as data Data frame row names are silently dropped To preserve convert to an explicit variable Locales Note that for local data frames the ordering is done in C code which does not have access to the local specific ordering usually done in R This means that strings are ordered as if in the C locale See Also Other single table verbs filter filter_ muta
54. quivalents e g LIKE You can use this to access SQL string concatenation is mapped to OR but is mapped to To suppress this behaviour and force errors immediately when dplyr doesn t know how to translate a function it encounters using set the dplyr strict_sql option to TRUE You can also use sql to insert a raw sq string SQLite translation The SQLite variant currently only adds one additional function a mapping from sd to the SQL aggregation function stdev Examples Regular maths is translated in a very straightforward way translate_sql x 1 translate_sql sin x tan y Logical operators are converted to their sql equivalents translate_sql x lt 5 amp y gt 5 If is translated into select case translate_sql if x gt 5 big else small Infix functions are passed onto SQL with removed translate_sql first like Had translate_sql first is NULL translate_sql first in c John Roger Robert Note that variable names will be escaped if needed translate_sql like 7 And be careful if you really want integers translate_sql x 1 translate_sql x 1L If you have an already quoted object use translate_sql_q x lt quote y 1 sin t translate_sql x translate_sql_q list x 68 Translation with data source Not run flights lt tbl nycflights13_sqlite flights Note distinction between integers and reals transla
55. ranslate_sql lead dep_time 2L tbl planes window TRUE translate_sql cumsum dep_time tbl planes window TRUE translate_sql order_by dep_time cumsum dep_time tbl planes window End Not run translate_sql TRUE Index Topic debugging failwith 22 datatable aware tb1_dt 64 CL 39 chain 11 gt chain 11 gt 12 add_rownames 3 all equal tbl_df 4 all equal tb1_dt all equal tbl_df 4 anti_join join 29 anti_join data table join tb1_dt 31 anti_join tbl_df join tb1_df 30 anti_join tbl_sql join tb1_sql 33 arrange 5 18 23 37 45 47 57 arrange_ 23 37 45 47 57 arrange_ arrange 5 as tbl tbl 60 as tbl_cube 6 61 as_data_frame 6 17 bench_compare 7 bench_tbls bench_compare 7 between 9 bind 9 bind_cols bind 9 bind_rows bind 9 build_sql 10 c 9 chain 11 chain_q chain 11 changes location 36 collapse compute 13 collect 48 51 54 collect compute 13 combine bind 9 compare_tbls bench_compare 7 compute 13 48 51 54 69 copy_to 4 14 copy_to src_sql 15 count tally 59 count_ tally 59 cumall 16 cumany cumall1 16 cume_dist ranking 41 cummean cumal1 16 data frame 6 data_frame 16 data_frame_ data_frame 16 dense_rank ranking 41 desc 5 17 41 dimnames distinct 18 distinct_ distinct 18 do 18 42 do_ do 18 dplyr 20 dplyr package dplyr 2
56. summarise per_year stints max stint filter stints stints gt 3 summarise stints max stints mutate stints cumsum stints E EE player_info lt select tbl_df Master playerID birthYear hof lt select filter tbl_df HallOfFame inducted Y playerID votedBy category Match players and their hall of fame data inner_join player_info hof Keep all players match hof data where available left_join player_info hof Find only players in hof semi_join player_info hof Find players not in hof anti_join player_info hof 64 tbl_dt tbl_dt Create a data table tbl Description A data table tbl wraps a local data table Usage tbl_dt data copy TRUE Arguments data a data table copy If the input is a data table copy it Examples if require data table ds lt tbl_dt mtcars ds as data table ds as tbl mtcars if require data table amp amp require nycflights13 flights2 lt tbl_dt flights flights2 gt filter month 1 day 1 dest DFW flights2 gt select year day flights2 gt rename Year year flights2 gt summarise delay mean arr_delay na rm TRUE n length arr_delay flights2 gt mutate gained arr_delay dep_delay gt select ends_with delay gained flights2 gt arrange dest desc arr_delay by_dest lt group_by flights2 dest filter by_dest arr_delay max arr_delay na rm TRUE
57. tbl objects only print a few rows and all the columns that fit on one screen describing the rest of it as text Usage tb1_df data Arguments data a data frame Methods tb1_df implements two important base methods print Only prints the first 10 rows and the columns that fit on screen Never simplifies drops so always returns data frame tbl_df 63 Examples ds lt tbl_df mtcars ds as data frame ds if require Lahman 88 packageVersion Lahman gt 3 0 1 batting lt tbl_df Batting dim batting colnames batting head batting Data manipulation verbs filter batting yearID gt 2005 G gt 130 select batting playerID 1gID arrange batting playerID desc yearID summarise batting G mean G n nO mutate batting rbi2 if is null AB 1 0 R AB else 0 sGroup by operations 2 29 2 F sesse season apa ee Sea pe ste 22 2222222 To perform operations by group create a grouped object with group_by players lt group_by batting playerID head group_size players 100 summarise players mean_g mean G best_ab max AB best_year lt filter players AB max AB G max G progress lt mutate players cyear yearID min yearID 1 rank desc AB cumsum AB When you group by multiple level each summarise peels off one level per_year lt group_by batting playerID yearID stints lt
58. tbl sql r tbl r top n R 2 R topics documented translate sql helpers r translate sql base r translate sql window r translate sql r type sum r utils dt R utils format r utils r view r zzz 1 NeedsCompilation yes Author Hadley Wickham aut cre Romain Francois aut RStudio cph Maintainer Hadley Wickham lt hadley rstudio com gt Repository CRAN Date Publication 2015 06 16 11 24 05 R topics documented addi zownames ca ece 464 4 6545 DRE eG eae Hebe eee bbb ew OS ee ow eS 3 all egual tbl df s p a pasran rd Bw e e Rey SSR MA et p a 4 AITAN BE e ett e E IS A AA A A 5 as iDl CUDE Li as es Sele dr da do do Boe Bad we So 6 asidata frame dd 2h a dd a id dl ia eS 6 bench compare ag taona ea t muiaa ee REE OR Ew Eee eS 7 DELWEEN zii oe RG A A oy ee BE a es BD RO ho an 9 bind e e odene 86445 R E ee E E E E RA aoe dd eb ee ed 9 DUNG ES A O eR Re ee BS Re ee YE Ae ee 10 CAM dui eae bes a wo OMS SESS es eh SEBO Ye 11 COMPU S e s cn a o Gols eee dd a Se re ed wk i 13 COPY IO ie ci okie e ek Bie o eae Stee be we SE Rte Stk a a 14 COpy t0 Stesql iaa ERM e RR ee ae ee 15 Cuma ces cme se Swe Se ee ee a ok ata a ee Go e Boe 8 16 data frame 2264 2050 220i a 442 5 Se Sh 54 ee EES 16 ESC str acts Be a E ee e ee RA ee 17 CISUNCEs 4 6 doped BESS OR a a BOR Ae A a A 18 AO wt we le hee ewe be ae ee be eee heh ba bee eh ae 18 C00 0s ca a A a e a p Eo E E S 20 EXPlal a ia rs a a a as e A 2i farlWit
59. tbl within that src my_tbl lt tbl my_db my_table End Not run Here we ll use the Lahman database to create your own local copy create a local database called lahman or tell lahman_mysql how to a database that you can write to if has_lahman postgres 88 has_lahman mysql gt lahman_m lt lahman_mysql gt Methods nnn nnn rrr rrr nnn nnn ncn sna batting lt tbl lahman_m Batting dim batting colnames batting head batting Data manipulation verbs filter batting yearID gt 2005 G gt 130 select batting playerID 1gID arrange batting playerID desc yearID summarise batting G mean G n nO mutate batting rbi2 1 0 x R AB note that all operations are lazy they don t do anything until you request the data either by print ing it which shows the first ten rows by looking at the head or collect the results locally system time recent lt filter batting yearID gt 2010 system time collect recent Group by operations gt ae ESSERE To perform operations by group create a grouped object with group_by players lt group_by batting playerID group_size players MySQL doesn t support windowed functions which means that only grouped summaries are really useful 50 src_postgres summarise players mean_g mean G best_ab max A
60. te mutate_ transmute transmute_ rename rename_ select select_ slice slice_ summarise summarise_ summarize summarize_ Examples arrange mtcars cyl disp arrange mtcars desc disp 6 as_data_frame as tbl_cube Coerce an existing data structure into a tbl_cube Description Coerce an existing data structure into a tbl_cube Usage as tbl_cube x S3 method for class array as tbl_cube x met_name deparse substitute x dim_names names dimnames x S3 method for class table as tbl_cube x met_name deparse substitute x dim_names names dimnames x S3 method for class matrix as tbl_cube x met_name deparse substitute x dim_names names dimnames x S3 method for class data frame as tbl_cube x dim_names Arguments x an object to convert Built in methods will convert arrays tables and data frames Passed on to individual methods otherwise ignored met_name a string to use as the name for the metric dim_names names of the dimesions Defaults to the names of the dimnames as_data_frame Coerce a list to a data frame Description as data frame is effectively a thin wrapper around data frame and hence is rather slow because it calls data frame on each element before cbinding together as_data_frame just verifies that the list is structured correctly i e named and each element is same length then sets class and row name attribu
61. te_sql month 1 tbl flights translate_sql month 1L tbl flights Know how to translate most simple mathematical expressions translate_sql month in 1 3 tbl flights translate_sql month gt 1L 8 month lt 3L tbl flights translate_sql month gt 1L amp month lt 3L carrier AA tbl flights Some R functions don t have equivalents will be translated to the equivalent translate_sql xor month lt 3L carrier in SQL where possible they AA tbl flights Local variables will be automatically inserted into the SQL x lt 5L translate_sql month x tbl flights By default all computation will happen in sql translate_sql month lt 1 1 source flights Use local to force local evaluation translate_sql month lt local 1 1 source flights This is also needed if you call a local function inc lt function x x 1 translate_sql month inc x source flights translate_sql month local inc x source flights Windowed translation planes lt arrange group_by flights tailnum desc DepTime planes window planes window translate_sql dep_time gt mean dep_time tbl translate_sql dep_time min dep_time tbl TRUE TRUE translate_sql rank tbl planes window TRUE translate_sql rank dep_time tbl planes window TRUE translate_sql ntile dep_time 2L tbl planes window TRUE t
62. tes bench_compare Usage as_data_frame x Arguments x A list Each element of the list must have the same length Examples 1 lt list x 1 500 y runif 500 z 500 1 df lt as_data_frame 1 Coercing to a data frame does not copy columns changes as_data_frame 1 as_data_frame 1 as_data_frame is considerably simpler faster than as data frame making it more suitable for use when you have things that are lists Not run 12 lt replicate 26 sample letters simplify FALSE names 12 lt letters microbenchmark microbenchmark as_data_frame 12 as data frame 12 End Not run bench_compare Evaluate compare benchmark operations of a set of srcs Description These functions support the comparison of results and timings across multiple sources Usage bench_tbls tbls op times 10 compare_tbls tbls op ref NULL compare equal_data_frame eval_tbls tbls op Arguments tbls A list of tbls op A function with a single argument called often with each element of tbls times For benchmarking the number of times each operation is repeated 8 bench_compare ref For checking an data frame to test results against If not supplied defaults to the results from the first src compare A function used to compare the results Defaults to equal_data_frame which ignores the order of rows and columns For compare_tbls additional parameters passed on the compare
63. text of the data frame It must return a vector of non negative numbers the same length as the input Weights are automatically standardised to sum to 1 env Environment in which to look for non data names used in weight Non default settings for experts only Examples by_cyl lt mtcars gt group_by cyl Sample fixed number per group sample_n mtcars 10 sample_n mtcars 50 replace TRUE sample_n mtcars 10 weight mpg sample_n by_cyl 3 sample_n by_cyl 10 replace TRUE sample_n by_cyl 3 weight mpg mean mpg Sample fixed fraction per group Default is to sample all data randomly resample rows sample_frac mtcars sample_frac mtcars 0 1 sample_frac mtcars 1 5 replace TRUE sample_frac mtcars 0 1 weight 1 mpg 44 select sample_frac by_cyl 0 2 sample_frac by_cyl 1 replace TRUE select Select rename variables by name Description select keeps only the variables you mention rename keeps all variables Usage select data select_ data dots rename data rename_ data dots Arguments data A tbl All main verbs are S3 generics and provide methods for tb1_df tbl_dt and tbl_sql Comma separated list of unquoted expressions You can treat variable names like they are positions Use positive values to select variables use negative values to drop variables dots Use select_ to do standard evaluation See vignette nse for details Value
64. tting head batting Data manipulation Verbs 2552 filter batting yearID gt 2005 G gt 130 select batting playerlID 1gID arrange batting playerID desc yearID summarise batting G mean G n nO mutate batting rbi2 if is null AB 1 0 R AB else 0 note that all operations are lazy they don t do anything until you tt request the data either by print ing it which shows the first ten rows by looking at the head or collect the results locally system time recent lt filter batting yearID gt 2010 system time collect recent GROUp bY Operations 5 33 2 222222 sar aa see soa sae poss To perform operations by group create a grouped object with group_by players lt group_by batting playerID group_size players summarise players mean_g mean G best_ab max AB best_year lt filter players AB max AB G max G progress lt mutate players cyear yearID min yearID 1 ab_rank rank desc AB cumulative_ab order_by yearID cumsum AB When you group by multiple level each summarise peels off one level per_year lt group_by batting playerID yearID stints lt summarise per_year stints max stint src_sqlite 53 filter stints stints gt 3 summarise stints max stints mutate stints order_by yearID cumsum stints He JOINS 29S a SoA SSS ER SS SSCS SS RS RSS eee Se ee a ces player_info lt select tbl lahman
65. ty with the generic but otherwise ignored Debugging To see exactly what SQL is being sent to the database you see show_query and explain Grouping Typically you will create a grouped data table is to call the group_by method on a mysql tbl this will take care of capturing the unevalated expressions for you For best performance the database should have an index on the variables that you are grouping by Use explain to check that the database is using the indexes that you expect Output All data manipulation on SQL tbls are lazy they will not actually run the query or retrieve the data unless you ask for it they all return a new tb1_sql object Use compute to run the query and save the results in a temporary in the database or use collect to retrieve the results to R Note that do is not lazy since it must pull the data into R It returns a tbl_df or grouped_df with one column for each grouping variable and one list column that contains the results of the operation do never simplifies its output Query principles This section attempts to lay out the principles governing the generation of SQL queries from the manipulation verbs The basic principle is that a sequence of operations should return the same value modulo class regardless of where the data is stored e arrange arrange df x y should be equivalent to arrange df y x e select select df a x n 0 should be equivalent to select df n o e mutate mutate df x2
66. y df lt data frame year 2000 2005 value 0 5 2 scrambled lt df sample nrow df J wrong lt mutate scrambled running cumsum value arrange wrong year right lt mutate scrambled running order_by year cumsum value arrange right year ranking Windowed rank functions Description Six variations on ranking functions mimicing the ranking functions described in SQL2003 They are currently implemented using the built in rank function and are provided mainly as a conve nience when converting between R and SQL All ranking functions map smallest inputs to smallest outputs Use desc to reverse the direction Usage row_number x ntile x n min_rank x dense_rank x percent_rank x cume_dist x Arguments x a vector of values to rank Missing values are left as is If you want to treat them as the smallest or largest values replace with Inf or Inf before ranking n number of groups to split up into 42 rowwise Details e row_number equivalent to rank ties method first e min_rank equivalent to rank ties method min e dense_rank like min_rank but with no gaps between ranks e percent_rank a number between 0 and 1 computed by rescaling min_rank to 0 1 e cume_dist a cumulative distribution function Proportion of all values less than or equal to the current rank e ntile a rough rank which breaks the input vector into n buckets Examples x lt c 5
67. y batting_tbl yearID sort TRUE Multiple tallys progressively role up the groups plays_by_year lt tally group_by batting_tbl playerID stint sort TRUE tally plays_by_year sort TRUE tally tally plays_by_year This looks a little nicer if you use the infix gt operator batting_tbl gt group_by playerID gt tally sort TRUE count is even more succinct it also does the grouping for you 60 tbl_cube batting_tbl gt count playerID batting_tbl gt count playerID wt G batting_tbl gt count playerID wt G sort TRUE tbl Create a table from a data source Description This is a generic method that dispatches based on the first argument Usage tbl src is tbl x as tbl x Arguments src A data source Other arguments passed on to the individual methods x an object to coerce to a tbl tbl_cube A data cube tbl Description An cube tbl stores data in a compact array format where dimension names are not needlessly re peated They are particularly appropriate for experimental data where all combinations of factors are tried e g complete factorial designs or for storing the result of aggregations Compared to data frames they will occupy much less memory when variables are crossed not nested Usage tbl_cube dimensions measures tbl_cube 61 Arguments dimensions A named list of vectors A dimension is a variable whose values are known be
Download Pdf Manuals
Related Search
Related Contents
H990 - Citizen Zanussi WDJ1015/A Use & Care Manual MANUAL TÉCNICO 3 TUBOS 2014 Untitled User Manual Technique - Union des Groupements d`Achats Publics Copyright © All rights reserved.
Failed to retrieve file