vuelos variable una suspendidos solidos resueltos probabilidad pequeños numero mide mayor introducción importantes fosfato estadística estadistica ejercicios distribuciones distribucion desde descarga cortos capitulo binomial aviones aleatoria aeropuertos r time numeric

una - la variable aleatoria binomial mide:



Cómo convertir el tiempo(mm: ss) en formato decimal en R (3)

¿ Necesitas decimalizarlo? Si almacena los datos en el formato correcto, por ejemplo, como un objeto de la clase POSIXlt , una de las clases de fecha y hora de R, R manejará el manejo correcto de los tiempos en forma numérica. Aquí hay un ejemplo de lo que quiero decir:

Primero creamos algunos datos ficticios con fines ilustrativos:

set.seed(1) DF <- data.frame(Times = seq(as.POSIXlt("10:00", format = "%M:%S"), length = 100, by = 10), Points = cumsum(rpois(100, lambda = 1))) head(DF)

Ignore el hecho de que hay fechas aquí, efectivamente se ignora cuando hacemos la trama ya que todas las observaciones tienen la misma parte de fecha. A continuación trazamos esto usando la interfaz de la fórmula de R:

plot(Points ~ Times, data = DF, type = "o")

Lo que produce esto:

He importado un archivo csv a R usando RStudio donde estoy tratando de trazar puntos por juego contra minutos por juego. Sin embargo, los minutos por juego están en el formato mm: ss y me cuesta mucho encontrar la forma de convertirlos en formato decimal.

¡Por favor ayuda!


Algunos ajustes de la primera solución:

minPerGame <- paste(sample(1:89,100000,T),sample(0:59,100000,T),sep=":") f1 <- function(){ sapply(strsplit(minPerGame,":"), function(x) { x <- as.numeric(x) x[1]+x[2]/60 } ) } # f2<- function(){ w <- matrix(c(1,1/60),ncol=1) as.vector(matrix(as.numeric(unlist(strsplit(minPerGame,":"))),ncol=2,byrow=TRUE)%*%w) } system.time(f1()) system.time(f2())

sistema de usuario system.time (f1 ()) transcurrido 0,88 0,00 0,86

System.time (f2 ()) sistema de usuario transcurrido 0.25 0.00 0.27


Dado que comienzas con un vector de caracteres, esto es relativamente fácil:

minPerGame <- c("4:30","2:20","34:10") sapply(strsplit(minPerGame,":"), function(x) { x <- as.numeric(x) x[1]+x[2]/60 } )

da

[1] 4.500000 2.333333 34.166667

Asegúrese de haber verificado que usó read.csv() con la opción as.is=TRUE . De lo contrario tendrás que convertir usando as.character() .