0
以下
df <- read.table(textConnection("
tier make model sales
entry Toyota Yeti 10000
entry Honda Jazz 8000
entry Nissan Sunny 5000
entry Honda Amaze 4000
entry Toyota Model10 3500
entry Nissan Beat 2000
Mid Honda Civic 4000
Mid Toyota Corolla 3000
Mid Honda Accord 2500
Mid Nissan Xtrail 2200
Mid Toyota Camry 1800
Mid Nissan Moon 800
"), header = TRUE)
> df
tier make model sales
1 entry Toyota Yeti 10000
2 entry Honda Jazz 8000
3 entry Nissan Sunny 5000
4 entry Honda Amaze 4000
5 entry Toyota Model10 3500
6 entry Nissan Beat 2000
7 Mid Honda Civic 4000
8 Mid Toyota Corolla 3000
9 Mid Honda Accord 2500
10 Mid Nissan Xtrail 2200
11 Mid Toyota Camry 1800
12 Mid Nissan Moon 800
のようなテーブルと私はプロットを取得する以下のように私は絵にggplot
を使用して、モデルによって
ggplot(df, aes(x=model, y=sales)) +
geom_point()
予想通り、model
のx軸ラベルは、レベルごとに昇順になっています。Accord
が最初に来て、Yeti
最後に
> str(df)
'data.frame': 12 obs. of 4 variables:
$ tier : Factor w/ 2 levels "entry","Mid": 1 1 1 1 1 1 2 2 2 2 ...
$ make : Factor w/ 3 levels "Honda","Nissan",..: 3 1 2 1 3 2 1 3 1 2 ...
$ model: Factor w/ 12 levels "Accord","Amaze",..: 12 7 10 2 8 3 5 6 1 11 ...
$ sales: int 10000 8000 5000 4000 3500 2000 4000 3000 2500 2200 ...
>
しかし、私は別のmodel
の順序でプロット必要 - テーブルは階層によって注文された場合に得られる、作り、販売(降順)。下のコードのように、このテーブルの注文を得ることができます - プロットでmodel
のx軸ラベルの同じ順序を取得するにはどうすればよいですか?
> df[with(df, order(tier, make, -sales)),]
tier make model sales
2 entry Honda Jazz 8000
4 entry Honda Amaze 4000
3 entry Nissan Sunny 5000
6 entry Nissan Beat 2000
1 entry Toyota Yeti 10000
5 entry Toyota Model10 3500
7 Mid Honda Civic 4000
9 Mid Honda Accord 2500
10 Mid Nissan Xtrail 2200
12 Mid Nissan Moon 800
8 Mid Toyota Corolla 3000
11 Mid Toyota Camry 1800
>