public
Description: A R package for splitting, applying and combining large problems into simpler problems
Homepage: http://had.co.nz/plyr
Clone URL: git://github.com/hadley/plyr.git
plyr / NEWS
100644 79 lines (54 sloc) 3.907 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
plyr 0.1.10 (2009-XX-X) ---------------------------------------------------
 
* scoping bug in each fixed, thanks to Yasuhisa Yoshida for the bug report
* new helper method: arrange, for reordering a data frame.
* another rewrite of rbind.fill to increase speed
* speed up rbind.fill by ~20% by using all instead of %in%
* rename internal function reduce to reduce_dim to better reflect what it does and avoid conflicts with other packages
* tweaks to splitter_d so now much faster when many combinations of the factors do not occur in the data (using ninteraction instead of interaction)
* ninteraction now preserves NAs
* leaving .fun as NULL now always returns list (thanks to Stavros Macrakis for the bug report)
 
plyr 0.1.9 (2009-06-23) ---------------------------------------------------
 
* fix bug in rbind.fill when NULLs present in list
* improve each to recognise when all elements are numeric
* fix labelling bug in d*ply when .drop = FALSE
* additional methods for quoted objects
* add summarise helper - this function is like transform, but creates a new data frame rather than reusing the old (thanks to Brendan O'Connor for the neat idea)
 
plyr 0.1.8 (2009-04-20) ---------------------------------------------------
 
* made rbind a little faster (~20%) using an idea from Richard Raubertas
* daply now works correctly when splitting variables that contain empty factor levels
 
plyr 0.1.7 (2009-04-15) ---------------------------------------------------
 
Ensure that rbind.fill copies attributes.
 
plyr 0.1.6 (2009-04-15) ---------------------------------------------------
 
Improvements:
 
* all ply functions deal more elegantly when given function names: can supply a vector of function names, and name is used as label in output
* failwith and each now work with function names as well as functions (i.e. "nrow" instead of nrow)
* each now accepts a list of functions or a vector of function names
* l*ply will use list names where present
* if .inform is TRUE, error messages will give you information about where errors within your data - hopefully this will make problems easier to track down
 
Speed-ups
 
* massive speed ups for splitting large arrays
* fixed typo that was causing a 50% speed penalty for d*ply
* rewritten rbind.fill is considerably (> 4x) faster for many data frames
* colwise about twice as fast
 
Bug fixes:
 
* daply: now works when the data frame is split by multiple variables
* aaply: now works with vectors
* ddply: first variable now varies slowest as you'd expect
 
 
plyr 0.1.5 (2009-02-23) ---------------------------------------------------
 
* colwise now accepts a quoted list as its second argument. This allows you to specify the names of columns to work on: colwise(mean, .(lat, long))
* d_ply and a_ply now correctly pass ... to the function
 
plyr 0.1.4 (2008-12-12) ---------------------------------------------------
 
 * Greatly improved speed (> 10x faster) and memory usage (50%) for splitting data frames with many combinations
 * Splitting variables containing missing values now handled consistently
 
plyr 0.1.3 (2008-11-19) ---------------------------------------------------
 
Fixed problem where when splitting by a variable that contained missing values, missing combinations would be drop, and labels wouldn't match up
 
plyr 0.1.2 (2008-11-18) ---------------------------------------------------
 
  * a*ply now works correctly with array-lists
  * drop. -> .drop
  * r*ply now works with ...
  * use inherits instead of is so method package doesn't need to be loaded
  * fix bug with using formulas
 
plyr 0.1.1 (2008-10-08) ---------------------------------------------------
 
  * argument names now start with . (instead of ending with it) - this should prevent name clashes with arguments of the called function
  * return informative error if .fun is not a function
  * use full names in all internal calls to avoid argument name clashes