r - R - 对长格式数据帧中的 id 标识的小标题运行回归
问题描述
我想循环一个长格式的数据帧,它的时间 序列元组由. 我将所有不同的 ID 存储在数据框“uniqueIDs”中。“Numberofrows”是包含上述时间序列元组的列表的长度。data_all_long
stockID
unique()
理想情况下,tmp 变量应将一个特定 ID 的所有数据临时存储在长列表中,以计算一个特定 ID 的回归并将其存储到一个向量中。总体结果应该是一个向量,其中包含不同 ID 的所有回归系数。
for(i in uniqueIDs){
for(j in 1:numberofrows){
tmp <- rbind(tmp,filter(data_all_long, stockId == i))
}
beta[,i] <- lm(mrf ~ stockreturn, data = tmp)
}
这里有人有什么想法吗?
解决方案
对于我对这个问题的理解,以下可能会做到这一点。
诀窍是通过每个结果数据帧split
的数据ID
和sapply
匿名函数。该函数将拟合模型并提取系数。
sp <- split(data_all_long, data_all_long$ID)
beta <- sapply(sp, function(tmp){
fit <- lm(mrf ~ stockreturn, data = tmp)
coef(fit)
})
推荐阅读
- r - R:在保留数字的同时从字符串中剥离序数指示符('st'、'nd'、'rd'、'th)
- php - laravel-echo-server 实时通知不起作用
- android - 如何使用 LiveData 和 ViewModel 类将数据从 Activity 发送到 Fragment
- jsp - 将值从 servlet 获取到 jsp 时如何删除 java.lang.NullPointerException
- algorithm - 逆时针排列 3D 顶点周围边缘的算法
- php - PHP 7 类不工作,它返回空白页
- java - 为什么泛型的这种使用不会引发运行时或编译时异常?
- android - Android Retrofit/OkHttp 以编程方式使用“8.8.8.8”进行 DNS 查找?
- apache-spark - 如何拆分包含字符串的数据框列
- c++ - “多重重载”使用具有重复类型的模板类