Learn R Programming

Tools for Descriptive Statistics and Exploratory Data Analysis

DescTools is an extensive collection of miscellaneous basic statistics functions and comfort wrappers not available in the R basic system for efficient description of data. The author’s intention was to create a toolbox, which facilitates the (notoriously time consuming) first descriptive tasks in data analysis, consisting of calculating descriptive statistics, drawing graphical summaries and reporting the results. The package contains furthermore functions to produce documents using MS Word (or PowerPoint) and functions to import data from Excel.

A considerable part of the included functions can be found scattered in other packages and other sources written partly by Titans of R. The reason for collecting them here, was primarily to have them consolidated in ONE instead of dozens of packages (which themselves might depend on other packages, which are not needed at all), and to provide a common and consistent interface as far as function and arguments naming, NA handling, recycling rules etc. are concerned. Google style guides were used as naming rules (in absence of convincing alternatives). The ‘CamelStyle’ was consequently applied to functions borrowed from contributed R packages as well.

Feedback, feature requests, bug reports and other suggestions are welcome! Please report problems to GitHub issues tracker (preferred), Stack Overflow mentioning DescTools or directly to the maintainer.

Installation

You can install the released version of DescTools from CRAN with:

install.packages("DescTools")

And the development version from GitHub with:

if (!require("remotes")) install.packages("remotes")
remotes::install_github("AndriSignorell/DescTools")

Warning

Warning: This package is still under development. Although the code seems meanwhile quite stable, until release of version 1.0 you should be aware that everything in the package might be subject to change. Backward compatibility is not yet guaranteed. Functions may be deleted or renamed and new syntax may be inconsistent with earlier versions. By release of version 1.0 the “deprecated-defunct process” will be installed.

MS-Office

To make use of MS-Office features, you must have Office in one of its variants installed. All Wrd*, XL* and Pp* functions require the package RDCOMClient to be installed as well. Hence the use of these functions is restricted to Windows systems. RDCOMClient can be installed with:

install.packages("RDCOMClient", repos="http://www.omegahat.net/R")

The omegahat repository does not benefit from the same update service as CRAN. So you may be forced to install a package compiled with an earlier version, which usually is not a problem. Use e.g. for R 3.6.x/R 4.0.x:

url <- "http://www.omegahat.net/R/bin/windows/contrib/3.5.1/RDCOMClient_0.93-0.zip"
url <- "http://www.omegahat.net/R/bin/windows/contrib/4.0/RDCOMClient_0.94-0.zip"
install.packages(url, repos = NULL, type = "binary")

RDCOMClient does not exist for Mac or Linux, sorry.

Authors

Andri Signorell
Helsana Versicherungen AG, Health Sciences, Zurich
HWZ University of Applied Sciences in Business Administration Zurich.

R is a community project. This can be seen from the fact that this package includes R source code and/or documentation previously published by various authors and contributors. Special thanks go to Beat Bruengger, Mathias Frueh, Daniel Wollschlaeger for their valuable contributions and testing. The good things come from all these guys, any problems are likely due to my tweaking. Thank you all!

Maintainer: Andri Signorell

Examples

library(DescTools)
demo(describe, package = "DescTools")
demo(plots, package = "DescTools")

Copy Link

Version

Install

install.packages('DescTools')

Monthly Downloads

52,170

Version

0.99.56

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

August 22nd, 2024

Functions in DescTools (0.99.56)

AllDuplicated

Index Vector of All Values Involved in Ties
AllIdentical

Test Multiple Objects for Exact Equality
BarnardTest

Barnard's Unconditional Test
Base Conversions

Converts Numbers From Binmode, Octmode or Hexmode to Decimal and Vice Versa
Agree

Raw Simple And Extended Percentage Agreement
Benford

Benford's Distribution
AxisBreak

Place a Break Mark on an Axis
BarText

Place Value Labels on a Barplot
BartelsRankTest

Bartels Rank Test of Randomness
BinomCIn

Sample Size for a Given Width of a Binomial Confidence Interval
Assocs

Association Measures
BinomDiffCI

Confidence Interval for a Difference of Binomials
BinomCI

Confidence Intervals for Binomial Proportions
BinomRatioCI

Confidence Intervals for the Ratio of Binomial Proportions
Between, Outside

