我希望您能在这一点上对我有所帮助,因为似乎有些错误。
我使用此代码来计算每年六月的某个变量(MarketValue)的分位数:
Test<- Test[format.Date(Date, "%m")=="06", DecileColumnME := cut(Marketvalue, breaks = quantile(Marketvalue, probs = 0:10/10, na.rm = TRUE),
labels = 1:10, right = TRUE), by = Date]
,它正在工作。现在,我想对6月份的数据执行相同的操作,但是这次是针对另一个变量(BEMERATIOLag6Month列中的市售率)。
所以我用
Test2 <- Test2[format.Date(Date, "%m")=="06", DecileColumnBEME := cut(BEMERATIOLag6Month, breaks = quantile(BEMERATIOLag6Month, probs = 0:10/10, na.rm = TRUE),
labels = 1:10, right = TRUE), by = Date]
但是这次我得到了错误:
Error in cut.default(BEMERATIOLag6Month, breaks = quantile(BEMERATIOLag6Month, :
lengths of 'breaks' and 'labels' differ
但我不明白为什么会这样? :(这是一个相同的概念,我通过str()检查了两个列(Marketvalue和BEMERATIOLag6Month)都是num。
有人可以帮我吗?
预先感谢
编辑:
我通过使用label = FALSE解决了它。那么它只会返回简单的整数,而不是对我而言很好的因子。但是,我仍然不明白为什么它不像市场价值栏那样工作。