全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5824 6
2015-08-01
请问用R语言如何实现这种功能:给数据框新增一个变量b,当变量a等于0时,赋给变量b的值是0,当变量a等于1或2时,赋给变量b的值是1 。感谢帮忙~
二维码

扫码加我 拉你入群

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

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

全部回复
2015-8-1 22:02:35
复制代码
二维码

扫码加我 拉你入群

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

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

2015-8-1 22:35:39
万人往LVR 发表于 2015-8-1 22:02
问题解决啦~谢谢您  
可以请教一下这个语句cc <- (data1$bb>0)*1 是什么原理吗?为什么可以把1和2都变成1的呢?
二维码

扫码加我 拉你入群

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

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

2015-8-2 13:27:50
data1$bb指data1里的bb列
data1$bb>1返回每一个元素是否大于1,是的话返回TRUE,否则返回FALSE
TRUE与FALSE在参与计算时候会转为1和0,例如TRUE*1=1
代码将小于等于0的数变成0,大于0的数变成1
二维码

扫码加我 拉你入群

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

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

2015-8-2 13:57:59
万人往LVR 发表于 2015-8-2 13:27
data1$bb指data1里的bb列
data1$bb>1返回每一个元素是否大于1,是的话返回TRUE,否则返回FALSE
TRUE与FAL ...
明白了~  谢谢您~
可否再请教一下,下面这种情况如何用R实现呢?
新增一个变量b,当变量a介于0-10之间时,b=1;当变量a介于10-20之间时,b=2;
                      当变量a介于20-30之间时,b=3;当变量a介于30-50之间时,b=4;
                     
二维码

扫码加我 拉你入群

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

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

2015-8-2 14:03:05
b <- (a>=0+a>10+a>20+a>30)*(a>=0&a<=50)
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群