我有一个数据框1008X5(您可以编写任何假设数据帧。)我想检查两个日期之间数据集的季节性。例如夏季(2010年6月1日至2010年8月31日)等等向前。我试过了:
summer<-selectByDate(stnx, start = "01/06/2010", end = "31/08/2010")
我收到以下错误消息:
错误:找不到函数“selectByDate”
为什么这个功能不起作用? 我也试过这个:
myfunc <- function(x,y){stnx[stnx$Date >= x & stnx$Date <= y,]}
x <- as.Date("01/06/2010")
y<- as.Date("31/08/2010")
Test <- myfunc(x,y)
我收到警告信息:
警告讯息:1:在
[.data.frame
中(stnx,stnx $ Date&gt; = x&amp; stnx $ Date&lt; = y,):不兼容的方法(“Ops.factor”,“Ops.Date”) 对于“&gt; =”2:在[.data.frame
中(stnx,stnx $ Date&gt; = x&amp; stnx $ Date&lt; = y,) :“&lt; =”的不兼容方法(“Ops.factor”,“Ops.Date”)
我在这个阶段陷入困境,因为我尝试了许多似乎不起作用的方法。非常感谢您的帮助。
答案 0 :(得分:0)
一个可能的答案是使用sqldf在R中使用sql。
test <- slqdf("select * from foobar where date_column >= convert(datetime,'01/06/2010') and date_column <= convert(datetime, '31/08/2010')")
让我知道它是否有效
答案 1 :(得分:0)
您是否下载并加载了包含openair
函数的selectByDate
包?
install.packages("openair")
require(openair)
此外,selectByDate
的文档指出输入(您的sntx
data.frame)应包含格式为Date
的列:
selectByDate(mydata, start = "1/1/2008", end = "31/12/2008", year = 2008, month = 1, day = "weekday", hour = 1)
<强> MYDATA 强>: 包含每小时或高分辨率格式的日期字段的数据框。
您可以使用as.Date
功能执行此操作。