我正在尝试使用包rgp进行方程式发现
library(rgp)
x = c (1:100)
y = 5*x+3*sin(x)+4*x^2+75
data1 = data.frame(x,y)
newFuncSet <- functionSet("+","-","*")
result1 <- symbolicRegression(y ~ x, data = data1, functionSet = newFuncSet, stopCondition = makeStepsStopCondition(2000))
plot(data1$y, col=1, type="l"); points(predict(result1, newdata = data1), col=2, type="l")
model <- result1$population[[which.min(result1$fitnessValues)]]
但是,我不断收到错误消息。如果您指出我上面所犯的错误,我将非常感谢。
有用的参考资料(在R中有这个很好):
答案 0 :(得分:1)
问题是R
将x
向量视为整数,并且进一步存在类型问题。尝试将类型x特别用于数字:
x <- as.numeric(1:100)
它对我有用。