geom_bar ggplot2에서 막대 재정렬


119

나는 음모가에서 주문한 바 - 그래프 만들기 위해 노력하고 miRNA최고에 value받는 miRNA가장 낮은과를. 내 코드가 작동하지 않는 이유는 무엇입니까?

> head(corr.m)

        miRNA         variable value
1    mmu-miR-532-3p      pos     7
2    mmu-miR-1983        pos    75
3    mmu-miR-301a-3p     pos    70
4    mmu-miR-96-5p       pos     5
5    mmu-miR-139-5p      pos    10
6    mmu-miR-5097        pos    47

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
  geom_bar(stat="identity")

답변:


216

barplot이 낮은 순서에서 높은 순서로 정렬된다는 점을 제외하면 코드는 잘 작동합니다. 바를 높은 순서에서 낮은 순서로 정렬하려면 다음 -전에 기호 를 추가 해야합니다 value.

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
  geom_bar(stat = "identity")

다음을 제공합니다.

여기에 이미지 설명 입력


사용 된 데이터 :

corr.m <- structure(list(miRNA = structure(c(5L, 2L, 3L, 6L, 1L, 4L), .Label = c("mmu-miR-139-5p", "mmu-miR-1983", "mmu-miR-301a-3p", "mmu-miR-5097", "mmu-miR-532-3p", "mmu-miR-96-5p"), class = "factor"),
                         variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),
                         value = c(7L, 75L, 70L, 5L, 10L, 47L)),
                    class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))

어떤 이유로 내 줄거리에서 주문되지 않습니다
user3741035 2014-09-04

@ user3741035 이상합니다. 위에서 제공 한 샘플 데이터 세트 또는 전체 데이터 세트에서 사용 했습니까?
Jaap

어떤 버전의 R 및 ggplot을 사용하고 있습니까? 또한 더 큰 샘플 데이터 세트를 자랑스럽게 생각할 수 있습니까 (가급적으로에 대해 둘 이상의 값 포함 variable)?
Jaap 2014 년

6
해결책을 발견 : 나는로드 일을 엉망 라이브러리 (gplots)했다
user3741035을

1
@maycca 올바른 결과를 제공합니다 (OSX 10.10.4 / Windows 7, R 3.2.3 및 ggplot2 2.1.0 모두에서). 새로운 세션으로 시작해야할까요?
Jaap
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.