簡體   English   中英

我正在嘗試繪制比例而不是我在R中的ggplot2中繪制的比例,但是我不確定如何去做

[英]I'm trying to plot proportions instead of what I have in ggplot2 in R but I am unsure how to go about doing so

因此,我希望看到留在明年的學生中有一部分在特定年份的給定月份內存款。 這意味着我希望Retention_Status的值為“ 1”的學生總數(在Count中找到)除以給定天的Count總數(請參見下面的dput)。 這是我用於在ggplot中創建代碼的代碼,但是我不確定如何對其進行編輯以執行所需的操作。

Admit <- Admit %>%
  group_by(year, month, week, Retention_Status) %>% 
  summarize(count = n())


    ggplot(Admit, aes(1, week, fill = count)) + 
      geom_tile(colour = "white") + 
      facet_grid(year~month) + 
      scale_fill_gradient(low="red", high="green")

允許數據框如下。 這似乎有一個簡單的答案/解決方法,但我不確定它是什么。

structure(list(year = c("2012", "2012", "2012", "2012", "2012", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016"), month = structure(c(4L, 5L, 11L, 12L, 12L, 1L, 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 
5L, 5L, 5L, 6L, 7L, 7L, 8L, 11L, 12L, 12L, 12L, 12L, 12L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 
5L, 5L, 5L, 5L, 5L, 5L, 6L, 10L, 11L, 11L, 11L, 11L, 11L, 12L, 
12L, 12L, 12L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 
8L, 11L, 12L, 12L, 12L, 12L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 
5L, 5L, 6L, 6L, 6L, 6L, 7L, 8L), .Label = c("January", "February", 
"March", "April", "May", "June", "July", "August", "September", 
"October", "November", "December"), class = "factor"), week = c(5, 
1, 4, 2, 2, 1, 2, 2, 3, 4, 5, 1, 1, 2, 3, 4, 4, 5, 1, 1, 2, 2, 
3, 4, 4, 5, 5, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 1, 2, 3, 5, 2, 2, 
3, 4, 3, 1, 2, 2, 3, 3, 1, 1, 2, 2, 3, 4, 4, 5, 1, 2, 3, 4, 4, 
1, 1, 2, 3, 3, 4, 4, 5, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 1, 
2, 2, 3, 4, 4, 4, 5, 2, 3, 3, 4, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 
1, 1, 2, 2, 3, 3, 4, 4, 5, 1, 1, 2, 2, 3, 4, 4, 5, 5, 1, 1, 2, 
2, 3, 3, 4, 4, 5, 5, 1, 1, 2, 2, 3, 3, 4, 5, 5, 1, 3, 4, 5, 1, 
2, 3, 4, 1, 1, 2, 3, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 1, 1, 2, 
2, 3, 3, 4, 4, 5, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 1, 2, 2, 3, 
3, 4, 4, 1, 3, 3, 4, 4, 1), Retention_Status = c(1, 1, 1, 0, 
1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 
0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 
0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 
0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 
1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 
0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 
0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 
0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 
1, 0, 1, 1, 1, 1), count = c(1L, 1L, 1L, 1L, 3L, 1L, 2L, 3L, 
2L, 1L, 2L, 1L, 3L, 3L, 3L, 1L, 4L, 1L, 1L, 3L, 4L, 4L, 6L, 1L, 
6L, 1L, 3L, 6L, 2L, 7L, 1L, 7L, 5L, 7L, 2L, 3L, 1L, 4L, 2L, 2L, 
2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 4L, 1L, 2L, 2L, 2L, 3L, 
2L, 3L, 3L, 4L, 3L, 5L, 1L, 5L, 1L, 2L, 3L, 1L, 5L, 1L, 5L, 1L, 
2L, 3L, 6L, 4L, 7L, 4L, 7L, 4L, 7L, 3L, 3L, 2L, 4L, 2L, 5L, 4L, 
1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 3L, 2L, 
3L, 2L, 2L, 3L, 1L, 5L, 2L, 2L, 1L, 4L, 1L, 1L, 5L, 1L, 4L, 4L, 
1L, 3L, 1L, 3L, 3L, 5L, 2L, 7L, 4L, 7L, 7L, 7L, 3L, 3L, 1L, 3L, 
1L, 3L, 2L, 3L, 3L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 4L, 4L, 1L, 1L, 
1L, 2L, 3L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, 5L, 1L, 2L, 2L, 1L, 4L, 
1L, 4L, 1L, 4L, 1L, 4L, 4L, 2L, 6L, 5L, 7L, 6L, 7L, 3L, 7L, 2L, 
3L, 2L, 5L, 2L, 3L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L)), row.names = c(NA, 
-199L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"
), vars = c("year", "month", "week"), drop = TRUE, indices = list(
    0L, 1L, 2L, 3:4, 5L, 6:7, 8L, 9L, 10L, 11:12, 13L, 14L, 15:16, 
    17L, 18:19, 20:21, 22L, 23:24, 25:26, 27L, 28:29, 30:31, 
    32:33, 34:35, 36:37, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 
    46L, 47:48, 49:50, 51:52, 53:54, 55L, 56:57, 58L, 59L, 60L, 
    61L, 62:63, 64:65, 66L, 67:68, 69:70, 71:72, 73:74, 75:76, 
    77:78, 79:80, 81:82, 83:84, 85:86, 87L, 88:89, 90L, 91L, 
    92L, 93:94, 95:96, 97L, 98L, 99L, 100L, 101L, 102L, 103L, 
    104L, 105L, 106:107, 108:109, 110:111, 112:113, 114L, 115:116, 
    117:118, 119L, 120:121, 122:123, 124:125, 126:127, 128:129, 
    130:131, 132:133, 134:135, 136:137, 138:139, 140L, 141:142, 
    143L, 144L, 145L, 146L, 147L, 148L, 149L, 150L, 151:152, 
    153L, 154L, 155L, 156L, 157:158, 159:160, 161:162, 163:164, 
    165L, 166:167, 168:169, 170:171, 172:173, 174L, 175:176, 
    177:178, 179:180, 181:182, 183:184, 185:186, 187:188, 189:190, 
    191:192, 193L, 194:195, 196L, 197L, 198L), group_sizes = c(1L, 
1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 
2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 
2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 
1L), biggest_group_size = 2L, labels = structure(list(year = c("2012", 
"2012", "2012", "2012", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2013", "2013", "2013", "2013", "2013", 
"2013", "2013", "2013", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2014", "2014", "2014", "2014", "2014", 
"2014", "2014", "2014", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2015", "2015", "2015", "2015", 
"2015", "2015", "2015", "2015", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016", "2016", "2016", "2016", "2016", "2016", "2016", "2016", 
"2016"), month = structure(c(4L, 5L, 11L, 12L, 1L, 1L, 1L, 1L, 
1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 
5L, 5L, 5L, 5L, 6L, 7L, 7L, 8L, 11L, 12L, 12L, 12L, 1L, 1L, 1L, 
1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 
5L, 5L, 5L, 5L, 6L, 10L, 11L, 11L, 11L, 12L, 12L, 12L, 12L, 1L, 
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 
4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 8L, 11L, 12L, 12L, 12L, 
12L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
3L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 7L, 8L), .Label = c("January", 
"February", "March", "April", "May", "June", "July", "August", 
"September", "October", "November", "December"), class = "factor"), 
    week = c(5, 1, 4, 2, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 
    3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 5, 2, 2, 3, 4, 3, 1, 2, 
    3, 1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 
    5, 1, 2, 3, 4, 4, 5, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 
    1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 
    5, 1, 3, 4, 5, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 
    1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 3, 4, 4, 1)), row.names = c(NA, 
-130L), class = "data.frame", vars = c("year", "month", "week"
), drop = TRUE))

這是您要記住的嗎?

library(dplyr)
library(tidyr)
Admit %>%
  spread(key = Retention_Status, value = count, fill = 0) %>%
  mutate(total = `0` + `1`, proportion = `1`/total)
# # A tibble: 130 x 7
# # Groups:   year, month, week [130]
#    year  month     week   `0`   `1` total proportion
#    <chr> <fct>    <dbl> <dbl> <dbl> <dbl>      <dbl>
#  1 2012  April       5.    0.    1.    1.      1.00 
#  2 2012  May         1.    0.    1.    1.      1.00 
#  3 2012  November    4.    0.    1.    1.      1.00 
#  4 2012  December    2.    1.    3.    4.      0.750
#  5 2013  January     1.    0.    1.    1.      1.00 
#  6 2013  January     2.    2.    3.    5.      0.600
#  7 2013  January     3.    0.    2.    2.      1.00 
#  8 2013  January     4.    0.    1.    1.      1.00 
#  9 2013  January     5.    0.    2.    2.      1.00 
# 10 2013  February    1.    1.    3.    4.      0.750

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM