Каким образом я могу построить три разных переменных со строковыми значениями в R - PullRequest
0 голосов
/ 12 марта 2019

У меня есть фрейм данных со следующими переменными: Студенты: Студент1, Студент2 ... Ass_1_hearingE: [not tested, not fulfilled, partly fulfilled, fulfilled] Ass_1_hearingC: [not tested, not fulfilled, partly fulfilled, fulfilled] Ass_1_hearingA: [not tested, not fulfilled, partly fulfilled, fulfilled]

Сюжет, который я хочу создать, по оси Y - количество студентов [854] и по оси X я хочу, чтобы переменные HearingE, HearingC, HearingA и я хотели построить график в виде диаграммы (или чего-то, что может показать, какой процент не прошедших тестирование, не выполненных, частично выполненных, выполненных. каждого студента на основе слух, слух, слух и слух)

1 Ответ

0 голосов
/ 12 марта 2019

Звучит так, будто вы ищете гистограмму. Было бы легче дать вам код, если бы вы дали образец ваших фактических данных, однако, фактический код будет выглядеть примерно так, используя ggplot2:

require(tidyverse)
df<-df %>% gather(test, value, 2:4)
ggplot(df,aes(x=test,fill=value)) +
  geom_bar(position="dodge")

Обратите внимание, что ключ в том, чтобы преобразовать ваши данные в "длинный" формат - поэтому вместо одного столбца для каждого из ваших тестов вы создаете (с gather, или cast, или набором похожих функций) два столбца - один для имени теста и один для значения.

Например, давайте создадим несколько случайных данных:

df<-data.frame(student=c(LETTERS[1:10]), Ass_1_hearingE=sample(c("not tested", 
               "not fulfilled", "partly fulfilled", "fulfilled"),10,replace=TRUE), 
               Ass_1_hearingA=sample(c("not tested", "not fulfilled", "partly 
               fulfilled", "fulfilled"),10,replace=TRUE), Ass_1_hearingC = 
               sample(c("not tested", "not fulfilled", "partly fulfilled", 
               "fulfilled"),10,replace=TRUE))

Это даст нам следующий результат:

bar plot

Это то, что вы хотели?

Или, если вы хотите использовать его в виде столбцов, измените dodge выше на stack, и вы получите:

stacked bars

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