" CharToDate(x)"

时间:2015-11-13 20:34:50

标签: r date subset

我有一个csv数据集,其中包含一个包含日期的列。将数据集导入R后,我们需要根据特定日期范围对数据集进行子集化。

app1110 <- read.csv("file_11102015.csv")
app1110$appcom_date2 <- app1110$APPLICATION..COMPLETED..DATE

然后我们尝试了1)

app1110$appcom_date2 <- format(as.POSIXct(app1110$appcom_date2, format= "%m/%d/%Y"), format="%m/%d/%Y")
subset(app1110, as.Date(appcom_date2 < "12/30/2013"))

错误消息:

  

as.Date.default出错(appcom_date2&lt;&#34; 12/30/2013&#34;):不知道   如何转换&#39; appcom_date2&lt; &#34; 12 /二千零一十三分之三十零&#34;&#39;上课“日期”

那么我如何根据日期范围对数据进行子集化?

2 个答案:

答案 0 :(得分:1)

在没有看到您的数据的情况下,我怀疑您需要更改此信息:

as.Date(appcom_date2 < "12/30/2013")

到此:

appcom_date2  < as.Date("12/30/2013", "%M/%d/%Y")

或者更好的是:

appcom_date2 < as.Date("2013-12-30")

关键是您需要将字符串("12/30/2013")强制转换为Date对象,然后进行比较。

答案 1 :(得分:0)

谢谢,问题是比较字符和日期类型。这修好了它:

  

app1110 $ appcom_date2&lt; - as.Date(app1110 $ appcom_date2,   format =“%m /%d /%Y”)子集(app1110,appcom_date2&lt; as.Date(“2013-12-31”)   &安培; appcom_date2&gt; as.Date( “2013年6月1日”))

还有一个问题:在进行子集化时,我使用appcom_date2变量作为设置句点的标准。 如何指定从该变量中排除所有NA值?