0

I am trying to plot (for the first time) a chord diagram in the package circlize in R Studio. I am going through the manual chapters (Circular Visualization in R). The first step is to allocate the sectors on a circle by using the circos.initialize command. However, when I get to this step, I get an error stating missing values where TRUE/FALSE needed.

A reproducible example

library(circlize)
Types <- data.frame(Types = c("OOP", "UVA", "MAT", "OIC", "FIN", "WSE"))

stack.df <- data.frame(Year = c(rep(2019, 1), rep(2020, 4), rep(2021, 7), rep(2022, 11), rep(2023, 11)), Invoice = c(paste0("2019.", "10", ".INV"), 
paste0("2020.", seq(from = 20, to = 23, by = 1), ".INV"), 
paste0("2021.", seq(from = 30, to = 36, by = 1), ".INV"), 
paste0("2022.", seq(from = 40, to = 50, by = 1), ".INV"), 
paste0("2023.", seq(from = 50, to = 60, by = 1), ".INV"))) 
                  
stack.df <- cbind(stack.df, Org_1 = Types[sample(nrow(Types), nrow(stack.df), replace = TRUE), ], Org_2 = Types[sample(nrow(Types), nrow(stack.df), replace = TRUE), ]) 

Making Chord Diagram
My overall objective: Make a chord diagram where the sectors are the stack.df$Year and track 1 is the stack.df$Invoice, with the circos.links from stack.df$Org_1 to stack.df$Org_2.

Initialize

circos.initialize(sectors = stack.df$Year, x = stack.df$Invoice)  

Error in if (sector.range[i] == 0) { : missing value where TRUE/FALSE needed In addition: Warning message: In circos.initialize(sectors = stack.df$Year, x = stack.df$Invoice) : NAs introduced by coercion

What am I am missing? My sector.range !== 0 as stack.df$Year is from 2019-2023. Any help in overcoming this error is greatly appreciated.

Purrsia
  • 712
  • 5
  • 18

0 Answers0