Recently, I experienced an event that brought me back to my childhood. I was having dinner at my brother's house with my sons. The television was on, and at some point Bob Ross' show "The Joy of Painting" came on the air. If you've never experienced the show, it is very entertaining to watch. Bob starts with a blank canvas, and in 30 minutes' time, paints a beautiful landscape using a carefully selected palette of oil-based paints. The show is extremely relaxing, due in part to Bob's soft-spoken instruction and easygoing manner. Though Bob usually had a idea of what he wanted to paint in any given episode, nothing was ever set in stone, and a "happy little tree" or two (as Bob would call them) could end up anywhere in the canvas to fill some space. My brother and I couldn't help but get sucked into watching the show. Initially, our children seemed bored with it, but eventually were also pulled into Bob's world. It was a really nice moment.
Where I am going with this? Well, many happy little trees makes me think of a happy little forest, which make me think of a happy little forest plots.
In all seriousness though, shortly after revisiting the land of happy little trees with my family, I received a request from one of our JMP users about the Forest Plot Add-In. The user wanted to have the ability to size the center bubble using another variable available in the data table. This feature would be particularly useful for summarizing results from a meta-analysis, allowing you to indicate the size of each clinical trial in the plot. You may want to check out a previous blog post on forest plots. So I've updated the add-in to include this feature.
I'll illustrate this new feature with the data table in Figure 1, which shows 95% confidence intervals of the log2(relative risk) for 11 adverse events from the Nicardipine clinical trial. Count is the number of patients that experienced the event during the study.
Figure 1. Data table of 95% CI for log2(relative risk) for adverse events from the Nicardipine Trial
The dialog of the forest plot add-in has some additional features (Figure 2). First is the Marker Size variable in the column role section of the dialog. Second is the set of Size Preferences at the bottom of the dialog. The area of the marker is proportional to the values of the Marker Size variable, Count in this example. Count is first scaled to be between 0 and 1 (Count01, say). The radii of the circles drawn are equal to square root (Scale x (Count01 + Minimum)). Minimum = 0 implies no symbol drawn for the records where Count has the minimum value. Running this example produces Figure 3. Transparency makes it possible to easily see narrow confidence intervals that are contained entirely within larger markers (such as vasoconstriction below).
Figure 2. Forest plot dialog
Figure 3. Forest plot applying a size variable
While forest plots are useful for summarizing data from a meta-analysis, they are also useful for summarizing results from various subgroups of patients. While this particular example doesn't focus on subgroups, I'll add some more detail that can also be useful for subgroup forest plots. Click the red triangle > Show Control Panel. This allows you to further manipulate the figure in Graph Builder. Drag AE Class over to the y-axis (Figure 4).
Figure 4. Labeling adverse events with body system
Clicking Done provides Figure 5.
Figure 5. Adverse events grouped within body class
You can edit this a bit by right-clicking on y-axis, clicking Axis Settings, adding Lower Frame for both labels, and selecting Long Divider for Tick Mark Style for Label Row 2. This produces Figure 6. You can use either figure to summarize additional detail regarding the classification of various intervals summarized within the figure. This can be useful for summarizing subgroups, such as Gender (Male, Female). Note that ordering of the data table is important prior to using the add-in. Terms must be ordered the way you want them to be displayed in the forest plot. If classification is used as in Figures 5 and 6, terms must be sorted by class; the classes must be in the appropriate order; and the terms must be in the desired order within class. Selection of the bubbles is still possible, though you should select them in the center of each bubble. Using the drag-and-select feature of JMP (as one would use to select several points) is likely the most straightforward approach.
Figure 6. Adverse events grouped within body class with long dividers