分类数据的总和

时间:2018-01-18 13:27:40

标签: r ggplot2

我想显示我的数据,以便在视觉上更容易理解。

对于每个对应关系(deplacementtype),是否可以以相同颜色大小的cercle形式显示相同颜色的点的athesum?或者甚至是两个值(0,1)的每个对应关系中的条形图四次?

这是我的数据和我的代码:

 df=structure(list(Plateform = c("0", "1", "0", "1", "0", "0", "0", 
    "1", "0", "0", "0", "0", "1", "1", "1", "0", "0", "0", "1", "1", 
    "0", "0", "0", "1", "0", "1", "1", "1", "1", "1", "0", "0", "0", 
    "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "1", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "1", "1", "0", "1", "1", "0", "1", "0", "0", "0", "0", "1", 
    "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "1", 
    "0", "0", "1", "1", "0", "1", "0", "1", "0", "0", "1", "0", "0", 
    "1", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "0", "0", 
    "0", "0", "0", "1", "1", "0", "0", "1", "0", "0", "0", "0", "1", 
    "0", "0", "0", "0", "1", "0", "0", "0", "0", "1", "0", "0", "0", 
    "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "1", "0", "1", "1", "1", "0", "1", "0", "0", "1", "0", "1", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", 
    "0", "0", "0", "0", "0", "0", "1", "0", "1", "0", "0", "0", "1", 
    "1", "0", "1", "0", "1", "1", "1", "1", "1", "0", "1", "0", "1", 
    "1", "0", "1", "1", "1", "1", "0", "0", "0", "0", "1", "1", "1", 
    "1", "0", "1", "1", "1", "1", "1", "1", "0", "1", "1", "0", "1", 
    "0", "1", "0", "0", "1", "0", "1", "0", "1", "0", "1", "1", "0", 
    "0", "1", "0", "1", "1", "0", "1", "1", "0", "1", "1", "0", "0", 
    "1", "0", "1", "0", "1", "1", "1", "0", "1", "1", "0", "1", "0", 
    "0", "0", "1", "1", "1", "1", "1", "1", "0", "0", "1", "1", "1", 
    "0", "0", "0", "0", "1", "0", "1", "1", "1", "0", "1", "1", "1", 
    "1", "0", "1", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", 
    "1", "1", "0", "1", "1", "1", "0", "1", "1", "1", "1", "1", "1", 
    "1", "0", "1", "1", "0", "1", "1", "0", "0", "0", "0", "1", "1", 
    "1", "0", "1", "0", "0", "0", "1", "1", "1", "1", "1", "0", "0", 
    "0", "1", "0", "0", "1", "1", "1", "0", "1", "0", "1", "1", "0", 
    "1", "1", "0", "1", "0", "0", "0", "1", "1", "0", "1", "1", "1", 
    "0", "1", "1", "0", "0", "0", "1", "0", "0", "0", "1", "1", "0", 
    "0", "0", "0", "0", "1", "1", "1", "0", "1", "0", "0", "0", "1", 
    "1", "0", "0", "1", "0", "1", "1", "0", "1", "1", "1", "1", "0", 
    "0", "0", "1", "0", "0", "1", "0", "0", "1", "0", "1", "1", "0", 
    "0", "1", "1", "1", "0", "0", "1", "1", "0", "0", "0", "1", "1", 
    "0", "1", "0", "1", "0", "0", "0", "1", "1", "0", "1", "0", "0", 
    "1", "1", "0", "0", "0", "1", "0", "1", "0", "0", "0", "0", "1", 
    "0", "0", "0", "1", "1", "0", "1", "0", "0", "0", "0", "0", "1", 
    "1", "1", "1", "0", "0", "1", "0", "0", "0", "1", "1", "0", "1", 
    "1", "0", "0", "1", "1", "1", "1", "0", "0", "0", "0", "0", "0", 
    "1", "0", "0", "1", "0", "0", "0", "1", "1", "0", "0", "1", "0", 
    "1", "0", "0", "0", "0", "0", "1", "1", "1", "0", "0", "1", "1", 
    "1", "1", "0", "0", "1"), Deplacement = c("NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "OUI", "OUI", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "OUI", "OUI", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "OUI", "OUI", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", "NON", 
    "NON", "NON", "NON", "NON", "OUI", "OUI", "OUI", "NON", "NON", 
    "NON", "NON"), Type = c("NON", "OUI", "OUI", "NON", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "NON", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "NON", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "NON", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "NON", 
    "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "NON", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "NON", 
    "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", 
    "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "NON", "OUI", "OUI", "OUI", "NON", "OUI", "NON", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "NON", "NON", 
    "NON", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", 
    "OUI", "OUI", "OUI", "OUI", "NON", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "NON", "OUI", "NON", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "NON", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "NON", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "NON", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "NON", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", "OUI", 
    "OUI", "OUI", "OUI", "NON", "OUI", "OUI", "OUI", "OUI")), .Names = c("Plateform", 
    "Deplacement", "Type"), row.names = c(NA, -545L), class = "data.frame")

 ggplot(df, aes(x=as.factor(Type),y=as.factor(Deplacement), col=Plateform))  + geom_point(size=2)   +  geom_jitter() 

enter image description here

3 个答案:

答案 0 :(得分:2)

这是你想要的吗?enter image description here

ggplot(df, aes(x=as.factor(Type),y=as.factor(Deplacement), col = Plateform))  + 
    geom_jitter(size=1)  +  
    stat_bin2d(geom = "point", aes(size = ..count..), fill = NA, shape = 1) +
    scale_size_area(max_size = 50) +
    guides(size = "none")

答案 1 :(得分:1)

library(data.table)

df[,count := .N, by = .(Plateform,Type,Deplacement)]
simpleplot <- df[,.SD[1],by = .(Plateform,Type,Deplacement)]

ggplot(simpleplot , aes(x=as.factor(Type),y=as.factor(Deplacement), col=Plateform, size = count))  + 
  geom_jitter(width = 0.2, height = 0.2) 

enter image description here

ggplot(simpleplot , aes( x=Plateform, y = count))  + 
  geom_bar(stat = "identity") +
  facet_grid(Type ~Deplacement, scales = "free") 

enter image description here

答案 2 :(得分:1)

为了给你第三个选项,它从Claus Wilke的答案中大量借用:https://stackoverflow.com/a/47493452/8583393

library(tidyverse)
df_count <- df %>% 
 group_by(Deplacement, Type, Plateform) %>%
 count() %>%
 ungroup() %>%
 add_row(Deplacement = "OUI", Type = "NON", Plateform = 0, n = 0L) %>% 
 mutate(index = as.integer(as.numeric(Plateform) + 1))

 df_count$Deplacement <- factor(df_count$Deplacement, levels = c("NON", "OUI"))
 df_count$Type <- factor(df_count$Type, levels = c("OUI", "NON"))

df_count
# A tibble: 8 x 5
#  Deplacement Type  Plateform     n index
#  <fct>       <fct> <chr>     <int> <int>
#1 NON         NON   0            20     1
#2 NON         NON   1            31     2
#3 NON         OUI   0           294     1
#4 NON         OUI   1           186     2
#5 OUI         NON   1             1     2
#6 OUI         OUI   0             2     1
#7 OUI         OUI   1            11     2
#8 OUI         NON   0             0     1


ggplot(data = df_count, aes(x=index, y=sqrt(n), fill=Plateform)) +
 geom_col(width =1) +
 coord_polar(theta = "x", direction = -1) +
 facet_grid(Deplacement~Type) +
 theme_void() +
 theme(legend.position = "bottom")

enter image description here