Диаграмма аккордов для построения взаимосвязей между точками непрерывных данных

#r #chord-diagram #circlize

#r #диаграмма аккордов #обвести

Вопрос:

Я хотел бы построить попарные взаимосвязи между точками числовых данных в стиле смешанной круговой диаграммы рассеяния и диаграммы аккордов.

В отличие от «реальной» диаграммы аккордов, у меня есть только один сектор с парами круговых непрерывных значений, которые представляют разное время суток (0-24 ч), которые назначены разным категориальным группам:

 > time1 <- c(4.85, 6.44, 15.45, 12.53, 5.24, 16.05)
> time2 <- c(16.78, 18.26, 5.94, 7.11, 15.45, 5.07)
> group <- c("A", "C", "D", "B", "A", "D")
> time_df <- cbind.data.frame(group, time1, time2)
> time_df
  group time1 time2
1     A  4.85 16.78
2     C  6.44 18.26
3     D 15.45  5.94
4     B 12.53  7.11
5     A  5.24 15.45
6     D 16.05  5.07
  

Между каждой из этих временных точек должна быть линия, окрашенная в соответствии с группой, к которой отнесена пара.
Я попытался использовать chordDiagram() функцию из пакета R circlize , чтобы реализовать это, но вскоре заметил, что она в основном используется для связей между категориальными данными.

Знаете ли вы другой пакет R, который можно было бы использовать для такого рода визуализации, или это все-таки можно сделать с помощью circlize::chordDiagram() ?

Ответ №1:

Если я правильно понимаю, вы можете заставить рассматривать время как фактор, и оно имеет два уровня. Тогда фактические значения времени будут связями между группой и временем.

Хотя, я думаю, было бы лучше, если бы вы просто сделали гистограмму в ggplot и использовали два разных цвета для обозначения time1 и time2. Таким образом, они параллельны и их легче сравнивать, это всего лишь мои два цента.