基于purrr包map系列函数实现随机游走列间回归系数估算
使用purrr批量提取线性回归系数
你可以通过以下步骤用purrr包实现无循环的批量回归系数提取:
- 首先将矩阵
M.x和M.y的列转换为列表,让每一列对应列表的一个元素,方便purrr映射函数处理:
library(purrr) # 将矩阵列转为列表 x_list <- as.list(as.data.frame(M.x)) y_list <- as.list(as.data.frame(M.y))
- 用
map2_dbl函数对两个列表的对应元素配对执行线性回归,直接提取回归系数:
# 批量拟合无截距线性回归并提取系数 coef_results <- map2_dbl(x_list, y_list, ~ coef(lm(.y ~ -1 + .x)))
代码说明
map2_dbl是map2的数值输出变体,会直接返回长度为1000的数值向量,省去后续类型转换步骤。- 匿名函数
~ coef(lm(.y ~ -1 + .x))中,.x对应x_list的单个列元素,.y对应y_list的对应列元素,对每一组配对完成无截距线性回归并提取系数。
最终coef_results中的每个元素,对应一组列配对的回归系数结果。
内容的提问来源于stack exchange,提问作者chromanna
相关产品推荐
相关产品推荐

