由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 求SAS code,有包子
相关主题
求助:data manipulation的一个问题两个简单的SAS问题
sas问题ASK FOR ONE SAS QUESTION
问个sas编程的题R重要还是SAS重要?
老问题如何产生missing tablenon inferiority test for the difference of two proportions in "proc freq" ?
关于 proc means output 里的_freq_的小问题SAS code - help needed. 8 个包子酬谢
a SAS question中级SAS问题
新人求问SAS简单问题~~新人拜山,请教做SAS programmer主要用哪些procedure?
求教proc sql 问题SAS problem ask for help!
相关话题的讨论汇总
话题: week话题: 217话题: patient话题: 216话题: weight
进入Statistics版参与讨论
1 (共1页)
w*******e
发帖数: 182
1
一组肥胖者的体重数据。id是肥胖者,weight是体重,按时间顺序week测量的。但是数
据里很多缺失值,不是标注成 . 的missing value,就是直接没有那些数据。
id weight week
1 280 1
1 280 2
1 279 3
1 275 7
1 276 8
1 275 9
1 276 10
2 217 1
2 217 2
2 218 3
2 218 4
2 217 5
2 216 6
2 216 7
2 217 8
2 217 9
2 216 10
3 279 5
3 278 8
3 278 9
3 277 10
最后呢,想report出来,统计每个id缺失的时间在哪一段。结果看起来类似于下面这个
样子的,请问该怎么处理。
id missingweek
1 4-6
2 none
3 1-4, 6-7
另外,还想发现每个人体重的变化效果,就是compare the variance of each id's
weight.
多谢了先,有包子答谢。
w*******e
发帖数: 182
2
想过用 proc freq来做, 能找出那些有缺失值的id,但是不知道怎么address它们的缺
失范围。请求大侠指点。
data patient;
input id weight week;
cards;
1 280 1
1 280 2
1 279 3
1 275 7
1 276 8
1 275 9
1 276 10
2 217 1
2 217 2
2 218 3
2 218 4
2 217 5
2 216 6
2 216 7
2 217 8
2 217 9
2 216 10
3 279 5
3 278 8
3 278 9
3 277 10
run;
proc freq data=patient;
tables id/ out=id_freq (drop=percent);
run;
%let normal_freq= 10;
data id_freq;
set id_freq;
if Count NE &normal_freq then Missing=1;
else Missing=0;
run;

【在 w*******e 的大作中提到】
: 一组肥胖者的体重数据。id是肥胖者,weight是体重,按时间顺序week测量的。但是数
: 据里很多缺失值,不是标注成 . 的missing value,就是直接没有那些数据。
: id weight week
: 1 280 1
: 1 280 2
: 1 279 3
: 1 275 7
: 1 276 8
: 1 275 9
: 1 276 10

j******o
发帖数: 127
3
先对所有ID生成一个假的但week不缺的data,再merge by ID WEEK, 缺失weight的week
就是你要的时间。
proc sort data=patient out=two(keep=id) nodupkey; by id; run;
data _tem;
set two;
do week=1 to 10;
output;
end;
run;
p***7
发帖数: 535
4
I don't know but show some support here.
w*******e
发帖数: 182
5
great. 确实可以,把两个data set merge后,只取缺失week的部分,就是离想要的
table还有一点距离。
顺便问问,有没有其他什么方法,比如sql来做。

week

【在 j******o 的大作中提到】
: 先对所有ID生成一个假的但week不缺的data,再merge by ID WEEK, 缺失weight的week
: 就是你要的时间。
: proc sort data=patient out=two(keep=id) nodupkey; by id; run;
: data _tem;
: set two;
: do week=1 to 10;
: output;
: end;
: run;

p********r
发帖数: 1465
6
记得你不是从事marketing行业么?
w*******e
发帖数: 182
7
屁股哥,记忆力太好了,我兴趣广泛撒。

【在 p********r 的大作中提到】
: 记得你不是从事marketing行业么?
s******r
发帖数: 1524
8
data patient22;set patient;by id week;
flr_week=lag(week);
if id=lag(id) and flr_week awkward but works.
proc sql;
create table patient2 as select * from
(select a.id, a.week, min(b.week) as week2 from patient a
inner join patient b
on a.id=b.id and a.week group by a.id, a.week) aa left outer join
(select a.id,a.week from patient a inner join patient b
on a.id=b.id and a.week=b.week-1) bb
on aa.id=bb.id and aa.week=bb.week
where bb.id is null;
quit;run;
you work in marketing? I am interested in some marketing position. Do you
mind to share some basic model experience?

【在 w*******e 的大作中提到】
: great. 确实可以,把两个data set merge后,只取缺失week的部分,就是离想要的
: table还有一点距离。
: 顺便问问,有没有其他什么方法,比如sql来做。
:
: week

p********r
发帖数: 1465
9
那就在此基础上再做一次merge(先把之前缺失weight的填上个数字),这样得到的
week+1/-1就分别是各区间的最小/最大值。

【在 w*******e 的大作中提到】
: great. 确实可以,把两个data set merge后,只取缺失week的部分,就是离想要的
: table还有一点距离。
: 顺便问问,有没有其他什么方法,比如sql来做。
:
: week

l****u
发帖数: 529
10
proc sort data=one out=one;
by id week;
run;
data two;
set one;
retain w1-w10;
array new[10] w1-w10;
by id week;
if first.week then
do [i]=1 to 10;
new[i]=.;
end;
new[week]=weight;
if last.week;
run;
有包子?
1 (共1页)
进入Statistics版参与讨论
相关主题
SAS problem ask for help!关于 proc means output 里的_freq_的小问题
marketing analyst onsite 一般都怎么考SASa SAS question
SAS里缺失observation补全的问题新人求问SAS简单问题~~
新手问一个很基础的SAS code问题求教proc sql 问题
求助:data manipulation的一个问题两个简单的SAS问题
sas问题ASK FOR ONE SAS QUESTION
问个sas编程的题R重要还是SAS重要?
老问题如何产生missing tablenon inferiority test for the difference of two proportions in "proc freq" ?
相关话题的讨论汇总
话题: week话题: 217话题: patient话题: 216话题: weight