Buenas tardes a tod@s,

Me gustaria redondear las entradas de una matriz m manteniendo la suma de
filas y columnas constantes (son valores fijos conocidos).  En la
aplicacion que estoy trabajando (en la que por supuesto m tiene una
dimension mayor que en el ejemplo), no son permitidos numeros decimales y
por ello debe efectuarse el redondeo.

La forma de m es:

m <- matrix(c(3.546, 4.5345, 1.9195,
         12.332, 15.982, 21.686,
         4.122, 9.4835, 16.3945), ncol = 3, byrow = TRUE)
colnames(m) <- paste0('C', 1:3)
rownames(m) <- paste0('X', 1:3)
m
#        C1      C2      C3
# X1  3.546  4.5345  1.9195
# X2 12.332 15.9820 21.6860
# X3  4.122  9.4835 16.3945

Los totales (por filas y columna, todos fijos) son los siguientes

(TotalColumna <- colSums(m))
(TotalFila <- rowSums(m))

Si procedo haciendo

m2 <- round(m, 0)
m2

es claro que los totales fila y columna no se mantienen

colSums(m2)  # columna
rowSums(m2)  # fila

Alguna idea de como efectuar el redondeo?  Muchisimas gracias de antemano.

Saludos,
Jorge Velez

	[[alternative HTML version deleted]]

