Я пытаюсь использовать Circlize Package для круговой визуализации, но, к сожалению, он дублирует связи между секторами.Это мой набор данных, из которого я хочу узнать, используют ли разные домены один и тот же идентификатор сессии:
mat <- structure(list(Website = c("domain1", "domain2", "domain3", "domain2", "domain4",
"domain1", "domain2"),
ClientID = c("xxx", "xxx", "yyy", "yyy", "yyy", "zzz", "zzz"),
SessionId = c("d.0686", "d.0686", "f.1871", "f.1871", "f.1871",
"n.9210", "n.9210")),
.Names = c("Website", "ClientID", "SessionId"),
row.names = c(NA, -7L), class = "data.frame")
domains <- unique(mat$Website)
output <- matrix(0, length(domains), length(domains))
colnames(output) <- rownames(output) <- domains
for (x in domains) {
X <- unique(mat[mat$Website == x, 'SessionId'])
for (y in domains) {
Y <- unique(mat[mat$Website == y, 'SessionId'])
output[rownames(output) == x, y] <- length(intersect(X, Y))
}
}
Затем я строю коврик с помощью circlize ()
chordDiagram(output, annotationTrack = "grid", preAllocateTracks = 1, transparency = 0.5, self.link = 1, symmetric = FALSE)
circos.track(track.index = 1, panel.fun = function(x, y) {
circos.text(CELL_META$xcenter, CELL_META$ylim[1], CELL_META$sector.index,
facing = "clockwise", niceFacing = TRUE, adj = c(0, 0.5), cex = 0.5)
}, bg.border = NA) # here set bg.border to NA is important
К сожалениюпакет circlize () дает мне дублированные ссылки, как вы можете видеть ниже
Plot From mat
Я не понимаю, почему вместо этого дублируются ссылки из матрицыслияния их вместе.Это из-за моих данных (матрица верна для циклического преобразования) или из-за пропущенных параметров при построении циклического графика?