为什么“ 3个月”裁员时没有按预期生产标签?
# create time series data
everyday <- seq(from = as.Date('2014-1-1'), to = as.Date('2014-12-31'), by = 'day')
# create a factor based on the quarter of the year an observation is in:
qtrs <- cut(everyday, "3 months", labels = paste0('Q', 1:4))
## Error in cut.default(unclass(x), unclass(breaks), labels = labels,
## right = right, :
## lengths of 'breaks' and 'labels' differ
削减是每3个月进行一次,因此将创建4个季度,我希望需要4个标签,但是错误消息表明中断和标签的长度不同。
qtrs <- cut(everyday, "3 months", labels = paste0('Q', 1:5))
table(qtrs)
## qtrs
## Q1 Q2 Q3 Q4 Q5
## 90 91 92 92 0
似乎需要第五个标签Q5,但它的计数为零。
该示例摘自Phil Spector的“使用R进行数据操作”,
http://www.springer.com/statistics/computational+statistics/book/978-0-387-74730-9
这不能回答您的原始问题,但是是一种在没有cut
的情况下达到(我认为是)相同结果的方法。您可以使用quarters
函数从Date
对象中提取“四分之一”:
table(quarters(everyday))
# Q1 Q2 Q3 Q4
# 90 91 92 92