【发布时间】:2020-05-31 19:09:13
【问题描述】:
使用R...
我有一个带有五个变量的data.frame。
其中一个变量colr 的值介于1 到5 之间。
定义为integer,其值为1、2、3、4 和5。
问题: 我想建立一个回归模型,其中 colr 内的值、整数 1、2、3、4 和 5报告为具有以下名称的自变量。
1 = 银,
2 = 蓝色,
3 = 粉红色,
4 = 银色、蓝色或粉色除外,
5 = 未报告颜色。
问题:有没有办法以不同于以下的方式提取或重命名这些值(因为此过程不会重命名,例如 1 到 Silver 在总结回归输出):
lm(dependent variable ~ + I(colr.f == 1) +
I(colr.f == 2) +
I(colr.f == 3) +
I(colr.f == 4) +
I(colr.f == 5),
data = df)
我对任何允许我独立创建和命名这些不同值的方法持开放态度,但我更愿意看看是否有办法使用tidyverse 或dplyr 这样做,因为这是我必须要做的事情在构建多变量模型时经常这样做。
感谢您的帮助。
【问题讨论】:
-
您应该使用 Ben T 建议的因子。在您发布的方法中,您没有基础级别,这将导致完美的共线性
-
我试图运行提供的代码,但它告诉我这个...
Error in factor(colr.f, levels = c(1:5), labels = c("Silver", "Blue", : object 'colr.f' not found -
在这种情况下,您在数据框中的变量没有名称
colr.f我想
标签: r dplyr statistics regression forcats