Import Upstream version 2.3.0
Dirk Eddelbuettel
5 years ago
0 | 2005-12-21 01:08 warnes | |
1 | ||
2 | * src/: Makevars.win, setTCPNoDelay.c: Should now work on Windows | |
3 | ||
4 | 2005-12-20 15:25 warnes | |
0 | 2006-11-14 22:25 ggorjan | |
1 | ||
2 | * trunk/gdata/man/combine.Rd, trunk/gdata/man/frameApply.Rd, | |
3 | trunk/gmodels/R/ci.R, trunk/gmodels/R/fast.prcomp.R, | |
4 | trunk/gmodels/man/ci.Rd, trunk/gplots/R/bandplot.R, | |
5 | trunk/gplots/R/boxplot.n.R, trunk/gplots/R/lowess.R, | |
6 | trunk/gplots/R/plot.lm.R, trunk/gplots/R/plotCI.R, | |
7 | trunk/gplots/R/plotmeans.R, trunk/gplots/R/residplot.R, | |
8 | trunk/gplots/R/wapply.R, trunk/gplots/man/boxplot.n.Rd, | |
9 | trunk/gplots/man/plotCI.Rd, trunk/gplots/man/plotmeans.Rd, | |
10 | R/combinations.R, R/running.R, man/ELISA.Rd, man/combinations.Rd: | |
11 | Removed executable property | |
12 | ||
13 | 2006-08-02 22:21 warnes | |
14 | ||
15 | * trunk/BalloonPlotPaper/BalloonPlot.pdf, | |
16 | trunk/BalloonPlotPaper/BalloonPlot.tex, | |
17 | trunk/MSOfficeUtil/DESCRIPTION, | |
18 | trunk/PathwayModeling/thesispaper/slides.tex, | |
19 | trunk/RMCMC/DESCRIPTION, trunk/RMCMC/man/make.density.Rd, | |
20 | trunk/Rlsf/DESCRIPTION, trunk/Rlsf/man/lsf.numcpu.Rd, | |
21 | trunk/Rlsf/man/lsf.parRapply.Rd, trunk/Rlsf/man/scat.Rd, | |
22 | trunk/bwRF/DESCRIPTION, trunk/bwRF/man/RF.Rd, | |
23 | trunk/exp.ssize/inst/doc/ssize.pdf, | |
24 | trunk/exp.ssize/inst/doc/ssize.tex, trunk/fork/DESCRIPTION, | |
25 | trunk/fork/man/exit.Rd, trunk/fork/man/fork.Rd, | |
26 | trunk/fork/man/getpid.Rd, trunk/fork/man/kill.Rd, | |
27 | trunk/fork/man/signame.Rd, trunk/fork/man/wait.Rd, | |
28 | trunk/gdata/inst/doc/gregmisc.tex, | |
29 | trunk/gdata/man/ConvertMedUnits.Rd, | |
30 | trunk/gdata/man/aggregate.table.Rd, trunk/gdata/man/combine.Rd, | |
31 | trunk/gdata/man/interleave.Rd, trunk/gdata/man/matchcols.Rd, | |
32 | trunk/gdata/man/nobs.Rd, trunk/gdata/man/read.xls.Rd, | |
33 | trunk/gdata/man/rename.vars.Rd, trunk/gdata/man/reorder.Rd, | |
34 | trunk/gdata/man/trim.Rd, trunk/gdata/man/unmatrix.Rd, | |
35 | trunk/gdata/man/upperTriangle.Rd, | |
36 | trunk/gmodels/man/fast.prcomp.Rd, | |
37 | trunk/gmodels/man/fit.contrast.Rd, trunk/gmodels/man/glh.test.Rd, | |
38 | trunk/gmodels/man/make.contrasts.Rd, | |
39 | trunk/gplots/inst/doc/BalloonPlot.pdf, | |
40 | trunk/gplots/man/balloonplot.Rd, trunk/gplots/man/bandplot.Rd, | |
41 | trunk/gplots/man/boxplot.n.Rd, trunk/gplots/man/colorpanel.Rd, | |
42 | trunk/gplots/man/hist2d.Rd, trunk/gplots/man/ooplot.Rd, | |
43 | trunk/gplots/man/overplot.Rd, trunk/gplots/man/plot.lm2.Rd, | |
44 | trunk/gplots/man/plotCI.Rd, trunk/gplots/man/plotmeans.Rd, | |
45 | trunk/gplots/man/residplot.Rd, trunk/gplots/man/sinkplot.Rd, | |
46 | trunk/gplots/man/smartlegend.Rd, trunk/gplots/man/space.Rd, | |
47 | trunk/gplots/man/textplot.Rd, trunk/gplots/man/wapply.Rd, | |
48 | trunk/gregmisc/DESCRIPTION, | |
49 | trunk/gregmisc/gregmisc/DESCRIPTION.standalone, | |
50 | trunk/gregmisc/inst/doc/gregmisc.tex, man/addLast.Rd, | |
51 | man/assert.Rd, man/capture.Rd, man/combinations.Rd, | |
52 | man/defmacro.Rd, man/dirichlet.Rd, man/foldchange.Rd, | |
53 | man/invalid.Rd, man/logit.Rd, man/mixedsort.Rd, man/oddeven.Rd, | |
54 | man/permute.Rd, man/quantcut.Rd, man/running.Rd, man/scat.Rd, | |
55 | man/setTCPNoDelay.Rd, trunk/nws/DESCRIPTION, | |
56 | trunk/qvalue/DESCRIPTION, trunk/qvalue/man/print.qvalue.Rd, | |
57 | trunk/ssize/DESCRIPTION, trunk/ssize/man/pow.Rd: Update my email | |
58 | address | |
59 | ||
60 | 2006-05-05 18:13 nj7w | |
61 | ||
62 | * man/combinations.Rd: Fixed minor typo - in {value} - n was | |
63 | replaced by r | |
64 | ||
65 | 2006-05-05 16:55 nj7w | |
66 | ||
67 | * NAMESPACE, man/capture.Rd: Fixed minor typos | |
68 | ||
69 | 2006-03-01 19:12 warnes | |
70 | ||
71 | * R/smartbind.R: Add smartbind function | |
72 | ||
73 | 2006-01-18 16:28 warnes | |
74 | ||
75 | * man/mixedsort.Rd: Add concept tags to make mixedsort easier to | |
76 | locate. | |
77 | ||
78 | 2005-12-21 15:23 warnes | |
79 | ||
80 | * DESCRIPTION: Update version number and date | |
81 | ||
82 | 2005-12-21 06:11 warnes | |
83 | ||
84 | * NEWS: Note changes for 2.2.3 | |
85 | ||
86 | 2005-12-21 06:08 warnes | |
87 | ||
88 | * src/Makevars.win, src/setTCPNoDelay.c: Should now work on Windows | |
89 | ||
90 | 2005-12-20 20:25 warnes | |
5 | 91 | |
6 | 92 | * src/setTCPNoDelay.c: Temporary fix to allow setTCPNoDelay.c to |
7 | compile on Windows. If compiled on windows calling setTCPNoDelay | |
93 | compile on Windows. If compiled on windows calling setTCPNoDelay | |
8 | 94 | will just raise an error. |
9 | 95 | |
10 | 2005-12-14 10:48 warnes | |
96 | 2005-12-14 15:48 warnes | |
11 | 97 | |
12 | 98 | * src/setTCPNoDelay.c: Change C++ comment to standard comment |
13 | 99 | |
14 | 2005-12-13 11:19 nj7w | |
15 | ||
16 | * ChangeLog: [no log message] | |
17 | ||
18 | 2005-12-13 11:18 nj7w | |
19 | ||
20 | * NEWS: Updated NEWS and removed ChangeLog | |
21 | ||
22 | 2005-12-12 17:10 tag RELEASE_2_2_2 | |
23 | ||
24 | 2005-12-12 17:10 nj7w | |
100 | 2005-12-13 16:19 nj7w | |
101 | ||
102 | * ChangeLog: *** empty log message *** | |
103 | ||
104 | 2005-12-13 16:18 nj7w | |
105 | ||
106 | * trunk/gplots/ChangeLog, trunk/gplots/NEWS, NEWS: Updated NEWS and | |
107 | removed ChangeLog | |
108 | ||
109 | 2005-12-12 22:10 nj7w | |
25 | 110 | |
26 | 111 | * DESCRIPTION: Updated version for CRAN release |
27 | 112 | |
28 | 2005-12-08 15:21 tag RELEASE_2_2_1 | |
29 | ||
30 | 2005-12-08 15:21 warnes | |
31 | ||
32 | * src/setTCPNoDelay.c: Add C source code for setTCPNoDelay. | |
33 | ||
34 | 2005-12-01 11:50 nj7w | |
35 | ||
36 | * man/: combinations.Rd, foldchange.Rd, invalid.Rd, logit.Rd, | |
37 | mixedsort.Rd, oddeven.Rd, quantcut.Rd, running.Rd: Updated Greg's | |
38 | email address | |
39 | ||
40 | 2005-11-29 17:30 warnes | |
113 | 2005-12-08 20:21 warnes | |
114 | ||
115 | * src, src/setTCPNoDelay.c: Add C source code for setTCPNoDelay. | |
116 | ||
117 | 2005-12-01 16:54 nj7w | |
118 | ||
119 | * trunk/gmodels/man/ci.Rd, trunk/gmodels/man/coefFrame.Rd, | |
120 | trunk/gmodels/man/estimable.Rd, | |
121 | trunk/gmodels/man/fit.contrast.Rd, | |
122 | trunk/gmodels/man/make.contrasts.Rd, | |
123 | trunk/gplots/man/balloonplot.Rd, trunk/gplots/man/bandplot.Rd, | |
124 | trunk/gplots/man/boxplot.n.Rd, trunk/gplots/man/colorpanel.Rd, | |
125 | trunk/gplots/man/overplot.Rd, trunk/gplots/man/plotmeans.Rd, | |
126 | trunk/gplots/man/textplot.Rd, trunk/gplots/man/wapply.Rd, | |
127 | man/combinations.Rd, man/foldchange.Rd, man/invalid.Rd, | |
128 | man/logit.Rd, man/mixedsort.Rd, man/oddeven.Rd, man/quantcut.Rd, | |
129 | man/running.Rd: Updated Greg's email address | |
130 | ||
131 | 2005-11-29 22:30 warnes | |
41 | 132 | |
42 | 133 | * NAMESPACE: Add UseDynLib to NAMESPACE so the shared library gets |
43 | 134 | properly loaded. |
44 | 135 | |
45 | 2005-11-29 17:25 warnes | |
46 | ||
47 | * R/setTCPNoDelay.R: - Remove debugging comments - Change return | |
48 | value on success to "Success". | |
49 | ||
50 | 2005-11-22 17:54 warnes | |
136 | 2005-11-29 22:25 warnes | |
137 | ||
138 | * R/setTCPNoDelay.R: - Remove debugging comments | |
139 | - Change return value on success to "Success". | |
140 | ||
141 | 2005-11-22 22:54 warnes | |
51 | 142 | |
52 | 143 | * NAMESPACE: NAMESPACE |
53 | 144 | |
54 | 2005-11-22 17:54 warnes | |
145 | 2005-11-22 22:54 warnes | |
55 | 146 | |
56 | 147 | * NEWS: Update news for 2.2.1 release. |
57 | 148 | |
58 | 2005-11-22 17:51 warnes | |
59 | ||
60 | * man/: addLast.Rd, setTCPNoDelay.Rd: Fixes for R CMD check | |
61 | ||
62 | 2005-11-22 17:31 warnes | |
149 | 2005-11-22 22:51 warnes | |
150 | ||
151 | * man/addLast.Rd, man/setTCPNoDelay.Rd: Fixes for R CMD check | |
152 | ||
153 | 2005-11-22 22:31 warnes | |
63 | 154 | |
64 | 155 | * DESCRIPTION, NAMESPACE, R/setTCPNoDelay.R, man/setTCPNoDelay.Rd: |
65 | 156 | Add setTCPNoDelay() function and documentation |
66 | 157 | |
67 | 2005-11-22 10:46 warnes | |
158 | 2005-11-22 15:46 warnes | |
68 | 159 | |
69 | 160 | * R/addLast.R, man/addLast.Rd: New function 'addLast' that adds |
70 | functions to R's .Last() so that they will be executed when R is | |
71 | terminating. | |
72 | ||
73 | 2005-09-22 14:12 warnes | |
161 | functions to R's .Last() so that | |
162 | they will be executed when R is terminating. | |
163 | ||
164 | 2005-09-22 18:12 warnes | |
74 | 165 | |
75 | 166 | * DESCRIPTION, NAMESPACE, man/defmacro.Rd: More changes for |
76 | 167 | strmacro(), also changes for 2.1.1 release |
77 | 168 | |
78 | 2005-09-22 13:26 warnes | |
169 | 2005-09-22 17:26 warnes | |
79 | 170 | |
80 | 171 | * R/defmacro.R, R/strmacro.R, man/defmacro.Rd: Add strmaco() which |
81 | 172 | defines functions that use strings for macro definition |
82 | 173 | |
83 | 2005-09-21 14:51 warnes | |
174 | 2005-09-21 18:51 warnes | |
84 | 175 | |
85 | 176 | * DESCRIPTION, R/defmacro.R, man/defmacro.Rd: Add support for |
86 | 177 | DOTS/... arguments to defmacro |
87 | 178 | |
88 | 2005-09-12 11:44 nj7w | |
89 | ||
90 | * man/: assert.Rd, dirichlet.Rd, permute.Rd, scat.Rd: Updated | |
91 | Greg's email | |
92 | ||
93 | 2005-09-02 18:53 tag RELEASE_2_1_0 | |
94 | ||
95 | 2005-09-02 18:53 nj7w | |
179 | 2005-09-12 15:44 nj7w | |
180 | ||
181 | * trunk/gdata/man/aggregate.table.Rd, | |
182 | trunk/gdata/man/interleave.Rd, trunk/gdata/man/matchcols.Rd, | |
183 | trunk/gdata/man/nobs.Rd, trunk/gdata/man/read.xls.Rd, | |
184 | trunk/gdata/man/rename.vars.Rd, trunk/gdata/man/trim.Rd, | |
185 | trunk/gdata/man/unmatrix.Rd, trunk/gmodels/man/fast.prcomp.Rd, | |
186 | trunk/gmodels/man/glh.test.Rd, trunk/gplots/man/hist2d.Rd, | |
187 | trunk/gplots/man/ooplot.Rd, trunk/gplots/man/residplot.Rd, | |
188 | trunk/gplots/man/sinkplot.Rd, trunk/gplots/man/smartlegend.Rd, | |
189 | trunk/gplots/man/space.Rd, man/assert.Rd, man/dirichlet.Rd, | |
190 | man/permute.Rd, man/scat.Rd: Updated Greg's email | |
191 | ||
192 | 2005-09-02 22:53 nj7w | |
96 | 193 | |
97 | 194 | * NAMESPACE: Exported assert |
98 | 195 | |
99 | 2005-09-02 18:53 nj7w | |
196 | 2005-09-02 22:53 nj7w | |
100 | 197 | |
101 | 198 | * DESCRIPTION: Updated the version number |
102 | 199 | |
103 | 2005-09-02 18:52 nj7w | |
200 | 2005-09-02 22:52 nj7w | |
104 | 201 | |
105 | 202 | * NEWS: Added NEWS |
106 | 203 | |
107 | 2005-09-02 18:52 nj7w | |
204 | 2005-09-02 22:52 nj7w | |
108 | 205 | |
109 | 206 | * ChangeLog: Added ChangeLog |
110 | 207 | |
111 | 2005-09-02 18:51 nj7w | |
208 | 2005-09-02 22:51 nj7w | |
112 | 209 | |
113 | 210 | * man/assert.Rd: Fixed syntax errors |
114 | 211 | |
115 | 2005-09-02 12:43 warnes | |
212 | 2005-09-02 16:43 warnes | |
116 | 213 | |
117 | 214 | * R/assert.R, man/assert.Rd: Add assert() and documentation |
118 | 215 | |
119 | 2005-09-02 12:28 warnes | |
216 | 2005-09-02 16:28 warnes | |
120 | 217 | |
121 | 218 | * man/defmacro.Rd: Fix problem in defmacro.Rd file: don't use |
122 | 219 | \code{} in the example section. |
123 | 220 | |
124 | 2005-08-31 16:00 tag RELEASE_2_0_9 | |
125 | ||
126 | 2005-08-31 16:00 warnes | |
221 | 2005-08-31 20:00 warnes | |
127 | 222 | |
128 | 223 | * DESCRIPTION, NAMESPACE, R/defmacro.R, man/defmacro.Rd: Adding the |
129 | 224 | defmacro() function, extracted from |
130 | ||
131 | Lumley T. "Programmer's Niche: Macros in {R}", R News, 2001, | |
132 | Vol 1, | |
133 | No. 3, pp 11--13, \url{http://CRAN.R-project.org/doc/Rnews/} | |
134 | ||
135 | 2005-08-31 12:18 warnes | |
225 | ||
226 | Lumley T. "Programmer's Niche: Macros in {R}", R News, 2001, Vol | |
227 | 1, | |
228 | No. 3, pp 11--13, \url{http://CRAN.R-project.org/doc/Rnews/} | |
229 | ||
230 | 2005-08-31 16:18 warnes | |
136 | 231 | |
137 | 232 | * DESCRIPTION, DESCRIPTION.in: Add stand-alone DESCRIPTION file and |
138 | 233 | remove old DESCRIPTION.in file. |
139 | 234 | |
140 | 2005-06-13 13:08 nj7w | |
235 | 2005-06-13 17:08 nj7w | |
141 | 236 | |
142 | 237 | * R/mixedsort.R: Fixed a bug in mixedsort - check if "which.na" and |
143 | 238 | "which.blank" is numeric(0) before subsetting the datasets. |
144 | 239 | |
145 | 2005-06-09 10:20 nj7w | |
146 | ||
147 | * R/RSCompat.S, R/combinations.R, R/dirichlet.R, R/foldchange.R, | |
240 | 2005-06-09 14:20 nj7w | |
241 | ||
242 | * trunk/gdata/R/Args.R, trunk/gdata/R/aggregate.table.R, | |
243 | trunk/gdata/R/combine.R, trunk/gdata/R/elem.R, | |
244 | trunk/gdata/R/env.R, trunk/gdata/R/frameApply.R, | |
245 | trunk/gdata/R/interleave.R, trunk/gdata/R/is.what.R, | |
246 | trunk/gdata/R/keep.R, trunk/gdata/R/ll.R, | |
247 | trunk/gdata/R/matchcols.R, trunk/gdata/R/nobs.R, | |
248 | trunk/gdata/R/read.xls.R, trunk/gdata/R/rename.vars.R, | |
249 | trunk/gdata/R/reorder.R, trunk/gdata/R/trim.R, | |
250 | trunk/gdata/R/unmatrix.R, trunk/gdata/inst/perl/IO/AtomicFile.pm, | |
251 | trunk/gdata/inst/perl/IO/InnerFile.pm, | |
252 | trunk/gdata/inst/perl/IO/Lines.pm, | |
253 | trunk/gdata/inst/perl/IO/Scalar.pm, | |
254 | trunk/gdata/inst/perl/IO/Scalar.pm.html, | |
255 | trunk/gdata/inst/perl/IO/ScalarArray.pm, | |
256 | trunk/gdata/inst/perl/IO/Stringy.pm, | |
257 | trunk/gdata/inst/perl/IO/Wrap.pm, | |
258 | trunk/gdata/inst/perl/IO/WrapTie.pm, | |
259 | trunk/gdata/man/aggregate.table.Rd, trunk/gdata/man/combine.Rd, | |
260 | trunk/gdata/man/drop.levels.Rd, trunk/gdata/man/interleave.Rd, | |
261 | trunk/gdata/man/nobs.Rd, trunk/gdata/man/rename.vars.Rd, | |
262 | trunk/gdata/man/reorder.Rd, trunk/gmodels/R/ci.R, | |
263 | trunk/gmodels/R/coefFrame.R, trunk/gmodels/R/estimable.R, | |
264 | trunk/gmodels/R/fast.prcomp.R, trunk/gmodels/R/fit.contrast.R, | |
265 | trunk/gmodels/R/glh.test.R, trunk/gmodels/R/make.contrasts.R, | |
266 | trunk/gmodels/man/CrossTable.Rd, trunk/gmodels/man/ci.Rd, | |
267 | trunk/gmodels/man/coefFrame.Rd, trunk/gmodels/man/estimable.Rd, | |
268 | trunk/gmodels/man/fast.prcomp.Rd, | |
269 | trunk/gmodels/man/fit.contrast.Rd, trunk/gmodels/man/glh.test.Rd, | |
270 | trunk/gmodels/man/make.contrasts.Rd, | |
271 | trunk/gplots/R/balloonplot.R, trunk/gplots/R/bandplot.R, | |
272 | trunk/gplots/R/boxplot.n.R, trunk/gplots/R/colorpanel.R, | |
273 | trunk/gplots/R/heatmap.2.R, trunk/gplots/R/hist2d.R, | |
274 | trunk/gplots/R/lowess.R, trunk/gplots/R/ooplot.R, | |
275 | trunk/gplots/R/overplot.R, trunk/gplots/R/plotCI.R, | |
276 | trunk/gplots/R/plotmeans.R, trunk/gplots/R/qqnorm.aov.R, | |
277 | trunk/gplots/R/residplot.R, trunk/gplots/R/rich.color.R, | |
278 | trunk/gplots/R/sinkplot.R, trunk/gplots/R/smartlegend.R, | |
279 | trunk/gplots/R/space.R, trunk/gplots/R/textplot.R, | |
280 | trunk/gplots/R/wapply.R, trunk/gplots/man/1, | |
281 | trunk/gplots/man/bandplot.Rd, trunk/gplots/man/barplot2.Rd, | |
282 | trunk/gplots/man/boxplot.n.Rd, trunk/gplots/man/hist2d.Rd, | |
283 | trunk/gplots/man/lowess.Rd, trunk/gplots/man/plotCI.Rd, | |
284 | trunk/gplots/man/plotmeans.Rd, trunk/gplots/man/residplot.Rd, | |
285 | trunk/gplots/man/space.Rd, trunk/gplots/man/wapply.Rd, | |
286 | R/RSCompat.S, R/combinations.R, R/dirichlet.R, R/foldchange.R, | |
148 | 287 | R/invalid.R, R/logit.R, R/mixedsort.R, R/oddeven.R, R/permute.R, |
149 | 288 | R/quantcut.R, R/running.R, R/scat.R, man/ELISA.Rd, |
150 | 289 | man/combinations.Rd, man/dirichlet.Rd, man/foldchange.Rd, |
154 | 293 | synchronize splitting of gregmisc bundle in 4 individual |
155 | 294 | components. |
156 | 295 | |
157 | 2005-05-10 18:05 warnes | |
158 | ||
159 | * R/mixedsort.R: Fix handling of NA's in mixedorder. We were using | |
160 | a high UTF character to try to put NA's at the end of the sort | |
161 | order, but R 2.1.0 checks if characters are in the correct range. | |
162 | Instead, we explicitly force NA's to the end. | |
163 | ||
164 | 2005-04-06 20:28 warnes | |
296 | 2005-05-10 22:05 warnes | |
297 | ||
298 | * R/mixedsort.R: Fix handling of NA's in mixedorder. We were using | |
299 | a high UTF character to try | |
300 | to put NA's at the end of the sort order, but R 2.1.0 checks if | |
301 | characters | |
302 | are in the correct range. Instead, we explicitly force NA's to | |
303 | the end. | |
304 | ||
305 | 2005-04-07 00:28 warnes | |
165 | 306 | |
166 | 307 | * NAMESPACE, R/scat.R, man/scat.Rd: - Add scat() function which |
167 | writes its arguments to stderr and flushes so that output is | |
168 | immediately displayed, but only if 'getOption("DEBUG")' is | |
169 | true. | |
170 | ||
171 | 2005-04-01 23:19 tag release_2_0_5 | |
172 | ||
173 | 2005-04-01 23:19 tag release_2_0_6 | |
174 | ||
175 | 2005-04-01 23:19 warnes | |
176 | ||
177 | * NAMESPACE, R/drop.levels.R, man/drop.levels.Rd: Move | |
178 | drop.levels() from gtools to gdata. | |
179 | ||
180 | 2005-04-01 23:17 warnes | |
308 | writes its arguments to stderr and | |
309 | flushes so that output is immediately displayed, but only if | |
310 | 'getOption("DEBUG")' is true. | |
311 | ||
312 | 2005-04-02 04:19 warnes | |
313 | ||
314 | * trunk/gdata/NAMESPACE, trunk/gdata/R/drop.levels.R, | |
315 | trunk/gdata/man/drop.levels.Rd, NAMESPACE, R/drop.levels.R, | |
316 | man/drop.levels.Rd: Move drop.levels() from gtools to gdata. | |
317 | ||
318 | 2005-04-02 04:17 warnes | |
181 | 319 | |
182 | 320 | * R/mixedsort.R: Minor reordering of functions in file |
183 | 321 | |
184 | 2005-04-01 23:14 warnes | |
185 | ||
186 | * R/frameApply.R, NAMESPACE, man/frameApply.Rd: Move frameApply() | |
187 | to gdata package. | |
188 | ||
189 | 2005-04-01 22:28 warnes | |
322 | 2005-04-02 04:14 warnes | |
323 | ||
324 | * trunk/gdata/NAMESPACE, trunk/gdata/R/frameApply.R, | |
325 | trunk/gdata/man/frameApply.Rd, NAMESPACE, R/frameApply.R, | |
326 | man/frameApply.Rd: Move frameApply() to gdata package. | |
327 | ||
328 | 2005-04-02 03:28 warnes | |
190 | 329 | |
191 | 330 | * R/mixedsort.R: Fix error if only one value passed to mixedorder. |
192 | 331 | |
193 | 2005-04-01 21:37 warnes | |
194 | ||
195 | * man/quantcut.Rd, R/quantcut.R: Add proper handling where more | |
332 | 2005-04-02 02:37 warnes | |
333 | ||
334 | * R/quantcut.R, man/quantcut.Rd: Add proper handling where more | |
196 | 335 | than one quantile obtains the same value |
197 | 336 | |
198 | 2005-04-01 18:00 warnes | |
199 | ||
200 | * man/: ELISA.Rd, combinations.Rd, dirichlet.Rd, drop.levels.Rd, | |
201 | foldchange.Rd, invalid.Rd, logit.Rd, mixedsort.Rd, oddeven.Rd, | |
202 | permute.Rd, quantcut.Rd, running.Rd: Add CVS ID tag to file | |
203 | headers. | |
204 | ||
205 | 2005-04-01 18:00 warnes | |
337 | 2005-04-01 23:00 warnes | |
338 | ||
339 | * man/ELISA.Rd, man/combinations.Rd, man/dirichlet.Rd, | |
340 | man/drop.levels.Rd, man/foldchange.Rd, man/invalid.Rd, | |
341 | man/logit.Rd, man/mixedsort.Rd, man/oddeven.Rd, man/permute.Rd, | |
342 | man/quantcut.Rd, man/running.Rd: Add CVS ID tag to file headers. | |
343 | ||
344 | 2005-04-01 23:00 warnes | |
206 | 345 | |
207 | 346 | * R/frameApply.R, man/frameApply.Rd: Fixes from Jim Rogers for R |
208 | 347 | CMD check problems in frameApply |
209 | 348 | |
210 | 2005-03-31 14:02 warnes | |
349 | 2005-03-31 19:03 warnes | |
211 | 350 | |
212 | 351 | * R/drop.levels.R, R/frameApply.R, man/drop.levels.Rd, |
213 | 352 | man/frameApply.Rd: Updates to drop.levels() and frameApply() from |
214 | 353 | Jim Rogers |
215 | 354 | |
216 | 2005-03-31 14:01 warnes | |
217 | ||
218 | * man/ELISA.Rd, data/ELISA.rda: Add ELISA data set used by | |
355 | 2005-03-31 19:01 warnes | |
356 | ||
357 | * data, data/ELISA.rda, man/ELISA.Rd: Add ELISA data set used by | |
219 | 358 | frameApply and drop.levels examples |
220 | 359 | |
221 | 2005-02-25 18:02 warnes | |
360 | 2005-02-25 23:02 warnes | |
222 | 361 | |
223 | 362 | * man/frameApply.Rd: Replace 'T' with TRUE. |
224 | 363 | |
225 | 2005-02-25 17:54 warnes | |
364 | 2005-02-25 22:54 warnes | |
226 | 365 | |
227 | 366 | * man/frameApply.Rd: Remove dependency on ELISA data set for the |
228 | 367 | example. |
229 | 368 | |
230 | 2005-02-25 16:00 warnes | |
231 | ||
232 | * NAMESPACE: Add drop.levels, frameApply to namespace export. | |
233 | ||
234 | 2005-02-14 19:40 warnes | |
369 | 2005-02-25 21:00 warnes | |
370 | ||
371 | * trunk/gregmisc/.tnatr:fnmap, trunk/gregmisc/DESCRIPTION, | |
372 | NAMESPACE: Add drop.levels, frameApply to namespace export. | |
373 | ||
374 | 2005-02-15 00:41 warnes | |
235 | 375 | |
236 | 376 | * R/drop.levels.R, R/frameApply.R, man/drop.levels.Rd, |
237 | 377 | man/frameApply.Rd: Add frameApply and drop.levels contributed by |
238 | 378 | Jim Rogers. |
239 | 379 | |
240 | 2005-01-12 15:50 warnes | |
241 | ||
242 | * DESCRIPTION.in: Add dependency on R 1.9.0+ to prevent poeple from | |
243 | installing on old versions of R which don't support namespaces. | |
244 | ||
245 | 2004-09-27 17:01 tag rel_2_0_0 | |
246 | ||
247 | 2004-09-27 17:01 warneg | |
248 | ||
249 | * DESCRIPTION, DESCRIPTION.in, man/running.Rd: Updated to pass R | |
380 | 2005-01-12 20:50 warnes | |
381 | ||
382 | * trunk/gdata/DESCRIPTION.in, trunk/gmodels/DESCRIPTION.in, | |
383 | trunk/gplots/DESCRIPTION.in, DESCRIPTION.in: Add dependency on R | |
384 | 1.9.0+ to prevent poeple from installing on old | |
385 | versions of R which don't support namespaces. | |
386 | ||
387 | 2004-09-27 21:01 warneg | |
388 | ||
389 | * trunk/gdata/DESCRIPTION, trunk/gdata/DESCRIPTION.in, | |
390 | trunk/gdata/NAMESPACE, trunk/gdata/man/.Rhistory, | |
391 | trunk/gmodels/DESCRIPTION, trunk/gmodels/DESCRIPTION.in, | |
392 | trunk/gplots/DESCRIPTION, trunk/gplots/DESCRIPTION.in, | |
393 | trunk/gplots/man/sinkplot.Rd, trunk/gplots/man/textplot.Rd, | |
394 | trunk/gregmisc/.Rhistory, trunk/gregmisc/DESCRIPTION, | |
395 | DESCRIPTION, DESCRIPTION.in, man/running.Rd: Updated to pass R | |
250 | 396 | CMD check. |
251 | 397 | |
252 | 2004-09-03 13:27 warneg | |
253 | ||
254 | * DESCRIPTION, NAMESPACE, R/dirichlet.R, R/foldchange.R, | |
255 | R/invalid.R, R/mixedsort.R, R/oddeven.R, R/permute.R, | |
256 | R/quantcut.R, R/running.R, man/running.Rd: initial bundle checkin | |
257 | ||
258 | 2004-09-02 13:14 tag initial | |
259 | ||
260 | 2004-09-02 13:14 warneg | |
261 | ||
262 | * DESCRIPTION, DESCRIPTION.in, NAMESPACE: Initial revision | |
263 | ||
264 | 2004-09-02 13:14 warneg | |
265 | ||
266 | * DESCRIPTION, DESCRIPTION.in, NAMESPACE: [no log message] | |
267 | ||
268 | 2004-08-27 17:57 warnes | |
269 | ||
270 | * R/mixedsort.R, man/mixedsort.Rd: Fixed bug in mixedsort, and | |
398 | 2004-09-03 17:27 warneg | |
399 | ||
400 | * trunk/gdata/DESCRIPTION, trunk/gdata/DESCRIPTION.in, | |
401 | trunk/gdata/NAMESPACE, trunk/gdata/R/Args.R, | |
402 | trunk/gdata/R/aggregate.table.R, trunk/gdata/R/combine.R, | |
403 | trunk/gdata/R/elem.R, trunk/gdata/R/env.R, | |
404 | trunk/gdata/R/interleave.R, trunk/gdata/R/is.what.R, | |
405 | trunk/gdata/R/keep.R, trunk/gdata/R/ll.R, | |
406 | trunk/gdata/R/matchcols.R, trunk/gdata/R/nobs.R, | |
407 | trunk/gdata/R/read.xls.R, trunk/gdata/R/rename.vars.R, | |
408 | trunk/gdata/R/reorder.R, trunk/gdata/R/trim.R, | |
409 | trunk/gdata/man/reorder.Rd, trunk/gmodels/DESCRIPTION, | |
410 | trunk/gmodels/NAMESPACE, trunk/gmodels/R/CrossTable.R, | |
411 | trunk/gmodels/R/ci.R, trunk/gmodels/R/estimable.R, | |
412 | trunk/gmodels/R/fast.prcomp.R, trunk/gmodels/R/fit.contrast.R, | |
413 | trunk/gmodels/R/glh.test.R, trunk/gmodels/R/make.contrasts.R, | |
414 | trunk/gmodels/man/estimable.Rd, | |
415 | trunk/gmodels/man/fit.contrast.Rd, trunk/gmodels/man/glh.test.Rd, | |
416 | trunk/gmodels/man/make.contrasts.Rd, trunk/gplots/DESCRIPTION, | |
417 | trunk/gplots/NAMESPACE, trunk/gplots/R/balloonplot.R, | |
418 | trunk/gplots/R/bandplot.R, trunk/gplots/R/barplot2.R, | |
419 | trunk/gplots/R/boxplot.n.R, trunk/gplots/R/colorpanel.R, | |
420 | trunk/gplots/R/heatmap.2.R, trunk/gplots/R/hist2d.R, | |
421 | trunk/gplots/R/lowess.R, trunk/gplots/R/ooplot.R, | |
422 | trunk/gplots/R/overplot.R, trunk/gplots/R/plotCI.R, | |
423 | trunk/gplots/R/plotmeans.R, trunk/gplots/R/qqnorm.aov.R, | |
424 | trunk/gplots/R/residplot.R, trunk/gplots/R/rich.color.R, | |
425 | trunk/gplots/R/sinkplot.R, trunk/gplots/R/smartlegend.R, | |
426 | trunk/gplots/R/space.R, trunk/gplots/R/textplot.R, | |
427 | trunk/gplots/R/wapply.R, DESCRIPTION, NAMESPACE, R/dirichlet.R, | |
428 | R/foldchange.R, R/invalid.R, R/mixedsort.R, R/oddeven.R, | |
429 | R/permute.R, R/quantcut.R, R/running.R, man/running.Rd: initial | |
430 | bundle checkin | |
431 | ||
432 | 2004-09-02 17:14 warneg | |
433 | ||
434 | * trunk/gdata/DESCRIPTION, trunk/gdata/DESCRIPTION.in, | |
435 | trunk/gdata/NAMESPACE, trunk/gdata/man/.Rhistory, | |
436 | trunk/gmodels/DESCRIPTION, trunk/gmodels/DESCRIPTION.in, | |
437 | trunk/gmodels/NAMESPACE, trunk/gplots/DESCRIPTION, | |
438 | trunk/gplots/DESCRIPTION.in, trunk/gplots/NAMESPACE, | |
439 | trunk/gplots/man/1, trunk/gplots/man/residplot.Rd, | |
440 | trunk/gregmisc/.Rhistory, DESCRIPTION, DESCRIPTION.in, NAMESPACE: | |
441 | Initial revision | |
442 | ||
443 | 2004-08-27 21:57 warnes | |
444 | ||
445 | * trunk/gdata/R/reorder.R, trunk/gdata/man/reorder.Rd, | |
446 | R/mixedsort.R, man/mixedsort.Rd: Fixed bug in mixedsort, and | |
271 | 447 | modified reorder.factor to use mixedsort. |
272 | 448 | |
273 | 2004-08-26 16:08 warnes | |
274 | ||
275 | * R/mixedsort.R: - Fix bug pointed out by Jim Rogers. - Use a more | |
276 | distictive internal separator: $@$ instead of just $ - | |
277 | Capitalization is now irrelevent for search order (unlike ASCII). | |
278 | ||
279 | 2004-06-08 11:49 warnes | |
449 | 2004-08-26 20:08 warnes | |
450 | ||
451 | * R/mixedsort.R: - Fix bug pointed out by Jim Rogers. | |
452 | - Use a more distictive internal separator: $@$ instead of just $ | |
453 | - Capitalization is now irrelevent for search order (unlike | |
454 | ASCII). | |
455 | ||
456 | 2004-06-08 15:49 warnes | |
280 | 457 | |
281 | 458 | * R/running.R, man/running.Rd: Nitin Jain added by= parameter to |
282 | 459 | allow specifying separation between groups. |
283 | 460 | |
284 | 2004-05-26 09:40 tag rel_1_11_0 | |
285 | ||
286 | 2004-05-26 09:40 tag rel_1_11_1 | |
287 | ||
288 | 2004-05-26 09:40 tag rel_1_11_2 | |
289 | ||
290 | 2004-05-26 09:40 warnes | |
291 | ||
292 | * man/combinations.Rd: Escape underscores in email addresses so | |
293 | Latex is happy. | |
294 | ||
295 | 2004-05-26 09:18 warnes | |
461 | 2004-05-26 13:40 warnes | |
462 | ||
463 | * trunk/gdata/man/read.xls.Rd, man/combinations.Rd: Escape | |
464 | underscores in email addresses so Latex is happy. | |
465 | ||
466 | 2004-05-26 13:18 warnes | |
296 | 467 | |
297 | 468 | * R/combinations.R: Replace 'T' with 'TRUE' to pass R CMD check. |
298 | 469 | |
299 | 2004-05-25 13:11 warnes | |
470 | 2004-05-25 17:11 warnes | |
300 | 471 | |
301 | 472 | * R/combinations.R: Remove extraneous comments. |
302 | 473 | |
303 | 2004-05-25 13:08 warnes | |
474 | 2004-05-25 17:08 warnes | |
304 | 475 | |
305 | 476 | * R/combinations.R: Fix an error in the code when using |
306 | repeats.allow=T and r>2. Bug report and fix both due to | |
307 | Elizabeth Purdom <epurdom@stanford.edu>. | |
308 | ||
309 | 2004-05-24 13:36 warnes | |
477 | repeats.allow=T and r>2. Bug | |
478 | report and fix both due to Elizabeth Purdom | |
479 | <epurdom@stanford.edu>. | |
480 | ||
481 | 2004-05-24 17:36 warnes | |
310 | 482 | |
311 | 483 | * R/invalid.R: Check if argument is a vector before doing is.na to |
312 | 484 | avoid generating a warning. |
313 | 485 | |
314 | 2004-05-24 13:17 warnes | |
486 | 2004-05-24 17:17 warnes | |
315 | 487 | |
316 | 488 | * R/invalid.R, man/invalid.Rd: Add invalid() function for testing |
317 | if a parameter value is non-missing, non-NA, non-NULL. | |
318 | ||
319 | 2004-04-27 10:33 warnes | |
489 | if a parameter value is non-missing, non-NA, | |
490 | non-NULL. | |
491 | ||
492 | 2004-04-27 14:33 warnes | |
320 | 493 | |
321 | 494 | * R/running.R, man/running.Rd: Replaced argument `as.list' with |
322 | `simplify'. Updated documentation, and updated examples | |
323 | appropriately. | |
324 | ||
325 | 2004-04-26 12:37 warnes | |
495 | `simplify'. Updated documentation, | |
496 | and updated examples appropriately. | |
497 | ||
498 | 2004-04-26 16:37 warnes | |
326 | 499 | |
327 | 500 | * R/running.R, man/running.Rd: Added as.list argument to return one |
328 | 501 | list element per evaluation. |
329 | 502 | |
330 | 2004-03-26 17:21 tag gregmisc_0_10_2 | |
331 | ||
332 | 2004-03-26 17:21 warnes | |
503 | 2004-03-26 22:21 warnes | |
333 | 504 | |
334 | 505 | * man/combinations.Rd: Uncomment and fix large 'n' example. |
335 | 506 | |
336 | 2004-03-26 17:19 warnes | |
337 | ||
338 | * man/running.Rd: - Update to match changes in running() - Add | |
339 | examples to illustrate new arguments. - Modify running | |
340 | correlation plot example to be more clear. | |
341 | ||
342 | 2004-03-26 17:12 warnes | |
507 | 2004-03-26 22:19 warnes | |
508 | ||
509 | * man/running.Rd: - Update to match changes in running() | |
510 | - Add examples to illustrate new arguments. | |
511 | - Modify running correlation plot example to be more clear. | |
512 | ||
513 | 2004-03-26 22:12 warnes | |
343 | 514 | |
344 | 515 | * R/running.R: More of the same. |
345 | 516 | |
346 | 2004-03-26 10:34 warnes | |
517 | 2004-03-26 15:34 warnes | |
347 | 518 | |
348 | 519 | * R/running.R: Fix bug discovered by Sean Davis |
349 | <sdavis2@mail.nih.gov>. The running function took an improper | |
350 | shortcut. When allow.fewer=FALSE it was still passing shorter | |
351 | lists of elements to the called function, and then overwriting | |
352 | the results for the shorter lists with NAs. The code now skips | |
353 | evaluation of the function on lists shorter than the specified | |
354 | length when allow.fewer=FALSE. | |
355 | ||
356 | 2004-01-20 23:31 tag gregmisc_0_8_9 | |
357 | ||
358 | 2004-01-20 23:31 tag rel_0_8_8 | |
359 | ||
360 | 2004-01-20 23:31 warnes | |
361 | ||
362 | * R/capture.R: - Mark sprint() as depreciated. - Replace | |
363 | references to sprint with capture.output() - Use match.arg for | |
364 | halign and valign arguments to textplot.default. - Fix | |
365 | textplot.character so that a vector of characters is properly | |
520 | <sdavis2@mail.nih.gov>. The running | |
521 | function took an improper shortcut. When allow.fewer=FALSE it was | |
522 | still passing shorter lists of elements to the called function, | |
523 | and | |
524 | then overwriting the results for the shorter lists with NAs. The | |
525 | code | |
526 | now skips evaluation of the function on lists shorter than the | |
527 | specified length when allow.fewer=FALSE. | |
528 | ||
529 | 2004-01-21 04:31 warnes | |
530 | ||
531 | * trunk/gplots/R/textplot.R, R/capture.R: - Mark sprint() as | |
532 | depreciated. | |
533 | - Replace references to sprint with capture.output() | |
534 | - Use match.arg for halign and valign arguments to | |
535 | textplot.default. | |
536 | - Fix textplot.character so that a vector of characters is | |
537 | properly | |
366 | 538 | displayed. Previouslt, character vectors were plotted on top of |
367 | each other. | |
368 | ||
369 | 2003-12-02 21:46 tag rel_0_8_5 | |
370 | ||
371 | 2003-12-02 21:46 tag rel_0_8_7 | |
372 | ||
373 | 2003-12-02 21:46 warnes | |
374 | ||
375 | * man/foldchange.Rd: - match function argument defaults with | |
376 | 'usage' | |
377 | ||
378 | 2003-11-21 18:00 warnes | |
379 | ||
380 | * man/foldchange.Rd: | |
381 | Removed 'deqn' call that was confusing things. | |
382 | ||
383 | 2003-11-21 15:54 warnes | |
539 | each | |
540 | other. | |
541 | ||
542 | 2003-12-03 02:46 warnes | |
543 | ||
544 | * trunk/gdata/man/elem.Rd, trunk/gdata/man/ll.Rd, | |
545 | trunk/gplots/man/lowess.Rd, trunk/gplots/man/textplot.Rd, | |
546 | trunk/gplots/man/wapply.Rd, man/foldchange.Rd: - match function | |
547 | argument defaults with 'usage' | |
548 | ||
549 | 2003-11-21 23:00 warnes | |
550 | ||
551 | * man/foldchange.Rd: Removed 'deqn' call that was confusing things. | |
552 | ||
553 | 2003-11-21 20:54 warnes | |
384 | 554 | |
385 | 555 | * man/logit.Rd: Add email address to author field |
386 | 556 | |
387 | 2003-11-21 15:35 warnes | |
388 | ||
389 | * R/foldchange.R, man/foldchange.Rd: | |
390 | - new files | |
391 | ||
392 | 2003-11-21 14:54 warnes | |
393 | ||
394 | * R/mixedsort.R, man/mixedsort.Rd: | |
395 | - Change 'T' to 'TRUE' in mixedsort.R - Add missing brace in | |
396 | mixedsort.Rd | |
397 | ||
398 | 2003-11-20 10:56 warnes | |
399 | ||
400 | * R/oddeven.R, man/oddeven.Rd: | |
401 | - Move 'odd' and 'even' functions to a separate file & provide | |
402 | documentation | |
403 | ||
404 | 2003-11-18 17:47 warnes | |
405 | ||
406 | * R/mixedsort.R, man/mixedsort.Rd: | |
407 | - Renamed smartsort to mixedsort and added documentation. | |
408 | ||
409 | 2003-11-10 17:11 warnes | |
410 | ||
411 | * R/capture.R, man/capture.Rd: | |
412 | - Add files contributed by Arni Magnusson | |
557 | 2003-11-21 20:35 warnes | |
558 | ||
559 | * R/foldchange.R, man/foldchange.Rd: - new files | |
560 | ||
561 | 2003-11-21 19:54 warnes | |
562 | ||
563 | * R/mixedsort.R, man/mixedsort.Rd: - Change 'T' to 'TRUE' in | |
564 | mixedsort.R | |
565 | - Add missing brace in mixedsort.Rd | |
566 | ||
567 | 2003-11-20 15:56 warnes | |
568 | ||
569 | * R/oddeven.R, man/oddeven.Rd: - Move 'odd' and 'even' functions to | |
570 | a separate file & provide documentation | |
571 | ||
572 | 2003-11-18 22:47 warnes | |
573 | ||
574 | * R/mixedsort.R, man/mixedsort.Rd: - Renamed smartsort to mixedsort | |
575 | and added documentation. | |
576 | ||
577 | 2003-11-10 22:11 warnes | |
578 | ||
579 | * trunk/gdata/R/elem.R, trunk/gdata/R/env.R, | |
580 | trunk/gdata/R/is.what.R, trunk/gdata/R/keep.R, | |
581 | trunk/gdata/R/ll.R, trunk/gdata/man/elem.Rd, | |
582 | trunk/gdata/man/env.Rd, trunk/gdata/man/is.what.Rd, | |
583 | trunk/gdata/man/keep.Rd, trunk/gdata/man/ll.Rd, | |
584 | trunk/gplots/R/heatmap.2.R, trunk/gplots/R/overplot.R, | |
585 | trunk/gplots/R/plotmeans.R, trunk/gplots/R/space.R, | |
586 | trunk/gplots/R/wapply.R, trunk/gregmisc/DESCRIPTION, R/capture.R, | |
587 | man/capture.Rd: - Add files contributed by Arni Magnusson | |
413 | 588 | <arnima@u.washington.edu>. As well as some of my own. |
414 | 589 | |
415 | 2003-05-23 14:14 warnes | |
416 | ||
417 | * R/logit.R, man/logit.Rd: | |
418 | - library() backported from 1.7-devel. This version of the | |
419 | function adds the "pos=" argument to specify where in the | |
420 | search path the library should be placed. | |
421 | ||
590 | 2003-05-23 18:14 warnes | |
591 | ||
592 | * trunk/gdata/R/matchcols.R, trunk/gdata/man/matchcols.Rd, | |
593 | R/logit.R, man/logit.Rd: - library() backported from 1.7-devel. | |
594 | This version of the function | |
595 | adds the "pos=" argument to specify where in the search path the | |
596 | library should be placed. | |
597 | ||
422 | 598 | - updated .First.lib to use library(...pos=3) for MASS to avoid |
423 | the 'genotype' data set in MASS from masking the genotype | |
424 | funciton in genetics when it loads gregmisc | |
425 | ||
599 | the | |
600 | 'genotype' data set in MASS from masking the genotype funciton in | |
601 | genetics when it loads gregmisc | |
602 | ||
426 | 603 | - Added logit() inv.logit() matchcols() function and |
427 | 604 | corresponding docs |
428 | 605 | |
429 | 2003-04-22 12:00 tag rel_0_8_4 | |
430 | ||
431 | 2003-04-22 12:00 warnes | |
606 | 2003-04-22 16:00 warnes | |
432 | 607 | |
433 | 608 | * man/combinations.Rd: - Fixed tpyo in example that allowed |
434 | combinations(500,2) to run when it should have been ignred for | |
435 | testing.. | |
436 | ||
437 | 2003-04-10 12:22 warnes | |
438 | ||
439 | * man/combinations.Rd: | |
440 | - Added note about the need to increase options("expressions") to | |
441 | use large values for 'n'. Prompted by bug report from Huan | |
442 | Huang <huan.huang@bnpparibas.com | |
443 | ||
444 | 2003-04-04 08:58 tag rel_0_8_3 | |
445 | ||
446 | 2003-04-04 08:58 warnes | |
447 | ||
448 | * R/RSCompat.S: | |
449 | - Replace 'T' with 'TRUE' | |
450 | ||
451 | 2003-04-04 08:49 warnes | |
452 | ||
453 | * R/dirichlet.R: | |
454 | - Change occurences of 'T' to 'TRUE' | |
455 | ||
456 | 2003-04-04 08:46 warnes | |
457 | ||
458 | * man/capture.Rd: | |
459 | - Allow optional arguments to sprint to be passed to print - Fix | |
460 | R CMD check errors | |
461 | ||
462 | 2003-04-04 08:45 warnes | |
463 | ||
464 | * R/capture.R: | |
465 | - Allow optional arguments to sprint to be passed to print | |
466 | ||
467 | 2003-04-03 08:20 warnes | |
468 | ||
469 | * man/capture.Rd: | |
470 | - Had mistyped 'sprint' as 'sprintf'. | |
471 | ||
472 | 2003-04-03 08:18 warnes | |
609 | combinations(500,2) to run when | |
610 | it should have been ignred for testing.. | |
611 | ||
612 | 2003-04-10 16:22 warnes | |
613 | ||
614 | * man/combinations.Rd: - Added note about the need to increase | |
615 | options("expressions") to use | |
616 | large values for 'n'. Prompted by bug report from Huan Huang | |
617 | <huan.huang@bnpparibas.com | |
618 | ||
619 | 2003-04-04 13:58 warnes | |
620 | ||
621 | * R/RSCompat.S: - Replace 'T' with 'TRUE' | |
622 | ||
623 | 2003-04-04 13:49 warnes | |
624 | ||
625 | * trunk/gplots/R/balloonplot.R, trunk/gplots/man/qqnorm.aov.Rd, | |
626 | R/dirichlet.R: - Change occurences of 'T' to 'TRUE' | |
627 | ||
628 | 2003-04-04 13:46 warnes | |
629 | ||
630 | * man/capture.Rd: - Allow optional arguments to sprint to be passed | |
631 | to print | |
632 | - Fix R CMD check errors | |
633 | ||
634 | 2003-04-04 13:45 warnes | |
635 | ||
636 | * R/capture.R: - Allow optional arguments to sprint to be passed to | |
637 | ||
638 | ||
639 | 2003-04-03 13:20 warnes | |
640 | ||
641 | * man/capture.Rd: - Had mistyped 'sprint' as 'sprintf'. | |
642 | ||
643 | 2003-04-03 13:18 warnes | |
473 | 644 | |
474 | 645 | * man/capture.Rd: - Add help file for capture and sprintf. |
475 | 646 | |
476 | 2003-04-02 17:28 warnes | |
477 | ||
478 | * R/capture.R: | |
479 | - Added file 'capture.R' containing capture() and sprint(). | |
480 | ||
481 | 2003-03-07 10:48 tag rel_0_8_2 | |
482 | ||
483 | 2003-03-07 10:48 warnes | |
484 | ||
485 | * R/RSCompat.S: | |
486 | - Minor changes to code to allow the package to be provided as an | |
647 | 2003-04-02 22:28 warnes | |
648 | ||
649 | * R/capture.R: - Added file 'capture.R' containing capture() and | |
650 | sprint(). | |
651 | ||
652 | 2003-03-07 15:48 warnes | |
653 | ||
654 | * trunk/gmodels/R/fast.prcomp.R, trunk/gplots/R/hist2d.R, | |
655 | trunk/gplots/R/qqnorm.aov.R, trunk/gregmisc/DESCRIPTION, | |
656 | R/RSCompat.S: - Minor changes to code to allow the package to be | |
657 | provided as an | |
487 | 658 | S-Plus chapter. |
488 | 659 | |
489 | 2003-01-30 16:56 tag rel_0_8_0 | |
490 | ||
491 | 2003-01-30 16:56 warnes | |
660 | 2003-01-30 21:56 warnes | |
492 | 661 | |
493 | 662 | * man/running.Rd: - Fixed typo in email address. |
494 | 663 | |
495 | 2003-01-02 10:42 tag rel_0_7_5 | |
496 | ||
497 | 2003-01-02 10:42 warnes | |
664 | 2003-01-02 15:42 warnes | |
498 | 665 | |
499 | 666 | * R/RSCompat.S: - Add nlevels function. |
500 | 667 | |
501 | 2002-10-11 14:22 tag rel_0_7_2 | |
502 | ||
503 | 2002-10-11 14:22 tag rel_0_7_3 | |
504 | ||
505 | 2002-10-11 14:22 warnes | |
506 | ||
507 | * R/permute.R, man/permute.Rd: | |
508 | - Add permute() function (wraper for sample) and man page | |
509 | ||
510 | 2002-10-11 14:21 warnes | |
511 | ||
512 | * man/dirichlet.Rd: | |
513 | - Escaped underscores in my email address that was causing a | |
514 | parse error in the {r,p}dirichlet man page. | |
515 | ||
516 | 2002-09-30 16:43 warnes | |
517 | ||
518 | * R/dirichlet.R, man/dirichlet.Rd: | |
519 | - Added rdirichlet() and ddirichlet() with accompaning help page | |
520 | and tests. | |
521 | ||
522 | 2002-09-24 10:57 tag rel_0_7_0 | |
523 | ||
524 | 2002-09-24 10:57 warnes | |
525 | ||
526 | * R/running.R: | |
527 | - Fixed error where running was always calling running2 with | |
668 | 2002-10-11 18:22 warnes | |
669 | ||
670 | * R/permute.R, man/permute.Rd: - Add permute() function (wraper for | |
671 | sample) and man page | |
672 | ||
673 | 2002-10-11 18:21 warnes | |
674 | ||
675 | * man/dirichlet.Rd: - Escaped underscores in my email address that | |
676 | was causing a parse | |
677 | error in the {r,p}dirichlet man page. | |
678 | ||
679 | 2002-09-30 20:43 warnes | |
680 | ||
681 | * R/dirichlet.R, man/dirichlet.Rd: - Added rdirichlet() and | |
682 | ddirichlet() with accompaning help page and tests. | |
683 | ||
684 | 2002-09-24 14:57 warnes | |
685 | ||
686 | * R/running.R: - Fixed error where running was always calling | |
687 | running2 with | |
528 | 688 | 'fun=mean', ignoring the specified funtion. |
529 | 689 | |
530 | 2002-09-23 09:59 tag rel_0_6_0 | |
531 | ||
532 | 2002-09-23 09:59 warnes | |
533 | ||
534 | * man/: combinations.Rd, quantcut.Rd: - Modified all files to | |
690 | 2002-09-23 13:59 warnes | |
691 | ||
692 | * trunk/gdata/R/aggregate.table.R, trunk/gdata/R/combine.R, | |
693 | trunk/gdata/R/interleave.R, trunk/gdata/R/nobs.R, | |
694 | trunk/gdata/man/aggregate.table.Rd, trunk/gdata/man/combine.Rd, | |
695 | trunk/gdata/man/interleave.Rd, trunk/gdata/man/nobs.Rd, | |
696 | trunk/gdata/man/rename.vars.Rd, trunk/gdata/man/reorder.Rd, | |
697 | trunk/gmodels/R/ci.R, trunk/gmodels/man/estimable.Rd, | |
698 | trunk/gmodels/man/glh.test.Rd, trunk/gplots/R/boxplot.n.R, | |
699 | trunk/gplots/R/hist2d.R, trunk/gplots/R/lowess.R, | |
700 | trunk/gplots/R/residplot.R, trunk/gplots/man/bandplot.Rd, | |
701 | trunk/gplots/man/hist2d.Rd, trunk/gplots/man/lowess.Rd, | |
702 | trunk/gplots/man/plotCI.Rd, trunk/gplots/man/space.Rd, | |
703 | man/combinations.Rd, man/quantcut.Rd: - Modified all files to | |
535 | 704 | include CVS Id and Log tags. |
536 | 705 | |
537 | 2002-09-23 09:38 warnes | |
538 | ||
539 | * R/combinations.R: | |
540 | - Added CrossTable() and barplot2() code and docs contributed by | |
541 | Marc Schwartz. - Permit combinations() to be used when r>n | |
542 | provided repeat.allowed=TRUE - Bumped up version number | |
543 | ||
544 | 2002-08-01 15:37 tag rel_0_5_5 | |
545 | ||
546 | 2002-08-01 15:37 warnes | |
547 | ||
548 | * R/running.R: | |
549 | - Corrected documentation mismatch for ci, ci.default. | |
550 | ||
706 | 2002-09-23 13:38 warnes | |
707 | ||
708 | * trunk/gmodels/R/CrossTable.R, trunk/gmodels/man/CrossTable.Rd, | |
709 | trunk/gplots/R/barplot2.R, trunk/gplots/man/barplot2.Rd, | |
710 | trunk/gregmisc/DESCRIPTION, R/combinations.R: - Added | |
711 | CrossTable() and barplot2() code and docs contributed by Marc | |
712 | Schwartz. | |
713 | - Permit combinations() to be used when r>n provided | |
714 | repeat.allowed=TRUE | |
715 | - Bumped up version number | |
716 | ||
717 | 2002-08-01 19:37 warnes | |
718 | ||
719 | * trunk/gmodels/R/ci.R, trunk/gmodels/man/ci.Rd, | |
720 | trunk/gmodels/man/estimable.Rd, trunk/gmodels/man/glh.test.Rd, | |
721 | trunk/gplots/R/hist2d.R, trunk/gplots/R/wapply.R, | |
722 | trunk/gregmisc/DESCRIPTION, R/running.R: - Corrected | |
723 | documentation mismatch for ci, ci.default. | |
724 | ||
551 | 725 | - Replaced all occurences of '_' for assignment with '<-'. |
552 | ||
726 | ||
553 | 727 | - Replaced all occurences of 'T' or 'F' for 'TRUE' and 'FALSE' |
554 | with the spelled out version. | |
555 | ||
728 | with | |
729 | the spelled out version. | |
730 | ||
556 | 731 | - Updaded version number and date. |
557 | 732 | |
558 | 2002-04-08 20:51 tag rel_0_5_3 | |
559 | ||
560 | 2002-04-08 20:51 tag rel_0_5_4 | |
561 | ||
562 | 2002-04-08 20:51 warneg | |
563 | ||
564 | * R/combinations.R, man/combinations.Rd, man/running.Rd: | |
565 | Checkin for version 0.5.3 | |
566 | ||
567 | 2002-03-26 09:49 tag rel_0_5_1 | |
568 | ||
569 | 2002-03-26 09:49 warneg | |
570 | ||
571 | * man/quantcut.Rd: | |
572 | Initial Checkin | |
573 | ||
574 | 2002-03-26 09:29 warneg | |
575 | ||
576 | * R/quantcut.R: | |
577 | Initial checkin. | |
578 | ||
579 | 2002-03-19 22:44 warneg | |
733 | 2002-04-09 00:51 warneg | |
734 | ||
735 | * trunk/gdata/R/rename.vars.R, trunk/gdata/man/aggregate.table.Rd, | |
736 | trunk/gdata/man/interleave.Rd, trunk/gdata/man/reorder.Rd, | |
737 | trunk/gmodels/R/ci.R, trunk/gmodels/R/estimable.R, | |
738 | trunk/gmodels/R/glh.test.R, trunk/gmodels/man/glh.test.Rd, | |
739 | trunk/gplots/R/bandplot.R, trunk/gplots/R/boxplot.n.R, | |
740 | trunk/gplots/R/hist2d.R, trunk/gplots/R/plot.lm.R, | |
741 | trunk/gplots/R/plotCI.R, trunk/gplots/R/plotmeans.R, | |
742 | trunk/gplots/R/residplot.R, trunk/gplots/R/space.R, | |
743 | trunk/gplots/R/wapply.R, trunk/gplots/man/bandplot.Rd, | |
744 | trunk/gplots/man/boxplot.n.Rd, trunk/gplots/man/hist2d.Rd, | |
745 | trunk/gplots/man/plotmeans.Rd, trunk/gplots/man/space.Rd, | |
746 | trunk/gplots/man/wapply.Rd, trunk/gregmisc/DESCRIPTION, | |
747 | R/combinations.R, man/combinations.Rd, man/running.Rd: Checkin | |
748 | for version 0.5.3 | |
749 | ||
750 | 2002-03-26 14:49 warneg | |
751 | ||
752 | * man/quantcut.Rd: Initial Checkin | |
753 | ||
754 | 2002-03-26 14:29 warneg | |
755 | ||
756 | * R/quantcut.R: Initial checkin. | |
757 | ||
758 | 2002-03-20 03:44 warneg | |
580 | 759 | |
581 | 760 | * R/RSCompat.S: - Added definition of is.R function. |
582 | ||
761 | ||
583 | 762 | - Added boxplot.formula |
584 | 763 | |
585 | 2002-03-07 18:39 warneg | |
764 | 2002-03-07 23:39 warneg | |
586 | 765 | |
587 | 766 | * man/running.Rd: - Added documentation and example for running2 |
588 | 767 | |
589 | 2002-03-07 18:38 warneg | |
590 | ||
591 | * R/running.R: | |
592 | - Added "running2", which handles both univariate and bivariate | |
593 | cases - Modified "running" to call "running2" | |
594 | ||
595 | 2002-02-04 21:20 warneg | |
596 | ||
597 | * R/RSCompat.S: | |
598 | - Fix typo that caused code meant to run only under S-Plus to run | |
768 | 2002-03-07 23:38 warneg | |
769 | ||
770 | * R/running.R: - Added "running2", which handles both univariate | |
771 | and bivariate cases | |
772 | - Modified "running" to call "running2" | |
773 | ||
774 | 2002-02-05 02:20 warneg | |
775 | ||
776 | * R/RSCompat.S: - Fix typo that caused code meant to run only under | |
777 | S-Plus to run | |
599 | 778 | under R, causing problems. |
600 | 779 | |
601 | 2001-12-19 17:45 warneg | |
780 | 2001-12-19 22:45 warneg | |
602 | 781 | |
603 | 782 | * R/RSCompat.S: - Added code for %in%. |
604 | 783 | |
605 | 2001-09-18 10:15 tag rel_0_5_0 | |
606 | ||
607 | 2001-09-18 10:15 warneg | |
608 | ||
609 | * R/RSCompat.S: | |
610 | Release 0.3.2 | |
611 | ||
612 | 2001-09-01 15:19 warneg | |
613 | ||
614 | * R/RSCompat.S: | |
615 | Initial checkin. | |
616 | ||
617 | 2001-08-31 20:01 warneg | |
618 | ||
619 | * R/running.R, man/running.Rd: Release 0.3.0 | |
620 | ||
621 | 2001-08-25 01:53 warneg | |
784 | 2001-09-18 14:15 warneg | |
785 | ||
786 | * trunk/gplots/R/plotCI.R, trunk/gplots/R/plotmeans.R, | |
787 | trunk/gregmisc/DESCRIPTION, R/RSCompat.S: Release 0.3.2 | |
788 | ||
789 | 2001-09-01 19:19 warneg | |
790 | ||
791 | * R/RSCompat.S: Initial checkin. | |
792 | ||
793 | 2001-09-01 00:01 warneg | |
794 | ||
795 | * trunk/gplots/man/wapply.Rd, trunk/gregmisc/DESCRIPTION, | |
796 | R/running.R, man/running.Rd: Release 0.3.0 | |
797 | ||
798 | 2001-08-25 05:53 warneg | |
622 | 799 | |
623 | 800 | * R/running.R: Initial CVS checkin. |
624 | 801 | |
625 | 2001-08-25 01:50 warneg | |
802 | 2001-08-25 05:50 warneg | |
626 | 803 | |
627 | 804 | * man/combinations.Rd: Fixed a typo and a syntax error. |
628 | 805 | |
629 | 2001-08-24 23:59 warneg | |
806 | 2001-08-25 03:59 warneg | |
630 | 807 | |
631 | 808 | * man/running.Rd: Initial Checkin |
632 | 809 | |
633 | 2001-06-29 09:23 warneg | |
634 | ||
635 | * R/combinations.R, man/combinations.Rd: | |
636 | Initial revision. | |
637 | ||
810 | 2001-06-29 13:24 warneg | |
811 | ||
812 | * ., R, R/combinations.R, man, man/combinations.Rd: Initial | |
813 | revision. | |
814 |
0 | 0 | Package: gtools |
1 | 1 | Title: Various R programming tools |
2 | 2 | Description: Various R programming tools |
3 | Depends: R (>= 1.9.0) | |
4 | Version: 2.2.3 | |
5 | Date: 2005-12-21 | |
3 | Depends: R | |
4 | Version: 2.3.0 | |
6 | 5 | Author: Gregory R. Warnes. Includes R source code and/or documentation |
7 | 6 | contributed by Ben Bolker and Thomas Lumley |
8 | Maintainer: Nitin Jain <nitin.jain@pfizer.com> | |
7 | Maintainer: Gregory R. Warnes <warnes@bst.rochester.edu> | |
9 | 8 | License: LGPL 2.1 |
10 | Packaged: Wed Dec 21 10:23:52 2005; warneg | |
9 | Packaged: Mon Nov 27 19:54:13 2006; warnes |
2 | 2 | export( |
3 | 3 | addLast, |
4 | 4 | assert, |
5 | capture, | |
5 | 6 | combinations, |
6 | 7 | ddirichlet, |
7 | 8 | defmacro, |
22 | 23 | running, |
23 | 24 | scat, |
24 | 25 | setTCPNoDelay, |
26 | smartbind, | |
27 | sprint, | |
25 | 28 | strmacro |
26 | 29 | ) |
27 | 30 |
0 | CHANGES IN gtools 2.2.3 | |
1 | ----------------------- | |
0 | gtools 2.3.0 | |
1 | ------------ | |
2 | ||
3 | - Update email address for Greg | |
4 | ||
5 | - Add new 'smartbind' function, which combines data frames | |
6 | efficiently, even if they have different column names. | |
7 | ||
8 | gtools 2.2.3 | |
9 | ------------ | |
2 | 10 | |
3 | 11 | - setTCPNoDelay now compiles & works properly on Windows |
4 | 12 | |
5 | 13 | |
6 | CHANGES IN gtools 2.2.2 | |
7 | ----------------------- | |
14 | gtools 2.2.2 | |
15 | ------------ | |
8 | 16 | |
9 | 17 | - src/setTCPNoDelay.c: Add C source code for setTCPNoDelay. |
10 | 18 | |
13 | 21 | |
14 | 22 | - Updated Greg's email address. |
15 | 23 | |
16 | CHANGES IN gtools 2.2.1 | |
17 | ----------------------- | |
24 | gtools 2.2.1 | |
25 | ------------ | |
18 | 26 | |
19 | 27 | - New function 'addLast' that adds functions to R's .Last() so |
20 | 28 | that they will be executed when R is terminating. |
22 | 30 | - New function setTCPNoDelay() that allows the TCP_NODELAY flag to |
23 | 31 | be changed on socket objects. |
24 | 32 | |
25 | CHANGES IN gtools 2.1.0 | |
26 | ----------------------- | |
33 | gtools 2.1.0 | |
34 | ------------ | |
27 | 35 | |
28 | 36 | - Added assert.R (and documentation) |
29 | 37 |
0 | # $Id: RSCompat.S,v 1.9 2005/06/09 14:20:28 nj7w Exp $ | |
0 | # $Id: RSCompat.S 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | # |
2 | # $Log: RSCompat.S,v $ | |
2 | # $Log$ | |
3 | 3 | # Revision 1.9 2005/06/09 14:20:28 nj7w |
4 | 4 | # Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. |
5 | 5 | # |
0 | # $Id: capture.R 277 2004-01-21 04:31:25Z warnes $ | |
1 | # | |
2 | # $Log$ | |
3 | # Revision 1.4 2004/01/21 04:31:25 warnes | |
4 | # - Mark sprint() as depreciated. | |
5 | # - Replace references to sprint with capture.output() | |
6 | # - Use match.arg for halign and valign arguments to textplot.default. | |
7 | # - Fix textplot.character so that a vector of characters is properly | |
8 | # displayed. Previouslt, character vectors were plotted on top of each | |
9 | # other. | |
10 | # | |
11 | # Revision 1.3 2003/11/10 22:11:13 warnes | |
12 | # | |
13 | # - Add files contributed by Arni Magnusson | |
14 | # <arnima@u.washington.edu>. As well as some of my own. | |
15 | # | |
16 | # Revision 1.2 2003/04/04 13:45:21 warnes | |
17 | # | |
18 | # - Allow optional arguments to sprint to be passed to print | |
19 | # | |
20 | # Revision 1.1 2003/04/02 22:28:32 warnes | |
21 | # | |
22 | # - Added file 'capture.R' containing capture() and sprint(). | |
23 | # | |
24 | # | |
25 | ||
26 | capture <- function( expression, collapse="\n") | |
27 | { | |
28 | warning("Depreciated. Use capture.output(...) from base instead.") | |
29 | ||
30 | resultText <- capture.output( expression ) | |
31 | ||
32 | return( paste( c(resultText, ""), collapse=collapse, sep="" ) ) | |
33 | # the reason for c(result, "") is so that we get the line | |
34 | # terminator on the last line of output. Otherwise, it just shows | |
35 | # up between the lines. | |
36 | } | |
37 | ||
38 | ||
39 | sprint <- function(x,...) | |
40 | { | |
41 | warning("Depreciated. Use capture.output(print(...)) from base instead.") | |
42 | capture(print(x,...)) | |
43 | } |
0 | # $Id: combinations.R,v 1.7 2005/06/09 14:20:28 nj7w Exp $ | |
0 | # $Id: combinations.R 1012 2006-11-14 22:25:06Z ggorjan $ | |
1 | 1 | # |
2 | 2 | |
3 | 3 | ## |
0 | # $Id: dirichlet.R,v 1.4 2005/06/09 14:20:28 nj7w Exp $ | |
0 | # $Id: dirichlet.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | # Posted by Ben Bolker to R-News on Fri Dec 15 2000 |
3 | 3 | # http://www.r-project.org/nocvs/mail/r-help/2000/3865.html |
0 | # $Id: foldchange.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: foldchange.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | foldchange <- function(num,denom) |
3 | 3 | { |
0 | .packageName <- "gtools" | |
1 | # $Id: RSCompat.S,v 1.9 2005/06/09 14:20:28 nj7w Exp $ | |
2 | # | |
3 | # $Log: RSCompat.S,v $ | |
4 | # Revision 1.9 2005/06/09 14:20:28 nj7w | |
5 | # Updating the version number, and various help files to synchronize splitting of gregmisc bundle in 4 individual components. | |
6 | # | |
7 | # Revision 1.1.1.1 2005/05/25 22:17:28 nj7w | |
8 | # Initial submision as individual package | |
9 | # | |
10 | # Revision 1.8 2003/04/04 13:58:59 warnes | |
11 | # | |
12 | # - Replace 'T' with 'TRUE' | |
13 | # | |
14 | # Revision 1.7 2003/03/07 15:48:35 warnes | |
15 | # | |
16 | # - Minor changes to code to allow the package to be provided as an | |
17 | # S-Plus chapter. | |
18 | # | |
19 | # Revision 1.6 2003/01/02 15:42:00 warnes | |
20 | # - Add nlevels function. | |
21 | # | |
22 | # Revision 1.5 2002/03/20 03:44:32 warneg | |
23 | # - Added definition of is.R function. | |
24 | # | |
25 | # - Added boxplot.formula | |
26 | # | |
27 | # Revision 1.4 2002/02/05 02:20:07 warneg | |
28 | # | |
29 | # - Fix typo that caused code meant to run only under S-Plus to run | |
30 | # under R, causing problems. | |
31 | # | |
32 | # Revision 1.3 2001/12/19 22:45:44 warneg | |
33 | # - Added code for %in%. | |
34 | # | |
35 | # Revision 1.2 2001/09/18 14:15:44 warneg | |
36 | # | |
37 | # Release 0.3.2 | |
38 | # | |
39 | # Revision 1.1 2001/09/01 19:19:13 warneg | |
40 | # | |
41 | # Initial checkin. | |
42 | # | |
43 | # | |
44 | # Code necessary for contrast.lm, boxplot.n to work in S-Plus | |
45 | ||
46 | if(!exists("is.R") || !is.R() ) | |
47 | { | |
48 | is.R <- function() FALSE | |
49 | ||
50 | getOption <- function(...) options(...) | |
51 | ||
52 | if(!exists("parent.frame")) parent.frame <- sys.parent | |
53 | ||
54 | colnames <- function (x, do.NULL = TRUE, prefix = "col") | |
55 | { | |
56 | dn <- dimnames(x) | |
57 | if (!is.null(dn[[2]])) | |
58 | dn[[2]] | |
59 | else { | |
60 | if (do.NULL) | |
61 | NULL | |
62 | else paste(prefix, seq(length = NCOL(x)), sep = "") | |
63 | } | |
64 | } | |
65 | ||
66 | rownames <- function (x, do.NULL = TRUE, prefix = "row") | |
67 | { | |
68 | dn <- dimnames(x) | |
69 | if (!is.null(dn[[1]])) | |
70 | dn[[1]] | |
71 | else { | |
72 | if (do.NULL) | |
73 | NULL | |
74 | else paste(prefix, seq(length = NROW(x)), sep = "") | |
75 | } | |
76 | } | |
77 | ||
78 | "rownames<-" <- function (x, value) | |
79 | { | |
80 | dn <- dimnames(x) | |
81 | ndn <- names(dn) | |
82 | dn <- list(value, if (!is.null(dn)) dn[[2]]) | |
83 | names(dn) <- ndn | |
84 | dimnames(x) <- dn | |
85 | x | |
86 | } | |
87 | ||
88 | "colnames<-" <- function (x, value) | |
89 | { | |
90 | dn <- dimnames(x) | |
91 | ndn <- names(dn) | |
92 | dn <- list(if (!is.null(dn)) dn[[1]], value) | |
93 | names(dn) <- ndn | |
94 | dimnames(x) <- dn | |
95 | x | |
96 | } | |
97 | ||
98 | # from the MASS library by Venables & Ripley | |
99 | ginv <- function (X, tol = sqrt(.Machine$double.eps)) | |
100 | { | |
101 | if (length(dim(X)) > 2 || !(is.numeric(X) || is.complex(X))) | |
102 | stop("X must be a numeric or complex matrix") | |
103 | if (!is.matrix(X)) | |
104 | X <- as.matrix(X) | |
105 | Xsvd <- svd(X) | |
106 | if (is.complex(X)) | |
107 | Xsvd$u <- Conj(Xsvd$u) | |
108 | Positive <- Xsvd$d > max(tol * Xsvd$d[1], 0) | |
109 | if (all(Positive)) Xsvd$v %*% (1/Xsvd$d * t(Xsvd$u)) | |
110 | else if (!any(Positive)) array(0, dim(X)[2:1]) | |
111 | else Xsvd$v[, Positive] %*% ((1/Xsvd$d[Positive]) * t(Xsvd$u[, Positive])) | |
112 | } | |
113 | ||
114 | ||
115 | "format.pval" <- | |
116 | function (pv, digits = max(1, getOption("digits") - 2), | |
117 | eps = .Machine$double.eps, | |
118 | na.form = "NA") | |
119 | { | |
120 | if ((has.na <- any(ina <- is.na(pv)))) | |
121 | pv <- pv[!ina] | |
122 | r <- character(length(is0 <- pv < eps)) | |
123 | if (any(!is0)) { | |
124 | rr <- pv <- pv[!is0] | |
125 | expo <- floor(log10(pv)) | |
126 | fixp <- expo >= -3 | (expo == -4 & digits > 1) | |
127 | if (any(fixp)) | |
128 | rr[fixp] <- format(pv[fixp], dig = digits) | |
129 | if (any(!fixp)) | |
130 | rr[!fixp] <- format(pv[!fixp], dig = digits) | |
131 | r[!is0] <- rr | |
132 | } | |
133 | if (any(is0)) { | |
134 | digits <- max(1, digits - 2) | |
135 | if (any(!is0)) { | |
136 | nc <- max(nchar(rr)) | |
137 | if (digits > 1 && digits + 6 > nc) | |
138 | digits <- max(1, nc - 7) | |
139 | sep <- if (digits == 1 && nc <= 6) | |
140 | "" | |
141 | else " " | |
142 | } | |
143 | else sep <- if (digits == 1) | |
144 | "" | |
145 | else " " | |
146 | r[is0] <- paste("<", format(eps, digits = digits), sep = sep) | |
147 | } | |
148 | if (has.na) { | |
149 | rok <- r | |
150 | r <- character(length(ina)) | |
151 | r[!ina] <- rok | |
152 | r[ina] <- na.form | |
153 | } | |
154 | r | |
155 | } | |
156 | ||
157 | "%in%" <- function (x, table) match(x, table, nomatch = 0) > 0 | |
158 | ||
159 | strwidth <- function(...) | |
160 | { | |
161 | par("cin")[1] / par("fin")[1] * (par("usr")[2] - par("usr")[1]) | |
162 | } | |
163 | ||
164 | strheight <- function(...) | |
165 | { | |
166 | par("cin")[2] / par("fin")[2] * (par("usr")[4] - par("usr")[3]) | |
167 | } | |
168 | ||
169 | boxplot.formula <- function(x, data = sys.parent(), ..., ask = TRUE) | |
170 | { | |
171 | if(!inherits(x, "formula")) | |
172 | x <- as.formula(x) | |
173 | ||
174 | mf <- model.frame(x, data, na.action = function(z) z) | |
175 | if(length(names(mf)) > 2) | |
176 | stop("boxplot.formula only accepts models with 1 predictor") | |
177 | ||
178 | resp <- attr(attr(mf, "terms"), "response") | |
179 | class(mf) <- NULL | |
180 | y <- mf[[resp]] | |
181 | x <- mf[[-resp]] | |
182 | xlab <- names(mf)[-resp] | |
183 | ylab <- names(mf)[resp] | |
184 | ||
185 | boxplot(split(y, x), xlab = xlab, ylab = ylab, ...) | |
186 | } | |
187 | ||
188 | nlevels <- function(x) length(levels(x)) | |
189 | ||
190 | NULL | |
191 | ||
192 | } | |
193 | addLast <- function( fun ) | |
194 | { | |
195 | if (!is.function(fun)) stop("fun must be a function") | |
196 | if(!exists(".Last", env=.GlobalEnv)) | |
197 | assign(".Last", fun, env=.GlobalEnv) | |
198 | else | |
199 | { | |
200 | Last <- get(".Last", env=.GlobalEnv) | |
201 | newfun <- function(...) | |
202 | { | |
203 | fun() | |
204 | Last() | |
205 | } | |
206 | assign(".Last", newfun, env=.GlobalEnv) | |
207 | } | |
208 | } | |
209 | ## useful function, raises an error if the FLAG expression is FALSE | |
210 | assert <- function( FLAG ) | |
211 | { | |
212 | if(!all(FLAG)) | |
213 | stop("Failed Assertion") | |
214 | } | |
215 | # $Id: combinations.R,v 1.7 2005/06/09 14:20:28 nj7w Exp $ | |
216 | # | |
217 | ||
218 | ## | |
219 | ## From email by Brian D Ripley <ripley@stats.ox.ac.uk> to r-help | |
220 | ## dated Tue, 14 Dec 1999 11:14:04 +0000 (GMT) in response to | |
221 | ## Alex Ahgarin <datamanagement@email.com>. Original version was | |
222 | ## named "subsets" and was Written by Bill Venables. | |
223 | ## | |
224 | ||
225 | combinations <- function(n, r, v = 1:n, set = TRUE, repeats.allowed=FALSE) | |
226 | { | |
227 | if(mode(n) != "numeric" || length(n) != 1 | |
228 | || n < 1 || (n %% 1) != 0) stop("bad value of n") | |
229 | if(mode(r) != "numeric" || length(r) != 1 | |
230 | || r < 1 || (r %% 1) != 0) stop("bad value of r") | |
231 | if(!is.atomic(v) || length(v) < n) | |
232 | stop("v is either non-atomic or too short") | |
233 | if( (r > n) & repeats.allowed==FALSE) | |
234 | stop("r > n and repeats.allowed=FALSE") | |
235 | if(set) { | |
236 | v <- unique(sort(v)) | |
237 | if (length(v) < n) stop("too few different elements") | |
238 | } | |
239 | v0 <- vector(mode(v), 0) | |
240 | ## Inner workhorse | |
241 | if(repeats.allowed) | |
242 | sub <- function(n, r, v) | |
243 | { | |
244 | if(r == 0) v0 else | |
245 | if(r == 1) matrix(v, n, 1) else | |
246 | if(n == 1) matrix(v, 1, r) else | |
247 | rbind( cbind(v[1], Recall(n, r-1, v)), | |
248 | Recall(n-1, r, v[-1])) | |
249 | } | |
250 | else | |
251 | sub <- function(n, r, v) | |
252 | { | |
253 | if(r == 0) v0 else | |
254 | if(r == 1) matrix(v, n, 1) else | |
255 | if(r == n) matrix(v, 1, n) else | |
256 | rbind(cbind(v[1], Recall(n-1, r-1, v[-1])), | |
257 | Recall(n-1, r, v[-1])) | |
258 | } | |
259 | sub(n, r, v[1:n]) | |
260 | } | |
261 | ||
262 | ## | |
263 | ## Original version by Bill Venables and cited by by Matthew | |
264 | ## Wiener (mcw@ln.nimh.nih.gov) in an email to R-help dated | |
265 | ## Tue, 14 Dec 1999 09:11:32 -0500 (EST) in response to | |
266 | ## Alex Ahgarin <datamanagement@email.com> | |
267 | ## | |
268 | ## | |
269 | ||
270 | ||
271 | permutations <- function(n, r, v = 1:n, set = TRUE, repeats.allowed=FALSE) | |
272 | { | |
273 | if(mode(n) != "numeric" || length(n) != 1 | |
274 | || n < 1 || (n %% 1) != 0) stop("bad value of n") | |
275 | if(mode(r) != "numeric" || length(r) != 1 | |
276 | || r < 1 || (r %% 1) != 0) stop("bad value of r") | |
277 | if(!is.atomic(v) || length(v) < n) | |
278 | stop("v is either non-atomic or too short") | |
279 | if( (r > n) ) #& repeats.allowed==FALSE) | |
280 | stop("r > n") # and repeats.allowed=FALSE") | |
281 | if(set) { | |
282 | v <- unique(sort(v)) | |
283 | if (length(v) < n) stop("too few different elements") | |
284 | } | |
285 | v0 <- vector(mode(v), 0) | |
286 | ## Inner workhorse | |
287 | if(repeats.allowed) | |
288 | sub <- function(n, r, v) | |
289 | { | |
290 | if(r==1) matrix(v,n,1) else | |
291 | if(n==1) matrix(v,1,r) else | |
292 | { | |
293 | inner <- Recall(n, r-1, v) | |
294 | cbind( rep( v, rep(nrow(inner),n) ), | |
295 | matrix( t(inner), ncol=ncol(inner), nrow=nrow(inner) * n , | |
296 | byrow=TRUE ) | |
297 | ) | |
298 | } | |
299 | } | |
300 | else | |
301 | sub <- function(n, r, v) | |
302 | { | |
303 | if(r==1) matrix(v,n,1) else | |
304 | if(n==1) matrix(v,1,r) else | |
305 | { | |
306 | X <- NULL | |
307 | for(i in 1:n) | |
308 | X <- rbind( X, cbind( v[i], Recall(n-1, r - 1, v[-i]))) | |
309 | X | |
310 | } | |
311 | } | |
312 | ||
313 | sub(n, r, v[1:n]) | |
314 | } | |
315 | ## Code from | |
316 | ## | |
317 | ## @Article{Rnews:Lumley:2001, | |
318 | ## author = {Thomas Lumley}, | |
319 | ## title = {Programmer's Niche: Macros in {R}}, | |
320 | ## journal = {R News}, | |
321 | ## year = 2001, | |
322 | ## volume = 1, | |
323 | ## number = 3, | |
324 | ## pages = {11--13}, | |
325 | ## month = {September}, | |
326 | ## url = {http://CRAN.R-project.org/doc/Rnews/} | |
327 | ##} | |
328 | defmacro <- function(..., expr) #, DOTS=FALSE) | |
329 | { | |
330 | expr <- substitute(expr) | |
331 | a <- substitute(list(...))[-1] | |
332 | ||
333 | ## process the argument list | |
334 | nn <- names(a) | |
335 | if (is.null(nn)) | |
336 | nn <- rep("", length(a)) | |
337 | for(i in 1:length(a)) | |
338 | { | |
339 | if (nn[i] == "") | |
340 | { | |
341 | nn[i] <- paste(a[[i]]) | |
342 | msg <- paste(a[[i]], "not supplied") | |
343 | a[[i]] <- substitute(stop(foo), | |
344 | list(foo = msg)) | |
345 | } | |
346 | if (nn[i] == "DOTS") | |
347 | { | |
348 | nn[i] <- "..." | |
349 | a[[i]] <- formals(function(...){})[[1]] | |
350 | } | |
351 | } | |
352 | names(a) <- nn | |
353 | a <- as.list(a) | |
354 | ||
355 | ## this is where the work is done | |
356 | ff <- eval(substitute( | |
357 | function() | |
358 | { | |
359 | tmp <- substitute(body) | |
360 | eval(tmp, parent.frame()) | |
361 | }, | |
362 | list(body = expr))) | |
363 | ||
364 | ## add the argument list | |
365 | formals(ff) <- a | |
366 | ||
367 | ## create a fake source attribute | |
368 | mm <- match.call() | |
369 | mm$expr <- NULL | |
370 | mm[[1]] <- as.name("macro") | |
371 | attr(ff, "source") <- c(deparse(mm), | |
372 | deparse(expr)) | |
373 | ||
374 | ## return the 'macro' | |
375 | ff | |
376 | } | |
377 | ||
378 | # $Id: dirichlet.R,v 1.4 2005/06/09 14:20:28 nj7w Exp $ | |
379 | ||
380 | # Posted by Ben Bolker to R-News on Fri Dec 15 2000 | |
381 | # http://www.r-project.org/nocvs/mail/r-help/2000/3865.html | |
382 | # | |
383 | # Some code (originally contributed by Ian Wilson | |
384 | # <i.wilson@maths.abdn.ac.uk> | |
385 | ||
386 | ||
387 | # functions for the "Dirichlet function", the multidimensional | |
388 | # generalization of the beta distribution: it's the Bayesian | |
389 | # canonical # distribution for the parameter estimates of a | |
390 | # multinomial distribution. | |
391 | ||
392 | # "pdirichlet" and "qdirichlet" (distribution function and quantiles) | |
393 | # would be more difficult because you'd first have to decide how to | |
394 | # define the distribution function for a multivariate distribution | |
395 | # ... I'm sure this could be done but I don't know how | |
396 | ||
397 | ||
398 | ||
399 | ddirichlet<-function(x,alpha) | |
400 | ## probability density for the Dirichlet function, where x=vector of | |
401 | ## probabilities | |
402 | ## and (alpha-1)=vector of observed samples of each type | |
403 | ## ddirichlet(c(p,1-p),c(x1,x2)) == dbeta(p,x1,x2) | |
404 | { | |
405 | ||
406 | dirichlet1 <- function(x, alpha) | |
407 | { | |
408 | logD <- sum(lgamma(alpha)) - lgamma(sum(alpha)) | |
409 | s<-sum((alpha-1)*log(x)) | |
410 | exp(sum(s)-logD) | |
411 | ||
412 | } | |
413 | ||
414 | # make sure x is a matrix | |
415 | if(!is.matrix(x)) | |
416 | if(is.data.frame(x)) | |
417 | x <- as.matrix(x) | |
418 | else | |
419 | x <- t(x) | |
420 | ||
421 | if(!is.matrix(alpha)) | |
422 | alpha <- matrix( alpha, ncol=length(alpha), nrow=nrow(x), byrow=TRUE) | |
423 | ||
424 | if( any(dim(x) != dim(alpha)) ) | |
425 | stop("Mismatch between dimensions of 'x' and 'alpha'.") | |
426 | ||
427 | pd <- vector(length=nrow(x)) | |
428 | for(i in 1:nrow(x)) | |
429 | pd[i] <- dirichlet1(x[i,],alpha[i,]) | |
430 | ||
431 | # Enforce 0 <= x[i,j] <= 1, sum(x[i,]) = 1 | |
432 | pd[ apply( x, 1, function(z) any( z <0 | z > 1)) ] <- 0 | |
433 | pd[ apply( x, 1, function(z) all.equal(sum( z ),1) !=TRUE) ] <- 0 | |
434 | pd | |
435 | } | |
436 | ||
437 | ||
438 | rdirichlet<-function(n,alpha) | |
439 | ## generate n random deviates from the Dirichlet function with shape | |
440 | ## parameters alpha | |
441 | { | |
442 | l<-length(alpha); | |
443 | x<-matrix(rgamma(l*n,alpha),ncol=l,byrow=TRUE); | |
444 | sm<-x%*%rep(1,l); | |
445 | x/as.vector(sm); | |
446 | } | |
447 | ||
448 | # $Id: foldchange.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
449 | ||
450 | foldchange <- function(num,denom) | |
451 | { | |
452 | ifelse(num >= denom, num/denom, -denom/num) | |
453 | } | |
454 | ||
455 | ||
456 | # Compute foldchange from log-ratio values | |
457 | logratio2foldchange <- function(logratio, base=2) | |
458 | { | |
459 | retval <- base^(logratio) | |
460 | retval <- ifelse(retval < 1, -1/retval, retval) | |
461 | retval | |
462 | } | |
463 | ||
464 | # vice versa | |
465 | foldchange2logratio <- function(foldchange, base=2) | |
466 | { | |
467 | retval <- ifelse( foldchange<0, 1/-foldchange, foldchange) | |
468 | retval <- log(retval,base) | |
469 | retval | |
470 | } | |
471 | ||
472 | # $Id: invalid.R,v 1.4 2005/06/09 14:20:29 nj7w Exp $ | |
473 | ||
474 | invalid <- function(x) | |
475 | { | |
476 | if( missing(x) || is.null(x) || length(x)==0 ) | |
477 | return(TRUE) | |
478 | if(is.list(x)) | |
479 | return(all(sapply(x,invalid))) | |
480 | else if(is.vector(x)) | |
481 | return(all(is.na(x))) | |
482 | else | |
483 | return(FALSE) | |
484 | } | |
485 | # $Id: logit.R,v 1.2 2005/06/09 14:20:29 nj7w Exp $ | |
486 | ||
487 | logit <- function(x, min=0, max=1) | |
488 | { | |
489 | p <- (x-min)/(max-min) | |
490 | log(p/(1-p)) | |
491 | } | |
492 | ||
493 | inv.logit <- function(x, min=0, max=1) | |
494 | { | |
495 | p <- exp(x)/(1+exp(x)) | |
496 | p <- ifelse( is.na(p) & !is.na(x), 1, p ) # fix problems with +Inf | |
497 | p * (max-min) + min | |
498 | } | |
499 | ||
500 | # $Id: mixedsort.R,v 1.10 2005/06/13 17:08:41 nj7w Exp $ | |
501 | ||
502 | mixedsort <- function(x) x[mixedorder(x)] | |
503 | ||
504 | mixedorder <- function(x) | |
505 | { | |
506 | # - Split each each character string into an vector of strings and | |
507 | # numbers | |
508 | # - Separately rank numbers and strings | |
509 | # - Combine orders so that strings follow numbers | |
510 | ||
511 | delim="\\$\\@\\$" | |
512 | ||
513 | numeric <- function(x) | |
514 | { | |
515 | optwarn = options("warn") | |
516 | on.exit( options(optwarn) ) | |
517 | options(warn=-1) | |
518 | as.numeric(x) | |
519 | } | |
520 | ||
521 | nonnumeric <- function(x) | |
522 | { | |
523 | optwarn = options("warn") | |
524 | on.exit( options(optwarn) ) | |
525 | options(warn=-1) | |
526 | ||
527 | ifelse(is.na(as.numeric(x)), toupper(x), NA) | |
528 | } | |
529 | ||
530 | ||
531 | x <- as.character(x) | |
532 | ||
533 | which.nas <- which(is.na(x)) | |
534 | which.blanks <- which(x=="") | |
535 | ||
536 | if(length(which.blanks) >0) | |
537 | x[ which.blanks ] <- -Inf | |
538 | if(length(which.nas) >0) | |
539 | x[ which.nas ] <- Inf | |
540 | ||
541 | #### | |
542 | # - Convert each character string into an vector containing single | |
543 | # character and numeric values. | |
544 | #### | |
545 | ||
546 | # find and mark numbers in the form of +1.23e+45.67 | |
547 | delimited <- gsub("([+-]{0,1}[0-9\.]+([eE][\+\-]{0,1}[0-9\.]+){0,1})", | |
548 | paste(delim,"\\1",delim,sep=""), x) | |
549 | ||
550 | # separate out numbers | |
551 | step1 <- strsplit(delimited, delim) | |
552 | ||
553 | # remove empty elements | |
554 | step1 <- lapply( step1, function(x) x[x>""] ) | |
555 | ||
556 | # create numeric version of data | |
557 | step1.numeric <- lapply( step1, numeric ) | |
558 | ||
559 | # create non-numeric version of data | |
560 | step1.character <- lapply( step1, nonnumeric ) | |
561 | ||
562 | # now transpose so that 1st vector contains 1st element from each | |
563 | # original string | |
564 | maxelem <- max(sapply(step1, length)) | |
565 | ||
566 | step1.numeric.t <- lapply(1:maxelem, | |
567 | function(i) | |
568 | sapply(step1.numeric, | |
569 | function(x)x[i]) | |
570 | ) | |
571 | ||
572 | step1.character.t <- lapply(1:maxelem, | |
573 | function(i) | |
574 | sapply(step1.character, | |
575 | function(x)x[i]) | |
576 | ) | |
577 | ||
578 | # now order them | |
579 | rank.numeric <- sapply(step1.numeric.t,rank) | |
580 | rank.character <- sapply(step1.character.t, | |
581 | function(x) as.numeric(factor(x))) | |
582 | ||
583 | # and merge | |
584 | rank.numeric[!is.na(rank.character)] <- 0 # mask off string values | |
585 | ||
586 | rank.character <- t( | |
587 | t(rank.character) + | |
588 | apply(matrix(rank.numeric),2,max,na.rm=TRUE) | |
589 | ) | |
590 | ||
591 | rank.overall <- ifelse(is.na(rank.character),rank.numeric,rank.character) | |
592 | ||
593 | order.frame <- as.data.frame(rank.overall) | |
594 | if(length(which.nas) > 0) | |
595 | order.frame[which.nas,] <- Inf | |
596 | retval <- do.call("order",order.frame) | |
597 | ||
598 | return(retval) | |
599 | } | |
600 | ||
601 | ||
602 | # $Id: oddeven.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
603 | ||
604 | # detect odd/even integers | |
605 | odd <- function(x) x!=as.integer(x/2)*2 | |
606 | even <- function(x) x==as.integer(x/2)*2 | |
607 | # $Id: permute.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
608 | ||
609 | permute <- function(x) sample( x, size=length(x), replace=FALSE ) | |
610 | # $Id: quantcut.R,v 1.4 2005/06/09 14:20:29 nj7w Exp $ | |
611 | ||
612 | quantcut <- function(x, q=seq(0,1,by=0.25), na.rm=TRUE, ... ) | |
613 | { | |
614 | quant <- quantile(x, q, na.rm=na.rm) | |
615 | dups <- duplicated(quant) | |
616 | if(any(dups)) | |
617 | { | |
618 | flag <- x %in% unique(quant[dups]) | |
619 | retval <- ifelse(flag, | |
620 | paste("[", | |
621 | as.character(x), | |
622 | "]", | |
623 | sep=''), | |
624 | NA) | |
625 | uniqs <- unique(quant) | |
626 | ||
627 | # move cut points over a bit... | |
628 | reposition <- function(cut) | |
629 | { | |
630 | flag <- x>=cut | |
631 | if(sum(flag)==0) | |
632 | return(cut) | |
633 | else | |
634 | return(min(x[flag], na.rm=na.rm)) | |
635 | } | |
636 | ||
637 | newquant <- sapply(uniqs, reposition) | |
638 | retval[!flag] <- as.character(cut(x[!flag], | |
639 | breaks=newquant, | |
640 | include.lowest=TRUE,...)) | |
641 | ||
642 | levs <- unique(retval[order(x)]) # ensure factor levels are | |
643 | # properly ordered | |
644 | retval <- factor(retval, levels=levs) | |
645 | ||
646 | ## determine open/closed interval ends | |
647 | mkpairs <- function(x) # make table of lower, upper | |
648 | sapply(x, | |
649 | function(y) if(length(y)==2) y[c(2,2)] else y[2:3] | |
650 | ) | |
651 | pairs <- mkpairs(strsplit(levs, '[^0-9+\\.\\-]+', extended=TRUE)) | |
652 | rownames(pairs) <- c("lower.bound","upper.bound") | |
653 | colnames(pairs) <- levs | |
654 | ||
655 | closed.lower <- rep(F,ncol(pairs)) # default lower is open | |
656 | closed.upper <- rep(T,ncol(pairs)) # default upper is closed | |
657 | closed.lower[1] <- TRUE # lowest interval is always closed | |
658 | ||
659 | for(i in 2:ncol(pairs)) # open lower interval if above singlet | |
660 | if(pairs[1,i]==pairs[1,i-1] && pairs[1,i]==pairs[2,i-1]) | |
661 | closed.lower[i] <- FALSE | |
662 | ||
663 | for(i in 1:(ncol(pairs)-1)) # open upper inteval if below singlet | |
664 | if(pairs[2,i]==pairs[1,i+1] && pairs[2,i]==pairs[2,i+1]) | |
665 | closed.upper[i] <- FALSE | |
666 | ||
667 | levs <- ifelse(pairs[1,]==pairs[2,], | |
668 | pairs[1,], | |
669 | paste(ifelse(closed.lower,"[","("), | |
670 | pairs[1,], | |
671 | ",", | |
672 | pairs[2,], | |
673 | ifelse(closed.upper,"]",")"), | |
674 | sep='') | |
675 | ) | |
676 | levels(retval) <- levs | |
677 | } | |
678 | else | |
679 | retval <- cut( x, quant, include.lowest=TRUE, ... ) | |
680 | return(retval) | |
681 | } | |
682 | # $Id: running.R,v 1.12 2005/06/09 14:20:29 nj7w Exp $ | |
683 | ||
684 | "running" <- function(X, Y=NULL, | |
685 | fun=mean, | |
686 | width=min(length(X), 20), | |
687 | allow.fewer=FALSE, pad=FALSE, | |
688 | align=c("right", "center", "left"), | |
689 | simplify=TRUE, | |
690 | by, # added a parameter | |
691 | ...) | |
692 | { | |
693 | align=match.arg(align) | |
694 | ||
695 | n <- length(X) | |
696 | ||
697 | if (align=="left") | |
698 | { | |
699 | from <- 1:n | |
700 | to <- pmin( (1:n)+width-1, n) | |
701 | } | |
702 | else if (align=="right") | |
703 | { | |
704 | from <- pmax( (1:n)-width+1, 1) | |
705 | to <- 1:n | |
706 | } | |
707 | else #align=="center" | |
708 | { | |
709 | from <- pmax((2-width):n,1) | |
710 | to <- pmin(1:(n+width-1),n) | |
711 | if(!odd(width)) stop("width must be odd for center alignment") | |
712 | ||
713 | } | |
714 | ||
715 | elements <- apply(cbind(from, to), 1, function(x) seq(x[1], x[2]) ) | |
716 | ||
717 | if(is.matrix(elements)) | |
718 | elements <- as.data.frame(elements) # ensure its a list! | |
719 | ||
720 | names(elements) <- paste(from,to,sep=':') | |
721 | ||
722 | if(!allow.fewer) | |
723 | { | |
724 | len <- sapply(elements, length) | |
725 | skip <- (len < width) | |
726 | } | |
727 | else | |
728 | { | |
729 | skip <- 0 | |
730 | } | |
731 | ||
732 | ||
733 | run.elements <- elements[!skip] | |
734 | ||
735 | if(!invalid(by)) | |
736 | run.elements <- run.elements[seq(from=1, to=length(run.elements), | |
737 | by=by)] | |
738 | ||
739 | ||
740 | if(is.null(Y)) # univariate | |
741 | { | |
742 | funct <- function(which,what,fun,...) fun(what[which],...) | |
743 | ||
744 | if(simplify) | |
745 | Xvar <- sapply(run.elements, funct, what=X, fun=fun, ...) | |
746 | else | |
747 | Xvar <- lapply(run.elements, funct, what=X, fun=fun, ...) | |
748 | } | |
749 | else # bivariate | |
750 | { | |
751 | funct <- function(which,XX,YY,fun,...) fun(XX[which],YY[which], ...) | |
752 | ||
753 | if(simplify) | |
754 | Xvar <- sapply(run.elements, funct, XX=X, YY=Y, fun=fun, ...) | |
755 | else | |
756 | Xvar <- lapply(run.elements, funct, XX=X, YY=Y, fun=fun, ...) | |
757 | } | |
758 | ||
759 | ||
760 | if(allow.fewer || !pad) | |
761 | return(Xvar) | |
762 | ||
763 | if(simplify) | |
764 | if(is.matrix(Xvar)) | |
765 | { | |
766 | wholemat <- matrix( new(class(Xvar[1,1]), NA), | |
767 | ncol=length(to), nrow=nrow(Xvar) ) | |
768 | colnames(wholemat) <- paste(from,to,sep=':') | |
769 | wholemat[,-skip] <- Xvar | |
770 | Xvar <- wholemat | |
771 | } | |
772 | else | |
773 | { | |
774 | wholelist <- rep(new(class(Xvar[1]),NA),length(from)) | |
775 | names(wholelist) <- names(elements) | |
776 | wholelist[ names(Xvar) ] <- Xvar | |
777 | Xvar <- wholelist | |
778 | } | |
779 | ||
780 | return(Xvar) | |
781 | } | |
782 | ||
783 | # $Id: scat.R,v 1.2 2005/06/09 14:20:29 nj7w Exp $ | |
784 | ||
785 | # cat to stdout and immediately flush | |
786 | scat <- function(...) | |
787 | { | |
788 | DEBUG <- options()$DEBUG | |
789 | if( !is.null(DEBUG) && DEBUG) | |
790 | { | |
791 | cat("### ", file=stderr()) | |
792 | cat(..., file=stderr()) | |
793 | cat(" ###\n", file=stderr()) | |
794 | flush(stderr()) | |
795 | } | |
796 | invisible(NULL) | |
797 | } | |
798 | setTCPNoDelay <- function( socket, value=TRUE ) | |
799 | { | |
800 | if(!any(c("socket","sockconn") %in% class(socket))) | |
801 | stop("socket must be a socket object") | |
802 | ||
803 | buffer <- paste(rep(" ", 1000), sep='', collapse='') | |
804 | ||
805 | conn <- getConnection(socket[1]) | |
806 | ||
807 | retval <- .C("R_setTCPNoDelay", | |
808 | socket=as.integer(socket[1]), | |
809 | flag=as.integer(value), | |
810 | status=integer(1), | |
811 | status.str=as.character(buffer), | |
812 | status.len=as.integer(nchar(buffer)), | |
813 | package="gtools" | |
814 | ) | |
815 | ||
816 | if(retval$status != 0) | |
817 | stop( retval$status.str ) | |
818 | else | |
819 | invisible(retval$status.str) | |
820 | } | |
821 | ||
822 | strmacro <- function(..., expr, strexpr) | |
823 | { | |
824 | if(!missing(expr)) | |
825 | strexpr <- deparse(substitute(expr)) | |
826 | ||
827 | a <- substitute(list(...))[-1] | |
828 | ||
829 | nn <- names(a) | |
830 | if (is.null(nn)) | |
831 | nn <- rep("", length(a)) | |
832 | for(i in 1:length(a)) | |
833 | { | |
834 | if (nn[i] == "") | |
835 | { | |
836 | nn[i] <- paste(a[[i]]) | |
837 | msg <- paste(a[[i]], "not supplied") | |
838 | a[[i]] <- substitute(stop(foo), | |
839 | list(foo = msg)) | |
840 | } | |
841 | else | |
842 | { | |
843 | a[[i]] <- a[[i]] | |
844 | } | |
845 | #if (nn[i] == "DOTS") | |
846 | # { | |
847 | # nn[i] <- "..." | |
848 | # a[[i]] <- formals(function(...){})[[1]] | |
849 | # } | |
850 | } | |
851 | names(a) <- nn | |
852 | a <- as.list(a) | |
853 | ||
854 | ## this is where the work is done | |
855 | ff <- | |
856 | function(...) | |
857 | { | |
858 | ## build replacement list | |
859 | reptab <- a # copy defaults first | |
860 | reptab$"..." <- NULL | |
861 | #reptab$DOTS <- "" | |
862 | ||
863 | args <- match.call(expand.dots=TRUE)[-1] | |
864 | #print(args) | |
865 | ||
866 | for(item in names(args)) | |
867 | ##if(item %in% names(reptab)) | |
868 | reptab[[item]] <- args[[item]] | |
869 | ##else | |
870 | ## { | |
871 | ## browser() | |
872 | ## oldval <- reptab[["DOTS"]] | |
873 | ## addval <- paste(item, "=", args[[item]]) | |
874 | ## if(oldval>"") | |
875 | ## newval <- paste(c(oldval, addval), collapse=", ") | |
876 | ## else | |
877 | ## newval <- addval | |
878 | ## reptab[["DOTS"]] <- newval | |
879 | ## } | |
880 | ||
881 | #print(reptab) | |
882 | ||
883 | ## do the replacements | |
884 | body <- strexpr | |
885 | for(i in 1:length(reptab)) | |
886 | { | |
887 | pattern <- paste("\\b", | |
888 | names(reptab)[i], | |
889 | "\\b",sep='') | |
890 | ||
891 | value <- reptab[[i]] | |
892 | if(missing(value)) | |
893 | value <- "" | |
894 | ||
895 | body <- gsub(pattern, | |
896 | value, | |
897 | body, | |
898 | extended=TRUE) | |
899 | } | |
900 | ||
901 | #print(body) | |
902 | ||
903 | fun <- parse(text=body) | |
904 | eval(fun, parent.frame()) | |
905 | ||
906 | ||
907 | } | |
908 | ||
909 | ||
910 | ||
911 | ## add the argument list | |
912 | formals(ff) <- a | |
913 | ||
914 | ## create a fake source attribute | |
915 | mm <- match.call() | |
916 | mm$expr <- NULL | |
917 | mm[[1]] <- as.name("macro") | |
918 | attr(ff, "source") <- c(deparse(mm), strexpr) | |
919 | ||
920 | ## return the 'macro' | |
921 | ff | |
922 | } | |
923 | ||
924 | ||
925 | ||
926 |
0 | # $Id: invalid.R,v 1.4 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: invalid.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | invalid <- function(x) |
3 | 3 | { |
0 | # $Id: logit.R,v 1.2 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: logit.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | logit <- function(x, min=0, max=1) |
3 | 3 | { |
0 | # $Id: mixedsort.R,v 1.10 2005/06/13 17:08:41 nj7w Exp $ | |
0 | # $Id: mixedsort.R 626 2005-06-13 17:08:41Z nj7w $ | |
1 | 1 | |
2 | 2 | mixedsort <- function(x) x[mixedorder(x)] |
3 | 3 |
0 | # $Id: oddeven.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: oddeven.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | # detect odd/even integers |
3 | 3 | odd <- function(x) x!=as.integer(x/2)*2 |
0 | # $Id: permute.R,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: permute.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | permute <- function(x) sample( x, size=length(x), replace=FALSE ) |
0 | # $Id: quantcut.R,v 1.4 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: quantcut.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | quantcut <- function(x, q=seq(0,1,by=0.25), na.rm=TRUE, ... ) |
3 | 3 | { |
0 | # $Id: running.R,v 1.12 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: running.R 1012 2006-11-14 22:25:06Z ggorjan $ | |
1 | 1 | |
2 | 2 | "running" <- function(X, Y=NULL, |
3 | 3 | fun=mean, |
0 | # $Id: scat.R,v 1.2 2005/06/09 14:20:29 nj7w Exp $ | |
0 | # $Id: scat.R 625 2005-06-09 14:20:30Z nj7w $ | |
1 | 1 | |
2 | 2 | # cat to stdout and immediately flush |
3 | 3 | scat <- function(...) |
0 | ## | |
1 | ## Function to do rbind of data frames quickly, even if the columns don't match | |
2 | ## | |
3 | ||
4 | smartbind <- function(...) | |
5 | { | |
6 | verbose <- FALSE | |
7 | ||
8 | ||
9 | data <- list(...) | |
10 | if(is.null(names(data))) | |
11 | names(data) <- as.character(1:length(data)) | |
12 | data <- lapply(data, | |
13 | function(x) | |
14 | if(is.matrix(x) || is.data.frame(x)) | |
15 | x | |
16 | else | |
17 | data.frame(as.list(x)) | |
18 | ) | |
19 | ||
20 | #retval <- new.env() | |
21 | retval <- list() | |
22 | rowLens <- unlist(lapply(data, nrow)) | |
23 | nrows <- sum(rowLens) | |
24 | ||
25 | rowNameList <- unlist(lapply( names(data), | |
26 | function(x) | |
27 | if(rowLens[x]<=1) x | |
28 | else paste(x, seq(1,rowLens[x]),sep='.')) | |
29 | ) | |
30 | ||
31 | ||
32 | start <- 1 | |
33 | for(block in data) | |
34 | { | |
35 | if(verbose) print(block) | |
36 | end <- start+nrow(block)-1 | |
37 | for(col in colnames(block)) | |
38 | { | |
39 | if( !(col %in% names(retval))) | |
40 | { | |
41 | if(verbose) cat("Start:", start, | |
42 | " End:", end, | |
43 | " Column:", col, | |
44 | "\n", sep="") | |
45 | if(class(block[,col])=="factor") | |
46 | newclass <- "character" | |
47 | else | |
48 | newclass <- class(block[,col]) | |
49 | retval[[col]] <- as.vector(rep(NA,nrows), mode=newclass) | |
50 | } | |
51 | ||
52 | retval[[col]][start:end] <- as.vector(block[,col], | |
53 | mode=class(retval[[col]])) | |
54 | } | |
55 | start <- end+1 | |
56 | } | |
57 | ||
58 | #retval <- as.list(retval) | |
59 | attr(retval,"row.names") <- rowNameList | |
60 | class(retval) <- "data.frame" | |
61 | return(retval) | |
62 | } | |
63 |
Binary diff not shown
0 | % $Id: ELISA.Rd,v 1.3 2005/06/09 14:20:29 nj7w Exp $ | |
1 | % | |
2 | \name{ELISA} | |
3 | \docType{data} | |
4 | \alias{ELISA} | |
5 | \title{Data from an ELISA assay} | |
6 | \description{Observed signals and (for some observations) nominal | |
7 | concentrations for samples that were aliquoted to multiple assay plates, | |
8 | which were read multiple times on multiple days. | |
9 | } | |
10 | \usage{ | |
11 | data(ELISA) | |
12 | } | |
13 | \format{a data frame with the following columns: | |
14 | \itemize{ | |
15 | \item{PlateDay}{factor. Specifies one of four physically disctinct | |
16 | 96 well plates} | |
17 | \item{Read}{factor. The signal was read 3 times for each plate.} | |
18 | \item{Description}{character. Indicates contents of sample.} | |
19 | \item{Concentration}{numeric. Nominal concentration of standards (NA | |
20 | for all other samples).} | |
21 | \item{Signal}{numeric. Assay signal. Specifically, optical density | |
22 | (a colorimetric assay).} | |
23 | } | |
24 | } | |
25 | \source{Anonymized data. | |
26 | } | |
27 | \keyword{datasets} | |
0 | % $Id: ELISA.Rd 1012 2006-11-14 22:25:06Z ggorjan $ | |
1 | % | |
2 | \name{ELISA} | |
3 | \docType{data} | |
4 | \alias{ELISA} | |
5 | \title{Data from an ELISA assay} | |
6 | \description{Observed signals and (for some observations) nominal | |
7 | concentrations for samples that were aliquoted to multiple assay plates, | |
8 | which were read multiple times on multiple days. | |
9 | } | |
10 | \usage{ | |
11 | data(ELISA) | |
12 | } | |
13 | \format{a data frame with the following columns: | |
14 | \itemize{ | |
15 | \item{PlateDay}{factor. Specifies one of four physically disctinct | |
16 | 96 well plates} | |
17 | \item{Read}{factor. The signal was read 3 times for each plate.} | |
18 | \item{Description}{character. Indicates contents of sample.} | |
19 | \item{Concentration}{numeric. Nominal concentration of standards (NA | |
20 | for all other samples).} | |
21 | \item{Signal}{numeric. Assay signal. Specifically, optical density | |
22 | (a colorimetric assay).} | |
23 | } | |
24 | } | |
25 | \source{Anonymized data. | |
26 | } | |
27 | \keyword{datasets} |
19 | 19 | \value{ |
20 | 20 | None. |
21 | 21 | } |
22 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}} | |
22 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
23 | 23 | \seealso{ \code{\link[base]{.Last}} } |
24 | 24 | \examples{ |
25 | 25 |
20 | 20 | \value{ |
21 | 21 | None. Evaluated only for its side effect. |
22 | 22 | } |
23 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
23 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
24 | 24 | \seealso{ \code{\link[base]{stop}}, \code{\link[base]{warning}} } |
25 | 25 | \examples{ |
26 | 26 |
0 | \name{capture} | |
1 | \alias{capture} | |
2 | \alias{sprint} | |
3 | \title{Capture printed output of an R expression in a string} | |
4 | \description{ | |
5 | Capture printed output of an R expression in a string | |
6 | } | |
7 | \usage{ | |
8 | capture(expression, collapse = "\n") | |
9 | sprint(x,...) | |
10 | } | |
11 | \arguments{ | |
12 | \item{expression}{R expression whose output will be captured.} | |
13 | \item{collapse}{Character used to join output lines. Defaults to | |
14 | "\\n". Use \code{NULL} to return a vector of individual output lines.} | |
15 | \item{x}{Object to be printed} | |
16 | \item{...}{Optional parameters to be passed to \code{\link{print}} } | |
17 | } | |
18 | \details{ | |
19 | The \code{capture} function uses \code{\link{sink}} to capture the | |
20 | printed results generated by \code{expression}. | |
21 | ||
22 | The function \code{sprint} uses \code{capture} to redirect the | |
23 | results of calling \code{\link{print}} on an object to a string. | |
24 | } | |
25 | \value{ | |
26 | A character string, or if \code{collapse==NULL} a vector of character | |
27 | strings containing the printed output from the R expression. | |
28 | } | |
29 | \section{WARNING}{R 1.7.0+ includes \code{capture.output}, which | |
30 | duplicates the functionality of \code{capture}. Thus, \code{capture} | |
31 | is depreciated.} | |
32 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
33 | \seealso{\code{\link[session]{texteval}}, \code{\link[base]{capture.output}}}} | |
34 | \examples{ | |
35 | ||
36 | # capture the results of a loop | |
37 | loop.text <- capture( for(i in 1:10) cat("i=",i,"\n") ) | |
38 | loop.text | |
39 | ||
40 | # put regression summary results into a string | |
41 | data(iris) | |
42 | reg <- lm( Sepal.Length ~ Species, data=iris ) | |
43 | summary.text <- sprint( summary(reg) ) | |
44 | cat(summary.text) | |
45 | } | |
46 | \keyword{print} | |
47 | \keyword{IO} |
0 | % $Id: combinations.Rd,v 1.11 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: combinations.Rd 1012 2006-11-14 22:25:06Z ggorjan $ | |
1 | 1 | % |
2 | 2 | \name{combinations} |
3 | 3 | \alias{combinations} |
32 | 32 | \code{options} command for details on how to do this. |
33 | 33 | } |
34 | 34 | \value{ |
35 | Returns a matrix where each row contains a vector of length \code{n}. | |
35 | Returns a matrix where each row contains a vector of length \code{r}. | |
36 | 36 | } |
37 | 37 | \references{Venables, Bill. "Programmers Note", R-News, Vol 1/1, |
38 | 38 | Jan. 2001. \url{http://cran.r-project.org/doc/Rnews} } |
39 | 39 | \author{ Original versions by Bill Venables |
40 | 40 | \email{Bill.Venables@cmis.csiro.au}. Extended to handle |
41 | 41 | \code{repeats.allowed} by Gregory R. Warnes |
42 | \email{gregory.r.warnes@pfizer.com}. | |
42 | \email{warnes@bst.rochester.edu}. | |
43 | 43 | } |
44 | 44 | \seealso{ \code{\link[base]{choose}}, \code{\link[base]{options}} } |
45 | 45 | \examples{ |
63 | 63 | No. 3, pp 11--13, \url{http://CRAN.R-project.org/doc/Rnews/} |
64 | 64 | } |
65 | 65 | \author{ Thomas Lumley wrote \code{defmacro}. Gregory R. Warnes |
66 | \email{gregory.r.warnes@pfizer.com} enhanced it and created | |
66 | \email{warnes@bst.rochester.edu} enhanced it and created | |
67 | 67 | \code{strmacro}. |
68 | 68 | } |
69 | 69 | \seealso{ |
0 | % $Id: dirichlet.Rd,v 1.5 2005/09/12 15:44:14 nj7w Exp $ | |
0 | % $Id: dirichlet.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{rdirichlet} |
3 | 3 | \alias{rdirichlet} |
35 | 35 | \url{http://www.r-project.org/nocvs/mail/r-help/2000/3865.html}. Ben |
36 | 36 | attributed the code to Ian Wilson \email{i.wilson@maths.abdn.ac.uk}. |
37 | 37 | Subsequent modifications by Gregory R. Warnes |
38 | \email{gregory.r.warnes@pfizer.com}. | |
38 | \email{warnes@bst.rochester.edu}. | |
39 | 39 | } |
40 | 40 | \seealso{ \code{\link{dbeta}}, \code{\link{rbeta}} } |
41 | 41 | \examples{ |
0 | % $Id: foldchange.Rd,v 1.6 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: foldchange.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{foldchange} |
3 | 3 | \alias{foldchange} |
36 | 36 | A vector or matrix of the same dimensions as the input containing the |
37 | 37 | converted values. |
38 | 38 | } |
39 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
39 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
40 | 40 | \examples{ |
41 | 41 | |
42 | 42 | a <- 1:21 |
0 | % $Id: invalid.Rd,v 1.4 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: invalid.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{invalid} |
3 | 3 | \alias{invalid} |
16 | 16 | \value{ |
17 | 17 | Logical value. |
18 | 18 | } |
19 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
19 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
20 | 20 | \seealso{ \code{\link[base]{missing}}, \code{\link[base]{is.na}}, |
21 | 21 | \code{\link[base]{is.null}} } |
22 | 22 | \examples{ |
0 | % $Id: logit.Rd,v 1.5 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: logit.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{logit} |
3 | 3 | \alias{logit} |
41 | 41 | \value{ |
42 | 42 | Transformed value(s). |
43 | 43 | } |
44 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
44 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
45 | 45 | \seealso{ \code{\link[car]{logit}}, \code{\link[moc]{inv.glogit}} } |
46 | 46 | \examples{ |
47 | 47 |
0 | % $Id: mixedsort.Rd,v 1.6 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: mixedsort.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{mixedsort} |
3 | 3 | \alias{mixedsort} |
35 | 35 | \code{mixedorder} returns a vector giving the sort order of the input |
36 | 36 | elements. \code{mixedsort} returns the sorted vector. |
37 | 37 | } |
38 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
38 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
39 | 39 | \seealso{ \code{\link[base]{sort}}, \code{\link[base]{order}} } |
40 | 40 | \examples{ |
41 | 41 | # compound & dose labels |
64 | 64 | \keyword{manip} |
65 | 65 | |
66 | 66 | |
67 | \concept{natural sort} | |
68 | \concept{dictionary sort} | |
69 |
0 | % $Id: oddeven.Rd,v 1.4 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: oddeven.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{odd} |
3 | 3 | \alias{odd} |
16 | 16 | \value{ |
17 | 17 | Vector of TRUE/FALSE values. |
18 | 18 | } |
19 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}} | |
19 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
20 | 20 | \seealso{ \code{\link[base]{round}} } |
21 | 21 | \examples{ |
22 | 22 |
0 | % $Id: permute.Rd,v 1.4 2005/09/12 15:44:14 nj7w Exp $ | |
0 | % $Id: permute.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{permute} |
3 | 3 | \alias{permute} |
17 | 17 | \value{ |
18 | 18 | Vector with the original items reordered. |
19 | 19 | } |
20 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com} } | |
20 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu} } | |
21 | 21 | \seealso{ \code{\link{sample}} } |
22 | 22 | |
23 | 23 | \examples{ |
0 | % $Id: quantcut.Rd,v 1.6 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: quantcut.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{quantcut} |
3 | 3 | \alias{quantcut} |
33 | 33 | Factor variable with one level for each quantile interval given by \code{q}. |
34 | 34 | } |
35 | 35 | |
36 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}} | |
36 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
37 | 37 | |
38 | 38 | \seealso{ \code{\link{cut}}, \code{\link{quantile}} } |
39 | 39 |
0 | % $Id: running.Rd,v 1.14 2005/12/01 16:50:14 nj7w Exp $ | |
0 | % $Id: running.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | % |
2 | 2 | \name{running} |
3 | 3 | \alias{running} |
54 | 54 | Note that this function will create a vector or matrix even for |
55 | 55 | objects which are not simplified by \code{sapply}. |
56 | 56 | } |
57 | \author{ Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}, | |
57 | \author{ Gregory R. Warnes \email{warnes@bst.rochester.edu}, | |
58 | 58 | with contributions by Nitin Jain \email{nitin.jain@pfizer.com}.} |
59 | 59 | \seealso{ \code{\link[gplots]{wapply}} to apply a function over an x-y window |
60 | 60 | centered at each x point, \code{\link[base]{sapply}}, |
0 | % $Id: scat.Rd,v 1.3 2005/09/12 15:44:14 nj7w Exp $ | |
0 | % $Id: scat.Rd 977 2006-08-02 22:21:49Z warnes $ | |
1 | 1 | |
2 | 2 | \name{scat} |
3 | 3 | \alias{scat} |
17 | 17 | \value{ |
18 | 18 | NULL (invisibly) |
19 | 19 | } |
20 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}} | |
20 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
21 | 21 | \seealso{ \code{\link[base]{cat}}} |
22 | 22 | \examples{ |
23 | 23 | options(DEBUG=NULL) # makee sure DEBUG isn't set |
40 | 40 | Request for Comments 896, January 1984. |
41 | 41 | \url{http://www.ietf.org/rfc/rfc0896.txt?number=896} |
42 | 42 | } |
43 | \author{Gregory R. Warnes \email{gregory.r.warnes@pfizer.com}} | |
43 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
44 | 44 | \seealso{ |
45 | 45 | \code{\link[utils]{make.socket}}, |
46 | 46 | \code{\link[utils]{socketConnection}} |
0 | \name{smartbind} | |
1 | \alias{smartbind} | |
2 | \title{Efficient rbind of data framesy, even if the column names don't match} | |
3 | \description{ | |
4 | Efficient rbind of data frames, even if the column names don't match | |
5 | } | |
6 | \usage{ | |
7 | smartbind(...) | |
8 | } | |
9 | \arguments{ | |
10 | \item{\dots}{Data frames to combine} | |
11 | } | |
12 | \value{ | |
13 | The returned data frame will contain: | |
14 | \item{columns}{all columns present in any provided data frame} | |
15 | \item{rows}{a set of rows from each provided data frame, with values | |
16 | in columns not present in the given data frame filled with missing | |
17 | (\code{NA}) values.} | |
18 | The data type of columns will be preserved, as long as all data frames | |
19 | with a given column name agree on the data type of that column. If | |
20 | the data frames disagree, the column will be converted into a | |
21 | character strings. The user will need to coerce such character | |
22 | columns into an appropriate type. | |
23 | } | |
24 | \author{Gregory R. Warnes \email{warnes@bst.rochester.edu}} | |
25 | \seealso{ \code{\link{rbind}}, \code{\link{cbind}} } | |
26 | \examples{ | |
27 | ||
28 | df1 <- data.frame(A=1:10, B=LETTERS[1:10], C=rnorm(10) ) | |
29 | df2 <- data.frame(A=11:20, D=rnorm(10), E=letters[1:10] ) | |
30 | ||
31 | # rbind would fail | |
32 | \dontrun{ | |
33 | rbind(df1, df2) | |
34 | # Error in match.names(clabs, names(xi)) : names do not match previous | |
35 | # names: | |
36 | # D, E | |
37 | } | |
38 | # but smartbind combines them, appropriately creating NA entries | |
39 | smartbind(df1, df2) | |
40 | ||
41 | \dontshow{ | |
42 | n=10 # number of data frames to create | |
43 | s=10 # number of rows in each data frame | |
44 | ||
45 | # create a bunch of column names | |
46 | names <- LETTERS[2:5] | |
47 | ||
48 | # create a list 'Z' containing 'n' data frames, each with 3 columns | |
49 | # and 's' rows. The first column is always named 'A', but the other | |
50 | # two have a names randomly selected from 'names' | |
51 | ||
52 | Z <- list() | |
53 | for(i in 1:n) | |
54 | { | |
55 | X <- data.frame(A=sample(letters,s,replace=TRUE), | |
56 | B=letters[1:s], | |
57 | C=rnorm(s) ) | |
58 | colnames(X) <- c("A",sample(names,2,replace=FALSE)) | |
59 | Z[[i]] <- X | |
60 | } | |
61 | ||
62 | # Error in match.names(clabs, names(xi)) : names do not match | |
63 | # previous names: E | |
64 | ||
65 | # But smartbind will 'do the right thing' | |
66 | df <- do.call("smartbind",Z) | |
67 | df | |
68 | } | |
69 | } | |
70 | % Add one or more standard keywords, see file 'KEYWORDS' in the | |
71 | % R documentation directory. | |
72 | \keyword{manip} | |
73 |