Try this:

> a <- 1
> b <- 2
> mat <- matrix(c("a", "a*b", "a+b", "b"), 2)
> mat
     [,1]  [,2]
[1,] "a"   "a+b"
[2,] "a*b" "b"
> matrix(sapply(mat, function(x) eval(parse(text = x))), nrow(mat))
     [,1] [,2]
[1,]    1    3
[2,]    2    2


On Nov 30, 2007 10:06 AM, BOISSON, Pascal <[EMAIL PROTECTED]> wrote:
> Dear R_Users,
>
> I am confronted to a technical issue that I wouldn't even know how to start 
> to handle and where to look at. It is about data manipulation in a dataframe 
> and value substitution
> Imagine I have a matrix describing a set of chemical equations.
> Colnames are Components names and Rownames are Reaction names
>
> Each cell in that matrix corresponds to the stoechiometric coefficient to the 
> pair (Reaction, Component). It would be easy to deal with this if these cells 
> where filled with numbers (int or real) but often, it refers to some 
> parameters name or even to formulae.
>
> I'd like to transform these formulae into their calculated values.
> eg:
> if I have existing R objects :
> f_ox <- 0.2
> f_inox <- 0.5
>
> and in my matrix :
> cell (Oxydation, substrate) = f_ox*(1-f_inox)
>
> I want to replace f_ox*(1-f_inox) by 0.1
>
> Further more, I can not manage to understand the formula type, which I guess 
> would correspond to the kind of things I am dealing with.
>
> Would you have any clue or insights on this?
>
> Pascal Boisson
>
> Assainissement - Traitement Biologique
> Veolia Environnement - Centre de Recherche sur l'Eau
> Anjou Recherche
> Chemin de la Digue - BP 76
> 78603 Maisons Laffitte Cedex
> Tel. : +33 (0)1 34 93 81 44
> Fax. : +33 (0)1 34 93 31 10
> [EMAIL PROTECTED]
>
> Please consider your environmental responsibility before printing this e-mail
>
> ___________________________________________________________________________________
>
> Protegeons ensemble l'environnement : avez-vous besoin d'imprimer ce courrier 
> electronique ?
> ___________________________________________________________________________________
>
> Les informations figurant sur cet e-mail ont un caractere strictement 
> confidentiel et sont exclusivement adressees au destinataire mentionne 
> ci-dessus.Tout usage, reproduction ou divulgation de cet e-mail est 
> strictement interdit si vous n'en etes pas le destinataire. Dans ce cas, 
> veuillez nous en avertir immediatement par la meme voie et detruire 
> l'original. Merci
>
> This e-mail is intended only for use of the individual or entity to which it 
> is addressed and may contain information that is privileged, confidential and 
> exempt from disclosure under applicable law.
> Any use, distribution or copying of this e-mail communication is strictly 
> prohibited if you are not the addressee. If so, please notify us immediately 
> by e-mail, and destroy the original. Thank you.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to