Type: Package
Title: Strategic Players
Version: 1.1
Date: 2024-02-10
Author: Miles Ott
Maintainer: Miles Ott <miles_ott@alumni.brown.edu>
Description: Identifies individuals in a social network who should be the intervention subjects for a network intervention in which you have a group of targets, a group of avoiders, and a group that is neither.
License: GPL-3
RoxygenNote: 5.0.1
NeedsCompilation: no
Packaged: 2024-02-11 00:27:12 UTC; iwoul
Repository: CRAN
Date/Publication: 2024-02-11 00:50:02 UTC

Strategic Players

Description

Identifies individuals in a social network who should be the intervention subjects for a network intervention in which you have a group of targets, a group of avoiders, and a group that is neither.

Details

The DESCRIPTION file:

Package: strategicplayers
Type: Package
Title: Strategic Players
Version: 1.1
Date: 2024-02-10
Author: Miles Ott
Maintainer: Miles Ott <miles_ott@alumni.brown.edu>
Description: Identifies individuals in a social network who should be the intervention subjects for a network intervention in which you have a group of targets, a group of avoiders, and a group that is neither.
License: GPL-3
RoxygenNote: 5.0.1

Index of help topics:

distance                distance
sp                      sp
strategicplayers-package
                        Strategic Players

use the sp function to get a list of strategic players indicies

Author(s)

Miles Ott

Maintainer: Miles Ott <miles_ott@alumni.brown.edu>

References

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6959850/

Examples

 
 
#I am commenting this all out so that the package won't require sna any more :)

#require(sna)

#generate a bernoulli random network on 20 nodes
#network<-rgraph(20, tprob=.2)          

#get the geodesic distances of the network
#geo<-geodist(network)[2]$gdist  

#defining the target group
#targets<-1:10                        

#defining the avoidance group
#avoids<-11:14                         

#defining the theta parameter
#theta<-.8                             

#find sp set of size 4
#spset<-sp(4, geo, targets, avoids, theta, n.loops=100)  
#spset

#calculates distance metric for spset
#distance(geo, targets, avoids, theta, spset)           

#plot the network with the strategic player set highlighted in yellow

#colors<-rep("white", 20)
#colors[targets]<-"green"
#colors[avoids]<-"red"
#colors[spset]<-"yellow"
#par(mar=c(1,1,1,1))
#gplot(network, vertex.col=colors, 
#usearrows=FALSE, edge.col="grey",
#vertex.border="grey", vertex.cex=1.7, pad=0, label=1:dim(network)[1])



distance

Description

Takes in the geodesic distances, targets, avoiders, a parameter that prioritizes avoiding vs targetting, and the current players and returns the strategic players distance metric

Usage

distance(gd, targets, avoiders, theta, players)

Arguments

gd

a matrix of geodesic distances for the network of interest

targets

a vector of indicies of the people you want to spread the intervention to

avoiders

a vector of indicies of the people you don't want to spread the intervention to

theta

a number between 0 and 1 which weights the distance metric, 1 only prioritizes closeness to targets, 0 only prioritizes maximizing distance from avoiders

players

the indicies of people who you have chosen for the intervention (a subset of targets)

Value

returns the distance metric for strategic players, which we want to maximize


sp

Description

Takes in the number of intervention subjects you wish to identify, geodesic distances, targets, avoiders, and a parameter that prioritizes avoiding vs targetting, and returns the indecies of the strategic players

Usage

sp(n.players, gd, targets, avoiders, theta = 0.5, n.loops = 1000)

Arguments

n.players

the number of intervention subjects you wish to identify

gd

a matrix of geodesic distances for the network of interest

targets

a vector of indicies of the people you want to spread the intervention to

avoiders

a vector of indicies of the people you don't want to spread the intervention to

theta

a number between 0 and 1 which weights the distance metric, 1 only prioritizes closeness to targets, 0 only prioritizes maximizing distance from avoiders. Any number between 0 and 1 will be a compromise of these two goals.

n.loops

the number of loops to run, the more loops you run the more likely you are to identify the optimal set of strategic players

Value

returns the indicies for strategic players