全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1944 5
2017-03-07
请问这段语句中
data a;
  input state $ city $ month x;
cards;
nc a 1 3.02
nc a 2 8.1
nc b 1 5.03
nc b 2 6.3
va c 1 8.1
va c 2 8.2
va d 1 10.8
va d 2 11.1
;
run;
data a1;
  set a;
by month;这里要是换成by state就可以输出结果,为什么month就说ERROR: 在数据集 WORK.BY 中没有正确排序 BY 变量?
file print;
if x=8.1 then put _all_;
run;

二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-7 21:15:35
/*选出特定变量值的观测*/
data a;
input state$ city$ month x;
cards;
nc a 1 3.02
nc a 2 8.1
nc b 1 5.03
nc b 2 6.3
va c 1 8.1
va c 2 8.2
va d 1 10.8
va d 2 11.1
;
proc sort data=a;by state;run;
/*proc sort data=a;by month;run;*/
/*set之前最好要sort一下,读取机制看看论坛的PDV解析*/
data a1;
set a;
by state;
file print;
if x=8.1 then put _all_;
run;
二维码

扫码加我 拉你入群

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

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

2017-3-8 19:33:43
格子mao 发表于 2017-3-7 20:49
请问这段语句中
data a;
  input state $ city $ month x;
因为by后面跟的变量应该是字符型
二维码

扫码加我 拉你入群

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

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

2017-3-9 16:16:45
zdznet 发表于 2017-3-8 19:33
因为by后面跟的变量应该是字符型
不是字符型或者数值型问题, state 在你input的数据集就已经按从低到高排好序了,但是month 没有按照从低到高排序。 你可以试下把 state=‘va’的放在nc 前面,照样报错。by 一般要排序后再用
二维码

扫码加我 拉你入群

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

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

2017-3-12 17:41:45
lovexialulu 发表于 2017-3-9 16:16
不是字符型或者数值型问题, state 在你input的数据集就已经按从低到高排好序了,但是month 没有按照从低 ...
谢谢您!
二维码

扫码加我 拉你入群

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

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

2019-1-23 22:57:46
学习了
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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