我试图想象从一个州(在原籍国工作)和另一个(在目的地国工作)的过渡。我认为过渡情节很完美,但我不明白它是如何工作的?
我的数据框称为(Cimad),我的变量是 EMPLOIPRE(原点)和 EMPLOIFR(目的地)。两者都是因素,第一个计数 20 个级别,第二个计数 15 个级别(这是一个问题,我必须让它们都匹配吗?)我有 400 个观察值。
我希望你能帮助我,因为我完全迷路了!提前谢谢你,卡罗琳。
我试图想象从一个州(在原籍国工作)和另一个(在目的地国工作)的过渡。我认为过渡情节很完美,但我不明白它是如何工作的?
我的数据框称为(Cimad),我的变量是 EMPLOIPRE(原点)和 EMPLOIFR(目的地)。两者都是因素,第一个计数 20 个级别,第二个计数 15 个级别(这是一个问题,我必须让它们都匹配吗?)我有 400 个观察值。
我希望你能帮助我,因为我完全迷路了!提前谢谢你,卡罗琳。
Fwiw,这是一个例子
# create example data
set.seed(1)
Cimad <- data.frame(
EMPLOIPRE = as.factor(sample(letters[1:15], 400, T)),
EMPLOIFR = as.factor(sample(letters[1:20], 400, T))
)
# create adjacency/transition matrix
labs <- unique(unlist(Cimad))
m <- table(factor(Cimad[,1], lev=labs), factor(Cimad[,2], lev=labs))
m <- m / rowSums(m)
# plot it
library(igraph)
g <- graph_from_adjacency_matrix(m, weighted = "prob")
E(g)$prob <- ifelse(is.nan(E(g)$prob), NA, E(g)$prob)
plot(g, edge.label = round(E(g)$prob, 2), edge.arrow.size = .25, edge.label.cex = .5)
或者,如果您想将其导出为 PDF(例如用于缩放):
pdf(tf <- tempfile(fileext = ".pdf"), width = 15, height = 15)
plot(g, edge.label = round(E(g)$prob, 2), edge.arrow.size = .25, edge.label.cex = .5)
dev.off()
shell.exec(tf)