0
我繪製了很多直方圖(一個用於數據集中的每個變量)看起來像這樣:將gomplot添加到ggplot的自定義函數?
ggplot(data = df, aes(x = var)) +
geom_histogram(binwidth = 0.5) +
scale_x_continuous(breaks = seq(4, 16, 1), limits = c(4, 16)) +
geom_vline(aes(xintercept=mean(var)), color="red", linetype="dashed", size=1) +
geom_vline(aes(xintercept=median(var)), color="blue", size=1) +
geom_vline(aes(xintercept=quantile(var,0.25)), color="green", linetype="dotted", size=1) +
geom_vline(aes(xintercept=quantile(var,0.75)), color="green", linetype="dotted", size=1)
唯一覺得變化是bindwidth,休息和限制。 我可以在R中編寫一個自定義函數,將所有這些geom_vline添加到任何繪圖並避免樣板文件?
喜歡的東西:
ggplot(data = df, aes(x = var)) +
geom_histogram(binwidth = 0.5) +
scale_x_continuous(breaks = seq(4, 16, 1), limits = c(4, 16)) +
stat_lines(df, var)
我嘗試了返回所有geom_vline的串聯,但我得到:
Error in df[, var] : object of type 'closure' is not subsettable
謝謝。我想是一個不同的問題,但是:我如何訪問用於X軸的列?所以我不需要把它作爲一個論點。我試圖用plot $ mapping $ x但它不起作用,顯然它只是一個符號,而不是數據列... – karmapolice
訪問它做什麼? – adaien
因此,我可以使用xintercept的平均值,而不是某個固定值。 – karmapolice