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

Arguments

diff_model

A valid network diffusion model, as created by as_diffusion() or play_diffusion().

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… Lagg… Lagg… Late… Late… Earl… Earl…
#> # ... with 2 more values from this nodeset unprinted. Use `print(..., n = Inf)` to print all values.
  summary(adopts)
#> Class Early Adopter:  1
#> Class Early Majority:  2, 3, 4, 5, 12, 13, 14, 15
#> Class Laggard:  8, 9
#> Class Late Majority:  6, 7, 10, 11