楼主: 营销大人
11610 9

怎么把连续变量转换成分类变量 [推广有奖]

  • 2关注
  • 0粉丝

硕士生

25%

还不是VIP/贵宾

-

威望
0
论坛币
511 个
通用积分
0
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
989 点
帖子
79
精华
0
在线时间
121 小时
注册时间
2013-9-30
最后登录
2015-12-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比方说受教育年龄从0到20年,1-6年为小学,7-12年为中学,13-16年为大学,17-19为硕士,20及以上为博士,请教各位大神
二维码

扫码加我 拉你入群

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

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

关键词:变量转换 连续变量 分类变量 博士 大学 硕士 中学

回帖推荐

pobel 发表于6楼  查看完整内容

if 0
已有 1 人评分热心指数 收起 理由
eijuhz + 2 鼓励积极发帖讨论

总评分: 热心指数 + 2   查看全部评分

沙发
URSIMON 发表于 2014-8-10 22:33:32 |只看作者 |坛友微信交流群
data work;
set
if 0< 教育年龄<20,then category=1;
if...                     ,then category=2;
........

使用道具

藤椅
营销大人 发表于 2014-8-10 23:18:10 |只看作者 |坛友微信交流群
URSIMON 发表于 2014-8-10 22:33
data work;
set
if 0< 教育年龄
data new;
set work.fitness;
if 0<weight<=70,then category=1;
if 70<weight<80,then category=2;

if weight>=80,then category=3;
run;
我的程序出现以下错误,这是怎么回事?
data new;
66   set work.fitness;
67   if 0<weight<=70,then category=1;
                    -
                    388
                    200
68   if 70<weight<80,then category=2;
                    -
                    388
                    200
ERROR 388-185: 期望算术运算符。

ERROR 200-322: 该符号不可识别,将被忽略。

69
70   if weight>=80,then category=3;
                  -
                  388
                  200
ERROR 388-185: 期望算术运算符。

ERROR 200-322: 该符号不可识别,将被忽略。

71   run;

NOTE: 由于出错,SAS 系统停止处理该步。
WARNING: 数据集 WORK.NEW 可能不完整。该步停止时,共有 0 个观测和 10 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.01 秒
      CPU 时间          0.01 秒


NOTE: 该 SAS 会话使用的是 WORK 中的注册表,结束会话时将不会保存任何更改。
NOTE: 该 SAS 会话使用的是 WORK 中的注册表,结束会话时将不会保存任何更改。

使用道具

板凳
ermutuxia 发表于 2014-8-11 13:19:40 |只看作者 |坛友微信交流群
if 0<weight<=70,then category=1;
改成
if weight>0 &  weight<=70,then category=1;

使用道具

报纸
营销大人 发表于 2014-8-12 20:36:56 |只看作者 |坛友微信交流群
ermutuxia 发表于 2014-8-11 13:19
if 0
还是不对,同样错误

使用道具

地板
pobel 在职认证  发表于 2014-8-13 07:24:59 |只看作者 |坛友微信交流群
营销大人 发表于 2014-8-12 20:36
还是不对,同样错误
if 0<weight<=70,then category=1;的逗号要改成空格。

if 0<weight<=70  then category=1;
else if 70<weight<80 then category=2;
已有 1 人评分论坛币 收起 理由
ermutuxia + 5 精彩帖子

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

使用道具

7
营销大人 发表于 2014-8-13 12:05:32 |只看作者 |坛友微信交流群
pobel 发表于 2014-8-13 07:24
if 0
非常正确,感谢您啊

使用道具

if...then...;
else if if...then category...;
else if if...then category....;
run;
不要少了else

使用道具

9
wodematlab 发表于 2015-6-22 09:38:59 |只看作者 |坛友微信交流群
你这种人工手工分组,感觉很累~,如果变量多就不行了

使用道具

wodematlab 发表于 2015-6-22 09:38
你这种人工手工分组,感觉很累~,如果变量多就不行了
请问有批量连续变量转为换分类变量的方法吗?

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 01:01