楼主: wfqqqfly
4985 8

[实际应用] 求助 :R语言 设置虚拟变量问题 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

17%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
143 点
帖子
6
精华
0
在线时间
31 小时
注册时间
2019-6-21
最后登录
2019-9-20

楼主
wfqqqfly 发表于 2019-6-23 22:14:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
R语言。 仅仅只用R语言,如果变量x大于5,生成一个新的虚拟变量,设置为1;小于5,设置为0,使用R语言具体怎么操作?谢谢大家了
二维码

扫码加我 拉你入群

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

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

关键词:虚拟变量 R语言 怎么操作

8TEVD%N9ZSE7BQ(JVMI`GUF.png (14.04 KB)

8TEVD%N9ZSE7BQ(JVMI`GUF.png

沙发
johnmy 发表于 2019-6-24 07:44:00
如果等于5呢

藤椅
johnmy 发表于 2019-6-24 07:45:38
假设你的数据框为df,新变量为y
  1. df$y <- 0
  2. for(i in 1:nrow(df)){if(df$x[i] > 5) df$y[i] <- 1}
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

板凳
caimiao0714 学生认证  发表于 2019-6-24 10:31:11
johnmy 发表于 2019-6-24 07:45
假设你的数据框为df,新变量为y
通常不鼓励用循环来实现。这个其实用矢量化的语法就可以实现,而且速度通常比loop快很多:
  1. df$y[df$x > 5] = 1
  2. df$y[df$x <= 5] = 0
复制代码
或者更简洁的语法:
  1. df$y = ifelse(df$x > 5, 1, 0)
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
今天也要学习呀 + 1 + 1 + 1 精彩帖子
admin_kefu + 20 + 2 + 2 + 2 热心帮助其他会员

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

报纸
wfqqqfly 发表于 2019-6-24 12:23:08
caimiao0714 发表于 2019-6-24 10:31
通常不鼓励用循环来实现。这个其实用矢量化的语法就可以实现,而且速度通常比loop快很多:或者更简洁的语 ...
非常感谢亲啊

地板
johnmy 发表于 2019-6-24 13:50:56
caimiao0714 发表于 2019-6-24 10:31
通常不鼓励用循环来实现。这个其实用矢量化的语法就可以实现,而且速度通常比loop快很多:或者更简洁的语 ...
谢谢。也想通过矢量化方式,献丑了。

7
caimiao0714 学生认证  发表于 2019-6-25 09:38:52
johnmy 发表于 2019-6-24 13:50
谢谢。也想通过矢量化方式,献丑了。
分享快乐

8
zhangyangsmith 发表于 2019-7-5 19:02:26
  1. # Following caimiao0714's notation
  2. df$y <- as.numeric(dfx > 5)
复制代码

9
zhangyangsmith 发表于 2019-7-5 19:03:39
  1. # Following caimiao0714's notation
  2. df$y <- as.numeric(dfx > 5)
复制代码

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

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