楼主: haichao1990
23789 16

[问答] 如何用R实现哑变量? [推广有奖]

  • 0关注
  • 0粉丝

大专生

91%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
395 点
帖子
35
精华
0
在线时间
75 小时
注册时间
2015-10-12
最后登录
2019-3-29

楼主
haichao1990 发表于 2016-7-8 19:24:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问因变量Y,自变量X1、X2、W三个自变量,如果W表示借款用途,有六种用途,把它作为哑元,用R语言怎么做呢?代码怎么实现?求助各位大侠。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R实现 如何用 哑变量 各位大侠 自变量 因变量 自变量 如何

沙发
felixzhao123 发表于 2016-7-8 21:09:10
  1. y=rnorm(10000,mean=5,sd=2)
  2. x=rep(c("A","B"),each=5000)
  3. dataset <- data.frame(x,y)


  4. require(caret)
  5. dum_Var <- dummyVars(y~x,dataset)
  6. dum_Var
  7. dataset_Dummy <- predict(dum_Var,dataset)
  8. head(dataset_Dummy)
复制代码
已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
maximas + 1 + 1 + 1 精彩帖子
李会超 + 60 精彩帖子
admin_kefu + 32 + 2 + 2 热心帮助其他会员

总评分: 经验 + 60  论坛币 + 32  学术水平 + 3  热心指数 + 3  信用等级 + 1   查看全部评分

藤椅
haichao1990 发表于 2016-7-8 22:06:28
felixzhao123 发表于 2016-7-8 21:09
谢谢

板凳
haichao1990 发表于 2016-7-9 12:30:54
felixzhao123 发表于 2016-7-8 21:09
大神,那怎么做线性回归呢

报纸
felixzhao123 发表于 2016-7-9 16:00:37
haichao1990 发表于 2016-7-9 12:30
大神,那怎么做线性回归呢
如果你是要做回归的话,实际上是不需要你自己创建哑变量的,具体看以下示例代码:
  1. > #### question about dummy variable and linear regression
  2. > sample_Dataset <- data.frame(x=rnorm(120,mean=6,sd=2),w=rep(c("UseA","UseB","UseC"),each=40),y=runif(120,100,300))
  3. >
  4. >
  5. > #### the "glm" (Generalized Linear Model),function DOES not need you to create dummy variables, it will create them for you
  6. > glm_Model <- glm(y~x+w,data=sample_Dataset,family = "gaussian")
  7. > summary(glm_Model)

  8. Call:
  9. glm(formula = y ~ x + w, family = "gaussian", data = sample_Dataset)

  10. Deviance Residuals:
  11.      Min        1Q    Median        3Q       Max  
  12. -115.281   -51.188    -5.828    56.976   106.068  

  13. Coefficients:
  14.             Estimate Std. Error t value Pr(>|t|)   
  15. (Intercept)  172.336     18.313   9.410 5.72e-16 ***
  16. x              4.101      2.667   1.538    0.127   
  17. wUseB         -4.560     13.252  -0.344    0.731   
  18. wUseC         13.018     13.157   0.989    0.324   
  19. ---
  20. Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

  21. (Dispersion parameter for gaussian family taken to be 3461.89)

  22.     Null deviance: 415180  on 119  degrees of freedom
  23. Residual deviance: 401579  on 116  degrees of freedom
  24. AIC: 1324.4

  25. Number of Fisher Scoring iterations: 2
复制代码
已有 1 人评分经验 论坛币 收起 理由
李会超 + 60 + 10 精彩帖子

总评分: 经验 + 60  论坛币 + 10   查看全部评分

地板
haichao1990 发表于 2016-7-9 17:10:34
felixzhao123 发表于 2016-7-9 16:00
如果你是要做回归的话,实际上是不需要你自己创建哑变量的,具体看以下示例代码:
哇,厉害,太谢谢了。还有哑元变量可以应用于Lasso回归里面吗?

7
felixzhao123 发表于 2016-7-9 17:26:29
haichao1990 发表于 2016-7-9 17:10
哇,厉害,太谢谢了。还有哑元变量可以应用于Lasso回归里面吗?
大部分模型都是可以支持因子里面有连续性和类别型的数据的,lasso我印象中也不例外,应该是不需要另作哑变量处理的,但是时间长了,记不清楚了。
如果要权威一点,可以参考一下introduction to statistical learning
你进我的主页,可以看到我以前分享过这本书,以及Trevor Hastie的视频的
我非常确定,对你会很有帮助

8
haichao1990 发表于 2016-7-9 17:31:37
felixzhao123 发表于 2016-7-9 17:26
大部分模型都是可以支持因子里面有连续性和类别型的数据的,lasso我印象中也不例外,应该是不需要另作哑变 ...
恶 ,好的,谢谢

9
haichao1990 发表于 2016-7-11 21:29:28
felixzhao123 发表于 2016-7-9 17:26
大部分模型都是可以支持因子里面有连续性和类别型的数据的,lasso我印象中也不例外,应该是不需要另作哑变 ...
最后一点不明白,w=rep(c("UseA","UseB","UseC"),each=40),这是固定每种重复40次,是0-40是UseA,41-80是UseB,81-120是UseC。但在实际应用中,并没有规律,数据不会出现这种情况,比如哑变量用途(0-其他债务,1-信用卡债务,2-房贷债务):1,2,0,1,1,2,1,0,0,……,1,像这种情况是怎么处理的呢?谢谢

10
haichao1990 发表于 2016-7-11 21:29:32
felixzhao123 发表于 2016-7-9 17:26
大部分模型都是可以支持因子里面有连续性和类别型的数据的,lasso我印象中也不例外,应该是不需要另作哑变 ...
最后一点不明白,w=rep(c("UseA","UseB","UseC"),each=40),这是固定每种重复40次,是0-40是UseA,41-80是UseB,81-120是UseC。但在实际应用中,并没有规律,数据不会出现这种情况,比如哑变量用途(0-其他债务,1-信用卡债务,2-房贷债务):1,2,0,1,1,2,1,0,0,……,1,像这种情况是怎么处理的呢?谢谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 21:13