2016-06-17 3 views
1
result <- .Call("mcga", popsize, chsize, crossprob, mutateprob, 
    elitism, minval, maxval, maxiter, par, best, evalFunc, 
    population, costs, envv, PACKAGE = "mcga") 

как получить определение mcga функции в R, mcga представляет собой R пакет для генетического алгоритма.R, как получить определение функции, когда вызов внутри другой функции

ответ

2

.Call используется для вызова скомпилированного кода (dll или его эквивалента). Единственный способ - получить исходный пакет (.tar.gz), распаковать и посмотреть исходный код - Cf https://cran.r-project.org/web/packages/mcga/index.html; распаковывать и взглянуть на папку «SRC» (кажется, C код в этом случае)

+0

это работает, спасибо –

+0

@Fiona_Wang Я владелец пакета, что вы хотите сделать с источником? Пожалуйста, дайте мне знать, если у вас есть новые идеи. Используйте операторы версии 3.0 с оптимизатором GA :: ga. – jbytecode

+0

Я попытался использовать этот метод в регрессионной модели, но он не вернул идеальный результат, например: x = seq (10) y = x + x^2 + runif (10) f <- функция (a) { return (y- (a [1] + a [1] * x + a [2] * x^2)) } m <- mcga (popsize = 200, chsize = 3, MINVAL = 0.0, MAXVAL = 300, MaxIter = 500, crossprob = 0,5, mutateprob = 0,01, evalFunc = е) печати (м $ населения [1,]) –

1

Вы можете получить определение функции на странице GitHub пакета: https://github.com/cran/mcga/blob/master/src/mcga.c

С уважением,
J_F

+0

спасибо за обмен ссылку –

+0

@Fiona_Wang Вы читали это? http://stackoverflow.com/help/someone-answers –

Смежные вопросы