[R-es] Expandir datos

José Trujillo Carmona trujillo en unex.es
Mie Jul 18 12:33:11 CEST 2012


Muchas gracias. Es perfecto.

Ya lo había conseguido con:

data.frame3 <- data.frame2
data.frame3$Col1 <- rep(0,length(data.frame2$Anho))
for (i in 1:length(data.frame1$Col1) 
data.frame3$Col1[which(data.frame3$Anho==data.frame1$Anho[i])]<-data.frame1$Col1[i]

Pero como en realidad data.frame1 tiene muchas columnas que quería 
expandir en data.frame3, tenía que repetirlo para columna.

merge es perfecto, me lo hace con todas y después solo tengo que borrar 
alguna sobrante (pocas).

Muchas gracias.



El 18/07/12 08:27, José Luis Cañadas escribió:
> Hola.
>
> ¿Qué tal usando merge?
>
> data.frame3 <- merge(data.frame1,data.frame2,by="Anho",all.y=TRUE)
>
> Saludos
>
> El 18/07/12 00:42, José Trujillo escribió:
>> Esta noche ando un poco espeso y no veo fácil la cuestión:
>>
>>
>> Tengo un data.frame del tipo:
>>
>> data.frame1
>>
>> Anho, Col1
>> 1978, 19
>> 1979, 21
>> 1980, 18
>> ...
>> Unas 30 filas una por año.
>>
>>
>> Y otro del tipo
>>
>> data.frame2
>>
>> Ind, Anho, Col2
>> 001, 1978, 101
>> 002, 1978, 110
>> ... ... ...
>> 110, 1979, 107
>> ... ... ..
>> Unas 500 filas
>>
>>
>> Me gustaría agregar la Col1 al segundo data.frame de modo que para 
>> cada ind tuviese su col1:
>>
>> data.frame3
>>
>> Ind, Anho, Col2, Col1
>> 001, 1978, 101, 19
>> 002, 1978, 110, 19
>> ... ... ...
>> 110, 1979, 107, 21
>> ... ... ..
>> Unas 500 filas
>>
>>
>> He intentado decirle que tome del data.frame1 el valor utilizando 
>> como referencia el Anho, pero no lo hago bien:
>>
>> data.frame3 <- data.frame2
>> data.frame3$Col1 <- data.frame1$Col1[data.frame1$Anho==data.frame2$Anho]
>>
>> ¿Alguna amable sugerencia?
>>
>> Muchas gracias en todo caso.
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

-- 
_____---^---_____

Univ. de Extremadura
Dept. Matemáticas.
Despacho B29
Tf: + 34 924 289 300
Ext. 86823



Más información sobre la lista de distribución R-help-es