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
ofigraph
/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 ifalters.df
andaaties.df
are both lists of data frames.alter
unique-within-ego identifier associated with each alter, defaulting to
"alterID"
; optionalaaties.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
ornumeric
of length one or same length as there are networks. If theigraph
/network
objects don't include egos as a node, set toNULL
(default).- alters
either a
data.frame
containing the alters (whose nominator is identified by the column specified byegoID
or a list of data frames with the same columns, one for each ego, with empty data frames orNULL
s 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 toalters.df
.- ego_design
A
list
of arguments tosrvyr::as_survey_design()
specifying the sampling design for the egos. If formulas, they can refer to columns ofegos.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.
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 tibble
s 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