On Sep 18, 2010, at 10:25 AM, Santosh Srinivas wrote:

> Strangely this is not working ... what am I doing wrong here?
> 
>> tDate <- FnO_Data$Date[1]
>> tDate
> [1] 20090101
>> as.Date(c(tDate),format="%Y%m%d")
> [1] NA


What version of R are you running?

What is the output of:

  str(FnO_Data$Date)

and

  str(tDate)

You likely need to get rid of the c().  Presumably tDate is a factor and by 
using c(), you are stripping the factor class attribute from tDate, resulting 
in a numeric value being passed to as.Date(). 

Under R 2.11.1, you would get the following:

tDate <- factor(c("20090101", "20090201", "20090301"))

> as.Date(tDate[1], format = "%Y%m%d")
[1] "2009-01-01"

> c(tDate[1])
[1] 1

> as.Date(c(tDate[1]), format = "%Y%m%d")
Error in as.Date.numeric(c(tDate[1]), format = "%Y%m%d") : 
  'origin' must be supplied


Alternatively, if the original vector is numeric, you would get the following:

> as.Date(20090101, format = "%Y%m%d")
Error in as.Date.numeric(20090101, format = "%Y%m%d") : 
  'origin' must be supplied


So something is amiss with what you have copied and pasted above, unless you 
are perhaps running an older version of R.  The change in the behavior of 
as.Date(), relative to converting numeric arguments given that 'origin' is 
specified, occurred with R version 2.7.0. So are you running a version of R 
older than that?

HTH,

Marc Schwartz

______________________________________________
R-help@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.

Reply via email to