alter FlexTable content and format

add text or format a FlexTable object.

# S3 method for FlexTable
[ (x, i, j, text.properties, newpar = F, byrow = FALSE, to = "body", side = "top") <- value

the FlexTable object


vector (integer index, row.names values or boolean vector) for rows selection.


vector (integer index, col.names values or boolean vector) for columns selection. or an object of class textProperties.


formatting properties (an object of class textProperties). Used only when value is a data.frame, a maxtrix or a vector. It will be used to format added text.


logical value specifying wether or not the content should be added as a new paragraph (therefore added on a new line).


logical. If FALSE (the default) content is added by columns , otherwise content is added by rows.


specify on which part of the FlexTable to apply the value, must be one of the following values “body” (default) or “header” or “footer”


used only when value is a borderProperties, specify on which side to apply the properties. It must be one of “bottom”, “top”, “left”, “right”.


see details.


Use ft_object[1:4, 2:3] <- value to perform the operation on the body subset of of the FlexTable.

Use ft_object[] <- value to perform the operation on the whole part (body, header or footer) of the FlexTable.

Use ft_object[1, 2, to = "header"] <- value to perform the operation on the header subset of the FlexTable.

Use ft_object[1, 2, , to = "footer"] <- value to perform the operation on the footer subset of the FlexTable.

To format content, argument value (the right side of the <-) should be one of the following:

To add content, there are two options:

  • option 1: value should be a data.frame or a matrix or a vector with as many elements as defined by the selection.

  • option 2: value is a pot object, its value will be added in all cells defined by the selection.

If dealing with borderProperties objects, use also argument side to specify on which side of cells to apply border properties.

See Also

FlexTable, borderProperties , cellProperties, parProperties , textProperties

  • [<-.FlexTable
  • alterFlexTable
# Create a FlexTable object with first 10 lines of data.frame mtcars
# add row.names as first column
MyFTable = FlexTable( data = mtcars[1:10, ]
  , add.rownames=TRUE
# modify the text formatting properties for the row.names column
MyFTable[ , 1] = textProperties( font.style="italic", font.size = 9)
# align text to right for the row.names column
MyFTable[ , 1] = parProperties( text.align = "right" )

# change cell formatting properties for various columns
MyFTable[ c(3,6:9), c( "mpg", "disp"
  , "hp", "drat", "wt", "qsec" ) ] = cellProperties( background.color="#CCCCCC")
# add text to elements of the column cyl
MyFTable[, "cyl", text.properties = textProperties( 
  vertical.align="superscript", font.size = 9) ] = " miles/gallon"

data( iris )
iris = head( iris[, c(5, 1:4)] )

default_text = textProperties( font.size = 11 )
note_text = chprop(default_text, vertical.align = "superscript", color = "blue")

iris_ft = FlexTable( data = iris, header.columns = FALSE )
iris_ft = addHeaderRow( iris_ft, value = c("", "Measures" ), colspan = c( 4, 1 ) )
iris_ft = addHeaderRow( iris_ft, value = gsub( "\\.", " ", names( iris ) ) )
iris_ft[2, 2, newpar = TRUE ] = "Hi there"
iris_ft[2, 1, to="header"] = pot("* this is a note", note_text )

iris_ft = spanFlexTableRows( iris_ft, j = "Species", runs = as.character( iris$Species ) )
iris_ft = setFlexTableBorders( iris_ft, 
  inner.vertical = borderProperties( style = "none" ), 
  inner.horizontal = borderProperties( width = 1 ), 
  outer.vertical = borderProperties( width = 0 ), 
  outer.horizontal = borderProperties( width = 2 ), 
  footer = TRUE
# }
Documentation reproduced from package ReporteRs, version 0.6.9, License: GPL-3

Community examples

Looks like there are no examples yet.