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:
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
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.
FlexTable
, borderProperties
,
cellProperties
, parProperties
,
textProperties
# NOT RUN {
#START_TAG_TEST
# 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
)
#STOP_TAG_TEST
# }
Run the code above in your browser using DataLab