首页 > 解决方案 > 重命名 data.frame 中的整数

问题描述

使用R...

我有一个data.frame有五个变量的。

其中一个变量colr的值范围为 1 到 5。

定义为integer具有值 12345的 。

问题:我想建立一个回归模型,其中colr、整数1234和中的值5被报告为具有以下名称的自变量。

1= 银色, 2= 蓝色, 3= 粉色, 4= 银色、蓝色或粉色以外的 5颜色,= 未报告颜色。

问题:有没有办法以与以下不同的方式提取或重命名这些值(因为此过程不会重命名,例如1Silver摘要回归输出中):

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)

我对任何允许我独立创建和命名这些不同值的方法持开放态度,但我更愿意看看是否有一种方法可以使用tidyverseordplyr因为这是我在构建多元模型时经常要做的事情。

感谢您的任何帮助。

标签: rdplyrstatisticsregressionforcats

解决方案


我不确定我是否以正确的方式理解你的问题,但你不能只使用

library(dplyr)
df <- df %>%
 mutate(color=factor(colr.f, levels=c(1:5), labels=c("silver", "blue", "pink", "not s, b, p", "not reported"))

然后只运行回归color

/编辑澄清。编造一些数据:

df <- data.frame(
  x=rnorm(100),
  color=factor(rep(c(1,2,3,4,5), each=20), 
               labels=c("Silver", "Blue", "Pink", "Not S, B, P", "Not reported")),
  y=rnorm(100, 4))

m1 <- lm(y~x+color, data=df)
m2 <- lm(y~x+color-1, data=df)
summary(m1)
Call:
lm(formula = y ~ x + color, data = df)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.96394 -0.59647  0.00237  0.56916  2.13392 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        3.93238    0.19312  20.362   <2e-16 ***
x                  0.13588    0.09856   1.379    0.171    
colorBlue         -0.07862    0.27705  -0.284    0.777    
colorPink         -0.02167    0.27393  -0.079    0.937    
colorNot S, B, P   0.15238    0.27221   0.560    0.577    
colorNot reported  0.14139    0.27230   0.519    0.605    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8606 on 94 degrees of freedom
Multiple R-squared:  0.0268,    Adjusted R-squared:  -0.02496 
F-statistic: 0.5177 on 5 and 94 DF,  p-value: 0.7623

summary(m2)

Call:
lm(formula = y ~ x + color - 1, data = df)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.96394 -0.59647  0.00237  0.56916  2.13392 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
x                  0.13588    0.09856   1.379    0.171    
colorSilver        3.93238    0.19312  20.362   <2e-16 ***
colorBlue          3.85376    0.19570  19.692   <2e-16 ***
colorPink          3.91071    0.19301  20.262   <2e-16 ***
colorNot S, B, P   4.08477    0.19375  21.083   <2e-16 ***
colorNot reported  4.07377    0.19256  21.156   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8606 on 94 degrees of freedom
Multiple R-squared:  0.9578,    Adjusted R-squared:  0.9551 
F-statistic: 355.5 on 6 and 94 DF,  p-value: < 2.2e-16

第一个模型是具有截距的模型,因此必须删除一个因子水平以避免完美的多重共线性。在这种情况下,银色的“效果”是截距的值,而其他颜色的“效果”是截距系数值+它们各自的系数值。

第二个模型是在没有截距(没有常数)的情况下估计的,因此您可以看到各个效果。但是,在估计没有截距的模型之前,您可能应该知道自己在做什么。


推荐阅读