r - 如何使用跑步者计算 rlm 的跑步斜率?
问题描述
我有一个包含客户 ID、月份和当月总购买量的数据框架“客户”。我正在尝试使用稳健回归计算 12 个月窗口的运行斜率。
我尝试了以下方法:
Coef <- function(x) {return(rlm(cbind(x)~cbind(1:length(x)))$coefficients[2])}
customer_slope = customers %>% mutate(slope = runner(x=total_purchases,k=12,f=Coef))
我收到以下错误:
x 'x' 是单数:单数拟合未在 'rlm' 中实现
如果我运行一个示例,该函数会返回我所期望的:
Coef(c(4,11,7,15,5,14,8,9,14,17,14,13))
cbind(1:length(x)) 0.6888112
解决方案
所以我遇到了类似的问题,最后使用滑块找到了以下解决方案。这提供了 3 天的滚动估算(当然您可以根据需要进行更改)。这并不能完全得到你的答案(你可能会通过循环得到),但大部分都是这样。
library(MASS)
library(dplyr)
library(slider)
dat <- tibble::tibble(customers = c(4,11,7,15,5,14,8,9,14,17,14,13)) %>%
mutate(t = 1:n() %>% as.numeric())
dat %>%
mutate(results = slide_dbl(.x = .,
.f = ~rlm(customers ~ t, k = 12, data = .x)$coefficients[2],
.before = 2,
.complete = T))
推荐阅读
- c# - 如何检测每次在上下文菜单(winforms)上按下一个键?
- ansible - 从循环中跳过项目
- android - 如何创建文件夹 getExternalStorageDirectory 已弃用
- android - getRootView() 有什么作用?
- liferay - 如何覆盖 Liferay 中的默认社交书签
- linux - Linux UDev 规则 HDMI
- swiftui - 如果有多个可滚动视图,如何更改数字表冠滚动的内容?
- php - 如何更改 json_encode API 格式 laravel?
- ios - 如何为collectionviewcell的删除自定义动画?
- notepad++ - 查找相同的单词,但在不同的文件中替换为不同的单词