semptools 0.3.3.19
Improvement
Updated
set_edge_attribute()to skip edges not in a plot, without throwing an error. (0.3.3.2)Added the argument
check_directiontoset_edge_attribute()and related functions. If set toFALSE, then the direction of an edge will be ignored. That is, bothy ~ xandy ~~ xwill denote edgesy <- x,y -> x, andy <-> x. (0.3.3.3)Updated
add_rsq(),mark_se(),mark_ci(), andmark_sig()to store the fit object in the plot. Whenobjectis not set but has been stored in a plot, these functions will retrieve the stored fit object. This makes it not necessary to supply the same fit object in all calls to these functions. (0.3.3.4)Updated
layout_matrix()to ensure that the output always has at least three columns. (0.3.3.5)Updated
set_node_attribute()to set the attributes of all nodes using one value. (0.3.3.6)Updated
set_edge_attribute()to set the attributes of all nodes using one value. (0.3.3.7)Added
set_node_color(),set_node_height(),set_node_label_color(),set_node_label_size(),set_node_shape(),set_node_sizes(),set_node_width(). (0.3.3.8)Removed
nChar = 0in some tests to allow testing functions with abbreviated names. Also revised some functions to make them work for both the original names of nodes and their display names, which may be abbreviated. (0.3.3.9)Updated
set_node_attribute()to use new helpers, so that it is easier to work with original node names, processed (e.g., abbreviated) node names, and labels (converted to string, if necessary). (0.3.3.10)Updated node functions to use
set_node_attribute()as applicable. (0.3.3.11)Added
get_node_attribute(). (0.3.3.12)Added
get_edge_attribute(). (0.3.3.13)Added
set_edge_label()andset_edge_label_bg(). (0.3.3.14)Added
set_edge_line_type(). (0.3.3.14)Added the
howargument toset_edge_attribute(),set_node_attribute(), and friends (if applicable). The default mode ishow = "ratio"if applicable. (0.3.3.14)Added
set_edge_line_width(). (0.3.3.14)Added
set_edge_label_size(). (0.3.3.14)Added
set_node_border_width(), andset_node_border_color(). (0.3.3.14)Added
set_graph_margins(),node_labels_equal_scale(), andset_node_labels_equal_scale(). (0.3.3.15)Updated these functions to support a list of
qgraphobjects:set_edge_attribute(),set_node_attribute(),rotate_resid(),set_curve(),set_edge_color(),set_edge_label(),set_edge_label_bg(),set_edge_label_position(),set_edge_label_size(),set_edge_line_type(),set_edge_line_width(),set_node_border_color(),set_node_border_width(),set_node_color(),set_node_height(),set_node_label_color(),set_node_label_size(),set_node_shape(),set_node_size(),set_node_width(),move_node(),node_labels_equal_scale(),rescale_layout(),set_graph_margins(),set_node_labels_equal_scale(), andchange_node_label(). (0.3.3.16)Updated
get_node_attribute()andget_edge_attribute()to work with a list ofqgraphobjects, though they will only get the attribute values from the first object. (0.3.3.16)Updated these functions to support a list of
qgraphobjects:add_rsq(),auto_layout_mediation(),safe_edge_label_position(),safe_resid_position(),set_cfa_layout(),set_sem_layout(). (0.3.3.17)
Miscellaneous
Updated to
roxygen28.0.0. (0.3.3.1)Updated
set_curve()andset_edge_label_position(), to useset_edge_attribute()internally. (0.3.3.2)Updated some pages in the
pkgdownsite. (0.3.3.18)Fixed a multigroup bug in
mark_sig(). (0.3.3.19)
semptools 0.3.3
CRAN release: 2026-03-17
New Features
- Added
mark_ci()for adding confidence intervals to a plot. (0.3.2.2)
Improvement
Updated to treat rectangles as manifest variables and ellipses as latent variables (0.3.2.1)
Updated
set_edge_label_position()to handle bidirectional edges specified in an order different from that inlavaan’s parameter table. (0.3.2.3)
semptools 0.3.2
CRAN release: 2025-07-12
New Features
Added quick plot functions for common models:
q_simple()for simple mediation models,q_serial()for serial mediation models, andq_parallel()for parallel mediation models. (0.3.1.3, 0.3.1.4)Added
auto_layout_mediation()for generating a layout matrix automatically. It can also update an exist plot ofsemPlot::semPaths(). (0.3.1.5, 0.3.1.9, 0.3.1.10)Added
safe_edge_label_position()to reposition edge labels away from the intersections between paths. (0.3.1.6)Added
safe_resid_position()to reposition the residual (or R-square) of a node away from paths connected to this node. (0.3.1.7)Added
move_node()to move a node in a plot, for adjusting the layout of a plot after it has been generated. (0.3.1.13)
Improvement
Updated
mark_sig()andmark_se()to support plots of multigroup models. (0.3.1.1)Updated
add_rsq()to support plots with structural paths only. (0.3.1.2)Updated
mark_sig()to process R-squares if p-values are provided by users. (0.3.1.8)
semptools 0.3.1
CRAN release: 2024-11-09
Improvement
Updated
mark_sig()andmark_se()to preliminarily support plots with intercepts. (0.3.0.1)Updated
add_rsq()to support plots with intercepts. (0.3.0.2)
Bug Fixes
- The functions
mark_sig()andmark_se()now work for models with ordinal variables. (0.3.0.1)
semptools 0.3.0
CRAN release: 2024-10-21
New Features
Added
set_edge_attribute()to change any attribute of the edges. (0.2.10.2)Added
set_node_attribute()to change any attribute of the nodes. (0.2.10.3)Added
set_edge_color()to change the colors of edges. (0.2.10.2)Added
rescale_layout()to expand the plot to fit the rectangle bounded by -1 and 1 vertically and horizontally. (0.2.11.1)Added
add_rsq()to add R-squares to endogenous variables. They will replace the residual variances in the plot. (0.2.11.4)
Improvement
Updated
mark_sig()to accept a data frame with the p-values. Users can supply p-values computed by other functions. (0.2.11.3)Updated
mark_se()to accept a data frame with the standard errors. Users can supply standard errors computed by other functions. (0.2.11.3)Updated
mark_sig()to use the p-values fromlavaan::standardizedSolution(). Users need to explicitly request standardized solution p-values by setting the argumentstd_type. (0.2.11.3)Updated
mark_se()to use the standard errors fromlavaan::standardizedSolution(). Users need to explicitly request standardized solution standard errors by setting the argumentstd_type. (0.2.11.3)Functions that change the attributes of an edge, such as
set_edge_label_position(), should now supports factor loadings by using the=~operator when specifying the edge. Previously, we needed to specify a loading as if it were a regression path (e.g.,x1 ~ f1). (0.2.11.5)
Miscellaneous
Revised
change_node_label()to address an issue withplot.qgraph().label.cexshould now be used as expected. (0.2.10.1)Fixed an R CMD check issue with some links in Rd files. (0.2.10.4)
Start to use Use 0.X.0 for each initial submission to CRAN. (0.3.0)
semptools 0.2.10
CRAN release: 2023-10-15
New Features
- Added
auto_factor_point_to()for creating thefactor_point_tomatrix. Revisedset_sem_layout()to allow users to use a named vector for thefactor_point_toargument. (0.2.9.15) - Added
auto_indicator_order()andlavaan_indicator_order()for setting indicator order inset_sem_layout()andset_cfa_layout(). Can handle nodes with labels changed. (0.2.9.18, 0.2.9.24) - Revised
set_cfa_layout()andset_sem_layout()to setindicator_orderandindicator_factorautomatically if not supplied. Node labels must be string for this option to work. (0.2.9.18, 0.2.9.23) - Added an
pkgdownarticles on setting the layout for a model with both latent factors and exogenous observed variables. (0.2.9.25)
Bug Fixes
- Fixed
set_cfa_layout()to work for LISREL-style graphs. (0.2.9.13) - Fixed
set_cfa_layout()to work for a model without factor covariances (e.g.,exoCov = FALSEwhen callingsemPlot::semPaths()). (0.2.9.14) - Fixed a bug in
auto_factor_point_to(): Cells with no direction specified is now set toNA. (0.2.9.21)
Miscellaneous
- Added an R CMD check for noSuggests. (0.2.9.12)
- Fixed a bug in the setting for
pkgdown. (0.2.9.16) - Add
DoNotPlot = TRUEin all tests to preventsemPlot::semPaths()from plotting the graphs in the tests. (0.2.9.17, 0.2.9.20) - Added the helper
add_object(). (0.2.9.18) - Removed
dplyrfunctions from the code and removeddplyrfromImports. (0.2.9.19) - Removed the check for factors with no direction specified in
auto_factor_point_to(). The “factor” may be a manifest variable without indicators. (0.2.9.20) - Added two internal helpers to check node labels (labels changed? labels non-string?). (0.2.9.22)
- Removed the mention of
change_node_label2, which was not exported, from the help page. (0.2.9.26, 0.2.9.27) - Made the warning and error messages of
set_cfa_layout()andset_sem_layout()more informative. (0.2.9.28)
semptools 0.2.9.11
CRAN release: 2023-05-31
- Used the native functions of
semPlot(semPlot::man()andsemPlot::lat()) to check nodes indrop_nodes()andkeep_nodes(). As a consequence, thesemPlotpackage is now in the Import section. (More native functions will be used in the future to ensure compatibility.) (0.2.9.11)
semptools 0.2.9.9
- Added support for 2nd order factor (see
vignette("second_order")). (0.2.9.7) - Fixed doc due to Roxygen updated to 7.2.1. (0.2.9.7)
- Update the GitHub actions. (0.2.9.8)
- Fixed doc due to Roxygen updated to 7.2.3. (0.2.9.9)
- Fixed
set_curve(). It should now work for bidirectional edges regardless of the order of the nodes in the specification. (0.2.9.9)
semptools 0.2.9.6
CRAN release: 2022-08-25
Fixed several problems with
pkgdownsetting.Roxygenupdated to 7.2.0 and some man pages are updated accordingly.
semptools 0.2.9.5
- Updated
set_sem_layout()to support observed exogenous variables.
semptools 0.2.9.4
- Updated
drop_nodes(): It now works with output without a covariance matrix (e.g, a model generated fromlavaan::lavaanify()without data).
semptools 0.2.9.1
Bug Fix
- Fixed a bug in
set_sem_layout(). Failed to work with models in which all factors have the same number of indicators.
semptools 0.2.9
Added
drop_nodes()andkeep_nodes(). They process asemPlotModelobject, which is generated bysemPlot::semPlotModel(), drop or keep selected nodes (e.g., observed variables, latent factors) from the object. The result can then be passed tosemPlot::semPaths()to draw a diagram without the dropped nodes.Add
layout_matrix. A helper function for creating a layout matrix to be used bysemPlot::semPaths(). Users specify the positions of nodes and the function will create the matrix accordingly.mark_sig(),mark_se(), andset_cfa_layout()will raise an error if thesemPlot::semPathsobject has intercepts terms. These function do not support plots with intercept terms yet.Updated
change_node_label()to support named vectors.Added
vignette("layout_matrix")to explain how layout matrix is used insemPlot::semPaths(), and howlayout_matrix()can be used to construct the layout matrix.Updated the vignettes to use named vectors instead of “list of named lists” in some functions.
Updated
vignette("semptools")to introducechange_node_label().magrittris no longer required for installing the package.
semptools 0.2.8.1
Added
change_node_label()for changing the labels of nodes. Several other functions were modified to adapt for this function.Added
to_list_of_lists()for converting a named vector to a list of lists. Specifying a list of lists is necessary in some cases because the a label may not be string (e.g., it may be an expression). However, in most cases, all elements are strings or numbers and so a named vector will do. This function is to be used internally by other functions, not to be used by users.
semptools 0.2.8
Fix a bug in
set_cfa_layout(). It now will not raise an error for one-factor models.Fix some typo errors in documentation pages.
semptools 0.2.7
- Import the pipe operator from
magrittrso users no need to load the package themselves.
semptools 0.2.6
- Update the documentation of
mark_sig()andmark_se()to emphasize that currently they require alavaanoutput.
