Я пытаюсь создать разреженную матрицу в Юлии, но в настоящее время я сталкиваюсь с этой проблемой:
ERROR: MethodError: no method matching createA(::DataFrame)
Что я делаю не так? Как мне это исправить? Это код:
import SparseMatrixDicts
import DataFrames
import CSV
function createA()
t1 = argmin(argmax(keg[Array(keg[:dad] .> 0) .& Array(argmax(keg[:mum] .> 0))]))
t2 = argmax(keg[:ID])
A = SparseMatrixDicts(t2, t2)
diagm(A) = 2-0.5^(keg[:GEN] -1)
for t in t1:t2
A[t,t]= sum(c(A[t,t], 0.5^(keg[t,"GEN"])*A[keg[t,"dad"],keg[t,"mum"]]))
vec = 1:(t-1)
A[t, vec]= 0.5 * sum(c(A[vec,keg[t,"dad"]],A[vec,keg[t,"mum"]]))
A[vec,t]= A[t,vec]
return (A)
end
end
keg = DataFrame(ID = [1,2,3,4,6,5,7],
dad = [0,0,1,1,1,3,5],
mum = [0,0,0,2,4,4,6],
GEN = [1,1,2,2,3,3,4]
)
wish = createA(keg)