R: diferència entre les revisions

1.405 bytes afegits ,  2 juny 2005
Línia 391: Línia 391:
== Transformación de datos ==
== Transformación de datos ==


R posee diverdad funciones para la transformación de datos.
Los sitemas clásicos como [http://www.spss.com SPSS] poseen dos formas de crear nuevas variables, que genéricamente podemos denominar:
 
* ''compute'' cuando el objetivo es calcular el valor de nuevas variables (habitualmente cuantitativas) a partir de los valores de una o más variables ya existentes
* ''recode'' cuando el objetivo es asignar el valor a una nueva variable (hanitualmente categórica) a partir de los valores presentes en otras variables
 
La función ''compute'' no tiene un equivalente en R pues el sistema de asignación de objetos la hace innecesaria. Por ejemplo si quisieramos calcular la masa corporal a partir de la talla y el peso:
 
peso<-seq(45.5,85,.5)
talla<-rep(seq(155,174),4)
imc<-peso/(talla/100)**2
 
Para realizar el cálculo, por ejemplo, sólo en los hombres, puede usarse la función ''ifelse'':
 
peso<-seq(45.5,85,.5)
talla<-rep(seq(155,174),4)
sexo<-rep(seq(1,2),40)
imc<-ifelse(sexo==1,peso/(talla/100)**2,NA)
 
Nota: El doble signo igual indica que se está evaluando una función lógica. El signo igual único indica que se está asignando un valor.
 
La función ''recode'', en cambio, sí que tiene su correspondiente función en R. Se trata de la función ''recode'' del paquete ''car'' (tipo 3). Por ejemplo, para recodificar la variable cuantitativa ''edad'' en la variable categórica ''edadc'':
 
library(car)
edad<-seq(45.5,85,.5)
edadc<-recode(edad,"lo:55=1;55:65=2;65:75=3;75:hi=4",as.factor.result=T)


== Exploración de datos ==
== Exploración de datos ==