Hola,
Hay un primer error en la forma en la que grabas el csv.
Tienes que indicar que no te ponga nombres a las filas...
Y al leer el csv, tienes que indicar que hay cabecera.
write.csv(ms, file = 'dato.csv', *row.names = FALSE*)
datIn <- read.table('dato.csv', sep = ',', as.is = T, *header = TRUE*)
Y luego hay otro error importante.
Cuando dices:
mtzbin[i, j]
Uno esperarÃa un único valor para rellenar ese elemento de la matriz
"mtzbin", pero lo que obtienes de esta cuenta:
((vec/sma)^vec)*((1-vec/sma)^(sma-vec))*choose((sr-1),(vec-1))
es esto...
((vec/sma)^vec)*((1-vec/sma)^(sma-vec))*choose((sr-1),(vec-1))
[1] 0.002626719 0.003161702 0.002793684 0.003065193 0.002971755 0.002708859
[7] 0.003161702 0.002626719 0.002626719 0.002708859 0.002626719 0.002971755
[13] 0.002881284 0.003364353 0.002793684 0.003065193 0.004901558 0.002793684
[19] 0.002971755 0.004187086 0.004057734 0.002881284 0.003364353 0.003470717
[25] 0.002708859 0.003261385 0.003364353 0.002971755 0.002971755 0.002626719
[31] 0.002881284 0.002881284 0.002971755 0.002626719 0.002547173 0.002708859
[37] 0.003470717 0.002793684 0.002708859
un vector de 37 elementos...
Hay algo que en concepto no es correcto en esa cuenta. Claramente le faltan
subindices, "sma" es un vector,
Cuando tienes este tipo de problemas, itera "a mano".
Simplemente haz:
i <- 1
j <- 1
Y ves el resultado de la operación...
En cambio la lÃnea que tienes comentada, parece que es la correcta, "sma"
está indexado..:
((vec/sma[j])^vec)*((1- vec/sma[j])^(sma[j]-vec))*choose((sr-1),(vec-1))
[1] 0.002626719
Y efectivamente, si esa lÃnea, la quitas el comentario y comentas la otra,
la que devuelve el vector de 37 elementos, el bucle funciona sin
problemas...