Operators To Check, If a Value Lies Within Or Outside a Given Range
Bg

Background of a Plot
Atkinson

Atkinson Index - A Measure of Inequality.
AscToChar

Convert ASCII Codes to Characters and Vice Versa
BootCI

Simple Bootstrap Confidence Intervals
Asp

Get Aspect Ratio of the Current Plot
BhapkarTest

Bhapkar Marginal Homogeneity Test
BoxCox

Box Cox Transformation
BrierScore

Brier Score for Assessing Prediction Accuracy
BrierScoreCI

Confidence Intervals for the BrierScore
BinTree

Binary Tree
Canvas

Canvas for Geometric Plotting
BoxCoxLambda

Automatic Selection of Box Cox Transformation Parameter
BubbleLegend

Add a Legend to a Bubble Plot
BreslowDayTest

Breslow-Day Test for Homogeneity of the Odds Ratios
CochranArmitageTest

Cochran-Armitage Test for Trend
CCC

Concordance Correlation Coefficient
BoxedText

Add Text in a Box to a Plot
CohenKappa

Cohen's Kappa and Weighted Kappa
CohenD

Cohen's Effect Size
CoefVar

Coefficient of Variation
ColToGrey

Convert Colors to Grey/Grayscale
CartToPol

Transform Cartesian to Polar/Spherical Coordinates and Vice Versa
ColorLegend

Add a ColorLegend to a Plot
Clockwise

Calculates Begin and End Angle From a List of Given Angles in Clockwise Mode
CatTable

Function to write a table
CochranQTest

Cochran's Q test
ColToHex

Convert a Color or a RGB-color Into Hex String
ColToRgb

Color to RGB Conversion
CollapseTable

Collapse Levels of a Table
CombPairs

Get All Pairs Out of One or Two Sets of Elements
ColumnWrap

Column Wrap
CompleteColumns

Find Complete Columns
ConnLines

Add Connection Lines to a Barplot
CountCompCases

Count Complete Cases
CorPolychor

Polychoric Correlation
ColToHsv

R Color to HSV Conversion
ConoverTest

Conover's Test of Multiple Comparisons
Contrasts

Pairwise Contrasts
ConvUnit

Unit Conversion and Metrix Prefixes
Cor

Covariance and Correlation (Matrices)
CutAge

Create a Factor Variable by Cutting an Age Variable
BreuschGodfreyTest

Breusch-Godfrey Test
CorPart

Find the Correlations for a Set x of Variables With Set y Removed
CstatCI

Confidence Intervals for the C Statistic (AUC)
CutQ

Create a Factor Variable Using the Quantiles of a Continuous Variable
Closest

Find the Closest Value
Coalesce

Return the First Element Not Being NA
CrossN

n-dimensional Vector Cross Product
ConDisPairs

Concordant and Discordant Pairs
CronbachAlpha

Cronbach's Coefficient Alpha
Cstat

C Statistic (Area Under the ROC Curve)
Datasets for Simulation

Datasets for Probabilistic Simulation
Cross

Vector Cross Product
CountWorkDays

Count Work Days Between Two Dates
DescToolsOptions

DescTools Options
DivCoef

Rao's Diversity Coefficient
Conf

Confusion Matrix And Associated Statistics
Desc

Describe Data
CourseData

Get HWZ Datasets
CramerVonMisesTest

Cramer-von Mises Test for Normality
Association measures

Cramer's V, Pearson's Contingency Coefficient and Phi Coefficient
Yule's Q and Y, Tschuprow's T
DigitSum

Calculate Digit Sum
Divisors

Calculate Divisors
Date Functions

Basic Date Functions
DescTools-package

Tools for Descriptive Statistics and Exploratory Data Analysis
DoCall

Fast Alternative To The Internal do.call
DrawEllipse

Draw an Ellipse
DoBy

Evaluates a Function Groupwise
DrawBezier

Draw a Bezier Curve
DrawRegPolygon

Draw Regular Polygon(s)
DrawArc

Draw Elliptic Arc(s)
Dummy

Generate Dummy Codes for a Factor
DivCoefMax

Maximal value of Rao's diversity coefficient also called quadratic entropy
DunnTest

Dunn's Test of Multiple Comparisons
DrawCircle

Draw a Circle
DrawBand

Draw Confidence Band
DunnettTest

