我有一个简单的问题。为什么r会为
返回不同的结果dim(data2[data2$as_of_date=="2014-12-31",])
dim(data2[data2$as_of_date%in%c("2014-12-31"),])
输出:
> dim(data2[data2$as_of_date=="2014-12-31",])
[1] 48684 92
> dim(data2[data2$as_of_date%in%c("2014-12-31"),])
[1] 0 92
答案 0 :(得分:6)
%in%
无法识别您日期的“字符”形式。考虑:
> as.Date("2014-12-31") == "2014-12-31"
[1] TRUE
> as.Date("2014-12-31") %in% "2014-12-31"
[1] FALSE
您需要使用:
data2[as.character(data2$as_of_date) %in% c("2014-12-31"),]
虽然在这种情况下显然==
可以正常工作,因为您只匹配一个值。