Ho un problema quando ho importare un file CSV con R:Leggi csv con date e numeri
esempio linee di importazione:
2010-07-27;91
2010-07-26;93
2010-07-23;88
ho utilizzare l'istruzione:
data <- read.csv2(file="...", sep=";", dec=".", header=FALSE)
quando provo ad aggregare questi dati con altri originati da analisi statistiche usando cbind
, la data viene mostrata come numero intero perché è stata importata come fattore.
Se si tenta di visualizzarlo come una stringa utilizzando as.character
, i dati numerici vengono trasformati in caratteri troppo in modo da essere inutilizzabili per le procedure statistiche.
quando ho eseguito la seconda linea, ottengo un messaggio di errore come 'fornito 9 variabili per sostituire 1 variabili'. Tuttavia, quando ho avvolgo 'strptime' in' as.POSIXct (...) ', vale a dire fare' as.POSIXct (strptime (dati [, 1], "% Y-% m-% d") 'sembra –
Se data [, 1] è un vettore di stringhe di caratteri del formato c ("2010-07-23", ...) ciò che ho scritto funziona. Che cosa significa "sembra funzionare" comunque? come se tu stessi solo convertendo il risultato POSIXlt predefinito e hai qualche altra funzione non menzionata qui usando un valore POSIXlt. Va bene, è solo un risultato diverso. Ciò non significa che ciò che è lì non funziona. POSIXlt e POSIXct sono di classe POSIXt (che è quello che ho citato) – John
Questo è esattamente ciò che * 'read.csv (... colClasses ...)' * è per! Vedi la risposta di Marek. Fare la conversione in lettura con colClasses è meglio di questa risposta perché non spreca molta memoria temporanea. (Basta fare * 'gc (reset = TRUE)' * in seguito.) Inoltre, è molto più leggibile. – smci