Dunnett's Test for Comparing Several Treatments With a Control
DegToRad

Convert Degrees to Radians and Vice Versa
EtaSq

Effect Size Calculations for ANOVAs
ExpFreq

Expected Frequencies
Dot

Scalar Product
Eps

Greenhouse-Geisser And Huynh-Feldt Epsilons
ExtrVal

Distributions of Maxima and Minima
EX

Expected Value and Variance
Factorize

Prime Factorization of Integers
DurbinWatsonTest

Durbin-Watson Test
Entropy

Shannon Entropy and Mutual Information
Format

Format Numbers and Dates
Frac

Fractional Part and Maximal Digits of a Numeric Value
ErrBars

Add Error Bars to an Existing Plot
FctArgs

Retrieve a Function's Arguments
FisherZ

Fisher-Transformation for Correlation to z-Score
FixToTable

Convert a Text to a Table
GeomSn

Geometric Series
Fibonacci

Fibonacci Numbers
GTest

G-Test for Count Data
GenExtrVal

The Generalized Extreme Value Distribution
FindColor

Get Color on a Defined Color Range
FindCorr

Determine Highly Correlated Variables
Frechet

The Frechet Distribution
Freq2D

Bivariate (Two-Dimensional) Frequency Distribution
GeomTrans

Geometric Transformations
GetCalls

Return All Used Functions Within a Function
Freq

Frequency Table for a Single Variable
GenPareto

The Generalized Pareto Distribution
Gmean

Geometric Mean and Standard Deviation
GenRandGroups

Generate Random Groups
Gompertz

The Gompertz distribution
GCD, LCM

Greatest Common Divisor and Least Common Multiple
Herfindahl

Concentration Measures
Gumbel

The Gumbel Distribution
GetCurrWrd

Get a Handle to a Running Word/Excel Instance
HexToCol

Identify Closest Match to a Color Given by a Hexadecimal String
HodgesLehmann

Hodges-Lehmann Estimator of Location
IQRw

The (weighted) Interquartile Range
HoeffD

Matrix of Hoeffding's D Statistics
Gini

Gini Coefficient
HexToRgb

Convert a Hexstring Color to a Matrix With Three Red/Green/Blue Rows
IdentifyA

Identify Points in Plot Lying Within a Rectangle or Polygon
GetNewWrd

Create a New Word Instance
GiniSimpson

Gini-Simpson Coefficient, Gini-Deltas coefficient and Hunter-Gaston Index
GoodmanKruskalGamma

Goodman Kruskal's Gamma
HuberM

Safe (generalized) Huber M-Estimator of Location
GetNewXL

Create a New Excel Instance
Hmean

Harmonic Mean and Its Confidence Interval
InDots

Is a Specific Argument in the Dots-Arguments?
GoodmanKruskalTau

Goodman Kruskal's Tau
IsDate

Check If an Object Is of Type Date
ICC

Intraclass Correlations (ICC1, ICC2, ICC3 From Shrout and Fleiss)
HotellingsT2Test

Hotelling's T2 Test
HmsToSec

Convert h:m:s To/From Seconds
HosmerLemeshowTest

Hosmer-Lemeshow Goodness of Fit Tests
IsDichotomous

Test If a Variable Contains Only Two Unique Values
IsEuclid

Is a Distance Matrix Euclidean?
IsValidHwnd

Check Windows Pointer
Some numeric checks

Check a Vector For Being Numeric, Zero Or a Whole Number
KappaM

Kappa for m Raters
KendallTauA

Kendall's \(\tau_{a}\)
IsPrime

IsPrime Property
KendallTauB

Kendall's \(\tau_{b}\)
IsOdd

Checks If An Integer Is Even Or Odd
KrippAlpha

Krippendorff's Alpha Reliability Coefficient
LOCF

Last Observation Carried Forward
LeveneTest

Levene's Test for Homogeneity of Variance
LOF

Local Outlier Factor
LillieTest

Lilliefors (Kolmogorov-Smirnov) Test for Normality
MHChisqTest

Mantel-Haenszel Chi-Square Test
KendallW

Kendall's Coefficient of Concordance W
Keywords

List Keywords For R Manual Pages
Label, Unit

Label, Unit Attribute of an Object
ImputeKnn

Fill in NA values with the values of the nearest neighbours
LogSt

