[R-es] Promedio elementos vector

Carlos Ortega cof en qualityexcellence.es
Jue Ago 17 21:17:59 CEST 2017


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>:

> 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.*
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es