楼主: playmore
10446 7

[问答] 请问如何在data.frame里根据一定的条件生成新的变量 [推广有奖]

已卖:1645份资源

学科带头人

2%

还不是VIP/贵宾

-

TA的文库  其他...

R相关

经济学相关

金融工程

威望
1
论坛币
16356 个
通用积分
8.6697
学术水平
372 点
热心指数
394 点
信用等级
341 点
经验
15297 点
帖子
1194
精华
1
在线时间
1332 小时
注册时间
2007-1-11
最后登录
2025-12-1

初级学术勋章 初级热心勋章 中级热心勋章

楼主
playmore 发表于 2014-3-14 16:50:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一个data.frame,现在有一列a
我想要一列b,若a>0则b=1,否则b=0

请问该怎么做,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Frame Fram Data FRA RAM 如何

已有 1 人评分学术水平 收起 理由
丁兆海4 + 1 精彩帖子

总评分: 学术水平 + 1   查看全部评分

本帖被以下文库推荐

playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

沙发
yywan0913 在职认证  发表于 2014-3-14 17:12:30
  1. b=ifelse(a>0,1,0)
复制代码
是什么给了你自信

藤椅
yywan0913 在职认证  发表于 2014-3-14 17:23:22
  1. library(data.table)
  2. x=data.table(a=rnorm(10),c=rnorm(10))
  3. #加一列b
  4. xx=x[,b:=ifelse(a>0,1,0)]
  5. xx
复制代码
这个好用些
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
李会超 + 20 精彩帖子
playmore + 5 + 5 + 5 观点有启发

总评分: 经验 + 20  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

是什么给了你自信

板凳
playmore 发表于 2014-3-14 17:39:19
yywan0913 发表于 2014-3-14 17:23
这个好用些
多谢,才知道有data.table这个包,回头看看
另外是用:=来赋值吗?看起来有点像PASCAL啊
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

报纸
playmore 发表于 2014-3-14 17:41:07
yywan0913 发表于 2014-3-14 17:12
多谢,另外问下如果判断条件比较复杂,比如说要嵌套了
是不是只能用写Excel函数那样嵌套着写了
我觉得这么做的话,下次再看代码,肯定不知道之前自己做什么了
playmore邀请您访问ChinaTeX论坛!!!进入ChinaTeX论坛

地板
yywan0913 在职认证  发表于 2014-3-14 19:02:35
playmore 发表于 2014-3-14 17:41
多谢,另外问下如果判断条件比较复杂,比如说要嵌套了
是不是只能用写Excel函数那样嵌套着写了
我觉得这 ...
再复杂也没问题啊   ifelse可以一直嵌套下去。比如ifelse(a>0,1,ifelse(a<-2,0,-1))之类,
这个包处理比较大的数据好很多。是那样赋值。可以看下。
是什么给了你自信

7
丁兆海4 在职认证  学生认证  发表于 2017-4-4 09:39:11
深受启发

8
xyllate 发表于 2017-4-17 19:22:17
data.frame$b=as.numeric(data.frame$a>0)  $显示不出来?自己补充一下,在data.frame后面

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

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