Ошибка в eval(замена(expr), данные, enclos = parent.frame()) : попытка применить нефункциональное

#r

Вопрос:

Я новичок в R и нуждаюсь в некоторой помощи. я хочу решить систему дифференциальных уравнений с помощью Desolve. При запуске кода я получаю : Ошибка в eval(замена(expr), данные, enclos = parent.frame()) : попытка применить функцию, не вызываемую из: eval(замена(expr), данные, enclos = parent.frame()

«»
установить.пакеты(«Удалить»)` библиотека(удалить)

 Tumor.model lt;- function(t, state, parameters) {  with(as.list(c(state, parameters)),{  # rate of change dT0 lt;-(kappa*N)-(phi*T[0])*(1-(T[0]/Tmax))-((1-phi)*T[0])-(mu*Im*T[0])  dT1lt;- T[0]*(1-phi)-(Phi*T[1])*(1-(T[1]/Tmax))- T[1](0)*exp((k/lam)*(1-exp(-lam*t )))-(mu*Im*T[2])   dT2lt;- (phi*T[0])*(1-(T[0]/Tmax)) (Phi*T[1])*(1-(T[1]/Tmax))-  T[2](0)*exp((k/lam)*(1-exp(-lam*t)))-(beta*T[2])*(1-(T[2]/Tmax))-  (mu*Im*T[2])   dT3lt;- (beta*T[2])*(1-(T[2]/Tmax))-T[3](0)*exp((k/omega)*(1-exp(-omega*t)))-  (gamma*T[3])*(1-(T[3]/Tmax))-(mu*Im*T[3])  dT4lt;- (gamma*T[3])*(1-(T[3])/Tmax)-T[4](0)*exp((k/theta)*(1-exp(-theta*t)))-  (alpha*T[4])*(1-(T[4]/Tmax))-(mu*Im*T[4])  dT5lt;- (alpha*T[4])*(1-(T[4]/Tmax))-T[5](0)*exp((k/psi)*(1-exp(-psi*t)))-  (mu*Im*T[5])   dImlt;-(eta*I[m])*(1-(I[m]/Imax)) (rho*T*I[m])/(epsilon T)-(Xi*I[m])-  (tau*T*I[m]) # return the rate of change list(c(dT0, dT1, dT2, dT3, dT4, dT5, dIm)) }) # end with(as.list ... }  parameters lt;- c(N=1.7*10^12,Tmax=1*10^9,Imax=800,T=1*10^6,phi = 0.0052,beta=0.003,  gamma=0.045,alpha=0.055,Phi=0.0035,kappa=0.0025,k=0.500,   eta=0.0206,epsilon=1000,tau=1*10^-8,Xi=4.12*10^-2,lam=0.02,  omega=0.02, theta=0.04,psi=0.04,mu = 1*10^-8, rho=0.835)     times lt;- seq(0, 100, by = 0.4) state lt;- c(T0=20,T1=1,T2=1,T3=1,T4=1,T5=1,Im=5)   out= ode(y=state,times=times,func=Tumor.model,parms=parameters) '''  

Комментарии:

1. в вашем коде есть много заглавных букв T, которые являются TRUE значениями в R. T[0] * 1 есть numeric(0) , и, вероятно, это не то, что вы хотите. Я предполагаю, что это T[0] должны быть T1, T2, T3 вашей state переменной?

2. T[0] я намерен ссылаться на начальное значение определенного этапа

3. И что представляет собой единственное число T в dIm вашем шаге with ? и (0) входящий T[5](0) вход dT5 . Это T[5](0) приводит к ошибке «попытка применить неработоспособность».

4. Спасибо. T представляет среднее значение значений T, в то время как T5(0) представляет начальное значение T5