Как заказать участок geom_bar в r по третьей категории - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть фрейм данных с 3 категориями, и я хочу сделать гистограмму с подсчетом по оси Y и seq по оси x, но упорядоченную по глубине (которая намного превышает 2), но я не могу понять, как сделать это.

s <- df
head(s)
     count     depth   seq
1     10         1      A
2     20         2      AA
3     30         1      TT
4     25         3      C
5     40         2      AAA
6     12         2      G

Это моя слабая попытка:

ggplot(data = s, aes(x=as.factor(s$seq), y=count, color = depth)) + 
   geom_bar(stat="identity") 

Само собой разумеется, но я не очень хорош в кодировании.

Спасибо

1 Ответ

0 голосов
/ 15 ноября 2018

Мы можем использовать функцию reorder() в пределах aes(), т. Е.

> ggplot(data = s, aes(x=reorder(as.factor(seq), -depth), y=count, fill = depth)) + 
     geom_bar(stat = 'identity') 

enter image description here

Данные:

> dput(s)
structure(list(count = c(10, 20, 30, 25, 40, 12), depth = c(1, 
2, 1, 3, 2, 2), seq = structure(c(1L, 2L, 6L, 4L, 3L, 5L), .Label = c("A", 
"AA", "AAA", "C", "G", "TT"), class = "factor")), .Names = c("count", 
"depth", "seq"), row.names = c(NA, -6L), class = "data.frame")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...