Comparisons at dyadic level
vertex_covariate_compare(graph, X, funname)
A matrix dgCMatrix
of size \(n\times n\) with values in
the form of \(funname(x_i,x_j)\).
This auxiliary function takes advantage of the sparseness of graph
and
applies a function in the form of \(funname(x_i,x_j)\)
only to \((i,j)\) that have no empty entry. In other words, applies a compares
elements of X
only between vertices that have a link; making
nlinks(graph)
comparisons instead of looping through \(n\times n\),
which is much faster.
funname
can take any of the following values:
"distance"
, "^2"
or "quaddistance"
, ">"
or "greater"
,
"<"
or "smaller"
, ">="
or "greaterequal"
,
"<="
or "smallerequal"
, "=="
or "equal"
.
Other dyadic-level comparison functions:
matrix_compare()
,
vertex_covariate_dist()
# Basic example ------------------------------------------------------------
set.seed(1313)
G <- rgraph_ws(10, 4, .2)
x <- rnorm(10)
vertex_covariate_compare(G, x, "distance")
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>
#> [1,] . 1.0641842 . . 1.160060 . .
#> [2,] 1.0641842 . 0.4867249 0.2437569 . . .
#> [3,] 0.5774593 0.4867249 . 0.2429680 1.737519 . .
#> [4,] . 0.2437569 0.2429680 . 1.980487 0.3777802 .
#> [5,] . . 1.7375191 1.9804871 . 2.3582672 2.7931946
#> [6,] . . . 0.3777802 2.358267 . 0.4349274
#> [7,] . . . . 2.793195 0.4349274 .
#> [8,] . . . 0.5029751 1.477512 0.8807552 1.3156826
#> [9,] 1.3807050 . 0.8032456 . . . 0.2524298
#> [10,] 1.2314124 0.1672282 . 0.4109851 . . .
#>
#> [1,] . 1.3807050 1.2314124
#> [2,] . . 0.1672282
#> [3,] . . .
#> [4,] . . .
#> [5,] . . .
#> [6,] 0.8807552 . .
#> [7,] 1.3156826 0.2524298 .
#> [8,] . . .
#> [9,] . . 0.1492926
#> [10,] 0.9139601 . .
vertex_covariate_compare(G, x, "^2")
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>
#> [1,] . 1.13248802 . . 1.345739 . .
#> [2,] 1.1324880 . 0.23690109 0.05941743 . . .
#> [3,] 0.3334593 0.23690109 . 0.05903343 3.018973 . .
#> [4,] . 0.05941743 0.05903343 . 3.922329 0.1427178 .
#> [5,] . . 3.01897268 3.92232904 . 5.5614243 7.80193599
#> [6,] . . . 0.14271785 5.561424 . 0.18916181
#> [7,] . . . . 7.801936 0.1891618 .
#> [8,] . . . 0.25298393 2.183042 0.7757298 1.73102068
#> [9,] 1.9063463 . 0.64520356 . . . 0.06372082
#> [10,] 1.5163764 0.02796526 . 0.16890871 . . .
#>
#> [1,] . 1.90634627 1.51637640
#> [2,] . . 0.02796526
#> [3,] . . .
#> [4,] . . .
#> [5,] . . .
#> [6,] 0.7757298 . .
#> [7,] 1.7310207 0.06372082 .
#> [8,] . . .
#> [9,] . . 0.02228829
#> [10,] 0.8353231 . .
vertex_covariate_compare(G, x, ">=")
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>
#> [1,] . 1 . . . . . . 1 1
#> [2,] . . . . . . . . . 1
#> [3,] . 1 . 1 . . . . . .
#> [4,] . 1 . . . 1 . . . .
#> [5,] . . 1 1 . 1 1 . . .
#> [6,] . . . . . . 1 . . .
#> [7,] . . . . . . . . . .
#> [8,] . . . 1 . 1 1 . . .
#> [9,] . . . . . . 1 . . .
#> [10,] . . . . . . . . . .
vertex_covariate_compare(G, x, "<=")
#> 10 x 10 sparse Matrix of class "dgCMatrix"
#>
#> [1,] . . . . 1 . . . . .
#> [2,] 1 . 1 1 . . . . . .
#> [3,] 1 . . . 1 . . . . .
#> [4,] . . 1 . 1 . . . . .
#> [5,] . . . . . . . . . .
#> [6,] . . . 1 1 . . 1 . .
#> [7,] . . . . 1 1 . 1 1 .
#> [8,] . . . . 1 . . . . .
#> [9,] 1 . 1 . . . . . . 1
#> [10,] 1 1 . 1 . . . 1 . .