[R-es] una programación sencilla
Hola Angela, Podrias usar merge() para hacer lo que quieres. Saludos, Jorge.- Sent from my phone. Please excuse my brevity and misspelling. On Dec 14, 2012, at 4:37 PM, Angela Andrea Camargo Sanabria
<angela.andrea.camargo en gmail.com> wrote:
Hola a todos,
Escribo para preguntarles sobre cómo programar algo, que estoy segura es
algo bastante sencillo para muchos de Uds que tienen amplia experiencia
programando. Lo describo a continuación.
Tengo una base de datos (file = datos) de especies (de plantas) en donde
cada fila es un individuo de una especie con ciertos atributos (alrededor
de 1500 filas = individuos). QuerÃa anexar en esta base una columna que me
indicara la forma de crecimiento de cada individuo de cada especie (si es
árbol, arbusto, etc), pues no lo puse desde el principio. Esta información
la tengo en otra base de datos (file = datos2), la cual tiene en cada fila
el nombre de la especie y su respectiva forma de vida (un listado de 135
especies). Mi idea fue hacer una rutina para que se leyera cada fila del
archivo datos, se comparara con el listado de datos2 y se hiciera una nueva
columna que tuviera las formas de vida de los 1500 individuos del archivo
datos.
Tardé 5 horas en escribir 5 lÃneas y como les comenté al final resultó,
pero no sé si es la forma más "elegante" o "sofisticada" de hacerlo.
Agradezco sus opiniones.
file = datos
Ind Especie Atributo1 Atributo n 1 B ? 2 C ... 3 B .. ... 4 A
... ... 5 C ... ... 6 D ,,, ,,, 7 D ... ... ,,,, 8 A .... 9 B
...
file = datos2
Especie FormaVida A árbol B árbol C arbusto D hierba
LF <- character ()
for (i in 1:dim(datos2)[1]){
Sp <- as.vector(datos2 [i,2])
Sp2 <- which ((datos[,4]) == Sp)
#print (Sp2)
if (length (Sp2) > 0) LF [i] <- (as.character(datos [(as.numeric(Sp2)),
5])) else LF [i] <- "NA"
}
----
*Angela Andrea Camargo Sanabria*
Estudiante Doctorado en Ciencias Biológicas
Laboratorio de EcologÃa de poblaciones y comunidades tropicales
Centro de Investigaciones en Ecosistemas (CIEco)
UNAM, campus Morelia
Antigua Carretera a Pátzcuaro # 8701
Col. Ex-Hacienda de San José de la Huerta, CP 58190
Morelia, Michoacán, México
Tel.: 443-3222706 ext. 42511
e-mail: aacamargo en cieco.unam.mx
skype: angela.camargo26
[[alternative HTML version deleted]]
_______________________________________________ R-help-es mailing list R-help-es en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es