Why does iterating through a Date or POSIXct object result in numeric? For example:
test = as.Date("2009-01-01")
print( class( test ) )
# [1] "Date"
for ( day in test )
{
print( class( day ) )
}
# [1] "numeric"
The same thing happens with POSIXct:
test = as.POSIXct("2009-01-01")
print( class( test ) )
# [1] "POSIXct" "POSIXt"
for ( day in test )
{
print( class( day ) )
}
# [1] "numeric"
?"for"says thatseq(the part afterin) is “[A]n expression evaluating to a vector (including a list and an expression) or to a pairlist or ‘NULL'”.So your
Datevector is being coerced tonumericbecauseDateobjects aren’t strictly vectors:The same is true for
POSIXctvectors: