This function identifies and visualizes key citation routes within scientific networks by analyzing the most significant citation paths between publications. The algorithm is based on the main path analysis approach described in: Liu JS, Lu LYY. An integrated approach for main path analysis: Development of the Hirsch index as an example. Journal of the American Society for Information Science and Technology. 2012;63(3):528-542. https://doi.org/10.1002/asi.21692
Arguments
- network
A network object of class
tbl_graph
origraph
containing citation data, or a list object generated bysniff_groups()
whenscope = "groups"
- scope
Character string specifying the analysis scope. Must be either "network" (for full network analysis) or "groups" (for group-wise analysis of a grouped network)
- citations_percentage
Numeric value between 0 and 1 indicating the percentage of top-cited edges to consider for key route identification. Default is 1 (all edges)
Value
A list containing for each group:
plot
- A ggplot2 object visualizing the key citation routedata
- A tibble with publication details (name, TI, AU, PY) of nodes in the key route
Details
The function performs the following steps based on the main path analysis methodology:
Converts the citation network to a line graph where edges become nodes
Filters edges based on citation percentage threshold
Identifies the largest connected component
Calculates all simple paths between source and sink nodes
Determines the main citation route using forward and backward propagation
Extracts and visualizes the key citation path
The algorithm implements an integrated approach for main path analysis as described in Liu & Lu (2012), which combines structural analysis with citation metrics to identify the most significant knowledge diffusion paths in scientific literature.
References
Liu JS, Lu LYY. An integrated approach for main path analysis: Development of the Hirsch index as an example. Journal of the American Society for Information Science and Technology. 2012;63(3):528-542. https://doi.org/10.1002/asi.21692
Examples
if (FALSE) { # \dontrun{
# Load required packages
library(igraph)
library(tidygraph)
library(ggraph)
# Example with network scope
result <- sniff_key_route(my_network, scope = "network", citations_percentage = 0.8)
# Example with groups scope
grouped_network <- sniff_groups(data)
result <- sniff_key_route(grouped_network, scope = "groups")
# Access results for a specific group
result$group_name$plot
result$group_name$data
} # }