Started Logarithmic Transformation and Its Inverse
Logit

Generalized Logit and Inverse Logit Function
Mar and Mgp

Set Plot Margins and Distances
LinScale

Linear Scaling
JonckheereTerpstraTest

Exact Version of Jonckheere-Terpstra Test
JarqueBeraTest

(Robust) Jarque Bera Test
Lc

Lorenz Curve
LehmacherTest

Lehmacher's Test for Marginal Homogenity
Mode

Mode, Most Frequent Value(s)
MixColor

Compute the Convex Combination of Two Colors
Mean

(Weighted) Arithmetic Mean
List Variety Of Objects

List Objects, Functions Or Data in a Package
Nf

As Numeric Factor
ORToRelRisk

Transform Odds Ratio to Relative Risk
MAD

Median Absolute Deviation
LineToUser

Convert Line Coordinates To User Coordinates
PlotBag

Bivariate Boxplot
PlotBubble

Draw a Bubble Plot
Lambda

Goodman Kruskal Lambda
PlotFdist

Frequency Distribution Plot
Extremes

Kth Smallest/Largest Values
MeanAD

Mean Absolute Deviation From a Center Point
PlotFun

Plot a Function
Mgsub

Multiple Gsub
PoissonCI

Poisson Confidence Interval
Midx

Find the Midpoints of a Numeric Vector
PlotWeb

Plot a Web of Connected Points
MedianCI

Confidence Interval for the Median
Median

(Weighted) Median Value
QuantileCI

Confidence Interval for Any Quantile
Quantile

(Weighted) Sample Quantiles
MeanCI

Confidence Intervals for the Mean
MADCI

Confidence Intervals for Median Absolute Deviations
NZ

Non Zero Elements
pRevGumbel

"Reverse" Gumbel Distribution Functions
MeanCIn

Sample Size for a Given Width of a Confidence Interval for a Mean
RevWeibull

The Reverse Weibull Distribution
Measures of Accuracy

Measures of Accuracy
RunsTest

Runs Test for Randomness
SD

(Weighted) Standard Deviation
DescTools Palettes

Some Custom Palettes
PairApply

Pairwise Calculations
NemenyiTest

Nemenyi Test
OddsRatio

Odds Ratio Estimation and Confidence Intervals
NALevel

Replace NAs in a Factor by a Given Level
PasswordDlg

Password Dialog
PearsonTest

Pearson Chi-Square Test for Normality
PlotCandlestick

Plot Candlestick Chart
PlotCashFlow

Cash Flow Plot
SetAlpha

Add an Alpha Channel To a Color
SpearmanRho

Spearman Rank Correlation
SetNames

Set the Names in an Object
Order

Distributions of Order Statistics
MeanSE

Standard Error of Mean
MeanDiffCI

Confidence Interval For Difference of Means
SplitAt

Split a Vector Into Several Pieces at Given Positions
NPV

Short Selection of Financial Mathematical Functions
ParseFormula

Parse a Formula and Create a Model Frame
Permn

Number and Samples for Permutations or Combinations of a Set
ParseSASDatalines

Parse a SAS Dataline Command
Phrase

Phrasing Results of t-Test
SplitPath

Split Path In Drive, Path, Filename
SplitToCol

Split Data Frame String Column Into Multiple Columns
MosesTest

Moses Test of Extreme Reactions
StrLeft, StrRight

Returns the Left Or the Right Part Of a String
StrSpell

Spell a String Using the NATO Phonetic or the Morse Alphabet
MoveAvg

Moving Average
Outlier

Outlier
PlotMiss

Plot Missing Data
PlotMarDens

Scatterplot With Marginal Densities
PDFManual

Get PDF Manual of a Package From CRAN
PlotTernary

Ternary or Triangular Plots
PlotTreemap

Create a Treemap
Strata

Stratified Sampling
PlotArea

Create an Area Plot
PlotACF

Combined Plot of a Time Series and Its ACF and PACF
StripAttr

Remove Attributes from an Object
PercTable

Percentage Table
PlotECDF

Empirical Cumulative Distribution Function
PercentRank

Percent Ranks
PlotFaces

Chernoff Faces
PlotCorr

Plot a Correlation Matrix
Quot

Lagged Quotients
PlotPolar

Plot Values on a Circular Grid
PlotProbDist

