Skip to content

[R-es] Promedio elementos vector

2 messages · Manuel Máquez, Carlos Ortega

#
Claro que sí.
ko <- matrix(0, 39, 48, byrow = T)        # Matriz p/contar 39 numeros y
max de 48 c/u
ks <- matrix(0, 39, 48, byrow = T)        # Matriz p/sumar
dt <- read.csv('TDist.csv', header = F)   # Tabla de datos
for(i in 1:length(dt$V1)) {
    for(j in 1:39) {
        da <- dt[i, j]
        if(da > 0) {ko[j, da] <- ko[j, da] + 1
        }
    }
}
write.csv(ko, file = 'ContaC.csv')
datIn <- read.table("ContaC.csv", header = TRUE, sep =",", as.is = TRUE)
datIn$X <- NULL
mfun <- function(x) {
    val_sum <- sum(x)
    x_avg <- round(x/val_sum,5)
    return(x_avg)
}
datOut <- apply(datIn, 1, mfun)
datEnd <- as.data.frame(t(datOut))
write.csv(datEnd, file = 'Sali753.csv')
También te adjunto TDist.csv.
Gracias
*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/20170817/726ee8c6/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: TDist.csv
Type: text/csv
Size: 59648 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170817/726ee8c6/attachment-0001.csv>
#
Hola,

No encuentro el problema...
A la hora de escribir el fichero de salida, mejor que indiques que no
quieres numerar las filas, pero eso tan solo genera una columna adicional
pero no cambia el tipo de las variables.

#----------------------------

datIn <- read.table("ContaC.csv", header = TRUE, sep =",", as.is = TRUE)
datIn$X <- NULL

mfun <- function(x) {
  val_sum <- sum(x)
  x_avg <- round(x/val_sum,5)
  return(x_avg)
}

datOut <- apply(datIn, 1, mfun)
datEnd <- as.data.frame(t(datOut))
*mapply(class, datEnd)*

write.csv(datEnd, file = 'Sali753.csv', row.names = FALSE)

datLeo <- read.table("Sali753.csv", header = TRUE, sep = ",", as.is = TRUE)
*mapply(class, datLeo)*

#----------------------------

Viendo el tipo de cada columna de "datIn" todo es "integer" y "numeric".
Esto se puede comprobar con el primer "mapply(class, datIn)" destacado en
negrita.

Y grabando el fichero "Sali753.csv" y volviéndolo a leer, nuevamente el
tipo de cada columna (el segundo mapply - "mapply(class, datLeo)" ) el tipo
es el mismo que datIn, "integer" y "numeric"...

Si puedes volver a indicar en concreto el problema que obtienes... y además
de la descripción si incluyes el ejemplo en el que ves que el data.frame es
ahora texto, por entonces volver al principio y entender de nuevo cuál es
el problema.

Saludos,
Carlos.



2017-08-17 19:06 GMT+02:00 Manuel Máquez <manuelmx11 en gmail.com>: