node_in_adopter() classifies membership of nodes into diffusion categories
by where on the distribution of adopters they fell.
Valente (1995) defines five memberships:
Early adopter: those with an adoption time less than the average adoption time minus one standard deviation of adoptions times
Early majority: those with an adoption time between the average adoption time and the average adoption time minus one standard deviation of adoptions times
Late majority: those with an adoption time between the average adoption time and the average adoption time plus one standard deviation of adoptions times
Laggard: those with an adoption time greater than the average adoption time plus one standard deviation of adoptions times
Non-adopter: those without an adoption time, i.e. never adopted
node_in_adopter(.data)A network object of class mnet, igraph, tbl_graph, network, or similar.
For more information on the standard coercion possible,
see manynet::as_tidygraph().
A node_member character vector the length of the nodes in the network,
of group memberships "A", "B", etc for each node.
If the network is labelled,
then the assignments will be labelled with the nodes' names.
Other memberships:
member_brokerage,
member_cliques,
member_community,
member_community_hier,
member_community_non,
member_components,
member_core,
member_equivalence
Other nodal:
mark_core,
mark_degree,
mark_diff,
mark_nodes,
mark_select_node,
measure_assort_node,
measure_broker_node,
measure_brokerage,
measure_central_between,
measure_central_close,
measure_central_degree,
measure_central_eigen,
measure_closure_node,
measure_core,
measure_diffusion_node,
measure_diverse_node,
member_brokerage,
member_cliques,
member_community,
member_community_hier,
member_community_non,
member_components,
member_core,
member_equivalence,
motif_brokerage_node,
motif_exposure,
motif_node,
motif_path
Other diffusion:
mark_diff,
measure_diffusion_infection,
measure_diffusion_net,
measure_diffusion_node,
motif_exposure,
motif_hazard
smeg <- generate_smallworld(15, 0.025)
smeg_diff <- play_diffusion(smeg, recovery = 0.2)
# To classify nodes by their position in the adoption curve
(adopts <- node_in_adopter(smeg_diff))
#> 4 groups
#> V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
#> 1 Early… Earl… Earl… Earl… Earl… Late… Late… Late… Lagg… Late… Late… Earl… Earl…
#> # ... and 2 more values from this nodeset. Use `print_all(...)` to print all values.
summary(adopts)
#> Class Early Adopter: 1
#> Class Early Majority: 2, 3, 4, 5, 12, 13, 14, 15
#> Class Laggard: 9
#> Class Late Majority: 6, 7, 8, 10, 11