Description Usage Arguments Details Value Author(s) See Also Examples

For a given set of vertices V, retrieves each vertex's alter's attributes. This function enables users to calculate exposure on variables other than the attribute that is diffusing. Further, it enables the specification of alternative functions to use to characterize ego's personal network including calculating the mean, maximum, minimum, median, or sum of the alters' attributes. These measures may be static or dynamic over the interval of diffusion and they may be binary or valued.

1 2 3 |

`graph` |
Any class of accepted graph format (see |

`attrs` |
If |

`V` |
Integer vector. Set of vertices from which the attributes will be retrieved. |

`direction` |
Character scalar. Either |

`fun` |
Function. Applied to each |

`as.df` |
Logical scalar. When TRUE returns a data.frame instead of a list (see details). |

`self` |
Logical scalar. When |

`valued` |
Logical scalar. When |

`...` |
Further arguments to be passed to |

By indexing inner/outer edges, this function retrieves ego network attributes
for all *v in V*, which by default is the complete set
of vertices in the graph.

When `as.df=TRUE`

the function returns a data.frame of size
*(|V| * T)*k* where *T* is the number of time
periods and *k* is the number of columns generated by the function.

The function can be used to create network effects as those in the RSiena
package. The difference here is that the definition of the statistic directly
relies on the user. For example, in the RSiena package, the dyadic covariate
effect *37. covariate (centered) main effect (X)*

*
s_i37(x) = sum(x[ij] * (w[ij] - mean(w)))
*

Which, having a diffnet object with attributes named `x`

and `w`

,
can be calculated as

1 2 3 4 |

Furthermore, we could use the *median* centered instead, for example

1 2 3 4 |

Where for each *i*, `dat`

will be a matrix with as many rows
as individuals in his egonetwork. Such matrix holds the column names of the
attributes in the network.

When `self = TRUE`

, it will include ego's attributes, regardless
the network has loops or not.

A list with ego alters's attributes. By default, if the graph is static, the
output is a list of length `length(V)`

with matrices having the following
columns:

`value` |
Either the corresponding value of the tie. |

`id` |
Alter's id |

`...` |
Further attributes contained in |

On the other hand, if `graph`

is dynamic, the output is list of length
*T* of lists of length `length(V)`

with data frames having the following
columns:

`value` |
The corresponding value of the adjacency matrix. |

`id` |
Alter's id |

`per` |
Time id |

`...` |
Further attributes contained in |

George G. Vega Yon

Other data management functions: `diffnet-class`

,
`edgelist_to_adjmat`

, `isolated`

,
`survey_to_diffnet`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ```
# Simple example with diffnet -----------------------------------------------
set.seed(1001)
diffnet <- rdiffnet(150, 5, seed.graph="small-world")
# Adding attributes
indeg <- dgr(diffnet, cmode="indegree")
head(indeg)
diffnet[["indegree"]] <- indeg
# Retrieving egonet's attributes (vertices 1 and 20)
egonet_attrs(diffnet, V=c(1,20))
# Example with a static network ---------------------------------------------
set.seed(1231)
n <- 20
net <- rgraph_ws(n = n, k = 4, p = .5)
someattr <- matrix(rnorm(n * 2), ncol= 2, dimnames = list(NULL, c("a", "b")))
# Maximum of -a- in ego network
ans <- egonet_attrs(net, someattr, fun = function(x) max(x[,"a"]))
ans
# checking it worked, taking a look at node 1, 2, and 3
max(someattr[which(net[1,] == 1),"a"]) == ans[1] # TRUE
max(someattr[which(net[2,] == 1),"a"]) == ans[2] # TRUE
max(someattr[which(net[3,] == 1),"a"]) == ans[3] # TRUE
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.