# \dontshow{
require(ergm)
set.seed(21093)
a1<-network::as.network(matrix(c(rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3),
rbinom(10, 1,.3)),
nrow=10,ncol=10))
network::set.vertex.attribute(a1,"var.1",rbinom(10,1,.3))
a<-ergm(a1~edges+nodeifactor("var.1")+nodeofactor("var.1"))
ergm.MEM(a,var1="nodeifactor.var.1.1")
# }
# \donttest{
library(ergm)
data("faux.dixon.high")
set.seed(21093)
my.ergm<-ergm(faux.dixon.high~edges+
nodeicov("grade")+
nodeocov("grade")+
nodeifactor("sex")+
nodeofactor("sex")+
absdiff("grade")+
nodematch("sex")+
mutual)
#main effect
main.eff<-ergm.MEM(my.ergm,"mutual")
#main effect of "mutual" when sender and receiver effects for sex == 1
ergm.MEM(my.ergm,"mutual",
at.controls=c("nodeifactor.sex.2","nodeofactor.sex.2"),
control_vals=c(1,1))
##with moderator
sex.inter<-ergm.MEM(my.ergm,"nodeifactor.sex.2","nodeofactor.sex.2","nodematch.sex")
##with moderator at specific levels
grade.inter<-ergm.MEM(my.ergm,"nodeicov.grade","nodeocov.grade","absdiff.grade",
at.2=c(9,12))
##when moderator changes from mean to mean +sd
tie.probs<-edge.prob2(my.ergm)
m<-mean(tie.probs$nodeocov.grade)
m.sd<-m+sd(tie.probs$nodeocov.grade)
grade.inter.at.means<-ergm.MEM(my.ergm,"nodeicov.grade","nodeocov.grade",
"absdiff.grade",at.2=c(m,m.sd))
# }
Run the code above in your browser using DataLab