## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# # arguments:  qhpvt(dataFrame, rows, columns, calculations, ...)
# qhpvt(bhmtrains, "TOC", "TrainCategory", "n()") # TOC = Train Operating Company

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# # produces no pivot table
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# # specify the column headings
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")   #    << **** LINE ADDED **** <<
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# # specify the row headings
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")                #    << **** LINE ADDED **** <<
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# # specifying a calculation
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")                #     **** LINE BELOW ADDED ****
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE, comment=""---------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$evaluatePivot()
# pt

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addColumnDataGroups("PowerType")    #    << **** CODE CHANGE **** <<
# pt$addRowDataGroups("TOC")
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addColumnDataGroups("PowerType", expandExistingTotals=TRUE) # << ** CODE CHANGE ** <<
# pt$addRowDataGroups("TOC")
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")
# pt$addRowDataGroups("PowerType")    #    << **** CODE CHANGE **** <<
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC")
# pt$addRowDataGroups("PowerType")
# pt$addRowDataGroups("SchedSpeedMPH")    #    << **** CODE CHANGE **** <<
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC", totalCaption="Grand Total")    #    << **** CODE CHANGE **** <<
# pt$addRowDataGroups("PowerType")
# pt$addRowDataGroups("SchedSpeedMPH", addTotal=FALSE)      #    << **** CODE CHANGE **** <<
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC",
#                     outlineBefore=list(isEmpty=FALSE,
#                                        groupStyleDeclarations=list(color="blue")),
#                     outlineTotal=list(groupStyleDeclarations=list(color="blue")))
# pt$addRowDataGroups("PowerType", addTotal=FALSE)
# pt$addRowDataGroups("SchedSpeedMPH", addTotal=FALSE)
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# pt <- PivotTable$new()
# pt$addData(bhmtrains)
# pt$addColumnDataGroups("TrainCategory")
# pt$addRowDataGroups("TOC",
#                     outlineBefore=list(groupStyleDeclarations=list(color="blue")),
#                     outlineAfter=list(isEmpty=FALSE,
#                                       mergeSpace="dataGroupsOnly",
#                                       caption="Total ({value})",
#                                       groupStyleDeclarations=list("font-style"="italic")),
#                     outlineTotal=list(groupStyleDeclarations=list(color="blue"),
#                                       cellStyleDeclarations=list("color"="blue")))
# pt$addRowDataGroups("PowerType", addTotal=FALSE)
# pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()")
# pt$renderPivot()

## ----eval=FALSE, comment=""---------------------------------------------------
# library(pivottabler)
# qpvt(bhmtrains, "TOC", "TrainCategory", "n()")

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# qhpvt(bhmtrains, c("=", "TOC"), c("TrainCategory", "PowerType"),
#     c("Number of Trains"="n()", "Maximum Speed"="max(SchedSpeedMPH, na.rm=TRUE)"))

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# qhpvt(bhmtrains, "TOC", "TrainCategory", "mean(SchedSpeedMPH, na.rm=TRUE)", format="%.0f")

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# qhpvt(bhmtrains, "TOC", "TrainCategory",
#      c("Mean Speed"="mean(SchedSpeedMPH, na.rm=TRUE)", "Std Dev Speed"="sd(SchedSpeedMPH, na.rm=TRUE)"),
#      formats=list("%.0f", "%.1f"))

## ----eval=FALSE---------------------------------------------------------------
# library(pivottabler)
# qhpvt(bhmtrains, "TOC", "TrainCategory",
#      c("Mean Speed"="mean(SchedSpeedMPH, na.rm=TRUE)", "Std Dev Speed"="sd(SchedSpeedMPH, na.rm=TRUE)"),
#      formats=list("%.0f", "%.1f"), totals=list("TOC"="All TOCs", "TrainCategory"="All Categories"))