ReporteRs (version 0.7.7)

[<-.FlexTable: alter FlexTable content and format

Description

add text or format a FlexTable object.

Usage

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

Arguments

x
the FlexTable object
i
vector (integer index, row.names values or boolean vector) for rows selection.
j
vector (integer index, col.names values or boolean vector) for columns selection. or an object of class textProperties.
text.properties
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.
newpar
logical value specifying wether or not the content should be added as a new paragraph (therefore added on a new line).
byrow
logical. If FALSE (the default) content is added by columns , otherwise content is added by rows.
to
specify on which part of the FlexTable to apply the value, must be one of the following values body (default) or header or footer
side
used only when value is a borderProperties, specify on which side to apply the properties. It must be one of bottom, top, left, right
value
see details.

strong

add content

itemize

  • option 1:

code

side

item

option 2:

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:

  • for table cells:
{an object of class cellProperties} for paragraphs contained in table cells:{an object of class parProperties} for text contained in table cells:{an object of class textProperties} for borders of table cells:{an object of class borderProperties}

See Also

FlexTable, borderProperties , cellProperties, parProperties , textProperties

Examples

Run this code
#
# 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
)

Run the code above in your browser using DataCamp Workspace