[<-.FlexTable
From ReporteRs v0.7.7
by David Gohel
alter FlexTable content and format
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 whenvalue
is adata.frame
, amaxtrix
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 valuesbody (default) orheader orfooter - side
- used only when value is a
borderProperties
, specify on which side to apply the properties. It must be one ofbottom ,top ,left ,right - value
- see details.
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:
cellProperties
}
parProperties
}
textProperties
}
borderProperties
}
strong
add content
itemize
- option 1:
code
side
item
option 2:
See Also
FlexTable
, borderProperties
, cellProperties
, parProperties
, textProperties
Examples
#
# 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
)
Community examples
Looks like there are no examples yet.