子集 yearmon 对象
subsetting yearmon objects
我有月度数据
library(zoo); library(data.table)
dat <- data.table(month=as.yearmon(paste0("2019-0",1:9)))
> dat
month
1: Jan 2019
2: Feb 2019
3: Mrz 2019
4: Apr 2019
5: Mai 2019
6: Jun 2019
7: Jul 2019
8: Aug 2019
9: Sep 2019
我想将其子集化到 2019 年 5 月之后的几个月。而
dat[month=="Jun 2019"]
有效,
> dat[month > "May 2019"]
Empty data.table (0 rows and 1 cols): month
> dat[month%in%c("Jun 2019","Jul 2019")]
Empty data.table (0 rows and 1 cols): month
没有。有什么技巧吗?
实际上它确实有效。修复双引号:
library(data.table)
library(zoo)
dat <- data.table(month=as.yearmon(paste0("2019-0",1:9), "%Y-%m"))
dat[month > "May 2019"]
## month
## 1: Jun 2019
## 2: Jul 2019
## 3: Aug 2019
## 4: Sep 2019
语言
比较将使用当前有效的语言。例如,如果我们将当前会话设置为法语:
Sys.setlocale(locale = "French")
dat[ month > "mai 2019" ]
## month
## 1: juin 2019
## 2: juil. 2019
## 3: août 2019
## 4: sept. 2019
我们也可以通过使用月份数字而不是名称以独立于语言的方式来做到这一点:
dat[ month > "2019-05" ]
## month
## 1: Jun 2019
## 2: Jul 2019
## 3: Aug 2019
## 4: Sep 2019
备注
创建示例就足够了:
dat <- data.table(month = as.yearmon(paste0("2019-", 1:9)))
我有月度数据
library(zoo); library(data.table)
dat <- data.table(month=as.yearmon(paste0("2019-0",1:9)))
> dat
month
1: Jan 2019
2: Feb 2019
3: Mrz 2019
4: Apr 2019
5: Mai 2019
6: Jun 2019
7: Jul 2019
8: Aug 2019
9: Sep 2019
我想将其子集化到 2019 年 5 月之后的几个月。而
dat[month=="Jun 2019"]
有效,
> dat[month > "May 2019"]
Empty data.table (0 rows and 1 cols): month
> dat[month%in%c("Jun 2019","Jul 2019")]
Empty data.table (0 rows and 1 cols): month
没有。有什么技巧吗?
实际上它确实有效。修复双引号:
library(data.table)
library(zoo)
dat <- data.table(month=as.yearmon(paste0("2019-0",1:9), "%Y-%m"))
dat[month > "May 2019"]
## month
## 1: Jun 2019
## 2: Jul 2019
## 3: Aug 2019
## 4: Sep 2019
语言
比较将使用当前有效的语言。例如,如果我们将当前会话设置为法语:
Sys.setlocale(locale = "French")
dat[ month > "mai 2019" ]
## month
## 1: juin 2019
## 2: juil. 2019
## 3: août 2019
## 4: sept. 2019
我们也可以通过使用月份数字而不是名称以独立于语言的方式来做到这一点:
dat[ month > "2019-05" ]
## month
## 1: Jun 2019
## 2: Jul 2019
## 3: Aug 2019
## 4: Sep 2019
备注
创建示例就足够了:
dat <- data.table(month = as.yearmon(paste0("2019-", 1:9)))