Compose tables according to a rule provided by a pattern

The function is similar to compose_IQRtable. When many tables need to be composed following a repeated pattern, "composeByRule_IQRtable" is a short-cut to do this.

composeByRule_IQRtable(..., rule, just = "tl")



one or more tables or single list of tables to be composed. Arguments must be named. The names can be used in "pattern" to reference the table.


character containing "x" and "y" defining a pattern, e.g. "x | y" or "x \n \n y". See details of compose_IQRtable to know more about possible patterns.


when tables of different size are composed, each matrix is embedded into a possibly larger matrix to match dimensions of the surrounding tables. "just" is a string to control where matrices are placed within the larger matrix. Possible values are "t" (top), "b" (bottom), "l" (left) and "r" (right) which can be combined, e.g. "tl", "br", etc..


Matrix, the composition of the single tables


The pattern of composing matrices "x" and "y" is applied recursively until all matrices are composed.


Daniel Kaschek, IntiQuan


D1 <- data.frame(
  parameter = c("a", "b"),
  value = c(1.53, 2.53)

D2 <- data.frame(
  parameter = c("a", "c"),
  value = c(1.34, 8.97)

D3 <- data.frame(
  parameter = c("a", "b", "c"),
  value = c(1.28, 2.67, 9.81)

rule <- "x\n \n y"

composeByRule_IQRtable(D1, D2, D3, rule = rule)
#>    parameter | value
#>    -----------------
#>    a         | 1.53 
#>    b         | 2.53 
#>              |      
#>    parameter | value
#>    a         | 1.34 
#>    c         | 8.97 
#>              |      
#>    parameter | value
#>    a         | 1.28 
#>    b         | 2.67 
#>    c         | 9.81