R编程 - 将时间范围的结束设置为今天

时间:2016-11-23 02:55:25

标签: r datetime

这是一个非常简单的问题,所以希望很容易回答。以下是一些示例数据:

a <- seq(as.Date("2016-10-10"), as.Date("2016-11-22"), by = "day")
data.table(a)

我正在尝试在R中设置一个时间范围,以便结束日期为今天。我的代码有效:

b <- a[a%between% c("2016-10-20", "2016-11-21")]

我尝试使用Sys.Date(),但它不起作用,我不明白为什么:

gamesplayed <- gamesplayed[Date %between% c("2016-10-20", Sys.Date())]

我收到了我用Google搜索的错误Error in charToDate(x) : character string is not in a standard unambiguous format,似乎答案与日期格式错误有关,我无法弄清楚为什么这会是我的错误。谢谢你的帮助。

1 个答案:

答案 0 :(得分:6)

您需要以一致的格式提供所有内容,包括 public boolean has77(int[] nums) { int i = 0; while(i != nums.length){ if(nums[i]==7 && i!=0){ if(nums[i-1] == 7){ return true; } } if(nums[i]==7 && i>1){ if(nums[i-2] == 7){ return true; } } i++; } return false; } 对象或Date字符串。 E.g:

character

在处理日期时,最好始终明确地将a[a %between% c(as.Date("2016-10-20"), Sys.Date())] # [1] "2016-10-20" "2016-10-21" "2016-10-22" "2016-10-23" "2016-10-24" # ... #[31] "2016-11-19" "2016-11-20" "2016-11-21" "2016-11-22" Date进行比较。尽管R可以偶尔处理DateDate的比较,这就是为什么原始代码在指定character作为%between%个对象的范围时起作用的原因。

character