Dear Sirs: I've been working with several variables in a dataframe  
that serve as part of a calculation that I need to perform in a  
different way depending on its value. Let me explain:

The main dataframe is called llmcc

llmcc : 'data.frame':   283 obs. of  11 variables:
  $ Area     : num  308.8 105.6 51.4 51.4 52.9 ...
  $ mFondo   : num  30.1 10 10.2 10.2 40.4 ...
  $ mFachada : num  22.95 6.7 4.72 4.72 4.72 ...
  $ Marca    : Factor w/ 132 levels "AA_Movilnet",..: 11 32 82 82 32  
32 32 32 32 32 ...
  $ Clase    : int  8 4 1 1 1 1 1 1 12 1 ...
  $ Categoria: int  2 6 6 6 1 1 1 1 1 1 ...
  $ Phi      : num  0.128 0.147 0.217 0.217 0.887 ...
  $ Rf       : num  0.119 0.102 0.147 0.147 0.143 ...
  $ OldA     : num  0.737 0.258 0.375 0.375 0.385 ...
  $ OldCondo : num  4436 1555 2260 2260 2318 ...
  $ NewA_Jon : num  1.069 0.368 0.256 0.256 0.264 ...

I perform an initial operation using the original variables plus one  
numeric (Abase) that is external and has the same number of rows than  
the dataframe:

alitemp  <- ((Abase/llmcc$Clase)*PClase)+(((1/llmcc 
$Categoria)*Abase)*PCategoria)+((Abase*llmcc$Phi)*PPhi)+((Abase*llmcc 
$Rf)*PRf)

So, after I obtain the results of this calculation, I append the  
series by creating an additional column within the original dataframe:
l
lmcc$Alitmp  <- alitemp

Problem is: I need to calculate a new column using a formula that has  
different structure depending on the values of llmcc$Clase, thus: for  
any given row of llmcc where llmcc$Clase is >= 10 i would have to  
perform some operations with other values in the same row that are, by  
definition, different than the ones I would need in case of lmcc$Clase  
is < 10.
I've managed to break down the original dataframe by using subsets,  
and then performing the calculations, but then it is complicated to  
put the results in the same order of the original dataframe.
I understand the workings of the control structures available in R but  
after reading the docs and help files, I can´t figure how to perform a  
conditional calculation row by row that checks first the values of a  
given column and then applies the corresponding operation to another  
column, so it outputs a series in the same exact order as the dataframe.

Any light that you might share with me over this will be highly  
appreciated.

Thanks in advance.


Guillermo.



Nunca le preguntes a un peluquero si necesitas un corte de pelo. Ley  
de Murray.
------------------------------
Jesús Guillermo Andrade (Abg.)
Gerente de Litigios y Corporativo. EDM. AC. API.
Andrade & Moreno S.C. (http://amlegal.wordpress.com/)


        [[alternative HTML version deleted]]

______________________________________________
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