2017-09-12 13 views
1

私は、米国州ごとに3つの犯罪統計と追加のUrbanPop変数を含むdf USArrestsを持っています。私は、各州の3つの犯罪統計を含む小角棒チャートを作成しようとしています.Y軸は、特定の休憩(100,200,300)で100,000人あたりの症例です。グラフの一番上には、元の状態が読み込まれます。R ggplot多変数ファセット

私の主な問題は、マッピング/ aes関数を完全に理解していないことと、3つの変数を1つのグラフにまとめることに関連することです。ありがとう

library(ggplot2) 

USArrests$state_name <- rownames(USArrests) 

p <- ggplot() + 
    layer(data = USArrests, 
     stat = "identity", 
     geom = "bar", 
     mapping = aes(x = Assault, Rape, Murder), 
      position = "identity") + 
    scale_y_discrete(name = "Cases per 100,000 people", 
        breaks = c(100, 200, 300), 
        labels = c("100", "200", "300")) + 
      facet_wrap(~ state_name) 
plot(p) 

答えて

3

データフレームの形状を変更する必要があります。 USArrests2は、再構成されたデータフレームです。その後、Crimeをx軸のカテゴリとしてプロットし、Numberをy軸の連続としてプロットすることができます。この場合、geom_bar(stat = "identity")の代わりにgeom_col()を使用することもできます。彼らは同じです。 facet_wrapはファセットを生成する方法です。 ncolまたはnrowを使用して列番号または行番号を指定できます。

library(dplyr) 
library(tidyr) 
library(ggplot2) 

USArrests2 <- USArrests %>% 
    gather(Crime, Number, Assault, Rape, Murder) 

ggplot(USArrests2, aes(x = Crime, y = Number)) + 
    geom_bar(stat = "identity") + 
    scale_y_continuous(breaks = c(100, 200, 300)) + 
    facet_wrap(~ state_name, nrow = 5) 
+0

ありがとう – SamGROW

関連する問題