У меня есть данные о 80+ пациентах с почти 5-6 категориями, назначенными им в течение 200-300 дней. Таким образом, у каждого пациента есть 300 дней и название статуса каждого дня. Я хочу создать столбчатый график с накоплением.
Проблема: проблема в том, что ggplot сортирует категории по алфавиту, я хочу отсортировать их точно так же, как в источнике, ТАКЖЕ, если для пациента 1 на 5-й день категория - это «Прием к врачу», и та же категория повторяется на 50-й день, ggplot не различает это и принимает все в одном. Я хотел бы построить график на 50-й день с «Прием к врачу», а также на 5-й день.
Я подсчитал частоту для каждой категории пациентов. Это то, что у меня есть до сих пор:
tibble: 72 x 3
Category `Patient Number` n
<fct> <chr> <int>
1 AD Patient 1 34
2 AD Patient 2 15
3 Admin delay Patient 2 30
4 CC Patient 2 20
5 CD Patient 1 52
6 CD Patient 2 88
7 CP Patient 1 52
8 CP10 Patient 1 1
9 CP11 Patient 1 1
10 CP12 Patient 1 1
Я хочу нанести их на столбчатую диаграмму с разбивкой по оси x, это должно быть номер пациента на оси y, должно быть N (количество) с соответствующей категорией, и это не следует сортировать. У меня 87 пациентов.
Пациент и категория на каждый день: участок
ggplot(data = df, aes(x = `Patient Number`, y = n, fill = as.factor(Category))) +
geom_bar(position = position_stack(reverse = TRUE), stat="identity", na.rm = FALSE) +
scale_fill_discrete(breaks = Category)
Заранее спасибо. Я был бы признателен, если бы кто-нибудь мог это решить.
Изменить:
Вот изображение сюжета, которое вы, @pieterbons, мне предложили:
души @Peterbons