Comment corriger une erreur dans cette fonction

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Romaric Tekeuh-Tsafack
Messages : 5
Enregistré le : 14 Avr 2020, 13:48

Comment corriger une erreur dans cette fonction

Messagepar Romaric Tekeuh-Tsafack » 15 Avr 2020, 20:36

Bonjour,
J'ai écrit une fonction en Rstudio qui utilise le package boot.
Mais lorsque je l'exécute, j'ai une erreur et je n'arrive pas à la corriger.

Voiçi la fonction en question:

library(boot)
FBA <- function(S, C, c, w, maxi){
S <- matrix(c(1,-1,-1,0,0, 0,1,0,-1,0, 0,0,1,0,-1), nrow = 3, ncol = 5, byrow = TRUE,
dimnames = list(c("CoA", "ATP", "Fruct6P"),
c("v1", "v2", "v3", "v4", "v5")))
n <- dim(S)[2]
m <- dim(S)[1]
I <- matrix(0, ncol=5, nrow=3)
diag(I) <- 1
zero <- rep(0,m)
c <- c(0,0,0,0,0)
C <- c(1,1,1,1,1)
w <- c(0,1,0,0,0) # puisque maximiser l'ATP revient à maximiser le flux de v2
result <- simplex(a=w, A1=I, b1=C, A2=I, b2=c, A3=S, b3=zero, maxi=TRUE)
return(result)
}

Pouvez vous m'orienter s'il vous plaît ?
Une capture d'écran de l'erreur es en pièce jointe

Merci d'avance !

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: Comment corriger une erreur dans cette fonction

Messagepar Fred Santos » 16 Avr 2020, 07:27

Bonjour Romaric,
Pour ce message comme pour ton autre post sur igraph, avoir un exemple minimal reproductible provoquant l'erreur à résoudre aiderait beaucoup. C'est plus difficile de répondre utilement sans ça.
Peux-tu éditer tes deux posts pour en rajouter un ?

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Comment corriger une erreur dans cette fonction

Messagepar Logez Maxime » 16 Avr 2020, 07:40

Bonjour,

Effectivement dans un cas comme celui-là il est difficile de savoir d'où vient l'erreur sans savoir avec quel jeu de donnée elle est générée, ni avec quelle commande.

Quelques remarques générales. Premièrement pour faciliter la lecture, quand tu mets du code dans un message mets le entre les balises '[ code]' (sans blanc entre [ et code) et '[ /code]' ça sera plus lisible.

Ensuite concernant la fonction a proprement parlé, elle prend pour argument 'S' mais tu ne t'en sers pas par la suite puisque dès le début de la fonction tu crées une matrice S qui est indépendante des arguments de la fonction.
C'est pareil avec 'C', 'c', etc.
Ensuite tu utilises comme nom d'objet, le nom d'une fonction de base du logiciel, 'c'. C'est une pratique a éviter pour limiter les problèmes potentiels.

Cordialement,
Maxime

Romaric Tekeuh-Tsafack
Messages : 5
Enregistré le : 14 Avr 2020, 13:48

Re: Comment corriger une erreur dans cette fonction

Messagepar Romaric Tekeuh-Tsafack » 16 Avr 2020, 14:26

Salut,
Merci bien pour vos remarques. J'ai voulu mettre une capture d'écran de l'erreur générée dans les deux cas ; mais les administrateurs n'ont pas encore activé la fonction pièce jointe sur mon compte.
Je vais revoir les deux problèmes posés et je vois reviens si ça ne fonctionne toujours pas.

Bien à vous,
. Romaric TEKEUH,

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Comment corriger une erreur dans cette fonction

Messagepar Eric Casellas » 16 Avr 2020, 14:41

Romaric Tekeuh-Tsafack a écrit :Salut,
Merci bien pour vos remarques. J'ai voulu mettre une capture d'écran de l'erreur générée dans les deux cas ; mais les administrateurs n'ont pas encore activé la fonction pièce jointe sur mon compte.
Je vais revoir les deux problèmes posés et je vois reviens si ça ne fonctionne toujours pas.

Bien à vous,
. Romaric TEKEUH,


Salut,

Juste une petite remarque, une capture d’écran n'est en général pas très pratique car on ne peut pas faire de copier/coller ou de recherche, c'est mieux si tu peut de mettre le texte comme du texte...

Eric
Eric

Romaric Tekeuh-Tsafack
Messages : 5
Enregistré le : 14 Avr 2020, 13:48

Re: Comment corriger une erreur dans cette fonction

Messagepar Romaric Tekeuh-Tsafack » 16 Avr 2020, 14:51

D'accord Monsieur Éric,
Merci bien pour l'information.

Bien à vous,

Romaric,


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité