Estimado David Contreras

Lo primero no es sobre R, sino sobre el lenguaje, es lo mismo pero si nombra 
las variables como A, B, y C, la lectura es mucho más simple para el ojo humano 
y encontrar el error (luego colocar un nombre casi real).

Es un problema simple, con muchas posibles formas para solucionarlo, lo que 
usted plantea no es mala idea, cuándo yo realizo ese tipo de cálculos primero 
veo las condiciones, por ejemplo, escribo si A>B en C escribir casa, lo 
contrario en C escribir auto, si obtengo un data.frame con una columna llena de 
casas y autos, reemplazo una de estas palabras por el cálculo, corro R, si todo 
está bien luego continuo. Es algo tonto, pero es mucho más sencillo ver un 
listado de palabras antes que números para encontrar un error de escritura de 
nuestra parte en R (no es lo mismo dos palabras posibles a varios números 
posibles).

Lo que usted plantea no esta mal encaminado, pero debe escribir dos renglones, 
uno para la condición que busca y otro para la que no desea, en su caso para 
los que tienen menos que 0, simplemente para controlar un poco los datos, en 
otras palabas decidir que pasa cuándo la condición no se cumple, es una forma 
de conocer bien los datos, aunque no es indispensable porque si la condición no 
se cumple no se realiza el cálculo.

Javier Rubén Marcuzzi

De: David Contreras
Enviado: miércoles, 16 de agosto de 2017 1:11
Para: r-help-es
Asunto: [R-es] Operaciones entre variables de un dataframe

Buenas noches a todos,

Estoy empezando con la programación en R y tengo un inconveniente que estoy
seguro ustedes lo resolverán muy fácil.

Tengo un data frame  y quiero calcular un nuevo campo dentro del mismo
frame que se llama "wryB03", con dos variables que se llaman "nEstCoordTMin"
y "nEstCoordTMax", quiero crear una variable nueva "nCoor3.1" de acuerdo a
la siguiente condición:

- Cuando "nEstCoordTMin" >0 & "nEstCoordTMax">0 que me haga la siguiente
operación en la variable "nCoor3.1"

-  "nEstCoordTMax" - "nEstCoordTMin"


En el código tengo algo como:

wryB03[(wryB03[,"nEstCoordTMin"]>0 & wryB03[,"nEstCoordTMax"]>0),
"nCoor3.1"] <- wryB03[(wryB03[,"nEstCoordTMin"]>0 &
wryB03[,"nEstCoordTMax"]>0),(wryB03[,"nEstCoordTMax"] -
wryB03[,"nEstCoordTMin"])]

El objetivo es crear una variable nueva "nCoor3.1" con la diferencia "
nEstCoordTMax"- "nEstCoordTMin " cuando se cumpla la condición.

Al ejecutar el código genera el siguiente error:

Warning message:
In `[<-.data.frame`(`*tmp*`, (wryB03[, "nEstCoordTMin"] > 0 & wryB03[,  :
  provided 65 variables to replace 1 variables


Agradezco su colaboración.

Saludos,

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a