[R-es] problema de tiempo de ejecución con una rutina dentro de un programa de R

Carlos Santos c@r|o@@@nto@@c@m @end|ng |rom gm@||@com
Jue Sep 23 20:08:21 CEST 2021


Exacto, eso es Carlos

El jue., 23 sept. 2021 20:04, Carlos Ortega <cof using qualityexcellence.es>
escribió:

> OK. Gracias.
>
> Sí, bueno lo del nombre de V5 o el que sea efectivamente da igual, ¿pero
> es siempre una única columna por la que hay que agrupar?.
> Y luego en esa columna ¿se ha de iterar hasta que quede solo una letra?
> (letra o el factor que sea).
>
> Gracias!
> Carlos.
>
> El jue, 23 sept 2021 a las 20:00, Carlos Santos (<
> carlossantos.csm using gmail.com>) escribió:
>
>> Gracias Carlos, lo has entendido perfectamente
>>
>> El punto definido que he puesto, no siempre tendrá esos mismos valores,
>>
>> La columna V5 no siempre tendrá los mismos valores, pero puede valerme
>> que siempre tenga el mismo nombre de columna, por si eso puede ayudar, ya
>> que se puede cambiar el nombre de columna antes de llegar a esa rutina si
>> fuese necesario para que la rutina funcione mejor
>>
>>
>>
>> El jue., 23 sept. 2021 19:49, Carlos Ortega <cof using qualityexcellence.es>
>> escribió:
>>
>>> Gracias Carlos!
>>>
>>> Que no dije nada.... :-).
>>> Creo que ya lo entiendo pero no he podido meterme con ello..
>>> A ver si mañana o este fin de semana encuentro un hueco para ver qué se
>>> me ocurre.
>>>
>>> Un par de dudas adicionales que me surgieron al ver el detalle de tu
>>> respuesta:
>>>
>>>    - ¿Para el cálculo se usa siempre esa columna "V5" que es la que
>>>    tiene las letras?.
>>>    - Y claro el objetivo al final es que queda solo una letra tras
>>>       entrar a comparar todas las parejas posibles,¿es así?.
>>>    - Y eso de la distancia a ese punto definido...
>>>       - El punto definido ¿es siempre que has indicado? (0.34, 0.66)?.
>>>
>>>
>>> Así, de primeras lo que veo es porqué hacen falta dos bucles o un bucle
>>> y un while.
>>> Parece más un proceso recursivo: comienzas con todos los pare de
>>> parejas, reduces y vuelves a aplicar el proceso de comparación con las que
>>> quedan.
>>> Por eso lo de aclarar la duda del primer punto anterior.
>>>
>>> Gracias,
>>> Carlos.
>>>
>>> El mié, 22 sept 2021 a las 18:38, Carlos Santos (<
>>> carlossantos.csm using gmail.com>) escribió:
>>>
>>>> Perdón he puesto 2000 columnas pero quería decir 2000 filas
>>>>
>>>> El mié., 22 sept. 2021 18:34, Carlos Santos <carlossantos.csm using gmail.com>
>>>> escribió:
>>>>
>>>>> ok Carlos, pongo un ejemplo con pocos registros a ver si puedo
>>>>> explicarlo mejor:
>>>>>
>>>>> Datos:
>>>>> V0 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
>>>>> 1 63 1 1 145 A 233 1 2 3 0
>>>>> 2 67 1 4 160 A 286 0 2 2 3
>>>>> 3 67 2 4 120 B 229 0 2 2 2
>>>>> 4 37 1 3 130 C 250 0 0 3 0
>>>>> 5 41 1 2 130 C 204 0 2 1 0
>>>>> 6 56 2 2 120 A 236 0 0 1 0
>>>>> 7 62 1 4 140 B 268 0 2 3 2
>>>>> 8 57 2 4 120 C 354 0 0 1 0
>>>>> 9 63 2 4 130 A 254 0 2 2 1
>>>>> 10 53 1 4 140 B 203 1 2 3 0
>>>>> 11 57 2 4 140 B 192 0 0 2 0
>>>>> 12 56 1 2 140 A 294 0 2 2 0
>>>>> 13 56 2 3 130 C 256 1 2 2 1
>>>>> 14 44 2 2 120 B 263 0 0 1 0
>>>>> 15 52 2 3 172 B 199 1 0 1 0
>>>>>
>>>>> tengo la matriz que sale de V5:
>>>>> A
>>>>> B
>>>>> C
>>>>>
>>>>> junto las filas de A con B, y obtengo el punto respecto de V2, y me da
>>>>> (0.33, 0.67), puesto que V2 tiene dos valores, es un porcentaje en
>>>>> definitiva
>>>>> junto las filas de A con C, y se obtiene el punto (0.5, 0.5)
>>>>> obtengo la distancia euclidea de dichos puntos sobre el punto
>>>>> definido, supongamos (0.34, 066),  lo que significa que la menor distancia
>>>>> se obtiene entre A y B, por lo tanto las filas que tienen A en V5 se cambia
>>>>> su valor a C, y se obtiene la siguiente matriz, donde V5 ya no tiene la A
>>>>> V0 V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
>>>>> 1 63 1 1 145 C 233 1 2 3 0
>>>>> 2 67 1 4 160 C 286 0 2 2 3
>>>>> 3 67 2 4 120 B 229 0 2 2 2
>>>>> 4 37 1 3 130 C 250 0 0 3 0
>>>>> 5 41 1 2 130 C 204 0 2 1 0
>>>>> 6 56 2 2 120 C 236 0 0 1 0
>>>>> 7 62 1 4 140 B 268 0 2 3 2
>>>>> 8 57 2 4 120 C 354 0 0 1 0
>>>>> 9 63 2 4 130 C 254 0 2 2
>>>>>
>>>>

	[[alternative HTML version deleted]]



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