これは、私は1つのプロットで異なるパラメータで複数の機能を描画したいDraw min, max function in RR 1つのプロットに異なるパラメータを持つ複数の機能を描き
へのフォローアップの投稿です。しかし、ggplotのグループ引数は機能していないようです。
データ:
# data preparation/ load
feTargetPv <- structure(list(ModelYear = 2012:2016,
ComplianceCategory = c("pv","pv", "pv", "pv", "pv"),
fetargetfix = c(30.7, 31.4, 32.1, 33.3, 34.7),
a = c("35.95", "36.8", "37.75", "39.24", "41.09"),
b = c("27.95", "28.46", "29.03", "29.9", "30.96"),
c = c("0.0005308", "0.0005308", "0.0005308", "0.0005308", "0.0005308"),
d = c("0.006057", "0.00541", "0.004725", "0.003719", "0.002573")),
.Names = c("ModelYear", "ComplianceCategory", "fetargetfix", "a", "b", "c", "d"),
row.names = c(47L, 49L, 51L, 53L, 55L), class = "data.frame")
機能:
my <- c(2012,2013, 2014)
eqs = function(x,my){
1/(pmin(pmax(as.numeric(feTargetPv[which(feTargetPv$ModelYear == my),"c"]) * x +
as.numeric(feTargetPv[which(feTargetPv$ModelYear == my),"d"]),
1/as.numeric(feTargetPv[which(feTargetPv$ModelYear == my),"a"])),
1/as.numeric(feTargetPv[which(feTargetPv$ModelYear == my),"b"])))
}
Ggplot:
ggplot(data.frame(x=seq(from = 30, to = 75, by = 1)), aes(x), group = my, col = my) +
stat_function(fun=eqs, args=my) + xlab("x") + ylab("y")
エラーメッセージ
Warning message:
Computation failed in `stat_function()`:
unused arguments (2013, 2014)
私のパラメータをstat_function()に与える必要がありますか?
'stat_function'は呼び出しごとに複数の機能を描画するために好きではないようです。おそらく最善の解決策は、ループの中で 'stat_function'への複数の呼び出しを追加することでしょう。参照:http://stackoverflow.com/questions/24949065/multiple-stat-function-on-grouped-data-with-ggplot2 – jdobres