Plot Probability Distribution
TextContrastColor

Choose Textcolor Depending on Background Color
PlotDot

Cleveland's Dot Plots
PlotMonth

Cycle Plot for Seasonal Effects of an Univariate Time Series
RSessionAlive

How Long Has the RSession Been Running?
StrCountW

Count Words in a String
SaveAs

Saves an R Object Under a Different Name
PlotMosaic

Mosaic Plots
TextToTable

Converts String To a Table
MultMerge

Merge Multiple Data Frames
PostHocTest

Post-Hoc Tests
MultinomCI

Confidence Intervals for Multinomial Proportions
PolarGrid

Plot a Grid in Polar Coordinates
Rank

Fast Sample Ranks
PowerPoint Interface

Add Slides, Insert Texts and Plots to PowerPoint
Primes

Find All Primes Less Than n
Rev

Reverse Elements of a Vector, a Matrix, a Table, an Array or a Data.frame
PMT

Periodic Payment of an Annuity.
PlotLinesA

Plot Lines
PlotVenn

Plot a Venn Diagram
PlotLog

Logarithmic Plot
VIF

Variance Inflation Factors
VanWaerdenTest

van der Waerden Test
WoolfTest

Woolf Test For Homogeneity in 2x2xk Tables
Recode

Recode a Factor
WrdBookmark

Some Functions to Handle MS-Word Bookmarks
PageTest

Exact Page Test for Ordered Alternatives
RevCode

Reverse Codes
PlotCirc

Plot Circular Plot
PlotPyramid

Draw a Back To Back Pyramid Plot
PlotConDens

Plot Conditional Densities
PlotQQ

QQ-Plot for Any Distribution
RgbToCmy

Conversion Between RGB and CMYK
WrdParagraphFormat

Get or Set the Paragraph Format in Word
ColToOpaque

Equivalent Opaque Color for Transparent Color
Triangular

The Triangular Distribution
RgbToCol

Find the Nearest Named R-Color to a Given RGB-Color
PlotMultiDens

Plot Multiple Density Curves
RSqCI

Confidence Intervals for the R squared of a Linear Model
Range

(Robust) Range
Recycle

Recyle a List of Elements
RndPairs

Create Pairs of Correlated Random Numbers
SampleTwins

Sample Twins
PseudoR2

Pseudo R2 Statistics
PlotViolin

Plot Violins Instead of Boxplots
ScheffeTest

Scheffe Test for Pairwise and Otherwise Comparisons
PtInPoly

Point in Polygon
Stamp

Date/Time/Directory Stamp the Current Plot
TTestA

Student's t-Test Based on Sample Statistics
Str

Compactly Display the Structure of any R Object
SendOutlookMail

Send a Mail Using Outlook as Mail Client
StrAbbr

String Abbreviation
VarTest

ChiSquare Test for One Variance and F Test to Compare Two Variances
PlotPairs

Extended Scatterplot Matrices
Rename

Change Names of a Named Object
UnirootAll

Finds many (all) roots of one equation within an interval
StrVal

Extract All Numeric Values From a String
Sort

Sort a Vector, a Matrix, a Table or a Data.frame
Measures of Shape

Skewness and Kurtosis
Depreciation

Several Methods of Depreciation of an Asset
SmoothSpline

Formula Interface For smooth.spline
StdCoef

Standardized Model Coefficients
Trim

Trim a Vector
Rotate

Rotate a Geometric Structure
reorder.factor

Reorder the Levels of a Factor
Sample

Random Samples and Permutations
StrPos

Find Position of First Occurrence Of a String
StrChop

Split a String into a Number of Sections of Defined Length
RomanToInt

Convert Roman Numerals to Integers
RelRisk

Relative Risk
WrdPlot

Insert Active Plot to Word
StrSplit

Split the Elements of a Character Vector
RobScale

Robust Scaling With Median and Mad
SortMixed

Sort Strings with Embedded Numbers Based on Their Numeric Order
Some

Return Some Randomly Chosen Elements of an Object
StrAlign

String Alignment
StrTrim

Remove Leading/Trailing Whitespace From A String
StrRev

Reverse a String
WrdCellRange

Return the Cell Range Of a Word Table
StrCap

Capitalize the First Letter of a String
SomersDelta

Somers' Delta
RoundTo

