由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 请教这种freq 该用什么code算(sas)?Thanks!
相关主题
sas问题问个sas编程的题
神奇的proc means求教proc sql 问题
求助:一个SAS小程序SAS help
SAS问题请教%do questions
请教sas问题请教一个sas求和的问题
一个关于SAS macro的问题sas proc report的问题。
请教一个macro的问题SAS code help
如何判断一个dataset是不是空的?sas问题
相关话题的讨论汇总
话题: data话题: name话题: compress话题: allvar话题: proc
进入Statistics版参与讨论
1 (共1页)
l**********s
发帖数: 255
1
data one;
input id x y;
datalines;
1 1 0
2 0 1
3 1 1
4 0 0
5 1 0
;
以上是我的数据(data one),我想建一个新的数据如下(data two),第一列是data one
里的变量名(x,y),第二列是"1"出现的次数,第三列是"1"出现的次数和总数(5)的比例
. 该怎么算呢?多谢多谢。
data two------
x 3 60%
Y 2 40%
l**********s
发帖数: 255
2
声明一点,以上不是题目,是老板给的活,鼓励俺自学+问人。
l***a
发帖数: 12410
3
proc tabulate data=one missing out=one_xy;
class x y;
table 'x', x*(n pctn);
table 'y', y*(n pctn);
run;
work out x and y separately and union one_x and one_y

one

【在 l**********s 的大作中提到】
: data one;
: input id x y;
: datalines;
: 1 1 0
: 2 0 1
: 3 1 1
: 4 0 0
: 5 1 0
: ;
: 以上是我的数据(data one),我想建一个新的数据如下(data two),第一列是data one

l**********s
发帖数: 255
4
另外如果数据(DATA ONE)稍改动下,x有MISSING DATA,算比例的时候不想把MISSING
DATA算在内, 也就是说总数是5-1=4,又该怎么办呢?
data one;
input id x y;
datalines;
1 1 0
2 0 1
3 1 1
4 0 0
5 . 0
;
l**********s
发帖数: 255
5
THANKS!!!!!!!!!!!!!!!!

【在 l***a 的大作中提到】
: proc tabulate data=one missing out=one_xy;
: class x y;
: table 'x', x*(n pctn);
: table 'y', y*(n pctn);
: run;
: work out x and y separately and union one_x and one_y
:
: one

o****o
发帖数: 8077
6
PROC FREQ
************************************;
proc freq data=one noprint;
table x/out=_xxxx(where=(x=1));
table y/out=_yyyy(where=(y=1));
run;
data _zzzz;
length var $ 1;
set _xxxx(in=_1 drop=x)
_yyyy(in=_2 drop=y);
if _1 then var='x';
else var='y';
run;

【在 l**********s 的大作中提到】
: 另外如果数据(DATA ONE)稍改动下,x有MISSING DATA,算比例的时候不想把MISSING
: DATA算在内, 也就是说总数是5-1=4,又该怎么办呢?
: data one;
: input id x y;
: datalines;
: 1 1 0
: 2 0 1
: 3 1 1
: 4 0 0
: 5 . 0

l***a
发帖数: 12410
7
then ignore the "missing" option

【在 l**********s 的大作中提到】
: 另外如果数据(DATA ONE)稍改动下,x有MISSING DATA,算比例的时候不想把MISSING
: DATA算在内, 也就是说总数是5-1=4,又该怎么办呢?
: data one;
: input id x y;
: datalines;
: 1 1 0
: 2 0 1
: 3 1 1
: 4 0 0
: 5 . 0

l**********s
发帖数: 255
8
I tried, but did not work.

【在 l***a 的大作中提到】
: then ignore the "missing" option
l**********s
发帖数: 255
9
Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

【在 o****o 的大作中提到】
: PROC FREQ
: ************************************;
: proc freq data=one noprint;
: table x/out=_xxxx(where=(x=1));
: table y/out=_yyyy(where=(y=1));
: run;
: data _zzzz;
: length var $ 1;
: set _xxxx(in=_1 drop=x)
: _yyyy(in=_2 drop=y);

l**********s
发帖数: 255
10
非常感谢楼上的牛人们,俺想了一上午的东东,牛人们一会就解决了!!
相关主题
一个关于SAS macro的问题问个sas编程的题
请教一个macro的问题求教proc sql 问题
如何判断一个dataset是不是空的?SAS help
进入Statistics版参与讨论
l**********s
发帖数: 255
11
再问下哈,谁知道spss里用哪个命令做呢?老板不用sas,每次都要把数据转成sas。俺
急需成为sas+spss双语人才。
s*******2
发帖数: 791
12
Mark
l**********s
发帖数: 255
13
data one;
input id x y Z A B C;
datalines;
1 1 0 1 1 1 1
2 0 1 1 1 1 1
3 1 1 1 1 1 1
4 0 0 1 1 1 1
5 1 0 0 0 0 0
;
再问下,其实我的真实数据里类似X,Y的数据有100多个,该怎么加上MACRO用呢?MACRO
是我攻克了好几次都失败的地方,试验了半天总出错。
我把DATA ONE又改动了一下,多了几个变量Z, A ,B,C。牛人们能否再教导下,加上
MACRO,怎么把变量 X,Y, Z, A,B,C一下子算出来呢?
l***a
发帖数: 12410
14
combine the use array and macro

