Skip to contents

The function egor() is used to create an egor object from ego-centered network data. as.egor() converts a list of igraph/network objects or a nested_egor objects to an egor object.

Usage

as.egor(x, ...)

# S3 method for nested_egor
as.egor(
  x,
  ID.vars = list(ego = ".egoID", alter = ".alterID", source = ".Source", target =
    ".Target"),
  ...
)

# S3 method for list
as.egor(x, ego_name = NULL, ...)

egor(
  alters,
  egos = NULL,
  aaties = NULL,
  ID.vars = list(ego = "egoID", alter = "alterID", source = "Source", target = "Target"),
  ego_design = NULL,
  alter_design = list(max = Inf)
)

Arguments

x

list of igraph/network objects representing ego networks.

...

arguments to be passed to methods

ID.vars

A named list containing column names of the relevant input columns:

ego

unique identifier associated with each ego, defaulting to "egoID"; has no effect if alters.df and aaties.df are both lists of data frames.

alter

unique-within-ego identifier associated with each alter, defaulting to "alterID"; optional aaties.df are not provided.

source

if aaties.df is provided, the column given the alter identifier of the origin of a relation.

target

if aaties.df is provided, the column given the alter identifier of the destination of a relation.

ego_name

character or numeric of length one or same length as there are networks. If the igraph/network objects don't include egos as a node, set to NULL (default).

alters

either a data.frame containing the alters (whose nominator is identified by the column specified by egoID or a list of data frames with the same columns, one for each ego, with empty data frames or NULLs corresponding to egos with no nominees.

egos

data.frame containing the egos.

aaties

data.frame containing the alter-alter relations in the style of an edge list, or a list of data frames similar to alters.df.

ego_design

A list of arguments to srvyr::as_survey_design() specifying the sampling design for the egos. If formulas, they can refer to columns of egos.df. NULL means that no design is set.

alter_design

A list of arguments specifying nomination information. Currently, the following elements are supported:

Value

Returns an egor object, which is a named list with three tibble data.frames: ego, alter and aatie (alter-alter ties). Each data set has an .egoID column, that groups the data belonging to one ego. Additionally the alter data has an .alterID column, that links to the columns .srcID and .tgtID in the alter-alter tie data.

In addition, egor has two attributes: ego_design, containing an object returned by srvyr::as_survey_design() specifying the sampling design by which the egos were selected and alter_design, a list containing specification of how the alters were nominated. See the argument above for currently implemented settings.

Details

If parameters alters.df, egos.df, and aaties.df are data frames, they need to share a common ego ID variable, with corresponding values. If alters.df and aaties.df are lists of data frames, egoID is ignored and they are matched by position with the rows of egos.df. Of the three parameters only alters.df is necessary to create an egor object, and egos.df and aaties.df are optional.

Functions

  • as.egor(nested_egor): Can convert (legacy) nested_egor object to egor object.

Note

Column names .alts, .aaties, and .egoRow are reserved for internal use of egor and should not be used to store persistent data. Other .-led column names may be reserved in the future.

See also

as_tibble() for extracting ego, alter, and alter--alter tables, as tibbles or as srvyr's tbl_svy surveys.

Examples

data("egos32")
data("alters32")
data("aaties32") 

egor(alters32, 
     egos32, 
     aaties32,
     ID.vars = list(ego = ".EGOID", 
                    alter = ".ALTID", 
                    source = ".SRCID",
                    target =  ".TGTID"))
#> # EGO data (active): 32 × 6
#>   .egoID sex   age      age.years country   income
#> *  <dbl> <chr> <fct>        <int> <chr>      <dbl>
#> 1      1 m     56 - 65         63 Australia  29930
#> 2      2 m     26 - 35         33 Germany    17885
#> 3      3 m     66 - 100        74 Germany    20805
#> 4      4 w     18 - 25         21 Poland     29565
#> 5      5 m     0 - 17           9 Germany    15330
#> # ℹ 27 more rows
#> # ALTER data: 384 × 7
#>   .altID .egoID sex   age     age.years country   income
#> *  <int>  <dbl> <chr> <fct>       <int> <chr>      <dbl>
#> 1      1      1 m     46 - 55        48 USA        45625
#> 2      2      1 m     0 - 17          5 Germany    52925
#> 3      3      1 w     26 - 35        35 Australia  60225
#> # ℹ 381 more rows
#> # AATIE data: 1,056 × 4
#>   .egoID .srcID .tgtID weight
#> *  <int>  <int>  <int>  <dbl>
#> 1     20      1      2  0.667
#> 2     25      6     10  0.667
#> 3      9      6      8  0.667
#> # ℹ 1,053 more rows