看板 Statistics 關於我們 聯絡資訊
※ 引述《lordoffish (阿邦)》之銘言: : [軟體程式類別]: : SAS : [程式問題]: : 因個人需求我需要數在多個變數內出現特定數字或字元的數量 : 例如:資料總共有5個變數 皆為數值型 : ID VAR1 VAR2 VAR3 VAR4 VAR5 : 1 5 4 5 3 1 : 2 3 2 1 2 3 : 3 4 5 2 2 1 : 請有程式碼可以直接數出ID為1的資料在5個變數中,5這個數字共出現幾次嗎? : [軟體熟悉度]: : 中(3個月到1年) : ----------------------------------------------------------------------------- 我也來提供一個寫法, 這寫法也不管你有幾個變數有幾筆records 假設你的dataset如下: data a; id=1; var1=5; var2=4; var3=5; var4=4; var5=1;output; id=2; var1=3; var2=2; var3=1; var4=2; var5=3;output; id=3; var1=4; var2=5; var3=2; var4=2; var5=1;output; run; %macro names; %let dsid=%sysfunc(open(a,i)); %do j = 1 %to %sysfunc(attrn(&dsid,nobs)); %let rr = %sysfunc(fetch(&dsid)); %let qq=0; %do i=2 %to %sysfunc(attrn(&dsid, nvars)); %if %sysfunc(getvarn(&dsid,&i)) = 5 %then %do; %let qq = %eval(&qq+1); %end; %end; %put ID&j=&qq; %end; %let dsid = %sysfunc(close(&dsid)); %mend names; %names; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.140.157.215