# \donttest{
set.seed(1234)
M <- 2 # Number of sub-groups
nvec <- round(runif(M, 20, 50))
beta <- c(.1, -.1)
Glist <- list()
dX <- matrix(0, 0, 2)
mu <- list()
nu <- list()
Emunu <- runif(M, -1.5, 0) # Expectation of mu + nu
smu2 <- 0.2
snu2 <- 0.2
for (m in 1:M) {
n <- nvec[m]
mum <- rnorm(n, 0.7*Emunu[m], smu2)
num <- rnorm(n, 0.3*Emunu[m], snu2)
X1 <- rnorm(n, 0, 1)
X2 <- rbinom(n, 1, 0.2)
Z1 <- matrix(0, n, n)
Z2 <- matrix(0, n, n)
for (i in 1:n) {
for (j in 1:n) {
Z1[i, j] <- abs(X1[i] - X1[j])
Z2[i, j] <- 1*(X2[i] == X2[j])
}
}
Gm <- 1*((Z1*beta[1] + Z2*beta[2] +
kronecker(mum, t(num), "+") + rlogis(n^2)) > 0)
diag(Gm) <- 0
diag(Z1) <- NA
diag(Z2) <- NA
Z1 <- Z1[!is.na(Z1)]
Z2 <- Z2[!is.na(Z2)]
dX <- rbind(dX, cbind(Z1, Z2))
Glist[[m]] <- Gm
mu[[m]] <- mum
nu[[m]] <- num
}
mu <- unlist(mu)
nu <- unlist(nu)
out <- homophily.fe(network = Glist, formula = ~ -1 + dX, fe.way = 2)
muhat <- out$estimate$mu
nuhat <- out$estimate$nu
plot(mu, muhat)
plot(nu, nuhat)
# }
Run the code above in your browser using DataLab