Re: [程式] SAS資料處理 如何從一列中選取前三大資料
※ 引述《iterate (碎形)》之銘言:
: [軟體程式類別]: SAS 9.1
: 請填入軟體程式類別 例如SAS、SPSS、R、EVIEWS...等
: [程式問題]: 資料處理
: 資料處理、迴歸、敘述統計、logistic、probit...等
: [軟體熟悉度]: 新手
: [問題敘述]: 如何從一列資料中選取前三大資料
: EX: 學號 國文 英文 數學 物理 化學 生物
: 1 80 70 60 70 80 100
: 2 55 65 75 60 90 20
: 希望能得到
: 學號 Total
: 1 100+80+80
: 2 90+75+65
: 請詳盡敘述遭遇到的問題,可能的話,分點敘述你要處理的流程
: 能夠分點敘述處理流程,基本上在撰寫程式或者跑統計時是相當有幫助的
: 甚至有經驗的人可以藉此告知你步驟是否錯誤
: [程式範例]:
以下提供我的作法
data a;
input id chinese eng math physics chemical biological;
cards;
1 80 70 60 70 80 100
2 55 65 75 60 90 20
;
run;
proc transpose data=a out=b;;
by id;
run;
data b;
set b;
run;
proc sort data=b;by id descending col1;
run;
data b;
set b;
retain n 0;
n=n+1;
if id^=lag(id) then n=1;
if n>3 then total=0;else total=col1;
run;
proc means sum;
var total;
class id;
run;
: 初學SAS即遇到這麼困難的問題
: 再請各位予以指導,感謝
: ※ 編輯: iterate 來自: 140.128.67.249 (09/07 14:47)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.29.183
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):