Addedmedtest() totableby() for amedian test. (#327)
Account for NAs insign.test() inpaired(). (#326)
AddNsigntest() forpaired().(#326)
Add"Nevents" for binomial GLMs. (#325)
A fix for R devel when digits=0.
Fixed one URL
Fixed twomodelsum test errors that were a result ofrounding on macos.
Possible breaking change:
tableby(),modelsum(), andfreqlist() now use thecaption= argument inknitr::kable() to generate captions(comparedf() already does). (#310)
Changes toDESCRIPTION file:
Changedbroom requirement to >= 0.7.1, in which abug withgeepack::geeglm was fixed. This affected one testin the test suite.
Addedgeepack package to “Suggests” (#279).
Removedgam from the “Suggests”, in favor ofsplines, which themodelsum() vignetteactually uses.
Changedsurvival requirement to>= 2.43-1.
Other changes:
Added code to error informatively when “Suggests” aren’tavailable. (#317)
tableby():
Addedselectall().
Added “label” option tocat.simplify= andord.simplify= fortableby()/paired(). (#288)
Fixed a bug intableby() /paired()wherestats.labels= specification would remove all defaultlabels. (#316)
Addedwt() (Wilcoxon test) option fortableby(). (#321)
Fixed a bug intableby() relating to a weird edgecase when a by-level is “Total” and the total label is set to somethingelse.
Added a feature totableby.control() to allow forthe total column to be moved before the other columns. (#320)
Added a feature totableby.control() to allow fordropping of categorical levels. (#318)
Addedmeanse() fortableby().(#315)
modelsum():
Addedrelrisk() tomodelsum() families(with corresponding addition ofgeepack package to“Suggests”). (#279)
Fixed a bug inmodelsum() with confidence level forsurvival.
Suppressed warnings with new broom version when usingMASS::glm.nb().
comparedf():
Added option todiffs() for extracting not-sharedobservations. (#305)
Fixed bug incomparedf() when things are infinite.(#306)
write2():
write2() vignette about a global optionfor R Markdown documents in R Studio. (#312)Change R requirement to >= 3.4.0.
Fixed a bug to conform with newbroom publication,and changebroom requirement to >= 0.7.0.(#296)
Fixed a bug to conform with newknitr publication,and changeknitr requirement to >= 1.29. (#299, #300,#301)
The GitHub repository was moved fromhttps://github.com/eheinzen/arsenal/ tohttps://github.com/mayoverse/arsenal/. The correspondingpkgdown site is now athttps://mayoverse.github.io/arsenal/
freqlist(): Changed the default foraddNA to beTRUE in the formula method, sothat you only have to specifyna.options like in the tablemethod.
modelsum():
Added support for conditional logistic regressions.(#275)
Fixed a bug inmodelsum.control() with confidenceinterval specification.
Expanded the statistic list for survival models.
Eliminated call tobroom::confint_tidy().(#296)
tableby() /paired():
Removed checks for existance of stat functions (the check wasn’tworking anyway) and search both the enclosing environment as well asparent.frame() (for custom stat functions).
tableby(): better describedas.tbstat()andas.countpct() in the vignette, and makeas.countpct() slightly more flexible. (#283)
paired(): fixed a bug with detecting statfunctions.
tableby(): added an error if reserved terms are usedin the by-variable. (#277)
Added an option for HTML footnotes (and superscripts) insummary.tableby(). (#298)
Added apkgdown site:https://eheinzen.github.io/arsenal/
Moved knitr to an import. (#255)
comparedf(): Added support for tolerances byvariable. (#167)
tableby() /paired():
tableby():
Allowed for changing of “Overall” and “Total” labels. (#253,#261)
Allowed for suppression of N’s in the header. (#256,#36)
Allowed for digits formatting of N’s in the header.(#257)
Escaped% fortext="latex".(#258)
Added to vignette describingmerge(all=TRUE).
Fixed vignette re: outputting to CSV. (#278)
paired():
Allowed for changing of “Difference” label. (#271)
Removed “…” from the documentation forpaired.internal per CRAN’s request (PR#16223 forR-devel).
Added support for “min”, “max”, “sd”, “mean”, and “var” (#259)and “gmean”, “gsd”, “gmeansd”, “gmeanCI” (#260) and “Npct” (#263) and“sum” (#281).
Added a more informative error message when no summary statisticis computed. (#273)
modelsum():
Fixed “statistic.F” for family=“gaussian”. (#262)
Fixed “Nevents” for family=“survival”. (#266)
Fixed vignette re: outputting to CSV. (#278)
freqlist(): Updatedhead.summary.freqlist() andtail.summary.freqlist() to comply with new R-develdefinitions.
Updated “labels” vignette. (#267)
Addedescape = argument toformulize().(#282)
tableby() /paired():
Redid how weights are handled. The only user-visible changesshould be that standard deviations on length-1 groups are now reportedasNA instead ofNaN.
Fixed a bug withmodpval.tableby() when factors areinvolved. (#239)
AddedmeanCI() andmedianmad(). (#230,#232)
Added the units fordifftime statistics when usingdates (e.g.,meansd,medianmad,iqr).
Fixed Chi-square and Fisher’s Exact test for one-levelcategorical variables. (#227, #228)
Fixed the n’s in the header when using weights. (#229)
Fixed a bug with confidence levels supplied through the controlargument. (#234)
paired(): fixed a bug when usingcount() with factors. (#235)
tableby.control(): added explicittimes= argument for survival summaries.
Added option to run statistical tests even if one by-group has 0observations. (#233, #250, #251)
Stopped the formatting of p-values when they’re not numeric (if,say, they’re pre-formatted by the user). (#249)
modelsum():
Added functionality for multiple adjustor sets. (#240)
Fixed “Nmiss” and “N” when used with strata, which now bothreport the missings for the entire fit. (#241, #242, #243)
Suppressed messages frompROC::auc() whencalculating AUC. (#244)
Fixed confidence level for survival models. (#245)
Added an option for the likelihood ratio test for the main effect(but not the adjustors):p.value.lrt (#238)
Blanked out p-values that are NA. (#246)
code.chunk():
Fixed logic checking the length ofchunk.opts=.
Allowed for empty code chunks. (#236)
verbatim(): removed named argument in favor of thedots; reworked the object structure to fix edge case printing oddities.(#248)
Removed defunct functions.
comparedf():
Fixed a bug when “row.names” was used in combination with otherby-variables. (#212)
Allowed for comparison of variables which have any class incommon. (#216)
summary.comparedf():
Removed the “comparedf.frame.summary” class from the firstelement to allow it to print. (#211)
Fixed a bug with reporting blank by-variables. (#213)
Fixed a bug with reporting by-variables as variables in common.(#214)
modelsum(): added Wald confidence intervals tobinom.stats=. (#219)
tableby() /paired():
Fixed a bug withmerge.arsenal_table() losingcontrol parameters fortableby() objects. (#221)
Allowed for variable-name-onlylabelTranslations=assignment for terms with inline statistical test specification.Backward compatibility should be maintained here. (#220)
Fixed a bug with assigningNULL labels with inlinestatistical test specifications. (#222)
summary.tableby(): fixed a bug with formatting whenstrata aren’t in alphabetical order and have different number ofelements (e.g., if only one includes missing values). (#215)
tableby() /paired():
Added “Nmiss” to defaultsurv.stats= intableby.control().
Fixed a bug when someSurv() elements are NA.(#208)
tableby.control(): fixed a bug with simplifyingcategorical and numeric output. (#199, #203) This fix also allows forsimplification of custom statistics. (#200)
tableby.control(): addeddate.simplify=andordered.simplify= arguments. (#202) The order ofarguments has changed slightly for consistency.
paired.control(): took away the arguments thatshould be the same astableby.control(), and only includedarguments with new defaults or which don’t appear intableby.control().
Added the functionscountN() andNrisk() (#201).Nrisk() now outputs whatNriskSurv() used to;NriskSurv() now outputswhat its name suggests: the number at risk, and the survival.Additionally,as.countpct() gains thewhich.pct= argument, whose default of0 maybreak the formatting of percents (digits.pct=).
comparedf():
Added additional summary table to thesummary()output.
Moved themax.print...= arguments tocomparedf.control().max.print.diff= is nowdeprecated and is replaced bymax.print.diffs.per.var=.max.print.diffs= was also added to control overall numberof differences printed.
Fixed a bug with numeric percent tolerances when both valuesbeing compared are 0. (#206)
Fixed a bug indiffs() (and hencesummary()) when no variables are compared (#207). Note thatthis change also included a change to the by-variables reported in thecomparedf() object when merging over row.names.
There are a few non-backwards-compatibleupdates.
Major changes:
Renamedcompare() ->comparedf() andcomparison.control() ->comparedf.control(). (#179)
modelsum(): Fixed bug(s) with interaction terms.(#173, #177)
Added a new functionloosen.labels() which removesthe classes added bykeep.labels() and thereby speeds upsubsetting when labels are no longer needed. This is now used intableby(),modelsum(),freqlist(), andpaired().
Smaller changes:
tableby() /paired():
Fixed two bugs relating tomodpval.tableby(): onewhich didn’t properly assign the p-value name (#174), and one whichbrokeas.data.frame() when assigning custom p-values foronly one strata (#175).
These now issue informative error when class isn’t recognized.(#180)
Fixed two bugs in thetableby() vignette:modpval.tableby() wasn’t working properly (#170), andpfootnote=TRUE was commented out (#169).
Fixed a bug with per-variable stats and digit specificationsbeing lost when using thesubset= argument. (#182,#183)
Made all-NA summaries prettier. (#190)
This now issues a warning whencoin isn’t availablefor the trend test. (#193)
comparedf():
This now allows for zero-row data.frames. (#166)
comparedf.control() now allows for namedtol.vars= argument to manually match column names.(#165)
freqlist():
Fixed a bug where labels would get dropped when using thesubset= argument. (#184)
Fixed a bug where labels were lost when subsetting the table andusing strata terms. (#196)
freqlist(): implemented asort() methodto sort tables on frequency. (#187)
summary.freqlist(): Implementedhead()andtail(). (#188)
summary.freqlist(): fixed a bug when all tablecounts are 0 andsparse=FALSE. (#186, #194)
keep.labels():
This no longer sticks another class on data.frames.
Fixed a bug with replacement for objects of class"keep_labels".
formulize(): added thecollapse= andcollapse.y= arguments. (#197)
There is a new class system ("arsenal_table") whichunifiestableby(),modelsum(), andfreqlist().
arsenal now imports and re-exportsutils::head() andutils::tail().
arsenal now has a sticker!
arsenal_table:
Implemented a new class (without a constructor).
labels<-.arsenal_table() doesn’t support unnamedlabels, as it’s unclear how to assign them to multiple by-variables andstrata. It also doesn’t give warnings if your labels are notused.
[.arsenal_table() has an argumentj= toselect the by-variables.
merge.arsenal_table() has arguments to select whichby-variables to keep if not all are in common. It also checks to makesure that strata, weights, and by-variables are all identical.
print.arsenal_table() shows y- and x-variables, plusany strata.
tableby() andpaired():
Added functionality for multiple by-variables and strata terms.This required completely reworking the innards of thetableby object.
Removedlength.tableby() (because it was messing upstr() and R Studio) and replaced withhead.tableby() andtail.tableby() (theoriginal purpose to havinglength() defined).
Implementedsort.tableby(), which errors out if theobject has strata or multiple by-variables, and then runs the defaultmethod.
modpval.tableby() now requires the first column tobe the by-variable, and if the object has a strata, the second column isrequired to be the corresponding strata value.
tests.tableby() now returns a data.frame with aby-variable column and (if applicable) a strata column.
na.tableby() now generates functions. The “lhs=”argument determines whether to remove NAs from the first column of thedata. Iftableby() detects a one-sided formula, it setsthis to FALSE. Both versions now remove rows with NAs in the stratacolumn (when applicable).
na.paired() now removes rows with NAs in the stratacolumn (when applicable).
padjust.tableby() andpadjust.summary.tableby() will error if fed an object withstrata or multiple by-variables.
as.data.frame.tableby() andas.data.frame.summary.tableby() gain thelist.ok= argument, for when there are multipleleft-hand-sides.
Added logic to statistical tests to detect missing levels of theby-variable.
Fixed a bug with LaTeX formatting involving thealign= argument toknitr::kable().
Passingterm.name=TRUE tosummary.tableby() oras.data.frame.summary.tableby() will now put the term namein the top left corner of each table.
modelsum():
Added functionality for multiple by-variables and strata terms.This required completely reworking the innards of themodelsum object.
na.modelsum() now removes rows with NAs in thestrata column (when applicable).
as.data.frame.modelsum() andas.data.frame.summary.modelsum() gain thelist.ok= argument, for when there are multipleleft-hand-sides.
Passingterm.name=TRUE tosummary.modelsum() oras.data.frame.summary.modelsum() will now put the term namein the top left corner of each table.
freqlist():
Added functionality for multiple by-variables. This requiredcompletely reworking the innards of thefreqlistobject.
Changed the argumentgroupBy= tostrata= to matchtableby() andmodelsum().
Addedmerge.freqlist() andas.data.frame.summary.freqlist(). Note that[.arsenal_table() now allows you to remove the cumulativeand percent columns.
Note thatlabels<-.arsenal_table() no longersupports unnamed labels, but now accepts labels for the frequency,cumulative, and percent columns forfreqlistobjects.
Removed thedigits=,sparse=,single=, anddupLabels= arguments fromfreqlist() andsummary.freqlist(). These arenow arguments to the newfreq.control(), and are passedthrough the dots (for backwards compatibility).freqlist()also gained thecontrol= argument for objects fromfreq.control().
as.data.frame.freqlist() no longer rounds itsdigits, nor does it label its columns. Useas.data.frame.summary.freqlist() for that instead. It alsogained thelist.ok= argument, for when there are multipleleft-hand-sides.
includeNA(): removed the “character” and “numeric”methods, replacing them with a default. In particular, this changes thedefault label of what used to beincludeNA.numeric().
write2():
Changed the output to an.Rmd file instead of a.md. This shouldn’t break anything, unless you’re relyingon the intermediate file.
Replaced thekeep.md= argument withkeep.rmd= (since we’re not using.md filesdirectly anymore).
Added the functioncode.chunk() to write executablecode chunks to the.Rmd.
tableby() andpaired():
fixed a bug with specifying individual statistics for characterand logical vectors. (#142)
tableby() andpaired(): added afunction (notest()) to prevent performing a test on anindividual variable. (#144)
summary.tableby(): changed NA p-values to blanks.(#145)
summary.tableby(): added documentation onbookdown. (#147)
Wrotepadjust(), an S3 wrapper forp.adjust(), which can also adjusttableby()(and hencepaired()) objects. (#146)
print.summary.tableby(),as.data.frame.summary.tableby(): addedwidth=andmin.split= as formal arguments.
FixedmedSurv() which was calculating the mediansurvival incorrectly, and removedrangeTime(), an ambiguoussurvival statistic. (#32)
modelsum():
summary.modelsum(): added documentation onbookdown. (#147)
print.summary.modelsum(),as.data.frame.summary.modelsum(): addedwidth=andmin.split= as formal arguments.
summary.freqlist(): added documentation onbookdown. (#147)
formulize(): added support for names and calls.(#152, #153)
There are a few non-backwards-compatibleupdates.
Major changes:
modelsum():
Addedfamily="ordinal" to do ordinal logisticregression usingMASS::polr(). (#130)
Addedfamily="negbin" to do negative binomialregression usingMASS::glm.nb(). (#15)
Added support for ordinal regressors and adjustment terms (byadding support for their associated contrasts). (#133)
Allowed for LaTeX formatting. NOTE: this changes (hence possiblybreaking old code) the formatting behavior when specifyingtext="html". (#123)
summary.compare.data.frame(): Added a small summaryof the input data.frames as the first table. (#126) NOTE: this changesthe structure and printed output ofsummary()!
tableby():
Allowed for LaTeX formatting. NOTE: this changes (hence possiblybreaking old code) the formatting behavior when specifyingtext="html". (#123)
Added functionality to in-formula functions to allow thespecification ofdigits= (etc.),numeric.simplify=, andcat.simplify= for asingle variable. (#107, #134, #139) NB: this has the following breakingchanges:
There is no longer a “name” element in the “tableby” object’sx-specifications; instead it’s now called “term”
An element for “variable”, containing the variable name, wasadded to the “tableby” object’s x-specifications.
An element for “control.list”, recording format specifications,was added to the “tableby” object’s x-specifications.
The output ofas.data.frame.tableby() now reportsonly the variable name in the “variable” column when using internalstatistical functions (likeanova() andchisq()–it used to include the function call aswell).
The output ofas.data.frame.tableby() no longerincludes category levels in the “term” column; instead, it contains thestatistical function used (likecountpct() andcount()).
Smaller changes:
modelsum():
Added support forcalls to the family functions, in casea different link function (for example) is required.
Properly propogated “term.name” to theas.data.frame() method. (#128)
Fixed formatting of error about unsupported families.
Removed “concordance” from the list of supported statistics forPoisson regression. This shouldn’t break much code, as specifying“concordance” wouldn’t have shown anything anyway.
Fixed a bug with formatting one-per-model p-values.(#140)
tableby():
Added a warning for when by-variable contains empty string.(#121)
Properly propogated “term.name” to theas.data.frame() method. (#127)
Fixed an error that sometimes occured when using categoricalstatistics on numeric variables. (#137)
Added an argument totableby.control() to simplifyone-line numeric output. (#139)
paired():
Added a warning for when by-variable contains empty string.(#121)
Added error tona.paired("in.both") when there aremore than two time points.
compare.data.frame():
Implementedn.diff.obs(). (#124)
Added an argument tosummary() to allow for thedisplay of attributes. (#125)
Fixedsummary() to now return the object passed it.(#141)
Updated documentation where appropriate.
This is a mostly backwards-compatible update.
Major changes:
Implemented the functionpaired() for paired data,based ontableby(). This comes with a very lightvignette.
tableby(): Change default for chi-square tests tocorrect=FALSE. Note that this only affects the 2 x 2case.
Smaller changes:
Added the a default method for label assignment(labels<-). (#118)
Updateformulize() to handle non-syntactic names inthedata= argument. (#105)
tableby():
Implementedis.tableby() andis.summary.tableby(). (#112)
Changed how arguments are passed to stat tests.
Issue a warning if statistical tests are requested when there arefewer than two by-levels. (#108)
Fixedtrend() andanova() to return anobject instead of the object being invisible.
Implemented the stat functionsbinomCI() androwbinomCI() for binomial confidence intervals.(#117)
summary.tableby(): ignore row.names when printingsummary objects.
summary.tableby() andas.data.frame.summary.tableby(): added aterm.name= argument. (#110)
summary.tableby(): passtext="html" toget better formatting in R shiny. (#114)
ImplementedOps.tableby() to compare tableby objectsto a number (p-value). (#96)
Implementedxtfrm.tableby(), so that tableby objectscan be sorted by p-value. (#96)
Implementedlength.tableby(), so thathead() andtail() also work. (#97)
Implementedcountcellpct() for counts and cellpercentages. (#106)
modelsum():
Implementedis.modelsum() andis.summary.modelsum(). (#111)
summary.modelsum(): ignore row.names when printingsummary objects.
summary.modelsum() andas.data.frame.summary.modelsum(): added aterm.name= argument. (#109)
Allow forweights= andna.action=.(#99)
Fixed problem with column names which are prefixes of othercolumn names. (#98)
Fixed problem with column labels overwriting categorical levelswhich also match. (#100)
summary.modelsum(): passtext="html" toget better formatting in R shiny. (#115)
freqlist():
Implementedis.freqlist() andis.summary.freqlist(). (#113)
Fixed a problem with a column named “method”. (#95)
summary.freqlist(): ignore row.names when printingsummary objects.
Update documentation.
Implementedwrite2() methods for"summary.tableby","summary.modelsum", and"summary.freqlist" objects. (#89, #90, #91)
Center-alignedtableby() grouping columns in thesummary output. (#93)
This is a mostly backwards-compatible update.
Major changes:
summary.freqlist() now returns an object.print.summary.freqlist() prints the resulting object.(#76)Smaller changes:
tableby():
Fixed a bug inprint.summary.tableby() involving thelack of wrapping for long labels. (#59)
as.data.frame.summary.tableby() has beenimplemented, andprint.summary.tableby() updatedaccordingly. (#60)
Fixed a bug with assigning labels for tableby objects when somevalue names are unmatched. (#64)
Fixed a bug inprint.summary.tableby() with regardsto knitting in R Markdown with plots immediately following.(#65)
Fixed a bug inprint.summary.tableby() with regardsto PDF output in bookdown. (#69)
Changedtests.tableby() to return a data.framewithout factors.
Fixed a bug inmeansd() when all inputs are NA.(#80)
Fixed a bug withkwt(),anova(), andsummary.tableby() formatting when all inputs are NA.(#81)
Fixed a bug with survival statistics when all inputs are NA.(#82)
Fixed a bug withlogrank() when all inputs are NA.(#83)
Fixed how arguments get passed to stats functions intableby(). In particular, this affected thetimes= option. (#84)
Addediqr() as a tableby stat option. (#86)
Fixed quantile functionsq1q3() andmedianq1q3() for dates. (#87)
modelsum():
Fixed a bug inprint.summary.modelsum() involvingthe lack of wrapping for long labels. (#59)
Fixed a bug inprint.summary.modelsum() with regardsto knitting in R Markdown with plots immediately following.(#66)
Fixed a bug inprint.summary.modelsum() with regardsto PDF output in bookdown. (#70)
as.data.frame.summary.modelsum() has beenimplemented, andprint.summary.modelsum() updatedaccordingly. (#74)
freqlist():
Fixed a bug insummary.freqlist() with regards toknitting in R Markdown with plots immediately following. (#67)
Fixed a bug insummary.freqlist() with regards toPDF output in bookdown. (#71)
Other:
includeNA() now has dots, and the factor methodgained afirst= argument. (#62)
includeNA() also gained a numeric method, especiallyfor use infreqlist.formula(). (#78)
Fixed a bug inprint.summary.compare.data.frame()with regards to PDF output in bookdown. (#72)
This is a non-backwards-compatible update.
Major changes:
freqlist():
freqlist() is now an S3 generic. (#35)
The first argument tofreqlist() has changed fromtab= toobject=, for S3 consistency.(#35)
freqlist.formula() was implemented, piggybacking offofstats::xtabs(). (#35)
Thetitle= argument was added tosummary.freqlist(). Passingcaption= throughthe dots toknitr::kable() will now throw an error.(#34)
tableby():
as.data.frame.tableby() has been totally overhauled.It now uses list-columns to give exact values.
summary.tableby() has been totally overhauled.
Most arguments are no longer named, but passed through thedots.
It now returns an object, abusing in the processas.data.frame.tableby().print.summary.tableby() prints the resulting object.(#8)
print.summary.tableby() now usesknitr::kable() to print results, instead of internalfunctions. As such, non-exported helper functions have all beenremoved.
The arguments totableby.control() have changed.Warnings will be issued for using old arguments.
nsmall= has been removed.digits= takesits place.
nsmall.pct= anddigits.test= have beenrenamed todigits.pct= anddigits.p=,respectively.
There’s now an option for count digits(digits.count=).
format.p= has been added, to turn on formatting ofp-values.
q1q3 is no longer a default continuousstatistic.
NAs can be included in percents usingincludeNA().(#57)
Some additional survival summary functions are now available.(#32)
It is now possible to report row-percents usingcountrowpct(). (#9)
modelsum():
modelsum() has been totally overhauled:
It now usesstats::model.frame() and unevaluatedcalls instead of custom-creating data.frames.
It now allows for non-syntactic names (#44, #45).
as.data.frame.modelsum() has been totallyoverhauled. It now gives exact values instead of formattedvalues.
summary.modelsum() has been totally overhauled.
Most arguments are no longer named, but passed through thedots.
It now returns an object, abusing in the processas.data.frame.modelsum().print.summary.modelsum() prints the resulting object.(#37)
print.summary.modelsum() now usesknitr::kable() to print results, instead of internalfunctions. As such, non-exported helper functions have all beenremoved.
print.summary.modelsum() now strips leading andtrailing whitespace from labels to fix formatting withtext=FALSE. (#48)
labelTranslations= no longer accepts labels for thestatistics columns. Usemodelsum.control(stat.labels=) forthis instead.
The arguments tomodelsum.control() have changed.Warnings will be issued for using old arguments.
nsmall= has been removed.digits= takesits place.
nsmall.ratio= anddigits.test= havebeen renamed todigits.ratio= anddigits.p=,respectively.
format.p= has been added, to turn off formatting ofp-values.
stat.labels= has been added, to label the statisticscolumns.
"[.modelsum"() now has a named argument, and acceptscharacter, numeric, and logical subscripts.
Smaller changes:
freqlist():
freqlist() will no longer issue a warning aboutusing the deprecatedvarnames= argument.
print.freqlist() has been made slightly moreconcise. The only change to the printed output is making “variables”singular (“variable”) when only one variable is present.
tableby():
tableby() has also been made slightly more conciseand easier to read.
A bug was fixed when trying to specify “stats” attributes forcategorical variables. (#39)
A bug was fixed relating to unnamed passing of arguments formedianrange(). (#49)
as.data.frame.tableby() no longer breaks with dateranges. (#10)
as.data.frame.tableby() no longer breaks with bothcount() andcountpct(). (#51)
labels<-.tableby() no longer breaks for unmatchedvariables. (#53)
labels<-.tableby() now acceptsNULLto set all labels to NULL. (#52)
The functionNmiss2() is now exported fortableby(). Note that it is exactly the same asNmiss(), but is interpreted differently intableby().
modelsum():
modelsum() has been made slightly moreconcise.
“Nmiss2” has been added to themodelsum() object andno longer replaces “Nmiss”.
as.data.frame.modelsum() no longer turns “<0.001”intoNA. (#31)
as.data.frame.modelsum() no longer breaks if thereare too many adjustment variables. (#12)
summary.modelsum() now has working labels forfactors. (#13)
"labels<-.modelsum"() has been tweaked slightly.The results shouldn’t change.
print.modelsum() has been fixed to show itsy-variable. (#33)
Documentation and vignettes have been re-reviewed and updatedwhere appropriate.
Tests have been updated to reflect major changes.
This is a patch to fix an error appearing with R-devel. We anticipatereleasing v1.0.0 soon, which will not be backwards-compatible.
Updatedfreqlist() to be more efficient.(#20)
freqlist() now allows named labels.
Fixed one-sided formula detection intableby() whenused withformulize(). (#21)
Changed environment of formula returned byformulize().
Added variable-name subsetting to[.tableby(). Onecan now subset by logicals, numerics, or character vectors.
Fixed a bug intableby() related to zero-lengthfactor levels. (#22)
Fixed a bug intableby() andmodelsum()when calling them without loading the package. (#25)
Allowednsmall = anddigits = to be 0,for rounding to integers. (#23)
Addedyaml() function to use withwrite2(). (#28)
Added theyaml package as a suggestedpackage.
Addedwrite2() methods forcompare.data.frame() objects. (#27)
Updated documentation.
Code all now in GitHub; issues can now be submitted there.Checking is now performed automatically on Travis-CI.
Included documentation for getting a caption withwrite2() andfreqlist(). (#16)
Fixed subsetting inmodelsum(). (#14)
Fixed multiple class errors intableby().(#17)
Fixed subset dropping labels intableby() andmodelsum() with new functionkeep.labels() tomake labels “stick”. (#1)
Added a vignette discussing labels.
Addcompare.data.frame(), with an accompanyingvignette.
UpdatedlabelTranslation documentation
Changedformat.translations list todefaultLabelTranslations() function, and removed labels forsex and age.
Tweakedlabels<-.freqlist to allow for listinput.
tableby() vignette.Tweakedfreqlist() to behave better with data.framesubsetting and the infamousdrop=TRUE.
AddeddupLabels= argument tosummary.freqlist(). (#6)
Added a label formedianq1q3() intableby.control(). (#4)
Changed the... vs. control= action intableby() andmodelsum() to fix whicharguments are used over which other arguments. (#5)
Moved importbroom andstringr to“Suggests”, addingmagrittr for piping.
Added piping towrite2*() vignette.
Severaltableby() fixes for counts andpercents.
New options intableby.control() to modify thestatistical tests performed. (#2)
Fixed trailing whitespace issue intableby()(#3)
The CRAN release of the locally stable 0.2.3. For NEWS on thisversion, see below.
Tweaked the DESCRIPTION to includewrite2().
Fixed ordered stats intableby().
Fixed a problem withas.data.frame.modelsum()introduced in v0.2.1.
Addedcount() function for tableby stats.
Two problems with survival models inmodelsum() havebeen resolved.
write2.list() has been implemented, allowingmultiple tables output into a single document.write2.verbatim() has been implemented, allowing monospacedoutput. The vignette has been updated along with alldocumentation.
Thesummary() output fortableby andmodelsum objects now prints an extra blank header line, forbetter use inside R Markdown code chunks.
Two bugs intableby() were corrected.
Vignettes have been updated.
write2() is now exported and supports all outputformats supported byrmarkdown::render(). There is now avignette for it and the S3 methods have been expanded to handle moreinputs, includingknitr::kable(),xtable::xtable(), andpander::pander_return().
Fixed a bug insummary.modelsum().
broom andstringr have been moved toimports instead ofdepends.
Several minor tweaks tofreqlist for betterreadability and performance.
First release contains major functionstableby(),modelsum(),freqlist(),formulize(), andwrite2....
Vignettes are included fortableby(),modelsum(), andfreqlist().