楼主: zhizhi12
1348 3

[问答] 虚拟变量 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

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

楼主
zhizhi12 发表于 2019-1-19 17:22:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
一个数据框有一列是教育程度,一共6个类别,想将这6类设为5个虚拟变量作为新的变量,加入数据框,R语言该怎么实现,谢谢各位大佬了
二维码

扫码加我 拉你入群

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

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

关键词:虚拟变量 教育程度 数据框 R语言

沙发
fyc7346165 发表于 2019-1-19 22:31:06
如果你是要做回归的话,R中做回归是会自动生成虚拟变量的

如果是基于其他原因,可以试试下面这样,
结果直接生成了六个类别六个变量,不需要哪个删掉就好了
  1. library(tidyr)
  2. library(dplyr)
  3. set.seed(123)
  4. df <- data.frame(id = 1:100, edu = sample(LETTERS[1:6], 100, replace = TRUE))
  5. df <- df %>%
  6.   mutate(value = 1) %>%
  7.   spread(key = "edu", value = "value") %>%
  8.   llply(function(x) ifelse(is.na(x), 0, x)) %>%
  9.   as.data.frame()
复制代码


不过总觉得应该会有什么包里的什么函数直接就能完成这个...
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 精彩帖子

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

藤椅
zhizhi12 发表于 2019-1-20 15:17:56
谢谢您的帮助

板凳
jiangbeilu 学生认证  发表于 2019-1-21 09:37:44
你直接把那个变量类型转成factor,回归的时候直接用,就可以,不需要再另外转了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-17 13:59