arsenal v3.7.0
This is the first release in several years.
paired():sign.test()is now officiallysigntest(), but the former is supported for backwards compatibility.Fixed one bug in
[.arsenal_table(). (#338)Allowed for by-level subsetting in
tableby()by implementing a[.tableby()method. (#336)tableby(): implementedstddiff(), which computes standardized differences, instead of p-values.Added
stddiffas a “Suggests”.Remove
formulize()default forx=.Change logic for
escape=TRUEwhen zero-length variables are involved.Added
meanpmsd()andmeanpmse(). (#343)Fixed an issue with long variable names and
deparse(). (#342)-
Missings and non-missings:
weights=is no longer allowed to have NAsRenamed
Npct()toNrowpct()for consistency. It calculates the number of non-missing observations and the percentage of the row-total of non-missing values.Added
Nmisspct()andNmisspct2(). (#346)Changed the label for
Nrowpct()
Allowed for
stats=argument to inline functions intableby()/paired(). (#348)-
Overhauled the
as.tbstat()framework (#351):Edited some summary statistic definitions to borrow from others
Added
print.tbstat()Removed
as.countpct().Added
tbfmt().Added the
fmt=argument and attribute, giving aglue-specification for how to format.Added
glueto the imports.
-
Custom-formatted p-values (#345):
format.p=anddigits.p=are now arguments to the inline functions.format.p=now acceptsgluespecifications.
arsenal v3.6.2
CRAN release: 2021-02-17
Fixed one URL
Fixed two
modelsumtest errors that were a result of rounding on macos.
arsenal v3.6.0
Possible breaking change:
tableby(),modelsum(), andfreqlist()now use thecaption=argument inknitr::kable()to generate captions (comparedf()already does). (#310)-
Changes to
DESCRIPTIONfile:Changed
broomrequirement to >= 0.7.1, in which a bug withgeepack::geeglmwas fixed. This affected one test in the test suite.Added
geepackpackage to “Suggests” (#279).Removed
gamfrom the “Suggests”, in favor ofsplines, which themodelsum()vignette actually uses.Changed
survivalrequirement to>= 2.43-1.
Other changes:
Added code to error informatively when “Suggests” aren’t available. (#317)
-
Added
selectall().Added “label” option to
cat.simplify=andord.simplify=fortableby()/paired(). (#288)Fixed a bug in
tableby()/paired()wherestats.labels=specification would remove all default labels. (#316)Fixed a bug in
tableby()relating to a weird edge case when a by-level is “Total” and the total label is set to something else.Added a feature to
tableby.control()to allow for the total column to be moved before the other columns. (#320)Added a feature to
tableby.control()to allow for dropping of categorical levels. (#318)
-
Added
relrisk()tomodelsum()families (with corresponding addition ofgeepackpackage to “Suggests”). (#279)Fixed a bug in
modelsum()with confidence level for survival.Suppressed warnings with new broom version when using
MASS::glm.nb().
-
Added option to
diffs()for extracting not-shared observations. (#305)Fixed bug in
comparedf()when things are infinite. (#306)
arsenal v3.5.0
CRAN release: 2020-07-13
Change R requirement to >= 3.4.0.
Fixed a bug to conform with new
broompublication, and changebroomrequirement to >= 0.7.0. (#296)Fixed a bug to conform with new
knitrpublication, and changeknitrrequirement to >= 1.29. (#299, #300, #301)The GitHub repository was moved from https://github.com/eheinzen/arsenal/ to https://github.com/mayoverse/arsenal/. The corresponding
pkgdownsite is now at https://mayoverse.github.io/arsenal/freqlist(): Changed the default foraddNAto beTRUEin the formula method, so that you only have to specifyna.optionslike in the table method.-
Added support for conditional logistic regressions. (#275)
Fixed a bug in
modelsum.control()with confidence interval specification.Expanded the statistic list for survival models.
Eliminated call to
broom::confint_tidy(). (#296)
-
Removed checks for existance of stat functions (the check wasn’t working anyway) and search both the enclosing environment as well as
parent.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 stat functions.tableby(): added an error if reserved terms are used in the by-variable. (#277)Added an option for HTML footnotes (and superscripts) in
summary.tableby(). (#298)
arsenal v3.4.0
CRAN release: 2020-02-15
Added a
pkgdownsite: https://eheinzen.github.io/arsenal/Moved knitr to an import. (#255)
comparedf(): Added support for tolerances by variable. (#167)-
-
Allowed for changing of “Difference” label. (#271)
Removed “…” from the documentation for
paired.internalper CRAN’s request (PR#16223 for R-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 statistic is computed. (#273)
freqlist(): Updatedhead.summary.freqlist()andtail.summary.freqlist()to comply with new R-devel definitions.Updated “labels” vignette. (#267)
Added
escape =argument toformulize(). (#282)
arsenal v3.3.0
CRAN release: 2019-09-07
-
Redid how weights are handled. The only user-visible changes should be that standard deviations on length-1 groups are now reported as
NAinstead ofNaN.Fixed a bug with
modpval.tableby()when factors are involved. (#239)Added
meanCI()andmedianmad(). (#230, #232)Added the units for
difftimestatistics when using dates (e.g.,meansd,medianmad,iqr).Fixed Chi-square and Fisher’s Exact test for one-level categorical variables. (#227, #228)
Fixed the n’s in the header when using weights. (#229)
Fixed a bug with confidence levels supplied through the control argument. (#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 0 observations. (#233, #250, #251)
Stopped the formatting of p-values when they’re not numeric (if, say, they’re pre-formatted by the user). (#249)
-
Added functionality for multiple adjustor sets. (#240)
Fixed “Nmiss” and “N” when used with strata, which now both report the missings for the entire fit. (#241, #242, #243)
Suppressed messages from
pROC::auc()when calculating 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)
-
Fixed logic checking the length of
chunk.opts=.Allowed for empty code chunks. (#236)
verbatim(): removed named argument in favor of the dots; reworked the object structure to fix edge case printing oddities. (#248)Removed defunct functions.
arsenal v3.2.0
CRAN release: 2019-06-13
modelsum(): added Wald confidence intervals tobinom.stats=. (#219)-
Fixed a bug with
merge.arsenal_table()losing control parameters fortableby()objects. (#221)Allowed for variable-name-only
labelTranslations=assignment for terms with inline statistical test specification. Backward compatibility should be maintained here. (#220)Fixed a bug with assigning
NULLlabels with inline statistical test specifications. (#222)summary.tableby(): fixed a bug with formatting when strata aren’t in alphabetical order and have different number of elements (e.g., if only one includes missing values). (#215)
arsenal v3.1.0
CRAN release: 2019-05-03
-
Added “Nmiss” to default
surv.stats=intableby.control().tableby.control(): fixed a bug with simplifying categorical and numeric output. (#199, #203) This fix also allows for simplification of custom statistics. (#200)tableby.control(): addeddate.simplify=andordered.simplify=arguments. (#202) The order of arguments has changed slightly for consistency.paired.control(): took away the arguments that should be the same astableby.control(), and only included arguments with new defaults or which don’t appear intableby.control().Added the functions
countN()andNrisk()(#201).Nrisk()now outputs whatNriskSurv()used to;NriskSurv()now outputs what its name suggests: the number at risk, and the survival. Additionally,as.countpct()gains thewhich.pct=argument, whose default of0may break the formatting of percents (digits.pct=).
-
Added additional summary table to the
summary()output.Moved the
max.print...=arguments tocomparedf.control().max.print.diff=is now deprecated and is replaced bymax.print.diffs.per.var=.max.print.diffs=was also added to control overall number of differences printed.Fixed a bug with numeric percent tolerances when both values being compared are 0. (#206)
Fixed a bug in
diffs()(and hencesummary()) when no variables are compared (#207). Note that this change also included a change to the by-variables reported in thecomparedf()object when merging over row.names.
arsenal v3.0.0
CRAN release: 2019-03-25
There are a few non-backwards-compatible updates.
Major changes:
Renamed
compare()->comparedf()andcomparison.control()->comparedf.control(). (#179)modelsum(): Fixed bug(s) with interaction terms. (#173, #177)Added a new function
loosen.labels()which removes the classes added bykeep.labels()and thereby speeds up subsetting when labels are no longer needed. This is now used intableby(),modelsum(),freqlist(), andpaired().
Smaller changes:
-
Fixed two bugs relating to
modpval.tableby(): one which didn’t properly assign the p-value name (#174), and one which brokeas.data.frame()when assigning custom p-values for only one strata (#175).These now issue informative error when class isn’t recognized. (#180)
Fixed two bugs in the
tableby()vignette:modpval.tableby()wasn’t working properly (#170), andpfootnote=TRUEwas commented out (#169).Fixed a bug with per-variable stats and digit specifications being lost when using the
subset=argument. (#182, #183)Made all-NA summaries prettier. (#190)
This now issues a warning when
coinisn’t available for the trend test. (#193)
-
This now allows for zero-row data.frames. (#166)
comparedf.control()now allows for namedtol.vars=argument to manually match column names. (#165)
-
Fixed a bug where labels would get dropped when using the
subset=argument. (#184)Fixed a bug where labels were lost when subsetting the table and using strata terms. (#196)
freqlist(): implemented asort()method to sort tables on frequency. (#187)summary.freqlist(): Implementedhead()andtail(). (#188)summary.freqlist(): fixed a bug when all table counts are 0 andsparse=FALSE. (#186, #194)
-
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)
arsenal v2.0.0
CRAN release: 2019-01-16
There is a new class system ("arsenal_table") which unifies tableby(), modelsum(), and freqlist().
arsenalnow imports and re-exportsutils::head()andutils::tail().arsenalnow has a sticker!-
arsenal_table:Implemented a new class (without a constructor).
labels<-.arsenal_table()doesn’t support unnamed labels, as it’s unclear how to assign them to multiple by-variables and strata. It also doesn’t give warnings if your labels are not used.[.arsenal_table()has an argumentj=to select the by-variables.merge.arsenal_table()has arguments to select which by-variables to keep if not all are in common. It also checks to make sure that strata, weights, and by-variables are all identical.print.arsenal_table()shows y- and x-variables, plus any strata.
-
Added functionality for multiple by-variables and strata terms. This required completely reworking the innards of the
tablebyobject.Removed
length.tableby()(because it was messing upstr()and R Studio) and replaced withhead.tableby()andtail.tableby()(the original purpose to havinglength()defined).Implemented
sort.tableby(), which errors out if the object has strata or multiple by-variables, and then runs the default method.modpval.tableby()now requires the first column to be the by-variable, and if the object has a strata, the second column is required to be the corresponding strata value.tests.tableby()now returns a data.frame with a by-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 the data. Iftableby()detects a one-sided formula, it sets this to FALSE. Both versions now remove rows with NAs in the strata column (when applicable).na.paired()now removes rows with NAs in the strata column (when applicable).padjust.tableby()andpadjust.summary.tableby()will error if fed an object with strata or multiple by-variables.as.data.frame.tableby()andas.data.frame.summary.tableby()gain thelist.ok=argument, for when there are multiple left-hand-sides.Added logic to statistical tests to detect missing levels of the by-variable.
Fixed a bug with LaTeX formatting involving the
align=argument toknitr::kable().Passing
term.name=TRUEtosummary.tableby()oras.data.frame.summary.tableby()will now put the term name in the top left corner of each table.
-
Added functionality for multiple by-variables and strata terms. This required completely reworking the innards of the
modelsumobject.na.modelsum()now removes rows with NAs in the strata column (when applicable).as.data.frame.modelsum()andas.data.frame.summary.modelsum()gain thelist.ok=argument, for when there are multiple left-hand-sides.Passing
term.name=TRUEtosummary.modelsum()oras.data.frame.summary.modelsum()will now put the term name in the top left corner of each table.
-
Added functionality for multiple by-variables. This required completely reworking the innards of the
freqlistobject.Changed the argument
groupBy=tostrata=to matchtableby()andmodelsum().Added
merge.freqlist()andas.data.frame.summary.freqlist(). Note that[.arsenal_table()now allows you to remove the cumulative and percent columns.Note that
labels<-.arsenal_table()no longer supports unnamed labels, but now accepts labels for the frequency, cumulative, and percent columns forfreqlistobjects.Removed the
digits=,sparse=,single=, anddupLabels=arguments fromfreqlist()andsummary.freqlist(). These are now arguments to the newfreq.control(), and are passed through the dots (for backwards compatibility).freqlist()also gained thecontrol=argument for objects fromfreq.control().as.data.frame.freqlist()no longer rounds its digits, nor does it label its columns. Useas.data.frame.summary.freqlist()for that instead. It also gained thelist.ok=argument, for when there are multiple left-hand-sides.
includeNA(): removed the “character” and “numeric” methods, replacing them with a default. In particular, this changes the default label of what used to beincludeNA.numeric().-
Changed the output to an
.Rmdfile instead of a.md. This shouldn’t break anything, unless you’re relying on the intermediate file.Replaced the
keep.md=argument withkeep.rmd=(since we’re not using.mdfiles directly anymore).Added the function
code.chunk()to write executable code chunks to the.Rmd.
arsenal v1.5.0
CRAN release: 2018-11-09
-
fixed a bug with specifying individual statistics for character and logical vectors. (#142)
tableby()andpaired(): added a function (notest()) to prevent performing a test on an individual variable. (#144)summary.tableby(): changed NA p-values to blanks. (#145)summary.tableby(): added documentation onbookdown. (#147)Wrote
padjust(), 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.Fixed
medSurv()which was calculating the median survival incorrectly, and removedrangeTime(), an ambiguous survival statistic. (#32)
-
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)
arsenal v1.4.0
CRAN release: 2018-09-18
There are a few non-backwards-compatible updates.
Major changes:
-
Added
family="ordinal"to do ordinal logistic regression usingMASS::polr(). (#130)Added
family="negbin"to do negative binomial regression usingMASS::glm.nb(). (#15)Added support for ordinal regressors and adjustment terms (by adding support for their associated contrasts). (#133)
Allowed for LaTeX formatting. NOTE: this changes (hence possibly breaking old code) the formatting behavior when specifying
text="html". (#123)
summary.compare.data.frame(): Added a small summary of the input data.frames as the first table. (#126) NOTE: this changes the structure and printed output ofsummary()!-
Allowed for LaTeX formatting. NOTE: this changes (hence possibly breaking old code) the formatting behavior when specifying
text="html". (#123)-
Added functionality to in-formula functions to allow the specification of
digits=(etc.),numeric.simplify=, andcat.simplify=for a single variable. (#107, #134, #139) NB: this has the following breaking changes:There is no longer a “name” element in the “tableby” object’s x-specifications; instead it’s now called “term”
An element for “variable”, containing the variable name, was added 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 of
as.data.frame.tableby()now reports only the variable name in the “variable” column when using internal statistical functions (likeanova()andchisq()–it used to include the function call as well).The output of
as.data.frame.tableby()no longer includes category levels in the “term” column; instead, it contains the statistical function used (likecountpct()andcount()).
Smaller changes:
-
Added support for calls to the family functions, in case a different link function (for example) is required.
Properly propogated “term.name” to the
as.data.frame()method. (#128)Fixed formatting of error about unsupported families.
Removed “concordance” from the list of supported statistics for Poisson 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)
-
Added a warning for when by-variable contains empty string. (#121)
Properly propogated “term.name” to the
as.data.frame()method. (#127)Fixed an error that sometimes occured when using categorical statistics on numeric variables. (#137)
Added an argument to
tableby.control()to simplify one-line numeric output. (#139)
-
Added a warning for when by-variable contains empty string. (#121)
Added error to
na.paired("in.both")when there are more than two time points.
-
compare.data.frame(): Updated documentation where appropriate.
arsenal v1.3.0
CRAN release: 2018-07-20
This is a mostly backwards-compatible update.
Major changes:
Implemented the function
paired()for paired data, based ontableby(). This comes with a very light vignette.tableby(): Change default for chi-square tests tocorrect=FALSE. Note that this only affects the 2 x 2 case.
Smaller changes:
Added the a default method for label assignment (
labels<-). (#118)Update
formulize()to handle non-syntactic names in thedata=argument. (#105)-
Implemented
is.tableby()andis.summary.tableby(). (#112)Changed how arguments are passed to stat tests.
Issue a warning if statistical tests are requested when there are fewer than two by-levels. (#108)
Fixed
trend()andanova()to return an object instead of the object being invisible.Implemented the stat functions
binomCI()androwbinomCI()for binomial confidence intervals. (#117)summary.tableby(): ignore row.names when printing summary objects.summary.tableby()andas.data.frame.summary.tableby(): added aterm.name=argument. (#110)summary.tableby(): passtext="html"to get better formatting in R shiny. (#114)Implemented
Ops.tableby()to compare tableby objects to a number (p-value). (#96)Implemented
xtfrm.tableby(), so that tableby objects can be sorted by p-value. (#96)Implemented
length.tableby(), so thathead()andtail()also work. (#97)Implemented
countcellpct()for counts and cell percentages. (#106)
-
Implemented
is.modelsum()andis.summary.modelsum(). (#111)summary.modelsum(): ignore row.names when printing summary objects.summary.modelsum()andas.data.frame.summary.modelsum(): added aterm.name=argument. (#109)Allow for
weights=andna.action=. (#99)Fixed problem with column names which are prefixes of other column names. (#98)
Fixed problem with column labels overwriting categorical levels which also match. (#100)
summary.modelsum(): passtext="html"to get better formatting in R shiny. (#115)
-
Implemented
is.freqlist()andis.summary.freqlist(). (#113)Fixed a problem with a column named “method”. (#95)
summary.freqlist(): ignore row.names when printing summary objects.
Update documentation.
arsenal 1.1.0
CRAN release: 2018-03-13
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:
-
Fixed a bug in
print.summary.tableby()involving the lack of wrapping for long labels. (#59)as.data.frame.summary.tableby()has been implemented, andprint.summary.tableby()updated accordingly. (#60)Fixed a bug with assigning labels for tableby objects when some value names are unmatched. (#64)
Fixed a bug in
print.summary.tableby()with regards to knitting in R Markdown with plots immediately following. (#65)Fixed a bug in
print.summary.tableby()with regards to PDF output in bookdown. (#69)Changed
tests.tableby()to return a data.frame without factors.Fixed a bug with
kwt(),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 with
logrank()when all inputs are NA. (#83)Fixed how arguments get passed to stats functions in
tableby(). In particular, this affected thetimes=option. (#84)Fixed quantile functions
q1q3()andmedianq1q3()for dates. (#87)
-
Fixed a bug in
print.summary.modelsum()involving the lack of wrapping for long labels. (#59)Fixed a bug in
print.summary.modelsum()with regards to knitting in R Markdown with plots immediately following. (#66)Fixed a bug in
print.summary.modelsum()with regards to PDF output in bookdown. (#70)as.data.frame.summary.modelsum()has been implemented, andprint.summary.modelsum()updated accordingly. (#74)
-
Fixed a bug in
summary.freqlist()with regards to knitting in R Markdown with plots immediately following. (#67)Fixed a bug in
summary.freqlist()with regards to PDF output in bookdown. (#71)
-
Other:
includeNA()now has dots, and the factor method gained afirst=argument. (#62)includeNA()also gained a numeric method, especially for use infreqlist.formula(). (#78)Fixed a bug in
print.summary.compare.data.frame()with regards to PDF output in bookdown. (#72)
arsenal 1.0.0
CRAN release: 2018-02-02
This is a non-backwards-compatible update.
Major changes:
-
freqlist()is now an S3 generic. (#35)The first argument to
freqlist()has changed fromtab=toobject=, for S3 consistency. (#35)freqlist.formula()was implemented, piggybacking off ofstats::xtabs(). (#35)The
title=argument was added tosummary.freqlist(). Passingcaption=through the dots toknitr::kable()will now throw an error. (#34)
-
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 the dots.
It now returns an object, abusing in the process
as.data.frame.tableby().print.summary.tableby()prints the resulting object. (#8)print.summary.tableby()now usesknitr::kable()to print results, instead of internal functions. As such, non-exported helper functions have all been removed.
-
The arguments to
tableby.control()have changed. Warnings will be issued for using old arguments.nsmall=has been removed.digits=takes its place.nsmall.pct=anddigits.test=have been renamed todigits.pct=anddigits.p=, respectively.There’s now an option for count digits (
digits.count=).format.p=has been added, to turn on formatting of p-values.q1q3is no longer a default continuous statistic.
NAs can be included in percents using
includeNA(). (#57)Some additional survival summary functions are now available. (#32)
It is now possible to report row-percents using
countrowpct(). (#9)
-
-
modelsum()has been totally overhauled:It now uses
stats::model.frame()and unevaluated calls instead of custom-creating data.frames.
as.data.frame.modelsum()has been totally overhauled. It now gives exact values instead of formatted values.-
summary.modelsum()has been totally overhauled.Most arguments are no longer named, but passed through the dots.
It now returns an object, abusing in the process
as.data.frame.modelsum().print.summary.modelsum()prints the resulting object. (#37)print.summary.modelsum()now usesknitr::kable()to print results, instead of internal functions. As such, non-exported helper functions have all been removed.print.summary.modelsum()now strips leading and trailing whitespace from labels to fix formatting withtext=FALSE. (#48)labelTranslations=no longer accepts labels for the statistics columns. Usemodelsum.control(stat.labels=)for this instead.
-
The arguments to
modelsum.control()have changed. Warnings will be issued for using old arguments.nsmall=has been removed.digits=takes its place.nsmall.ratio=anddigits.test=have been renamed todigits.ratio=anddigits.p=, respectively.format.p=has been added, to turn off formatting of p-values.stat.labels=has been added, to label the statistics columns.
"[.modelsum"()now has a named argument, and accepts character, numeric, and logical subscripts.
-
Smaller changes:
-
freqlist()will no longer issue a warning about using the deprecatedvarnames=argument.print.freqlist()has been made slightly more concise. The only change to the printed output is making “variables” singular (“variable”) when only one variable is present.
-
tableby()has also been made slightly more concise and easier to read.A bug was fixed when trying to specify “stats” attributes for categorical variables. (#39)
A bug was fixed relating to unnamed passing of arguments for
medianrange(). (#49)as.data.frame.tableby()no longer breaks with date ranges. (#10)as.data.frame.tableby()no longer breaks with bothcount()andcountpct(). (#51)labels<-.tableby()no longer breaks for unmatched variables. (#53)labels<-.tableby()now acceptsNULLto set all labels to NULL. (#52)The function
Nmiss2()is now exported fortableby(). Note that it is exactly the same asNmiss(), but is interpreted differently intableby().
-
modelsum()has been made slightly more concise.“Nmiss2” has been added to the
modelsum()object and no longer replaces “Nmiss”.as.data.frame.modelsum()no longer turns “<0.001” intoNA. (#31)as.data.frame.modelsum()no longer breaks if there are too many adjustment variables. (#12)summary.modelsum()now has working labels for factors. (#13)"labels<-.modelsum"()has been tweaked slightly. The results shouldn’t change.print.modelsum()has been fixed to show its y-variable. (#33)
Documentation and vignettes have been re-reviewed and updated where appropriate.
Tests have been updated to reflect major changes.
arsenal 0.6.1
CRAN release: 2017-12-08
This is a patch to fix an error appearing with R-devel. We anticipate releasing v1.0.0 soon, which will not be backwards-compatible.
- Re-fix trailing whitespace problem in tableby. (#3)
arsenal 0.6.0
CRAN release: 2017-09-20
Updated
freqlist()to be more efficient. (#20)freqlist()now allows named labels.Fixed one-sided formula detection in
tableby()when used withformulize(). (#21)Changed environment of formula returned by
formulize().Added variable-name subsetting to
[.tableby(). One can now subset by logicals, numerics, or character vectors.Fixed a bug in
tableby()related to zero-length factor levels. (#22)Fixed a bug in
tableby()andmodelsum()when calling them without loading the package. (#25)Allowed
nsmall =anddigits =to be 0, for rounding to integers. (#23)Added the
yamlpackage as a suggested package.Added
write2()methods forcompare.data.frame()objects. (#27)Updated documentation.
arsenal 0.5.0
CRAN release: 2017-08-14
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 with
write2()andfreqlist(). (#16)Fixed subsetting in
modelsum(). (#14)Fixed subset dropping labels in
tableby()andmodelsum()with new functionkeep.labels()to make labels “stick”. (#1)Added a vignette discussing labels.
Add
compare.data.frame(), with an accompanying vignette.
arsenal 0.4.2
Updated
labelTranslationdocumentationChanged
format.translationslist todefaultLabelTranslations()function, and removed labels for sex and age.Tweaked
labels<-.freqlistto allow for list input.
arsenal 0.4.1
- Updated
tableby()vignette.
arsenal 0.4.0
Tweaked
freqlist()to behave better with data.frame subsetting and the infamousdrop=TRUE.Added
dupLabels=argument tosummary.freqlist(). (#6)Added a label for
medianq1q3()intableby.control(). (#4)Changed the
...vs.control=action intableby()andmodelsum()to fix which arguments are used over which other arguments. (#5)Moved import
broomandstringrto “Suggests”, addingmagrittrfor piping.Added piping to
write2*()vignette.Several
tableby()fixes for counts and percents.New options in
tableby.control()to modify the statistical tests performed. (#2)
arsenal 0.3.0
CRAN release: 2017-03-09
The CRAN release of the locally stable 0.2.3. For NEWS on this version, see below.
Tweaked the DESCRIPTION to include
write2().
arsenal 0.2.3
Fixed ordered stats in
tableby().Fixed a problem with
as.data.frame.modelsum()introduced in v0.2.1.
arsenal 0.2.2
Added
count()function for tableby stats.Two problems with survival models in
modelsum()have been resolved.
arsenal 0.2.1
write2.list()has been implemented, allowing multiple tables output into a single document.write2.verbatim()has been implemented, allowing monospaced output. The vignette has been updated along with all documentation.The
summary()output fortablebyandmodelsumobjects now prints an extra blank header line, for better use inside R Markdown code chunks.Two bugs in
tableby()were corrected.
arsenal 0.2.0
CRAN release: 2017-01-31
Vignettes have been updated.
write2()is now exported and supports all output formats supported byrmarkdown::render(). There is now a vignette for it and the S3 methods have been expanded to handle more inputs, includingknitr::kable(),xtable::xtable(), andpander::pander_return().Fixed a bug in
summary.modelsum().
arsenal 0.1.2
CRAN release: 2016-12-30
broomandstringrhave been moved toimportsinstead ofdepends.Several minor tweaks to
freqlistfor better readability and performance.
arsenal 0.1.0
First release contains major functions
tableby(),modelsum(),freqlist(),formulize(), andwrite2....Vignettes are included for
tableby(),modelsum(), andfreqlist().
