0
這是一個後續帖子Draw min, max function in R中的R一個情節
我想在一個情節不同的參數來繪製多個函數繪製多個功能不同的參數。但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