Skip to content

[R-es] Error lectura

2 messages · Manuel Máquez, Carlos Ortega

#
Los datos originales están Tdist.csv que adjunto, el código es:
mc <- matrix(0,39,48,byrow = T)           # Matriz Cta
mp <- matrix(0,39,48,byrow = T)           # Matriz Pr
ms <- matrix(0,39,48,byrow = T)           # Matriz Sumas
mtzbin <- matrix(0,39,48,byrow = T)       # Matriz Binom
vec <- 0                                  # Valor temporal
dt <- read.csv('Tdist.csv', header = F)   # Datos
lg <- 0                                   # Inicial
lg <- length(dt$V1)                       # Valor longitud
for(i in 1:lg) {                          # Registro
    for(j in 1:39) {                      # Elemento
        da <- dt[i ,j]                    # Dato
        if(da == 0) {next
            }else{
            mc[j, da] <- mc[j, da] + 1
            ms[j, da] <- ms[j, da] + da
            it <- da/mc[j, da]
            mp[j, da] <- it
        }
    }
}
sma <- rowSums(ms, 1)
sr <- max(sma)
write.csv(ms, file = 'dato.csv')
datIn <- read.table('dato.csv', sep = ',', as.is = T)
for(i in 1:39) {
    for(j in 1:48) {
        vec <- datIn[i, j]
    #    mtzbin[i, j] <- ((vec/sma[j])^vec)*((1-
vec/sma[j])^(sma[j]-vec))*choose((sr-1),(vec-1))
        mtzbin[i, j] <-
((vec/sma)^vec)*((1-vec/sma)^(sma-vec))*choose((sr-1),(vec-1))
    }
}
Se trata de leer los datos por medio de la primera parte del código, para
después construir una tabla de probabilidad binomial negativa, vía la
segunda parte del mismo.
Esa primera parte da por resultado 'dato.csv' que también adjunto.
Carlos, nuevamente muchas gracias.
Atentamente;
*MANOLO MÁRQUEZ P.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170908/98915176/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: Tdist.csv
Type: text/csv
Size: 60123 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170908/98915176/attachment-0002.csv>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: dato.csv
Type: text/csv
Size: 4975 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170908/98915176/attachment-0003.csv>
#
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...
[,1]        [,2]        [,3]        [,4]        [,5]
 [,6]        [,7]        [,8]        [,9]
[1,] 0.002626719 0.004978632 0.005201255 0.006462926 0.006391686
0.002353819 0.004419175 0.004785744 0.006434316
[2,] 0.002689092 0.006981814 0.005856663 0.004714338 0.003580492
0.006443308 0.004419175 0.002689092 0.004301845
[3,] 0.002297961 0.003883366 0.003086845 0.006462926 0.005394031
0.004988292 0.006060432 0.004399715 0.003851898
[4,] 0.003159180 0.006187438 0.005635778 0.005556810 0.005394031
0.005346379 0.007985787 0.004399715 0.003851898
[5,] 0.002433220 0.005210141 0.003725039 0.005128456 0.006921837
0.003548008 0.002245950 0.004003866 0.003379612
[6,] 0.003379612 0.004978632 0.003934702 0.004312628 0.004921966
0.004274360 0.006981814 0.005542097 0.003379612
           [,10]       [,11]       [,12]       [,13]       [,14]
[,15]       [,16]       [,17]       [,18]
[1,] 0.003793022 0.004350860 0.001971524 0.004148574 0.002331970
0.000000000 0.003921276 0.003526645 0.000000000
[2,] 0.004393626 0.004350860 0.003058957 0.000000000 0.003964126
0.002168110 0.007445536 0.000000000 0.000000000

....

Saludos,
Carlos Ortega
www.qualityexcellence.es









2017-09-09 0:33 GMT+02:00 Manuel Máquez <manuelmx11 en gmail.com>: