我有不同城市之间的航空公司连通性数据。我想借助Circize包制作一个带有颜色控制的和弦图。我需要帮助
Place1<-c("Delhi","Hongkong","Manila","Delhi","Hongkong","Manila","Delhi","Hongkong","Manila")
Place2<-c("Delhi","Delhi","Delhi","Hongkong","Hongkong","Hongkong","Manila","Manila","Manila")
value<-c(8,21,29,41,23,16,14,8,9)
df1<-cbind(Place1,Place2,value)
数据是这样的
Place1 Place2 value
[1,] "Delhi" "Delhi" "8"
[2,] "Hongkong" "Delhi" "21"
[3,] "Manila" "Delhi" "29"
[4,] "Delhi" "Hongkong" "41"
[5,] "Hongkong" "Hongkong" "23"
[6,] "Manila" "Hongkong" "16"
[7,] "Delhi" "Manila" "14"
[8,] "Hongkong" "Manila" "8"
[9,] "Manila" "Manila" "9"
答案 0 :(得分:1)
我们可以尝试这样的事情:
# Here your data:
Place1<-c("Delhi","Hongkong","Manila","Delhi","Hongkong","Manila","Delhi","Hongkong","Manila")
Place2<-c("Delhi","Delhi","Delhi","Hongkong","Hongkong","Hongkong","Manila","Manila","Manila")
value<-c(8,21,29,41,23,16,14,8,9)
# df1<-cbind(Place1,Place2,value) this is not useful, it's better to put them in a data.frame
df1 <-data.frame(Place1,Place2,value = as.numeric(value))
然后,我们可以操纵数据并绘制图。如this simple example中所述,数据应放在表中:您也有值,因此我们可以将它们与基本函数一起放置:
dat <- xtabs(value ~ Place1 + Place2, df1)
现在我们可以绘制数据了:
library(circlize)
chordDiagram(as.data.frame(dat), transparency = 0.5)
但是,您可以考虑使用some other ways来可视化这些数据。