Constructs a network between authors using one of four relationship types and any of 13 counting methods, including 9 position-dependent methods that respect author byline order.
Usage
author_network(
data,
type = "collaboration",
counting = "full",
similarity = "none",
threshold = 0,
min_occur = 1L,
position_weights = c(1, 0.8, 0.6, 0.4),
first_last_weight = 2,
attention = NULL,
top_n = NULL,
self_loops = FALSE,
deduplicate = TRUE,
format = "edgelist",
authors = "authors",
sep = ";",
references_sep = ";",
strip_quotes = TRUE,
id = NULL
)Arguments
- data
A data frame with at least
idand an author column (list-column or delimited string, order preserved). For coupling/co-citation, also needsreferences.- type
Character. Relationship type:
"collaboration"Co-authorship: authors linked when they co-author a publication.
"coupling"Bibliographic coupling aggregated at author level: authors linked when they cite the same references.
"co_citation"Author co-citation: authors linked when they are cited together by the same paper. Requires a
cited_first_authorslist-column."equivalence"Profile similarity: cosine similarity of authors' full collaboration/citation profiles.
- counting
Character. Counting method. Position-independent methods (
"full","fractional","paper","strength") work for all types. Position-dependent methods ("harmonic","arithmetic","geometric","adaptive_geometric","golden","first","last","first_last","position_weighted") are available fortype = "collaboration".- similarity
Character. Similarity measure:
"none","association","cosine","jaccard","inclusion","equivalence".- threshold
Numeric. Minimum edge weight. Default 0.
- min_occur
Integer. Minimum number of papers for an author to be included. Default 1.
- position_weights
Numeric vector. Custom weights for
counting = "position_weighted". Defaultc(1, 0.8, 0.6, 0.4).- first_last_weight
Numeric. Multiplier for
counting = "first_last". Default 2.- attention
Character or NULL. Attention-based weighting independent of
typeandcounting. One of"proximity"(center authors weighted most),"lead"(first author dominates, quadratic drop),"last"(last author dominates, quadratic rise),"circular"(first and last both prominent). DefaultNULL(disabled).- top_n
Integer or NULL. Return only the top n edges by weight. Default NULL (all edges).
- self_loops
Logical. If
TRUE, include self-loops (an entity linked to itself). DefaultFALSE.- deduplicate
Logical. If
TRUE(default), each(paper, entity)pair is counted at most once — duplicate entries in the source data (e.g., the same author listed twice on a paper) are treated as one occurrence. Set toFALSEto count every raw occurrence.- format
Character. Output format:
"edgelist"Default. A
bibnets_networkdata frame with columnsfrom,to,weight,count."gephi"Gephi-ready data frame:
Source,Target,Weight,Count,Type."igraph"An igraph graph object (requires igraph).
"cograph"A cograph_network object (requires cograph).
"matrix"A sparse adjacency matrix.
Character. Name of the column containing authors. Default
"authors". Use this to point at any column of a custom data set, e.g.authors = "Author Names".- sep
Character. Separator used to split the entity column when it is a plain character column rather than a list-column, e.g.
sep = ","orsep = " and ". Default";". Ignored for list-columns.sepapplies only to the author column; the references column usesreferences_sep.- references_sep
Character. Separator for the
referencescolumn intype = "coupling". Default";"(reference strings usually contain internal commas, so this is kept independent ofsep). Set it when your references are delimited differently.- strip_quotes
Logical. If
TRUE(default), surrounding quote characters are removed from each entity, so a quoted CSV value such as"Alice"or""Alice""is treated asAlice. SetFALSEto keep quotes as part of the label.- id
Optional. Name of the column to use as the work identifier (the matrix-row dimension). If
NULL(default), an existingidcolumn is used when present, otherwise row numbers are used.
Value
Depends on format: a bibnets_network data frame (default),
a Gephi-ready data frame, an igraph graph, a cograph_network, or a
sparse matrix.
Examples
data(biblio_data)
author_network(biblio_data, "collaboration")
#> # bibnets network: author_collaboration | 6 nodes · 12 edges | counting: full
#> from to weight count
#> 1 CHEN W LEE K 3 3
#> 2 BROWN M SMITH J 3 3
#> 3 BROWN M LEE K 2 2
#> 4 JONES A LEE K 2 2
#> 5 JONES A SMITH J 2 2
#> 6 LEE K SMITH J 2 2
#> 7 BROWN M CHEN W 1 1
#> 8 BROWN M DAVIS R 1 1
#> 9 CHEN W DAVIS R 1 1
#> 10 CHEN W JONES A 1 1
#> # ... 2 more edges
author_network(biblio_data, "collaboration", counting = "harmonic")
#> # bibnets network: author_collaboration | 6 nodes · 12 edges | counting: harmonic
#> from to weight count
#> 1 BROWN M SMITH J 0.4702 3
#> 2 JONES A SMITH J 0.371 2
#> 3 CHEN W LEE K 0.3214 3
#> 4 CHEN W DAVIS R 0.2222 1
#> 5 DAVIS R JONES A 0.2222 1
#> 6 JONES A LEE K 0.1983 2
#> 7 LEE K SMITH J 0.1983 2
#> 8 BROWN M CHEN W 0.1488 1
#> 9 BROWN M DAVIS R 0.1488 1
#> 10 BROWN M LEE K 0.1488 2
#> # ... 2 more edges
author_network(biblio_data, "collaboration", counting = "geometric",
similarity = "association")
#> # bibnets network: author_collaboration | 6 nodes · 12 edges | counting: geometric | similarity: association
#> from to weight count
#> 1 CHEN W LEE K 0.7868 3
#> 2 CHEN W DAVIS R 0.5303 1
#> 3 BROWN M SMITH J 0.4494 3
#> 4 DAVIS R JONES A 0.3619 1
#> 5 JONES A LEE K 0.3606 2
#> 6 JONES A SMITH J 0.3255 2
#> 7 BROWN M DAVIS R 0.3029 1
#> 8 BROWN M CHEN W 0.2935 1
#> 9 BROWN M LEE K 0.2465 2
#> 10 LEE K SMITH J 0.2262 2
#> # ... 2 more edges
# Custom CSV: any column name, any separator
d <- data.frame(id = 1:3,
Researchers = c("Smith J, Doe A", "Smith J, Lee K",
"Doe A, Lee K"))
author_network(d, authors = "Researchers", sep = ",")
#> # bibnets network: author_collaboration | 3 nodes · 3 edges | counting: full
#> from to weight count
#> 1 DOE A LEE K 1 1
#> 2 DOE A SMITH J 1 1
#> 3 LEE K SMITH J 1 1