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")

Arguments

...

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.

rule

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.

just

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..

Value

Matrix, the composition of the single tables

Details

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

Author

Daniel Kaschek, IntiQuan

Examples

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