MACRO

【在 l**********s 的大作中提到】
: data one;
: input id x y Z A B C;
: datalines;
: 1 1 0 1 1 1 1
: 2 0 1 1 1 1 1
: 3 1 1 1 1 1 1
: 4 0 0 1 1 1 1
: 5 1 0 0 0 0 0
: ;
: 再问下,其实我的真实数据里类似X,Y的数据有100多个,该怎么加上MACRO用呢?MACRO

o****o
发帖数: 8077
15
data one;
input id x y Z A B C;
datalines;
1 1 0 1 1 1 1
2 0 1 1 1 1 1
3 1 1 1 1 1 1
4 0 0 1 1 1 1
5 1 0 0 0 0 0
;
run;
proc contents data=one out=onevars(keep=name varnum where=(upcase(name)^='
ID')) noprint; run;
data _null_;
set onevars end=eof;
if _n_=1 then call execute('proc freq data=one noprint;');
call execute('table '||name||' /out'||compress('=_'||name)||'(where=('|
|name||'=1));');
if eof then call execute ('run;');
run;
options source ;
data _null_;
c

【在 l**********s 的大作中提到】
: data one;
: input id x y Z A B C;
: datalines;
: 1 1 0 1 1 1 1
: 2 0 1 1 1 1 1
: 3 1 1 1 1 1 1
: 4 0 0 1 1 1 1
: 5 1 0 0 0 0 0
: ;
: 再问下,其实我的真实数据里类似X,Y的数据有100多个,该怎么加上MACRO用呢?MACRO

l***a
发帖数: 12410
16
another one
proc contents data=one out=one_var (keep=name varnum where=(name~='id')) nop
rint;
run;
proc sort data=one_var;
by varnum;
run;
data _null_;
set one_var end=last;
length allvar $100.;
format allvar $100.;
retain allvar;
if _n_=1 then allvar='';
count+1;
call symput(compress('var'||count),compress(name));
allvar=compbl(allvar||name||' ');
if last then do;
call symput('allvar',compbl(allvar));
call symput ('var_ct',count);
end;
run;
%put &var_ct &var1 &var2 &var

【在 o****o 的大作中提到】
: data one;
: input id x y Z A B C;
: datalines;
: 1 1 0 1 1 1 1
: 2 0 1 1 1 1 1
: 3 1 1 1 1 1 1
: 4 0 0 1 1 1 1
: 5 1 0 0 0 0 0
: ;
: run;

o****o
发帖数: 8077
17
you may want to avoid those loopy macros in practice;
*********************;
proc sql noprint;
select cat('table ', compress(name),' /out=', compress('_'||name), '(
where=(',compress(name),'=1));')
into :tablestmt separated by ' '
from onevars
;
select (compress('_'||name)||'(in=_'||name||'drop='||name||')')
into :setstmt separated by ' '
from onevars
;
select ('if '||compress('_'||name)||'=1 then varname='||compress('"'||
name||'"')||'

【在 l***a 的大作中提到】
: another one
: proc contents data=one out=one_var (keep=name varnum where=(name~='id')) nop
: rint;
: run;
: proc sort data=one_var;
: by varnum;
: run;
: data _null_;
: set one_var end=last;
: length allvar $100.;

k*****u
发帖数: 1688
18
大牛人太强悍了啊
l***a
发帖数: 12410
19
//adm
guess I can see your sas coding style. will try later

【在 o****o 的大作中提到】
: you may want to avoid those loopy macros in practice;
: *********************;
: proc sql noprint;
: select cat('table ', compress(name),' /out=', compress('_'||name), '(
: where=(',compress(name),'=1));')
: into :tablestmt separated by ' '
: from onevars
: ;
: select (compress('_'||name)||'(in=_'||name||'drop='||name||')')
: into :setstmt separated by ' '

l**********s
发帖数: 255
20
真心感谢各位牛人的指导!!困扰了几天的问题解决了,今天晚上俺可以早点睡觉了,
哈哈。
l**********s
发帖数: 255
21
接下来感叹,啥时候俺也能牛几把呢?决定把看了一半的SAS书再借回来看看。
1 (共1页)
进入Statistics版参与讨论
相关主题
sas问题请教sas问题
sas题目恳请前辈指点!!一个关于SAS macro的问题
排序的问题,请问高手用SAS怎么做?请教一个macro的问题
请问一个SAS proc sql的写法如何判断一个dataset是不是空的?
sas问题问个sas编程的题
神奇的proc means求教proc sql 问题
求助:一个SAS小程序SAS help
SAS问题请教%do questions
相关话题的讨论汇总
话题: data话题: name话题: compress话题: allvar话题: proc