Я считаю, что вам нужно сначала повернуть df:
df <- data.frame(ID = c(1, 2, 3, 4), A = c(0, 0, 1, 1), B = c(0, 1, 0, 0), C = c(1, 0, 0, 0))
df %>%
pivot_longer(2:4, names_to = "group", values_to = "value") %>%
ggplot(aes(x="", y=value, fill=group))+
geom_bar(width = 1, stat = "identity")+
coord_polar("y", start=0)