r - lm 回归问题
问题描述
我正在做一个简单的回归,我想用 RF(无风险利率)和 MRP(市场风险溢价)来解释资产的回报。我从 excel 文件中提取所有数据并将它们强制到 data.frame 中。由于 lm 要求数据类型为 data.frame。
现在我在一个数据框中得到了 320 行和 3 列。但回归仍然行不通。我也得到了很多系数,而不仅仅是 3。
我的代码:
dataset <- data.frame(rets[,1],RF,MRP)
lm(formular=rets...2.~RF + Mkt.RF, data=dataset)
在 lm 公式中,我输入了每列标题的确切名称。
哦,忽略 RF 和 MRP 的百分比。这当然必须改变。
解决方案
看起来您的变量 RF 和 Mtk.RF 被读取为分类变量,而不是数字变量。这就是为什么有很多系数(每个“类别”一个)。尝试这些并再次拟合 lm 函数。
dataset$RF <- as.numeric(dataset$RF)
dataset$Mtk.RF <- as.numeric(dataset$Mtk.RF)
推荐阅读
- solr - solr 架构中的复制字段不起作用
- c - 尝试运行一个程序,在运行函数 copyij() 和 copyji() 后以秒为单位跟踪经过的时间
- python - 如何在没有确定停止参数的模式时使用 slice() 获取子字符串 pandas 系列
- tcp - 如何检查非阻塞 luasocket 客户端是否丢失了连接?
- string - 如何使用 grep/sed/awk 根据匹配模式将一个文件中的行替换为另一个文件中的行?
- c# - 将用户表单输入保存到模型并在视图中显示(“对象引用未设置为对象的实例”)
- html - 使 div 的“a”项不具有相同的 css 属性
- centos7 - Postfix 邮件日志:是否可以防止某些类型的守护进程/模块事件消息被写入日志?
- regex - 在已编译的正则表达式中禁用捕获?(例如,Perl 5.22+、/n 修饰符)
- c++ - 使用 std::min_element, std::max_element 查找向量中的最小和最大元素