2016-12-13 4 views
1

Wie vermeidet man, dass Daten in eine for-Schleife konvertiert werden? Dies wird auf diese Frage im Zusammenhang, die das gleiche Verhalten für mapply zeigt disabling mapply automatically converting Dates to numericWie vermeidet man, dass Datumsangaben automatisch in numerische umgewandelt werden?

date <- c('2008-02-20','2009-10-05') 
date <- as.Date(date, format = '%Y-%m-%d') 
date 
[1] "2008-02-20" "2009-10-05" 
for (i in date) print(i) 
[1] 13929 
[1] 14522 

disabling mapply automatically converting Dates to numeric

+1

Die 'Date' Klasse in Grund R speichert Daten wie Anzahl der Tage seit Beginn der Epoche also, was Sie sehen, ist die wirklich zugrunde liegenden Daten. Ihre Frage betrifft die Präsentation dieser Daten. –

+0

Es ist ein Aufwand, aber Sie können zurückverwandeln: 'für (ich in Datum) drucken (as.Date (i, Herkunft = '1970-01-01'))' – alistaire

Antwort

4

Die for Schleife zwingt die Sequenz Vektor, es sei denn, es ist Vektor, Liste oder einige andere Dinge. date ist kein Vektor, und es gibt keine Vektordaten. Sie müssen also as.list es von Zwang Vektor zu schützen:

for (d in as.list(date)) print(d) 
Verwandte Themen