量表信度分析的sas程序語言是什么語句
AS語句
SAS語言程序由數據步和過程步組成。數據步用來生成數據集、計算、整理數據,過程步用來對數據進行分析、報告。SAS語言的基本單位是語句,每個SAS語句一般由一個關鍵字(如DATA,PROC,INPUT,CARDS,BY)開頭,包含SAS名字、特殊字符、運算符等,以分號結束。
SAS關鍵字是用于SAS語句開頭的特殊單詞,SAS語句除了賦值、累加、注釋、空語句以外都以關鍵字開頭。SAS名字在SAS程序中標識各種SAS成分,如變量、數據集、數據庫,等等。SAS 名字由1到8個字母、數字、下劃線組成,第一個字符必須是字母或下劃線。SAS關鍵字和SAS 名字都不分大小寫。
SAS表達式
SAS數據步程序中的計算用表達式完成。表達式把常量、變量、函數調用用運算符、括號連接起來得到一個計算結果。
SAS常量主要有數值型、字符型兩種,并且還提供了用于表達日期、時間的數據類型。例如
數值型:12,-7.5,2.5E-10
字符型:'Beijing',"Li Ming","李明"
日期型:'13JUL1998'd
時間型:'14:20't
日期時間型:'13JUL1998:14:20:32'dt
SAS語言的常用函數
⒈算術函數(Arithmetic Functions)ABS(x) :求x的絕對值。
例如ABS(-56.3)=56.3 。MAX(x1,x2,…,xn) :求所有自變量中的最大一個。
例如MAX(52,15,67,89)=89 。MIN(x1,x2,…,xn) :求所有自變量中的最小一個。
例如MIN(52,15,67,89)=15 。MOD(x,y) :求x除以y的余數。
例如MOD(24,3)=0 。SIGN(x) :計算x的符號,結果為1、-1、0。
例如SIGN(-5)=-1,SIGN(20)=1,SIGN(0)=0。SQRT(x) :求x的平方根。
例如SQRT(225)=15 。⒉數學函數(Mathematical Functions)ERF(X):誤差函數 。
EXP(X):指數函數 。GAMMA(X):計算 的值。
LOG(X):計算x的自然對數。LOG10(X):計算x的以10為底的對數。
LGAMMA(X):計算函數的自然對數。⒊截斷函數(Truncation Functions)CEIL(X):計算x的最小整數,當x為整數時就是x本身,否則為x右側最近的整數。
例如CEIL(-134.45)=-134,CEIL(34.45)=35,CEIL(78)=78。FLOOR(X):計算小于或等于x的最大整數,例如FLOOR(-134.45)=-135,FLOOR(34.45)=34。
INT(X):求x舍掉小數部分后的整數部分。例如INT(-134.45)=-134,INT(34.45)=34。
ROUND(x,unit):計算x按照unit指定的精度四舍五入后的結果,例如ROUND(134.4567,0.01)結果為134.46,ROUND(3678.2398,10)結果為3680。⒋三角和曲線函數(Trigonometric and Hyperbolic Functions)ARCOS(y):計算反余弦函數。
ARSIN(y):計算反正弦函數。ATAN(y):計算反正切函數。
COS(X):計算x的余弦函數。SIN(X):計算x的正弦函數⒌字符函數(Character Functions)COMPBL(S):將字符串S中的多余空格去掉。
COMPRESS(S,S1):將字符串S中包含的所有字符串S1去掉。INDEX(S,S1):查找字符串S1在S中的位置。
如果S中不包含S1則返回0。LOWCASE(S):把字符串S中所有大寫字母轉換為小寫字母。
UPCASE(S):把字符串S中所有小寫字母轉換為大寫字母。RANK(S):求字符串S的ASCII碼值。
REPEAT(S,N):將字符串S重復N次。SUBSTR(S,N,LONG):字符串S中的第N個字符開始抽取long個字符長的子串。
TRANWRD(S,S1,S2):將字符串S中的所有字符串S1替換成字符串S2。⒍日期和時間函數(Date and Time Functions)常用日期和時間函數有:DATEIF(sdate,edate,basis):計算兩個日期之間相距的天數,basis指定日期格式。
DATE:計算當前SAS系統的日期。DAY(date):有SAS日期值date得到是幾日。
DHMS(date,hour,minute,second):有日期、小時、分鐘、秒得到SAS日期和時間值。MDY(month,day,year):生成月日年的SAS日期值。
MONTH(date):有SAS日期值date得到月。QTR(date):有SAS日期值date得到季度值。
WEEKDAY(day):有SAS日期值date得到星期幾。YEAR(DATE):有SAS日期值date得到年。
其它日期和時間函數參見SAS系統的幫助信息。⒎概率與密度函數(Probability and Density Functions)作為一個統計計算語言,SAS提供了多種概率分布函數。
分布密度、概率、累積分布函數等可以通過集中統一的格式調用,格式為:CDF('dist',quantile,parm-1,…,parm-k):計算累計分布函數。Dist為分布名稱,quntile為分為數,隨后是相關參數。
PDF|PMF('dist',quantile,parm-1,…,parm-k):計算概率密度函數。Dist為分布名稱,quntile為分為數,隨后是相關參數。
LOGPDF|LOGPMF('dist',quantile,parm-1,…,parm-k):計算概率密度函數的對數值。Dist為分布名稱,quntile為分為數,隨后是相關參數。
LOGSDF('dist',quantile,parm-1,…,parm-k):計算生存函數的對數值。Dist為分布名稱,quntile為分為數,隨后是相關參數。
PROBCHI(x,df<,nc>):計算卡方分布的概率值。可選參數nc為非中心參數。
PROBF(x,ndf,ddf<,nc>):計算F分布的概率值。可選參數nc為非中心參數。
PROBGAM(x,a):計算伽馬分布的概率值。PROBNORM(x):計算標準正態分布的概率值。
⒏分位數函數(Quantile Functions)分位數函數是概率分布函數的反函數。其自變量在0-1之間取值。
分位數函數計算的是分布的左側分位數。BETAINV(p,a,b):計算參數為(a, b)的 分布的p分位數。
CINV(p, df<,nc>):計算自由度為df的卡方分布p分位數。可選參數nc為非中心參數。
FINV(p, ndf, ddf<,nc>):計算F (ndf , ddf)分布的p分位數。可選參數nc為非中心參數。
GAMINV(p, a):計算參數為a的伽馬分布的p分位數。PROBIT(p):計算標準正態分布的p分位數。
TINV(p, df>,nc<):計算自由度為df的t分布的p分位數。可選參數nc為非中心參數。
⒐隨機數函數(Random Number Functions)SAS提供了常見分布的偽隨機數生成函數。NORMAL(seed):產生服從正態分布的隨機數。
seed為0,或5位、6位、7位的奇數。RANNOR (seed):產生服從正態分布的隨機數。
seed為任意數值常數。RANBIN(seed,n, p):產生參數為(n, p)的二項分布隨機數,seed為任意。
請幫忙解釋一下以下SAS語句的意思
你代碼搞得那么亂,當然看不懂了,真是的! ********************************************************************************************************************** 1 PROC SQL; 2 CONNECT TO oracle AS conname; 3 CEREAT TABLE temp AS SELECT * FROM CONNECTION TO conname 4 ( 5 SELECT 6 bizdate, *,*,close_price, bizdate2, close_price2, 7 close_price/close_price2-1 AS r, 8 to_date(bizdate,'yyyy-mm-dd')-to_date(bizdate2,'yyyy-mm-dd') AS interval 9 FROM _________________________________________________________ 10 ( SELECT bizdate, code,name,close_price 11 FROM pf_all_quotation 12 WHERE 13 typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 'h1100', 'h1100','h1100', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', '00090') AND bizdate = &date_str 14 ) a 15 LEFT JOIN 16 ( 17 SELECT bizdate AS bizdate2,code,name,close_price AS close_price2 18 FROM pf_all_quotation 19 WHERE typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 20 'h1100', 'h1100', 'h1101', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', ' 21 00090') 22 AND bizdate = 20121231 23 ) b 24 ON *=* ___________________________________________________ 25 ); 26 DISCONNECT FROM conname;27 QUIT; ******************************************************************************************************************* 注釋:這段代碼的作用是利用SAS的“PROC SQL”從Oracle數據庫中的數據集 “pf_all_quotation” 中抽取滿足要求的數據項形成一個新的表“temp”,該過程中用到了兩個臨時表a和b,temp就是由a、b兩個表通過“左連接” ( LEFT JOIN)生成的.這段代碼的結構其實很簡單,如果說看不懂,那估計就是你被10-14行的嵌套的SELECT語句給迷惑了吧,另外你的代碼也太亂了,那能容易看懂?理解這段代碼你要先回顧以下幾個知識點。
第2行:SAS與Oracle要首先建立一個“連接”,這個“連接”的名字叫"conname" 第3行:表明通過conname來形成表temp 第7、8行:AS起重命名的作用,前者把除法運算的結果命為r,后者把日期相減的結果命為interval 第10-14行:表a是通過SELECT。FROM。
語句形成的,b同理 第13行:WHERE后面的是條件限制語句.IN表明code須是括號中的某一項. 第15行:左連接.解釋起來很啰嗦,直接給你看個例子。 代碼不是很難,就是需要點耐心。
這下懂了吧?。
請幫忙解釋一下以下SAS語句的意思
你代碼搞得那么亂,當然看不懂了,真是的!**********************************************************************************************************************1 PROC SQL;2 CONNECT TO oracle AS conname; 3 CEREAT TABLE temp AS SELECT * FROM CONNECTION TO conname 4 (5 SELECT6 bizdate, *,*,close_price, bizdate2, close_price2,7 close_price/close_price2-1 AS r,8 to_date(bizdate,'yyyy-mm-dd')-to_date(bizdate2,'yyyy-mm-dd') AS interval 9 FROM _________________________________________________________10 ( SELECT bizdate, code,name,close_price11 FROM pf_all_quotation12 WHERE 13 typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 'h1100', 'h1100','h1100', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', '00090') AND bizdate = &date_str 14 ) a 15 LEFT JOIN16 ( 17 SELECT bizdate AS bizdate2,code,name,close_price AS close_price218 FROM pf_all_quotation19 WHERE typecode = 'S' AND code IN('81699', '00030', '39992', '81602', '00001', 20 'h1100', 'h1100', 'h1101', 'h1100','00093', 'h1100', 'h1100', '81602', '00090', ' 21 00090') 22 AND bizdate = 20121231 23 ) b 24 ON *=* ___________________________________________________25 );26 DISCONNECT FROM conname;27 QUIT;******************************************************************************************************************* 注釋:這段代碼的作用是利用SAS的“PROC SQL”從Oracle數據庫中的數據集 “pf_all_quotation” 中抽取滿足要求的數據項形成一個新的表“temp”,該過程中用到了兩個臨時表a和b,temp就是由a、b兩個表通過“左連接” ( LEFT JOIN)生成的.這段代碼的結構其實很簡單,如果說看不懂,那估計就是你被10-14行的嵌套的SELECT語句給迷惑了吧,另外你的代碼也太亂了,那能容易看懂?理解這段代碼你要先回顧以下幾個知識點。
第2行:SAS與Oracle要首先建立一個“連接”,這個“連接”的名字叫"conname" 第3行:表明通過conname來形成表temp 第7、8行:AS起重命名的作用,前者把除法運算的結果命為r,后者把日期相減的結果命為interval 第10-14行:表a是通過SELECT。FROM。
語句形成的,b同理 第13行:WHERE后面的是條件限制語句.IN表明code須是括號中的某一項.第15行:左連接.解釋起來很啰嗦,直接給你看個例子。代碼不是很難,就是需要點耐心。
這下懂了吧?。
SAS是什么
SAS是美國使用最為廣泛的三大著名統計分析軟件(SAS,SPSS和SYSTAT)之一,是目前國際上最為流行的一種大型統計分析系統,被譽為統計分析的標準軟件。
SAS為“Statistical Analysis System”的縮寫,意為統計分析系統。它于1966年開始研制,1976年由美國SAS軟件研究所實現商品化。
1985年推出SAS PC微機版本,1987年推出DOS下的SAS6。03版,之后又推出6。
04版。以后的版本均可在WINDOWS下運行,目前最高版本為SAS6。
12版。SAS集數據存取,管理,分析和展現于一體,為不同的應用領域提供了卓越的數據處理功能。
它獨特的“多硬件廠商結構”(MVA)支持多種硬件平臺,在大,中,小與微型計算機和多種操作系統(如UNIX,MVS WINDOWS 和DOS等)下皆可運行。SAS采用模塊式設計,用戶可根據需要選擇不同的模塊組合。
它適用于具有不同水平于經驗的用戶,處學者可以較快掌握其基本操作,熟練者可用于完成各種復雜的數據處理。 目前SAS已在全球100多個國家和地區擁有29000多個客戶群,直接用戶超過300萬人。
在我國,國家信息中心,國家統計局,衛生部,中國科學院等都是SAS系統的大用戶。SAS以被廣泛應用于政府行政管理,科研,教育,生產和金融等不同領域,并且發揮著愈來愈重要的作用。
1. SAS的設計思想 SAS的設計思想是為統計學家和科學工作者提供這樣的一個工具,利用它可以完成包括從簡單的描述性系統到復雜的多變數分析的各種運算,從而使人們從繁重的計算任務中解脫出來,有更多的時間和精力用于分析和解釋計算的結果,而不必為如何獲得這些結果花費過多的時間和精力。 2. SAS的功能 SAS是數據管理和分析軟件包,能夠完成各種統計分析,矩陣運算和繪圖等。
SAS的各項功能由功能模塊完成。其中BASA模塊為必需模塊,其它模塊可任選。
供選擇的模塊包括統計(STAS),矩陣運算(IML),繪圖(GRAPH)和全屏幕操作(FSP)等20余個。 基礎模塊(BASE),具有以下功能:進行數據存儲,調入,追加,拷貝和文件處理;編寫報告,打印圖表;進行數據排序,分類等操作;完成一些基本統計數計算(如平均數和相關系數);與一些軟件包(dBASE,LOTUS等)及大型機進行數據交換和通訊。
BASE模塊為SAS系統的核心模塊。 統計模塊(STAT)提供一些高度可靠,完整的統計分析過程。
主要有方差分析(包括一元,多元的單因素及多因素實驗設計的方差分析),線性相關和回歸分析(包括聚類分析,主成份分析,因子分析,典范相關分析)以及非參數測驗等,共計26個過程。每個過程還提供多種不同算法和選項,從而SAS系統成為一個全面,細致,科學的統計分析方法集。
STAT模塊為SAS系統的核心和精華。 矩陣運算模塊(IML)是一種交互式矩陣語言。
可直接進行矩陣運算(加法,乘法,求逆,計算特征值和特征向量等),適用于高級統計,工程運算和數學分析。 繪圖模塊(GRAPH)能在微機的繪圖設備上繪制圖形。
可制作三維圖形,地圖和幻燈等。 全屏幕操作模塊(FSP)為一交互式全屏幕軟件。
利用他可以建立,修改和瀏覽SAS數據集中的觀察值,定義用戶屏幕等。 3. SAS的特點 SAS把數據存取,管理,分析和展現有機地融為一體。
主要特點如下: 1) 功能強大,統計方法齊,全,新 SAS提供了從基本統計數的計算到各種試驗設計的方差分析,相關回歸分析以及多變數分析的多種統計分析過程,幾乎囊括了所有最新分析方法,其分析技術先進,可靠。分析方法的實現通過過程調用完成。
許多過程同時提供了多種算法和選項。例如方差分析中的多重比較,提供了包括LSD,DUNCAN,TUKEY測驗在內的10余種方法;回歸分析提供了9種自變量選擇的方法(如STEPWISE,BACKWARD,FORWARD,RSQUARE等)。
回歸模型中可以選擇是否包括截距,還可以事先指定一些包括在模型中的自變量字組(SUBSET)等。對于中間計算結果,可以全部輸出,不輸出或選擇輸出,也可存儲到文件中供后續分析過程調用。
2) 使用簡便,操作靈活 SAS以一個通用的數據(DATA)步產生數據集,爾后以不同的過程調用完成各種數據分析。其編程語句簡潔,短小,通常只需很小的幾句語句即可完成一些復雜的運算,得到滿意的結果。
結果輸出以簡明的英文給出提示,統計術語規范易懂,具有初步英語和統計基礎即可。使用者只要告訴SAS“做什么”,而不必告訴其“怎么做”。
同時SAS的設計,使得任何SAS能夠“猜”出的東西用戶都不必告訴它(即無需設定),并且能自動修正一些小的錯誤(例如將DATA語句的DATA拼寫成DATE,SAS將假設為DATA繼續運行,僅在LOG中給出注釋說明)。對運行時的錯誤它盡可能地給出錯誤原因及改正方法。
因而SAS將統計的科學,嚴謹和準確與便于使用者有機地結合起來,極大地方便了使用者。 3) 提供聯機幫助功能 使用過程中按下功能鍵F1,可隨時獲得幫助信息,得到簡明的操作指導。
參考資料:http://**lab/newshtml/ruanjiantuijian/*。