Round to Multiple
StrExtract

Extract Part of a String
WrdCaption

Insert Caption to Word
Shade

Produce a Shaded Curve
UncertCoef

Uncertainty Coefficient
power.chisq.test

Power Calculations for ChiSquared Tests
StrTrunc

Truncate Strings and Add Ellipses If a String is Truncated.
ShapiroFranciaTest

Shapiro-Francia Test for Normality
WrdTable

Insert a Table in a Word Document
SignTest

Sign Test
StrPad

Pad a String With Justification
StrIsNumeric

Does a String Contain Only Numeric Data
SiegelTukeyTest

Siegel-Tukey Test For Equality In Variability
VecRot

Vector Rotation (Shift Elements)
StrDist

Compute Distances Between Strings
WrdPageBreak

Insert a Page Break
WrdMergeCells

Merges Cells Of a Defined Word Table Range
%c%

Concatenates Two Strings Without Any Separator
as.ym

A Class for Dealing with the Yearmonth Format
Var

Variance
axTicks.POSIXct

Compute Axis Tickmark Locations (For POSIXct Axis)
ToWrdB

Send Objects to Word and Bookmark Them
WrdFont

Get or Set the Font in Word
ToWrdPlot

Send a Plot to Word and Bookmark it
VarCI

Confidence Intervals for the Variance
ZTest

Z Test for Known Population Standard Deviation
SplitToDummy

Split Strings of a Vector and Provide Dummy Codes for Found Pieces
WrdTableBorders

Draw Borders to a Word Table
TOne

Create Table One Describing Baseline Characteristics
XLGetRange

Import Data Directly From Excel
SysInfo

System Information
WrdFormatCells

Format Cells Of a Word Table
SpreadOut

Spread Out a Vector of Numbers To a Minimum Interval
d.countries

ISO 3166-1 Country Codes
lines.lm

Add a Linear Regression Line
d.diamonds

Data diamonds
ZeroIfNA

Replace NAs by 0
ToLong, ToWide

Reshape a Vector From Long to Wide Shape Or Vice Versa
ToWrd

Send Objects to Word
d.periodic

Periodic Table of Elements
TMod

Comparison Table For Linear Models
Unwhich

Inverse Which
Untable

Recover Original Data From Contingency Table
Vigenere

Vigenere Cypher
StuartMaxwellTest

Stuart-Maxwell Marginal Homogeneity Test
Winsorize

Winsorize (Replace Extreme Values by Less Extreme Ones)
VonNeumannTest

Von Neumann's Successive Difference Test
Zodiac

Calculate the Zodiac of a Date
WrdSaveAs

Open and Save Word Documents
lines.loess

Add a Loess or a Spline Smoother
d.pizza

Data pizza
TheilU

Theil's U Index of Inequality
WithOptions

Execute Function with Temporary Options
TukeyBiweight

Calculate Tukey's Biweight Robust Mean
TwoGroups

Describe a Variable by a Factor with Two Levels
identify.formula

Identify Points In a Plot Using a Formula
StuartTauC

Stuart \(\tau_{c}\)
WrdStyle

Get or Set the Style in Word
XLSaveAs

Save Excel File
XLView

Use MS-Excel as Viewer for a Data.Frame
rSum21

Random Numbers Adding Up to 1
TitleRect

Plot Boxed Annotation
as.matrix.xtabs

Convert xtabs To matrix
YuenTTest

Yuen t-Test For Trimmed Means
%like%

Like Operator
split.formula

Formula Interface for Split
%nin%

Find Matching (or Non-Matching) Elements
WrdTableHeading

Insert Headings for a Table in Word
%overlaps%

Determines If And How Extensively Two Date Ranges Overlap
XLDateToPOSIXct

Convert Excel Dates to POSIXct
wdConst

Word VBA Constants
d.whisky

Classification of Scotch Single Malts
day.name

Build-in Constants Extension
matpow

Matrix Power
DescTools Aliases

Some Aliases Set for Convenience
AUC

Area Under the Curve
ABCCoords

Coordinates for "bottomright", etc.
Abstract

Display Compact Abstract of a Data Frame
Abind

Combine Multidimensional Arrays
AndersonDarlingTest

Anderson-Darling Test of Goodness-of-Fit
AddMonths

Add a Month to a Date
Append

Append Elements to Objects