У меня есть несколько похожих фреймов данных и нелинейная регрессия для каждого набора данных. Я хотел бы наложить графики, используя цикл for, поскольку изначально я не знаю, сколько там фреймов данных. Я могу наложить слои geom_point()
, используя цикл for()
, но когда я попробовал то же самое, используя stat_function()
, отображается только последняя функция.
Как получить тот же результат для функций, что и для меня? для очков?
MWE:
library(ggplot2)
# Colors vector
hues = seq(15, 375, length = 10 + 1)
cols = hcl(h = hues, l = 65, c = 100)[1:10]
# Create plot and add first layer
p <- ggplot(data = data.frame(x = 1:10, y = 10 + 1:10),
aes(x = x, y = y, color = cols[i])) +
geom_point()
# Add points of other datasets
for (i in 1:9) {
p <- p + geom_point(data = data.frame(x = 1:10, y = i + 1:10), color = cols[i])
}
print(p)
# This for cycle only seems to work for the last layer
for (i in 1:10) {
p <- p + stat_function(fun = function(x) (i + x), color = cols[i])
}
print(p)
Заранее спасибо.