Description Usage Arguments Value See Also Examples
A function that is used to draw the different
confidence intervals for the non-summary lines.
Use the fpDrawNormalCI
function as a
template if you want to make your own funky line + marker.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | fpDrawNormalCI(lower_limit, estimate, upper_limit, size, y.offset = 0.5,
clr.line, clr.marker, lwd, ...)
fpDrawDiamondCI(lower_limit, estimate, upper_limit, size, y.offset = 0.5,
clr.line, clr.marker, lwd, ...)
fpDrawCircleCI(lower_limit, estimate, upper_limit, size, y.offset = 0.5,
clr.line, clr.marker, lwd, ...)
fpDrawPointCI(lower_limit, estimate, upper_limit, size, y.offset = 0.5,
clr.line, clr.marker, lwd, pch = 1, ...)
fpDrawSummaryCI(lower_limit, estimate, upper_limit, size, col, y.offset = 0.5,
...)
|
lower_limit |
The lower limit of the confidence line.
A native numeric variable that can actually be
outside the boundaries. If you want to see if it
is outside then convert it to 'npc' and see if the
value ends up more than 1 or less than 0. Here's how
you do the conversion:
|
estimate |
The estimate indicating the placement
of the actual box. Note, this can also be outside bounds
and is provided in a numeric format the same way as the
|
upper_limit |
The upper limit of the confidence line. See lower_limit for details. |
size |
The actual size of the box/diamond/marker. This provided in the 'snpc' format to generate a perfect marker. Although you can provide it alternative units as well, this is useful for the legends to work nicely. |
y.offset |
If you have multiple lines they need an offset in the y-direction. |
clr.line |
The color of the line. |
clr.marker |
The color of the estimate marker |
lwd |
Line width |
... |
Allows additional parameters for sibling functions |
pch |
Type of point see |
col |
The color of the summary diamond. |
void
The function outputs the line using grid compatible
functions and does not return anything.
Other forestplot functions: forestplot2
;
fpColors
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | ask <- par(ask=TRUE)
library(grid)
test_data <- data.frame(coef1=c(1, 1.59, 1.3, 1.24),
coef2=c(1, 1.7, 1.4, 1.04))
test_data$low1 <- test_data$coef1 - 1.96*c(0, .2, .1, .15)
test_data$high1 <- test_data$coef1 + 1.96*c(0, .2, .1, .15)
test_data$low2 <- test_data$coef2 - 1.96*c(0, .1, .15, .2)
test_data$high2 <- test_data$coef2 + 1.96*c(0, .1, .15, .2)
col_no <- grep("coef", colnames(test_data))
row_names <- list(
list("Category 1", "Category 2", "Category 3", expression(Category >= 4)),
list("ref",
substitute(expression(bar(x) == val),
list(val = round(rowMeans(test_data[2, col_no]), 2))),
substitute(expression(bar(x) == val),
list(val = round(rowMeans(test_data[3, col_no]), 2))),
substitute(expression(bar(x) == val),
list(val = round(rowMeans(test_data[4, col_no]), 2))))
)
coef <- with(test_data, cbind(coef1, coef2))
low <- with(test_data, cbind(low1, low2))
high <- with(test_data, cbind(high1, high2))
# Change all to diamonds
forestplot2(row_names, coef, low, high,
confintNormalFn=fpDrawDiamondCI,
main="Cool study",
zero = 1, boxsize=0.5,
col=fpColors(box=c("royalblue", "gold"),
line=c("darkblue", "orange"),
summary=c("darkblue", "red")),
xlab="The estimates",
new_page = TRUE,
legend.title="Group",
legend=c("Treatment", "Placebo"),
legend.pos=list("topright"),
legend.r = unit(.1, "snpc"),
legend.gp = gpar(col="#CCCCCC", lwd=1.5))
# Change first to diamonds
forestplot2(row_names, coef, low, high,
confintNormalFn=c("fpDrawDiamondCI",
rep("fpDrawNormalCI",
times=nrow(coef)-1)),
main="Cool study",
zero = 1, boxsize=0.5,
col=fpColors(box=c("royalblue", "gold"),
line=c("darkblue", "orange"),
summary=c("darkblue", "red")),
xlab="The estimates",
new_page = TRUE,
legend.title="Group",
legend=c("Treatment", "Placebo"),
legend.pos=list("topright"),
legend.r = unit(.1, "snpc"),
legend.gp = gpar(col="#CCCCCC", lwd=1.5))
# You can also use a list with the actual functions
# as long as it is formatted [[row]][[column]]
# Note: if you have a non-square input then
# the software will reformat [[col]][[row]]
# to [[row]][[col]]
forestplot2(row_names, coef, low, high,
confintNormalFn=list(list(fpDrawDiamondCI, fpDrawCircleCI),
list(fpDrawNormalCI, fpDrawNormalCI),
list(fpDrawNormalCI, fpDrawCircleCI),
list(fpDrawNormalCI, fpDrawNormalCI)),
main="Cool study",
zero = 1, boxsize=0.5,
col=fpColors(box=c("royalblue", "gold"),
line=c("darkblue", "orange"),
summary=c("darkblue", "red")),
xlab="The estimates",
new_page = TRUE,
legend.title="Group",
legend=c("Treatment", "Placebo"),
legend.pos=list("topright"),
legend.r = unit(.1, "snpc"),
legend.gp = gpar(col="#CCCCCC", lwd=1.5))
par(ask=ask)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.