Message-ID: <CAOKbq8h3kqBeVbBhZs8rHAMfvPdbPkaHAGZAHN4zBbC61WjaMw@mail.gmail.com>
Date: 2017-08-15T09:28:55Z
From: Carlos Ortega
Subject: [R-es] Promedio elementos vector
In-Reply-To: <CAG9EJT+wdoAtAUMxuYJQ2ef_w6asvF6x20byv10BRNVN4gmmug@mail.gmail.com>
Hola Manuel,
No habÃa visto que el resultado era una matriz traspuesta...
He modificado el código para corregirlo y para obtener un resultado con 5
decimales.
No se puede usar la función "rowsum()" porque es una función para calcular
sumas teniendo un criterio de agrupación que en este caso, no existe.
Tampoco la alternativa de "rowSums()" funcionarÃa porque trabaja sobre
data.frames y en la función solo se calcula la suma de una fila... Asà que
en este caso, dejo el cálculo de la función como estaba inicialmente.
#------------------------------
datIn <- read.table("ContaC.csv", header = TRUE, sep =",", as.is = TRUE)
datIn$X <- NULL
myfun <- function(x) {
val_sum <- sum(x)
x_avg <- round(x/val_sum,5)
return(x_avg)
}
datOut <- apply(datIn, 1, myfun)
datEnd <- as.data.frame(t(datOut))
#-----------------------------
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 15 de agosto de 2017, 4:19, Manuel Máquez <manuelmx11 en gmail.com>
escribió:
> Carlos, nuevamente muchas gracias, la solución que me diste quedó con una
> pequeña modificación; usé rowsum(x) en lugar de sum.
> Me quedan unas dudas:
> a) Los resultados me quedan en columnas y no en renglones ??.
> b) Me da 'Error in rowsum.default(x) el argumento "group" está ausente,
> sin valor por omisión'. ¿Qué se debe corregir?
> c) ¿Es posible que los resultados queden en 5 decimales?
> Atentamente;
> *MANOLO MÃRQUEZ P.*
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> 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]]