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