Есть ли функция R для промежуточных итогов определенных строк / столбцов, чтобы легко построить график на линейной или гистограмме? - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь суммировать итоги каждого статуса курса по школьному письму. Есть ли функция, которую я могу написать для группировки по школам и суммировать итоги для каждого столбца?

Я написал функцию «Группировать по школе», чтобы получить итоги по каждой школе, но мне трудно перевести ее в визуальную форму с помощью ggplot и т. Д.

Dataframe - это MathClass со школой как фактор и курсами в виде чисел.

#Group by School
GroupbySchool <- MathClass %>%
group_by(School) %>%
summarise_all(funs(sum)) 

  School Middling Behind `More Behind` `Very Behind` Completed
  <fct>     <dbl>  <dbl>         <dbl>         <dbl>     <dbl>
1 A           113    450            73           154       142
2 B            84    201            14            22       125
3 C            11     39             4            12        19
4 D             3      8             2             6         3
5 E            11     56             7            15        27

1 Ответ

0 голосов
/ 23 января 2019

Вот один из способов визуализации.Сначала я должен был преобразовать данные следующим образом:

library(tidyr)
library(magrittr)
library(ggplot2)

df2 <- gather(df[, -1], Group, Response) %>%
   cbind(data.frame(School=rep(LETTERS[1:5], 5)), .)

Затем я использовал ggplot и geom_bar, чтобы сделать это:

ggplot(df2, aes(x=School, y=Response, colour = Group, fill = Group)) +
  geom_bar(stat = "identity", position = "dodge") +
  theme_bw()

Окончательный вывод:

enter image description here

Делает ли это что-то вроде того, что вы ищете?

Примечание:

Мне пришлось изменить имена для More Behind и Very Behind на МБ и VB, поскольку они не будут правильно считываться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...