我想选择一个data.frame的子集,其中只包含有关当前日期的信息.
today = Sys.Date()
LasttDate = paste("'",today,"'",sep = "")
> LastDate
[1] "'2013-04-30'"
Run Code Online (Sandbox Code Playgroud)
选择是通过包含日期的以下代码执行的,并且有效
Lastdbdata = dbdata[dbdata$DateNav == '2013-04-30',]
Run Code Online (Sandbox Code Playgroud)
如果我们不想写所有时间的日期,但我们希望在运行代码时自动选择它我虽然我们可以写
Lastdbdata = dbdata[dbdata$DateNav == LastDate,]
Errore in charToDate(x) :
character string is not in a standard unambiguous format
Run Code Online (Sandbox Code Playgroud)
但它不起作用并返回上面的错误.哪个是解决此错误的技巧?
你得到的是错误的,因为DateNav是在Date格式已经,而Lastdate不是.相比DateNav于today应该做的伎俩:
> Sys.Date()
[1] "2013-04-30"
> Sys.Date()==as.Date("2013-04-30")
[1] TRUE
> Sys.Date()==as.Date("'2013-04-30'")
Error in charToDate(x) :
character string is not in a standard unambiguous format
Run Code Online (Sandbox Code Playgroud)
事实上,即使DateNav不是Date格式,你也可以/应该直接比较today.
> Sys.Date()=="2013-04-30"
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
我不确定插入单引号的理由是什么.如果您想将日期转换为字符,原因是其他原因
> as(Sys.Date(),"character")
[1] "2013-04-30"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12850 次 |
| 最近记录: |