Fixed the fixed-effect exact estimate in ivw_radial(), which was found by searching only over -2 to 2. Causal effects outside that range were returned as a value at the edge of the interval, which also affected the exact Q-statistic, the fixed-effect confidence interval and the random-effects fit. The search is now centred on the IVW estimate, plus or minus 10 standard errors.
ivw_radial() now returns the fixed-effect exact confidence interval (fe.confint) as NA, with a warning, when the exact Q-statistic exceeds its critical value. The interval is the set of effects whose Q-statistic does not exceed the critical value, which is then empty; previously a spuriously narrow interval around the estimate was returned.
The exact estimates and confidence interval in ivw_radial() are now found using a tolerance relative to the width of the search interval, rather than the default absolute tolerance of optimize() (about 1e-4), which was coarse relative to small causal effects.
The p-values for the IVW, iterative and fixed-effect exact estimates in ivw_radial() now use a t-distribution on L - 1 degrees of freedom, consistent with their confidence intervals and with the random-effects exact estimate. They were previously overwritten with p-values from a normal distribution, which were too small when there were few variants (#10).
The egger_radial() documentation now notes that the radial MR-Egger slope is imprecise, and can differ substantially from the conventional MR-Egger estimate, when the square root weights vary little across variants (#3).
Fixed the degrees of freedom returned by egger_radial(), which is now n - 2 as documented (previously n - 1).
Fixed the heterogeneity p-value for the default modified second-order weights in egger_radial(), which now uses n - 2 degrees of freedom to match the rest of the function and the printed summary.
Fixed the search interval used in the random-effects bootstrap standard error in ivw_radial(), which had a negated lower bound.
Added an rmr_format class check to ivw_radial(), so unformatted inputs now fail with a clear message (as in egger_radial()).
plotly_radial() now selects the IVW or MR-Egger plot by object class rather than by the number of list elements.
Documentation and internal tidy-ups: corrected the meanF name in the ivw_radial() return documentation, and removed some dead and redundant code.
plot_radial() generated by the forthcoming version 4 of ggplot2.Fixed warning in plotly_radial()
Helpfile examples are now conditional on the use of packages in the Suggests list