Hola:
Gracias Jorge y Carlos por vuestras respuestas.
El 18/05/12 01:53, Jorge I Velez escribió:
Hola Lobo,
Lo siguiente podria ayudarte:
# datos
DB.telefonos <- structure(list(Empresa = structure(c(1L, 1L, 1L, 2L, 2L,
2L), .Label = c("Empr.1", "Empr.2"), class = "factor"), Numero =
c(666666666, 666666666,
No conocÃa «structure», gracias por el ejemplo.
# funcion para convertir la duracion a segundos
# asumiendo que x:y:z significa x minutos, y segundos y z ms
segundos <- function(x){
x <- as.numeric(x)
sum(as.numeric(x)[1:2]*60^c(1, 0)) + x[3]/1000
}
Lo que es mirar las cosas con otra perspectiva. Yo estaba empeñado en
convertirlo en un objeto temporal, cuando lo más fácil es tratarlo como
un número que significa segundos, o minutos que me interesa más que
segundos.
Me ha parecido muy interesante el detalle que tienes elevando la
multiplicación a 1 y 0.
[...]
# total por empresa/mes
with(DB.telefonos, tapply(Duracion, list(Empresa, Mes), sum))
with(DB.telefonos, aggregate(Duracion, list(Empresa, Mes), sum))
Perfecto, con estos ejemplos y los que comenta Carlos ya puedo terminar
la tarea. MuchÃsimas gracias a los dos.
Para ayuda con mas calculos mira ?tapply, ?aggregate, ?ave y la libreria
plyr. Los graficos podrias obtenerlos con ?barplot, ?plot, ?coplot y
las alternativas en lattice o ggplot2.
Estoy intentando encontrar alguna documentación que cubra con amplitud
estos temas de modificación de datos, hasta el momento no tengo éxito.
¿Hay algo por ahà o habrá que ir saltando de detalle en detalle en la
múltiple y variada documentación existente?
Salud y Revolución.
Lobo.