Tratar con números muy pequeños en R
Necesito calcular una lista de números muy pequeños como
(0.1) ^ 1000, 0.2 ^ (1200),
y luego normalizarlos para que sumen uno, es decir,
a1 = 0.1 ^ 1000, a2 = 0.2 ^ 1200
Y quiero calcular a1 '= a1 / (a1 + a2), a2' = a2 (a1 + a2).
Me encuentro con problemas de flujo insuficiente, ya que obtengo a1 = 0. ¿Cómo puedo evitar esto? Teóricamente podría tratar con registros, y luego log (a1) = 1000 * log (0.l) sería una forma de representar a1 sin problemas de flujo inferior, pero para normalizar necesitaría obtener log (a1 + a2) - que no puedo calcular ya que no puedo representar a1 directamente.
Estoy programando con R, por lo que puedo decir, no hay ningún tipo de datos como Decimal en c #, que le permite obtener un valor mejor que el de doble precisión.
Cualquier sugerencia será apreciada, gracias