<i>JNplots</i> : an R package to visualize outputs from the Johnson-Neyman technique for categorical and continuous moderators, including options for phylogenetic regressions
Bibliographic record
Abstract
ABSTRACT The analysis of two-way interactions in linear models is common in the fields of ecology and evolution, being often present in allometric, macroevolutionary, and experimental studies, among others. However, the interpretation of significant interactions can be incomplete when limited to the examination of model coefficients and significance tests. The Johnson-Neyman technique represents a step forward in the interpretation of significant two-way interactions, allowing the user to examine how changes in the moderator variable, it being categorical or continuous, affect the significance of the relationship between the dependent variable and the predictor. Despite its implementation in several software since its initial development, the available options to perform the method lack certain functionality aspects, including the visualization of regions of non-significance when the moderator is categorical, the implementation of phylogenetic corrections, and more intuitive graphical outputs. Here I present the R package JNplots , which aims to fill gaps left by previous software regarding the calculation and visualization of regions of non-significance when fitting two-way interaction models. JNplots includes two basic functions which allow the user to investigate different types of interaction models, including cases where the moderator variable is categorical or continuous. The user can also specify whether the model to explore should be phylogenetically informed and choose a particular phylogenetic correlation structure to be used. Finally, the functions of JNplots produce plots that are largely customizable and allow a more intuitive interpretation of the interaction term. Here I provide a walkthrough on the use of JNplots using three different examples based on empirical data, each representing a different common scenario in which the package can be useful. Additionally, I present the different customization options for the graphical outputs of JNplots .
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.007 | 0.045 |
| Meta-epidemiology (narrow) | 0.003 | 0.002 |
| Meta-epidemiology (broad) | 0.003 | 0.003 |
| Bibliometrics | 0.004 | 0.003 |
| Science and technology studies | 0.001 | 0.001 |
| Scholarly communication | 0.004 | 0.004 |
| Open science | 0.004 | 0.004 |
| Research integrity | 0.002 | 0.004 |
| Insufficient payload (model declined to judge) | 0.182 | 0.091 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".