由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 跪求SAS大牛们一个简单问题
相关主题
SAS problem ask for help!help in sas
SAS code - help needed. 8 个包子酬谢sas读入数据时的一个问题请教
SAS Technical Interview Questions求问sas数据处理
问一个简单的SAS问题,多谢SAS -proc transpose 急问!
求教 SAS数据转化请教下SAS Base 70题的第59题
请教个用SAS读数据的问题。sas大牛们这个要怎么实现呀
请教一个SAS问题[合集] 请求帮忙!一个问题in SAS programming
请教:SAS 处理Repeated Measurement的问题有关EM algorithm 的问题
相关话题的讨论汇总
话题: type话题: weight话题: change话题: weights话题: data
进入Statistics版参与讨论
1 (共1页)
g**u
发帖数: 205
1
木有思路啊~~~就算给个提示也好 T_T
有这么个data set,学生体重
data weights;
input type age weight;
datalines;
t 6 77
t 7 84
s 6 88
s 6 68
s 7 92
x 6 53
x 7 69
x 7 88
x 8 84
;
run;
我想加个variable进去,叫Change,用来表示体重是增加了还是减少。如果前一个比后
一个高,type=1;如果前一个比后一个低,type=0。
想了好几个思路,if/then, sql,但都不知道怎么用code来比较。
麻烦了,帮我想想吧
v******i
发帖数: 1246
2
transpose一下什么都解决了
t*******t
发帖数: 633
3
可以用retain但是新手比较难handle。
用lag吧:
data weights_lag;
set weights;
weight_pre=lag(weight);
ind=(weight_pre run;
看看是不是你想要的?

【在 g**u 的大作中提到】
: 木有思路啊~~~就算给个提示也好 T_T
: 有这么个data set,学生体重
: data weights;
: input type age weight;
: datalines;
: t 6 77
: t 7 84
: s 6 88
: s 6 68
: s 7 92

g**u
发帖数: 205
4
@_@ 还是不明白

【在 v******i 的大作中提到】
: transpose一下什么都解决了
g**u
发帖数: 205
5
很接近了。但如果是相同type的来比较,而且change在每种type的第一个value是0呢?

【在 t*******t 的大作中提到】
: 可以用retain但是新手比较难handle。
: 用lag吧:
: data weights_lag;
: set weights;
: weight_pre=lag(weight);
: ind=(weight_pre: run;
: 看看是不是你想要的?

t*******t
发帖数: 633
6
酱紫呢?
data weights_lag;
set weights;
weight_pre=lag(weight);
type_pre=lag(type);
if type_pre=type then
ind=(weight_pre else ind=0;
run;

【在 g**u 的大作中提到】
: 很接近了。但如果是相同type的来比较,而且change在每种type的第一个value是0呢?
c******n
发帖数: 380
7

那就再加上
by type;
if first.type then ind=0;
else ind=.........;

【在 g**u 的大作中提到】
: 很接近了。但如果是相同type的来比较,而且change在每种type的第一个value是0呢?
g**u
发帖数: 205
8
Exactly what I'm looking for!
谢啦~~~~膜拜高手ing

【在 t*******t 的大作中提到】
: 酱紫呢?
: data weights_lag;
: set weights;
: weight_pre=lag(weight);
: type_pre=lag(type);
: if type_pre=type then
: ind=(weight_pre: else ind=0;
: run;

g**u
发帖数: 205
9
嗯,这个也可以的。谢啦。
我刚才还在想要不要用proc tabulate来class一下再table
不过用by和first.type ,last.type更好,没有再增加新的proc

【在 c******n 的大作中提到】
:
: 那就再加上
: by type;
: if first.type then ind=0;
: else ind=.........;

v******i
发帖数: 1246
10
proc transpose ....
so that you get
type age1 weight1 age2 weight2

【在 g**u 的大作中提到】
: @_@ 还是不明白
s*********2
发帖数: 11
11
using dif1 function.
solution:
data weights;
input type $ age weight;
datalines;
t 6 77
t 7 84
s 6 88
s 6 68
s 7 92
x 6 53
x 7 69
x 7 88
x 8 84
;
run;
data change; set weights;
change=dif1(weight);
if change=. then type=.;
else if change<0 then type=1;
else if change>0 then type=0;
proc print data=change;run;
1 (共1页)
进入Statistics版参与讨论
相关主题
有关EM algorithm 的问题求教 SAS数据转化
请教SAS base 123 一题请教个用SAS读数据的问题。
[合集] 用SAS or SUDAAN处理人口统计数据的问题请教一个SAS问题
两个简单的SAS问题请教:SAS 处理Repeated Measurement的问题
SAS problem ask for help!help in sas
SAS code - help needed. 8 个包子酬谢sas读入数据时的一个问题请教
SAS Technical Interview Questions求问sas数据处理
问一个简单的SAS问题,多谢SAS -proc transpose 急问!
相关话题的讨论汇总
话题: type话题: weight话题: change话题: weights话题: data