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)

Arguments

.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().

Value

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.

References

On adopter classes

Valente, Tom W. 1995. Network models of the diffusion of innovations (2nd ed.). Cresskill N.J.: Hampton Press.

Examples

  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