This function is basically the same as the biblio_coupling() function but it is explicitly framed for bibliographic co-citation network (and not for bibliographic coupling networks). It takes a data frame with direct citations, and calculates the number of times two references are citing together, and calculate a measure similar to the coupling angle value (Sen and Gan 1983) : it divides the number of times two references are cited together by the square root of the product of the total number of citations (in the whole corpus) of each reference. The more two references are cited in general, the more they have to be cited together for their link to be important.

biblio_cocitation(
dt,
source,
ref,
normalized_weight_only = TRUE,
weight_threshold = 1,
output_in_character = TRUE
)

## Arguments

dt The dataframe with citing and cited documents. The column name of the source identifiers, that is the documents that are citing. The column name of the cited references identifiers. In co-citation network, these references are the nodes of the network. If set to FALSE, the function returns the weights normalized by the cosine measure, but also simply the number of times two references are cited together. Correspond to the value of the non-normalized weights of edges. The function just keeps the edges that have a non-normalized weight superior to the weight_threshold. In a large bibliographic co-citation network, you can consider for instance that being cited only once together is not sufficient/significant for two references to be linked together. This parameter could also be modified to avoid creating intractable networks with too many edges. If TRUE, the function ends by transforming the from and to columns in character, to make the creation of a tidygraph graph easier.

## Value

A data.table with the articles (or authors) identifier in from and to columns, with one or two additional columns (the coupling angle measure and the number of shared references). It also keeps a copy of from and to in the Source and Target columns. This is useful is you are using the tidygraph package then, where from and to values are modified when creating a graph.

## Details

This function uses data.table package and is thus very fast. It allows the user to compute the coupling angle on a very large data frame quickly.

## References

Sen SK, Gan SK (1983). “A Mathematical Extension of the Idea of Bibliographic Coupling and Its Applications.” Annals of library science and documentation, 30(2). http://nopr.niscair.res.in/bitstream/123456789/28008/1/ALIS%2030(2)%2078-82.pdf.

## Examples

library(biblionetwork)
biblio_cocitation(Ref_stagflation,
source = "Citing_ItemID_Ref",
ref = "ItemID_Ref")
#>              from         to    weight     Source     Target
#>     1:      49248     180162 1.0000000      49248     180162
#>     2:      49248     804988 0.3162278      49248     804988
#>     3:      49248    1999903 1.0000000      49248    1999903
#>     4:      49248    2031010 1.0000000      49248    2031010
#>     5:      49248    3580645 0.7071068      49248    3580645
#>    ---
#> 87664: 1111112223 1111112225 1.0000000 1111112223 1111112225
#> 87665: 1111112223 1111112227 1.0000000 1111112223 1111112227
#> 87666: 1111112224 1111112225 1.0000000 1111112224 1111112225
#> 87667: 1111112224 1111112227 1.0000000 1111112224 1111112227
#> 87668: 1111112225 1111112227 1.0000000 1111112225 1111112227
# It is basically the same as:
biblio_coupling(Ref_stagflation,
source = "ItemID_Ref",
ref = "Citing_ItemID_Ref")
#>              from         to    weight     Source     Target
#>     1:      49248     180162 1.0000000      49248     180162
#>     2:      49248     804988 0.3162278      49248     804988
#>     3:      49248    1999903 1.0000000      49248    1999903
#>     4:      49248    2031010 1.0000000      49248    2031010
#>     5:      49248    3580645 0.7071068      49248    3580645
#>    ---
#> 87664: 1111112223 1111112225 1.0000000 1111112223 1111112225
#> 87665: 1111112223 1111112227 1.0000000 1111112223 1111112227
#> 87666: 1111112224 1111112225 1.0000000 1111112224 1111112225
#> 87667: 1111112224 1111112227 1.0000000 1111112224 1111112227
#> 87668: 1111112225 1111112227 1.0000000 1111112225 1111112227