【问题标题】:about dummy variables in r关于 r 中的虚拟变量
【发布时间】:2019-01-19 08:24:48
【问题描述】:

我是 R 语言的新手,对于我的任务,我正在尝试为不同的变量(总共 3 个)生成多个级别的虚拟变量。但是,我遇到的每种方法都有问题:

方法1:后跟https://stats.idre.ucla.edu/r/modules/coding-for-categorical-variables-in-regression-models/ 代码:

> housing_prices2$Fuel.Type.f <- factor(housing_prices2$Fuel.Type)
> is.factor(housing_prices2$Fuel.Type.f)
[1] TRUE
> housing_prices2$Fuel.Type.f[1:10]
 [1] Electric Gas      Gas      Gas      Gas      Gas      Oil     
 [8] Oil      Electric Gas     
Levels: Electric Gas None Oil Solar Unknown/Other Wood

效果很好。但是,当我在下一行遇到问题时:

> summary(lm(write ~ Fuel.Type.f, data = housing_prices2))  
Error in model.frame.default(formula = write ~ Fuel.Type.f, data = housing_prices2,:          object is not a matrix

我只是不知道这个错误,对我来说没有意义,所以我决定使用另一种方法;

方法2:后跟Convert categorical variables to numeric in R

对于可变Fuel.Type,效果很好:

> Fuel.Type <- as.factor(c("Electric", "Gas", "None", "Oil", "Solar", "Unknown/Other",
+                          "Wood"))
> Fuel.Type
[1] Electric      Gas           None          Oil           Solar        
[6] Unknown/Other Wood         
Levels: Electric Gas None Oil Solar Unknown/Other Wood
> unclass(Fuel.Type)
[1] 1 2 3 4 5 6 7
attr(,"levels")
[1] "Electric"      "Gas"           "None"          "Oil"          
[5] "Solar"         "Unknown/Other" "Wood"         

但是当我尝试为其他变量生成假人时,我得到了这个错误:

> housing_prices2$Heat.Type.f[1:10]
NULL
Warning message:
Unknown or uninitialised column: 'Heat.Type.f'. 

我也不知道这些错误发生了什么... 任何建议表示赞赏!

顺便说一句,这是我的示例数据表:

>$ Fuel.Type    : chr  "Electric" "Gas" "Gas" "Gas"

>$ Heat.Type    : chr  "Electric" "Hot Water" "Hot Water" "Hot Air"

>$ Sewer.Type   : chr  "Private" "Private" "Public" "Private"

【问题讨论】:

  • 你能提供一个可重现的例子吗?例如,请参阅here
  • @StanZutt 我正在尝试...对语法感到抱歉,R 总是这样做~
  • 请发布您的数据。试试dput()
  • @StanZutt 我知道了,非常感谢

标签: r statistics regression


【解决方案1】:

我昨晚发现了我的问题。 问题是我搞砸了数据文件,因为我创建了一个名为:

hp2 <- read_excel("Desktop/hw/424/hw1/housing_prices2.xlsx")

另外,我也弄乱了 Y 变量,见

summary(lm(write ~ Fuel.Type.f, data = housing_prices2))  

我的 Y 变量实际上没有写。

【讨论】:

    猜你喜欢
    • 2015-10-23
    • 1970-01-01
    • 2016-12-08
    • 2018-11-25
    • 2018-01-20
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-24
    相关资源
    最近更新 更多