私はyに連続変数を持ち、x軸にカテゴリ変数を持っています。カテゴリ変数では順序が意味を持ち、回帰をその指数に適合させるのは意味があります。つまり、c('a', 'b', 'c')
の代わりにインデックス(order(c('a', 'b', 'c'))
、つまりc(1, 2, 3)
)を使用し、これに対してモデルを適合させます。しかし、1つの変数が数値でない場合、ggplotはgeom_smooth(method = lm)
に適合することを拒否します。 [OK]を、私は順序を使用していることを伝えることができます。ggplot2:カテゴリ変数のようなフィットgeom_smooth()は連続していました
geom_smooth(aes(x = order(hgcc), y = rtmean), method = lm)
しかしときのレベルのサブセットのみ、それは、scales = 'free'
とファセッティングとの良好でないデータフレームから全列のインデックスを取ります変数のx
が1つのプロットに表示されます。回帰が右側にはるかにプロットされますので、全体のデータフレーム内のインデックスは、平均的にははるかに高いです:ここでは
は、最小限の作業例です:
require(ggplot2)
load(url('http://www.ebi.ac.uk/~denes/54b510889336eb2591d8beff/sample_data.RData'))
ggplot(adata12cc, aes(x = hgcc, y = rtmean, color = cls, size = log10(intensity))) +
geom_point(stat = 'sum', alpha = 0.33) +
geom_smooth(
aes(x = order(hgcc), y = rtmean),
method = 'glm') +
facet_wrap(~ uhgroup, scales = 'free') +
scale_radius(guide = guide_legend(title = 'Intensity (log)')) +
scale_color_discrete(guide = guide_legend(title = 'Class')) +
xlab('Carbon count unsaturation') +
ylab('Mean RT [min]') +
ggtitle('RT vs. carbon count & unsaturation by headgroup') +
theme(axis.title = element_text(size = 24),
axis.text.x = element_text(angle = 90, vjust = 0.5, size = 9, hjust = 1),
axis.text.y = element_text(size = 11),
plot.title = element_text(size = 21),
strip.text = element_text(size = 18),
panel.grid.minor.x = element_blank())
私は、これは知っていますいいやり方ではなく、ggplotを使うと、変数を参照して、ファセットでサブセット化されたものを実行することができれば、人生をはるかに簡単にすることができます。
うわー、これは本当にうまくいきます!どうもありがとう! :) – deeenes