gforge / forestplot

Advanced forest plots in R using grid graphics
44 stars 15 forks source link

clip argument lower bound doesn't work when xlog = FALSE #38

Closed cwhittaker1000 closed 3 years ago

cwhittaker1000 commented 3 years ago

Thanks a bunch for making such a useful package! I'm having an issue whereby in the function forestplot, when xlog = FALSE, the lower bound specified by the clip argument doesn't appear to have any effect.

Below's an example that replicates the behaviour (taken in large part from the vignette: https://cran.r-project.org/web/packages/forestplot/vignettes/forestplot.html). You'll see for the first forestplot where xlog = TRUE, everything appears to work as expected. But for the second, where xlog = FALSE, the clipping doesn't seem to be having the impact it should.


library(forestplot)

# Cochrane data from the 'rmeta'-package
cochrane_from_rmeta <- 
  structure(list(
    mean  = c(NA, NA, 0.578, 0.165, 0.246, 0.700, 0.348, 0.139, 1.017, NA, 0.531), 
    lower = c(NA, NA, 0.372, 0.018, 0.072, 0.333, 0.083, 0.016, 0.365, NA, 0.386),
    upper = c(NA, NA, 0.898, 1.517, 0.833, 1.474, 1.455, 1.209, 2.831, NA, 0.731)),
    .Names = c("mean", "lower", "upper"), 
    row.names = c(NA, -11L), 
    class = "data.frame")

tabletext <- cbind(
  c("", "Study", "Auckland", "Block", 
    "Doran", "Gamsu", "Morrison", "Papageorgiou", 
    "Tauesch", NA, "Summary"),
  c("Deaths", "(steroid)", "36", "1", 
    "4", "14", "3", "1", 
    "8", NA, NA),
  c("Deaths", "(placebo)", "60", "5", 
    "11", "20", "7", "7", 
    "10", NA, NA),
  c("", "OR", "0.58", "0.16", 
    "0.25", "0.70", "0.35", "0.14", 
    "1.02", NA, "0.53"))

forestplot(tabletext, 
           cochrane_from_rmeta,
           clip = c(0.2, 2.5), 
           xlog = TRUE)

forestplot(tabletext, 
           cochrane_from_rmeta,
           clip = c(0.2, 2.5), 
           xlog = FALSE)
cwhittaker1000 commented 3 years ago

Hiya @gforge! Don't suppose you could help with this at all could you? I've tried diving into the package code, but am struggling to identify the issue! Would really appreciate your help :) Thanks again for creating this in the first place, it's been invaluable to the work I'm doing!

cwhittaker1000 commented 3 years ago

Sorry, have just managed to work out the issue and also the solution which is that I can just specify the "zero" argument in the forestplot function. Apologies for the notifications!

gforge commented 3 years ago

Great that it worked. I haven't had the time to devote for supporting all my packages lately as all my time (primarily my energy) goes to writing grant applications