input基礎以及高級用法_第1頁
input基礎以及高級用法_第2頁
input基礎以及高級用法_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、INFILE語句(輸入文件語句)用來定義一個外部文件,它需用INPUT語句讀取。外部文件可以是已存在磁盤上的,也可以是從鍵盤上輸入的數據行。格式:INFILE filespecification options;(2) 說明:filespecification 用來定義文件,options給出選擇項;(3) filespecification 有以下三種形式: fileref(文件標志)filename(文件名)CARDS指明輸入的數據緊跟著CARDS語句,如:INFILEC:HULPABC.PRG options;這里 C:HULP 是文件標志、 ABC.PRG是文件名;又如:INFILE

2、CARDS options; 這里CARDS相當于文件標志。下列選擇項(options)可以出現在INFILE語句中: COLUMN=variable或COL=variable定義一個變量,其值是指針所在的當前列位置。 END=variable定義一個變量,作為文件結束的標志。 EOF=label是一個語句標號,當INFILE語句讀到文件末尾時,作為隱含的GOTO語句 的目標。 FIRSTOBS=Iinenumber 要求從指定的行開始讀取數據,而不是從文件的第一個記錄 開始。 LENGHT=variable定義一個變量,其值是當前輸入數據行的長度。 OBS=n指定從一個順序輸入文件中讀取數據

3、的最后一個觀測(即第1第n個觀測)。3. INPUT語句(輸入語句)描述一個輸入記錄中數值的安排情竣給相應的SAS變量賦輸入值,該語句只能用于讀入存放于外部文件中的數據或跟隨在CARDS語句之后的數值。(1) 一般形式:INPUT specification;(2)說明:在INPUT語句中有四種方式描述一個記錄值,即列格式輸入(column) INPUT variable $ startcolumn-endcolumn .decimals;variable變量名,$指明其前面的那個變量是字符型的,數值型的變量則不寫$,若這個變量在前面已被定義為字符袖量,$也不需寫;startcolumn是包含

4、該變量值的輸入記錄的第1列的列號,-endcolumn 是包含該變量值的輸入記錄的最后一列的列號。如果變量值 只占一列,則省去-endcolumn。.decimals如果輸入值不包含一個隔開整數部分與小數部分的 小數點,decimals用來指明小數部分的位數。如:INPUT number 10-15.2; 讀取number的數值時,小數部分是兩位。若輸入值分別是2314, 2, 400,-140,SAS 以.2形式讀取的值依次是23.14,0.02,4.00,-1.40。又如:INPUT NAME $ 1-8 AGE 11-12; 這里 1-8 和 11-12 指列號。 自由格式(free-f

5、ormat)或表格式輸入(list) INPUT variable $ &;variable變量名,&指明字符袖量值中可能在一處或多處含有單一的空格,此時不同變量值之間需用兩個或兩個以上的空格隔開。如寸INPUT NAME $ & AGE X1-X4; NAME 的值可以形如:J. JONES 或 J. M. MARY。自由輸 入格式據、字符型數值的最大長度為8個字節,除非在LENGTH、ATTRIB或INFORMAT語句中規定了字符袖量的長度。 指定格式輸入(formatted) INPUT variable formatmodifier in format;variable變量名,form

6、atmodifier 修改輸入格式讀取數據的方式,有兩個格式修飾符:“:”和&”,informat給出讀取數據時的輸入格式,它總是包括一個()或以()結尾, 如:INPUT NAME $CHAR10. AGE 2.; 這里$CHAR10.和2.分別指定了字符袖量 NAME和數 值袖量AGE的輸入格式;當輸入的值都是以同一方式排列時,就可以用組格式表來表示格式。該格式表是被循環使用的,直到所有變量都被賦值;帶有序號的變量值可用簡單的形式列出來 , 如:INPUT X1-X5 (4.1); 這表明5個變量的值都按整數部分占兩位,小數部分占一位的格式輸入,加上小數點共4位。兩個格式修飾符的含意:“:

7、”把輸入格式與自由格式輸入的掃描 特征結合起來,表明變量的值是從以下非空格列中讀取的,直到第1次遇到以下三種情況:下一個空格列、先前定義的變量長度已讀滿、數據行結束;“&”表明一個字符型輸入值可能含有一個或多個嵌在當中的單個空格,此時,不同的數據之間應該用兩個以上的空格隔開。 命名格式輸入(named)INPUT pointercontrolvariable=$informat;“=”指明使用的是命名格式輸入方式。如:INPUT NAME = $ AGE =;(3)高級INPUT語句用指針來跟蹤讀取數據的位置。列指針控制:絕對和相對列指針控制符分別為“”和“ + ” ,其作用是把指針移到指|定

8、的列,“5”與“ +5 ”的區別是:“5”是把指針直接移到每行的第5列、而“ +5 ”是把指針從當前的位置向后移動5列。有9種列指針控制:n把指針移到第n列。如:INPUT 15 AGE 2.;把指針移到第15列,從數據行的第15-16列讀數據值賦給變量 AGE。poi ntvariable 把指針移到指針變量所指的列。如:A=15; INPUT A AGE 2.;(expressio n) 把指針移到表達式值所指的列。如:A=5; INPUT (A*3) AGE 2.;characterstri ng 把指針移到數據行中字符串charaterstri ng 之后的第一個非空格列。charac

9、tervariable 首先確定字符變量所取值(即字符串)在輸入行的位置,然后把指針 移到這個字符串之后的第一個非空格列。(characterexpressio n)先確定字符表達式值的位置,然后移指針到其后第一個非空格列。+n 把指針向右移動 n 列。如:INPUT 20 AGE 2. +4 WEIGHT;+po in tvariable 把指針移到指針變量值所指的列。如:A=-2; INPUT X 1-15 +A Y 2.;此語句表明從數據行的1-15列取值賦給變量 X,然后指針左移2列從第13列開始取值賦給變量Y。+(expressi on)把指針移到表達式所指的列。如:INPUT X 1-15 +(-2) Y 2.;行指針控制:其控制符有“ # ”和“ / ” ,其作用是把指針移到指疋的仃。有4種仃指針控制:#n 把指針移到第n行。#po in tvariable把指針移到指針變量值所指的行。#(expre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論