楼主: vieruodu
6109 3

[问答] 多个判断条件生成新变量 [推广有奖]

  • 0关注
  • 0粉丝

已卖:3份资源

本科生

36%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
2.3506
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1078 点
帖子
42
精华
0
在线时间
97 小时
注册时间
2011-1-23
最后登录
2024-1-8

楼主
vieruodu 发表于 2019-1-7 18:19:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

想向大家请教简单的方法来解决多个条件的判断


根据right列、choice列的数值,判断生成harm列的数值。

如果 right== 0 ,choice==1,那么harm==0

如果right==0,choice==2,那么harm==1

如果right==1,choice==1,那么harm==1

如果right==1,choice==2,那么harm==0


有没有简便的方法,越简便越好!


二维码

扫码加我 拉你入群

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

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

关键词:新变量 Choice RIGHT Harm ARM

回帖推荐

hszest 发表于4楼  查看完整内容

沙发
ievans 发表于 2019-1-7 18:25:09
假设数据集为mydata,为数据框

mydata["harm"] <- 0
mydata["harm"][which(mydata["right"] + mydata["choice"] == 2)] <- 1
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
admin_kefu + 20 + 2 + 2 热心帮助其他会员

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

藤椅
vieruodu 发表于 2019-1-7 18:26:25
没想自己回复自己,刚刚摸索出来的一种方法,大家给些建议。
allBC$harm[allBC$right==0] <- ifelse(allBC$choice[allBC$right==0]==2, 1, 0)

板凳
hszest 学生认证  发表于 2019-1-7 19:36:11
  1. df <- data.frame(
  2.     right = sample(c(0,1),10, replace = T),
  3.     choice = sample(c(1,2), 10, replace = T)
  4. )

  5. df[["harm"]] <- 1
  6. df[["harm"]][(df[["right"]] + df[["choice"]]) %% 2 == 1] <- 0
复制代码
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
admin_kefu + 30 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 2  热心指数 + 2   查看全部评分

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

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