An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110715/8467bd42/attachment.pl>
Odd behaviour of as.POSIXct
5 messages · Brad Patrick Schneid, Duncan Murdoch, Johannes Egner +1 more
day doesn't exist? That would be the 1st problem.
Johannes Egner wrote:
Dear all,
how come the first loop in the below fails, but the second performs as
expected?
days <- as.Date( c("2000-01-01", "2000-01-02") )
for(day in days)
{
as.POSIXct(day)
}
for( n in 1:length(days) )
{
show(as.POSIXct(days[n]))
}
Many thanks, Jo
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
-- View this message in context: http://r.789695.n4.nabble.com/Odd-behaviour-of-as-POSIXct-tp3670414p3670454.html Sent from the R help mailing list archive at Nabble.com.
On 15/07/2011 12:15 PM, Johannes Egner wrote:
Dear all,
how come the first loop in the below fails, but the second performs as
expected?
days<- as.Date( c("2000-01-01", "2000-01-02") )
for(day in days)
{
as.POSIXct(day)
}
"day" in the loop above is an integer without a class, it's not a Date.
If you did
for (day in days) {
class(day) <- class(days)
print(as.POSIXct(day))
}
you won't get an error. (I don't know if you'll be happy with what you
get; the time zone is an issue.)
Duncan Murdoch
for( n in 1:length(days) )
{
show(as.POSIXct(days[n]))
}
Many thanks, Jo
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110716/0f61f18f/attachment.pl>
Also, if we make days a list, the class attributes are kept when looping
over the list, ie.
days<- list( as.Date( c("2000-01-01", "2000-01-02") ) )
Do you realise that that's a list with length one?
I suspect you want
days <- as.list( as.Date( c("2000-01-01", "2000-01-02") ) )
for (day in days) {
print(day)
}
Hadley
Assistant Professor / Dobelman Family Junior Chair Department of Statistics / Rice University http://had.co.nz/