Я пытаюсь построить фрейм данных (df2) на основе следующего отношения: df1 [i, j] = df2 [i, j] ^ 2. Для этого мне нужно решить систему нелинейных уравнений:
library(nleqslv)
df1 = data.frame(a = c(9,9), b = c(9,9))
df2 = df1
for(i in colnames(df1)){
f = function(x) {df1[i] - x^2}
xstart = c(df2[i])
df2[i] = nleqslv(xstart, f)[[1]]
}
Ожидаемый результат:
a b
1 3 3
2 3 3
Но я получаю следующее сообщение об ошибке:
Error in nleqslv(xstart, f) :
Argument 'x' cannot be converted to numeric!
не уверен, что является причиной проблемы. Не могли бы вы дать мне несколько советов, пожалуйста?