O utilizar el paquete sqldf donde la consulta sobre tu data.frame sería tan
sencillo como algo esto:

a15s <- sqldf("select sum(wool = 'A'), sum(wool = 'B')
from warpbreaks group by tension")

Donde tu agrupador sería "datos$identificador".

Saludos,
Carlos Ortega
www.qualityexcellence.es


2011/6/14 Carlos Ortega <coforfe@gmail.com>

> Hola,
>
> Esta podría ser una solución, sujeta a alguna depuración a falta de un
> ejemplo más reproducible que pudieras enviar:
>
> ######################################
> recuentos<-0
> cont.suma<-0
>
> for(i in 1:length(datos$codigo1) ) {
>
> if(i==1) {
>              cont.suma<-cont.suma + datos$identificador[i]
>              recuentos[i]<-cont.suma
> } else if(datos$identificador[i]==datos$identificador[i-1]) {
>              cont.suma<-cont.suma + datos$identificador[i]
>              recuentos[i]<-0
>          } else if(datos$identificador[i]!=datos$identificador[i-1]) {
>                   cont.suma<-cont.suma + datos$identificador[i]
>                   recuentos[i]<-cont.suma
>                   cont.suma<-0
>                   }
>
> } #for(i in...
>
> ######################################
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
> 2011/6/14 J Manel S Griño <jmanelsg@gmail.com>
>
>> Hola a tod@s,
>>
>> Llevo varios días intentando resolver esta duda y no hay manera. Debo
>> decir
>> que és una de mis primeras incursiones en la programación de bucles con R.
>> Lo que yo quiero es añadir una columna nueva al data.frame "recuentos"
>> para
>> cada incremento en "datos$codigo1" con el resultado de la suma de los
>> valores de "datos$total" para cada cambio en "datos$identificador". Mi
>> problema es que no sé cómo ordenarle que cada ariable contenga el número
>> de
>> iteració "i".
>>
>> for (i in 1:max(datos$codigo1,na.rm=T))
>> recuento$variablenueva.*i*
>>
>> <-tapply(subset(datos$total,datos$codigo1==i),subset(dagot$identificador,datos$codigo1==i),sum,na.rm=T)
>>
>>
>> También estoy abierto a otras soluciones que me ahorren las más de 300
>> líneas de código que tendria que escribir para recoger todas las
>> posibilidades [max(datos$codigo1,na.rm=T)>350 por ahora...].
>>
>> Muchas gracias!
>>
>> Saludos,
>>
>> Manel.
>>
>>        [[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]]

