由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - SAS 求助
相关主题
请教SAS中数值变量的missing value转换请教SAS ADV一道题!
请教SAS编程请教sas code问题
【包子】R 时间变量做减法[合集] 说一个proc sort的很简单却总有人错的问题
询问一个SAS数据处理问题sas 提取变量问题请教,急!
SAS如何实现两个数据库分组并接请教一个sas的基本问题
which route in SAS is faster?Matlab求教 (转载)
请教 2 道SAS Adv 真题请教一个sas的sort date变量问题
急!SAS adv的一道题,谢谢!用 sas 分组问题
相关话题的讨论汇总
话题: tlevel话题: tfw话题: else话题: sas话题: w10
进入Statistics版参与讨论
1 (共1页)
c*********r
发帖数: 1802
1
处理数据中,按其中一个变量的数值大小,分成10组,标记成w1-w10。
共168个obs,没有缺失值,用proc sort将该变量排了序,
然后用if, else if, else分组,(检查了N遍,确信中间没有断档)
结果只得到8组数据,最后2个组的数据丢了,run了很多遍,不知道为何?
抓狂中。。。
紧急求助,包子答谢!
D******n
发帖数: 2836
2
why sort?

【在 c*********r 的大作中提到】
: 处理数据中,按其中一个变量的数值大小,分成10组,标记成w1-w10。
: 共168个obs,没有缺失值,用proc sort将该变量排了序,
: 然后用if, else if, else分组,(检查了N遍,确信中间没有断档)
: 结果只得到8组数据,最后2个组的数据丢了,run了很多遍,不知道为何?
: 抓狂中。。。
: 紧急求助,包子答谢!

c*********r
发帖数: 1802
3
我开始的时候没有sort,结果那部分大数值的数据被分在第一组最小数值一起,
我尝试sort以后,大数值数据不再出现在第一组里,但是也不再最后,不见了。
十分奇怪,我尝试重新启动sas,结果是一样的。

【在 D******n 的大作中提到】
: why sort?
c*********r
发帖数: 1802
4
没有人遇到过类似的问题吗?
data category;
set cate;
if TFW< 5 then Tlevel="W1";
else if 5<=TFW<8 then Tlevel="W2";
else if 8<=TFW<11 then Tlevel="W3";
else if 11<=TFW<14 then Tlevel="W4";
else if 14<=TFW<17 then Tlevel="W5";
else if 17<=TFW<20 then Tlevel="W6";
else if 20<=TFW<23 then Tlevel="W7";
else if 23<=TFW<26 then Tlevel="W8";
else if 26<=TFW<29 then Tlevel="W9";
else if 29<=TFW<32 then Tlevel="W10";
else if 32<=TFW<50 then Tlevel="W11";
else Tlevel="W12";
run;
proc print data=category;
by Tlevel;
ID Tlevel;
run;
print的数据到W9就没了,后面明明是有数据的,为什么会不显示了呢?
哪位大牛给指点一下阿?
k*******a
发帖数: 772
5
This seems to be a SAS BASe problem.
Since "W1" appears first, the length of Tlevel is 2 by default
so when you assign "W10" to it, "W10" becomes "W1"
The solution is simply use a length statement like
length Tlevel $5;

【在 c*********r 的大作中提到】
: 没有人遇到过类似的问题吗?
: data category;
: set cate;
: if TFW< 5 then Tlevel="W1";
: else if 5<=TFW<8 then Tlevel="W2";
: else if 8<=TFW<11 then Tlevel="W3";
: else if 11<=TFW<14 then Tlevel="W4";
: else if 14<=TFW<17 then Tlevel="W5";
: else if 17<=TFW<20 then Tlevel="W6";
: else if 20<=TFW<23 then Tlevel="W7";

L****n
发帖数: 3545
6
不错,基本功很扎实!赞!

【在 k*******a 的大作中提到】
: This seems to be a SAS BASe problem.
: Since "W1" appears first, the length of Tlevel is 2 by default
: so when you assign "W10" to it, "W10" becomes "W1"
: The solution is simply use a length statement like
: length Tlevel $5;

c*********r
发帖数: 1802
7
赞牛人!!!
献上包子。。。

【在 k*******a 的大作中提到】
: This seems to be a SAS BASe problem.
: Since "W1" appears first, the length of Tlevel is 2 by default
: so when you assign "W10" to it, "W10" becomes "W1"
: The solution is simply use a length statement like
: length Tlevel $5;

G*******s
发帖数: 10605
8
呵呵,这么搞W10,W11的都去W1了,定义字符串变量第一次赋值会确定长度,这种情况
你要先定义长度,length Tlevel $3 就可以了

【在 c*********r 的大作中提到】
: 没有人遇到过类似的问题吗?
: data category;
: set cate;
: if TFW< 5 then Tlevel="W1";
: else if 5<=TFW<8 then Tlevel="W2";
: else if 8<=TFW<11 then Tlevel="W3";
: else if 11<=TFW<14 then Tlevel="W4";
: else if 14<=TFW<17 then Tlevel="W5";
: else if 17<=TFW<20 then Tlevel="W6";
: else if 20<=TFW<23 then Tlevel="W7";

c*********r
发帖数: 1802
9
是的。谢谢!
刚开始学,sas用得不熟,正在准备考个证。正好学习了。

【在 G*******s 的大作中提到】
: 呵呵,这么搞W10,W11的都去W1了,定义字符串变量第一次赋值会确定长度,这种情况
: 你要先定义长度,length Tlevel $3 就可以了

v*********0
发帖数: 941
10
Cannot agree more :)

【在 G*******s 的大作中提到】
: 呵呵,这么搞W10,W11的都去W1了,定义字符串变量第一次赋值会确定长度,这种情况
: 你要先定义长度,length Tlevel $3 就可以了

1 (共1页)
进入Statistics版参与讨论
相关主题
用 sas 分组问题SAS如何实现两个数据库分组并接
怎样确定对照组的大小which route in SAS is faster?
R绘制散点图请教 2 道SAS Adv 真题
请教:怎么转换有零值的变量?急!SAS adv的一道题,谢谢!
请教SAS中数值变量的missing value转换请教SAS ADV一道题!
请教SAS编程请教sas code问题
【包子】R 时间变量做减法[合集] 说一个proc sort的很简单却总有人错的问题
询问一个SAS数据处理问题sas 提取变量问题请教,急!
相关话题的讨论汇总
话题: tlevel话题: tfw话题: else话题: sas话题: w10