

以下のようなデータを使用した場合の散布図において、  
任意に色とサイズを指定したいです。  
Regは1~6の整数を取りますが、1の時のサイズを大きく、  
6の時のサイズを小さくしたいと考えています。  
データ名 Res

[code]

     Reg  h  w sex
    1 1  180 60 M
    2 2  155 50 F
    3 3  160 55 F
    4 2  170 65 M
    ....
    
[/code]

以下のようなコードで実行した場合、

[code]

    p_colour <- c("red","darkorange","yellow","green","blue","grey40")
    p_size <- c(6,5,4,3,2,1)
    
    base <- ggplot(Res, aes(x = h, y = w, size = Reg, colour = as.factor(Reg)))
    points <- base + geom_point()
    change_colors <- points + scale_colour_manual(values = p_colour)
    change_sizes <- change_colors + scale_size_manual(values = p_size)
    plot(change_sizes)
    
[/code]

下記のように離散値へ連続値を与えたといった旨のエラーが出てしまいます。

[code]

    Error: Continuous value supplied to discrete scale
    
[/code]

どの様に変更すれば解決できますでしょうか。よろしくお願いします。


CC BY-SA 3.0
2017-11-20T16:44:31.747
39716
2017-11-21T02:05:13.883
2017-11-20T16:49:42.283
26231
26231
question
r ggplot2
R : ggplotを使用した散布図の色・サイズ分けについて


ggplot関数でbaseを作成する時に，size = Reg (これだとsizeにint型が入る)ためです。  
なので，その一行をを以下のように修正すると，おそらくは望んでいるplotが描けるかと思います:

[code]

    base <- ggplot(Res, aes(x = h, y = w, size = as.factor(Reg), colour = as.factor(Reg)))
    
[/code]


CC BY-SA 3.0
2017-11-21T02:05:13.883
39725
2017-11-21T02:05:13.883
19063
39716
answer