#r
#r
Вопрос:
Я работаю с ga
пакетом и хотел бы создать несколько графиков на основе приведенной ниже функции. plot(GA)
кажется, это хорошая отправная точка, но я хотел бы создать конкретные графики, такие как
Ось X: номер поколения
Ось Y: лучшая пригодность
и
Ось X: номер поколения
Ось Y: средняя пригодность
library(GA)
cross <- function(x1, x2, x3, x4) {2 * x2 * x4 x3 * ( x1 - 2 * x4)}
GA <- ga(type = "real-valued",
fitness = function(x) -cross(x[1], x[2], x[3], x[4]),
lower = c(10, 10, 0.9, 0.9), upper = c(80,50,5,5),
popSize = 50, maxiter = 100, run = 100, pcrossover = 0.75, pmutation = .001)
summary(GA)
plot(GA)
Комментарии:
1. @MrFlick Хотя функция не имеет значения, все, что я пытаюсь сделать, это извлечь «среднее» и «лучшее» из этого графика и разделить их на два графика. imgur.com/a/m3GFeK8
2. Если вы предоставили нам код, который мы можем скопировать / вставить для запуска, чтобы получить этот график, тогда мы можем просмотреть исходный код функций, которые нарисовали график, и помочь вам извлечь нужные части.
3. @MrFlick Я отредактировал свой пост, я использую RStudio, и версия
GA
пакета, который у меня есть, равна 3.2
Ответ №1:
Вы можете извлекать данные из результатов через summary
слот объекта.
results <- as.data.frame(GA@summary)
results $iter = seq.int(nrow(results))
А затем можете использовать это для создания своих графиков
plot(mean~iter, results)
plot(max~iter, results)