Domanda

Vorrei importare una serie temporale in cui il primo campo indica un punto:

08:00-08:15
08:15-08:30
08:30-08:45

R ha qualche funzione per farlo in modo ordinato?

Grazie!


Aggiornamento:

La soluzione più promettente che ho trovato, come suggerito da Godeke, era il pacchetto cron e l'utilizzo di substring () per estrarre l'inizio dell'intervallo.

Sto ancora lavorando su problemi correlati, quindi aggiornerò con la soluzione quando ci arrivo.

È stato utile?

Soluzione

Quindi ti viene assegnato un carattere vettoriale come c("08:00-08:15",08:15-08:30) e vuoi convertirlo in un tipo di dati R interno per coerenza? Consulta i file della guida per POSIXt e strftime.
Che ne dici di una funzione come questa:

importTimes <- function(t){
    t <- strsplit(t,"-")
    return(lapply(t,strptime,format="%H:%M:%S"))
}

Questo richiederà un vettore di carattere come descritto e restituirà un elenco della stessa lunghezza, ogni elemento del quale è un vettore POSIXt 2 che indica l'ora di inizio e di fine (alla data odierna). Se vuoi, puoi aggiungere un paste("1970-01-01",x) da qualche parte all'interno della funzione per standardizzare la data che stai osservando se si tratta di un problema.

Questo aiuta a tutti?

Altri suggerimenti

CRAN mostra un pacchetto che viene attivamente aggiornato chiamato " chron " che gestisce le date. Potresti voler controllare questo e alcuni degli altri moduli trovati qui: http: / /cran.r-project.org/web/views/TimeSeries.html

xts e zoo gestiscono anche dati di serie temporali irregolari. Non ho familiarità con questi pacchetti, ma una rapida occhiata indica che dovresti essere in grado di usarli abbastanza facilmente suddividendo il trattino e caricando nelle strutture che forniscono.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top