




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第八課 建立SAS系統(tǒng)的數(shù)據(jù)集 (DATA STEP)用戶用SAS數(shù)據(jù)步(DATA STEP)創(chuàng)建一個(gè)數(shù)據(jù)集的方法,與前兩種SAS/ASSIST和SAS/FSP創(chuàng)建一個(gè)數(shù)據(jù)集的方法相比,DATA STEP是一種非交互式的全部編程實(shí)現(xiàn)的方法。這種方法能把多樣的、復(fù)雜的外部文件數(shù)據(jù)格式通過(guò)程序語(yǔ)句的控制轉(zhuǎn)換為我們所需的SAS數(shù)據(jù)集。一、 DATA程序步的三個(gè)主要步驟為了從外部原始數(shù)據(jù)文件得到SAS數(shù)據(jù)集,DATA程序步的三個(gè)主要步驟為:l 啟動(dòng)一個(gè)數(shù)據(jù)步,命名將要?jiǎng)?chuàng)建的數(shù)據(jù)集(使用DATA語(yǔ)句)l 確定要讀入的外部文件(使用INFILE語(yǔ)句)l 描述如何讀入每一條記錄(使用INPUT語(yǔ)句)如果需要
2、在程序中直接嵌入數(shù)據(jù),第二步用CARDS語(yǔ)句代替INFILE語(yǔ)句。所對(duì)應(yīng)的一般程序結(jié)構(gòu)如下:Data所要?jiǎng)?chuàng)建的數(shù)據(jù)集名;Infile 讀取的外部文件名 <FIRSTOBS=開(kāi)始讀入的行><OBS=結(jié)束行> ;Input 變量1 讀入模式 變量2 讀入模式;Run;此程序結(jié)構(gòu)很容易被錯(cuò)誤理解為順序結(jié)構(gòu),其實(shí)它的內(nèi)部執(zhí)行結(jié)構(gòu)是一種循環(huán)結(jié)構(gòu)。如圖8.1所示是它執(zhí)行過(guò)程的程序流程圖。圖8.1 執(zhí)行DATA步時(shí)的內(nèi)部循環(huán)過(guò)程PDV(Program Data Vector)稱為程序數(shù)據(jù)向量,它是根據(jù)DATA步中的INPUT語(yǔ)句所確定的變量和變量的讀入模式來(lái)創(chuàng)建的,假設(shè)INPUT語(yǔ)句
3、中各變量的長(zhǎng)度為 name $1-8 、sex $1-2 、bdate 1-8 、age 1-3 、height 1-6、 weight 1-6 、income 1-8、 sdate 1-6 ,所創(chuàng)建的一個(gè)PDV 如下表:namesexbdateageheightweightincomesdate82836686整個(gè)DATA步程序執(zhí)行過(guò)程中,涉及到:l 一個(gè)存放外部文件記錄的輸入緩沖區(qū)l 一個(gè)存放當(dāng)前觀測(cè)的PDV向量l 一個(gè)外部文件記錄指針l 一個(gè)程序指針l 一個(gè)SAS數(shù)據(jù)集觀測(cè)指針如圖8.2所示。圖8.2 文件記錄指針、程序指針、觀測(cè)指針二、 讀入模式確定變量的讀入模式共有四種:l colu
4、mn模式l formatted模式l list模式l named模式我們?cè)谶@里將介紹三種主要的column模式、formatted模式和list模式。1. Column模式Column模式適用于讀入數(shù)據(jù)固定在某些列中或數(shù)據(jù)中只包含標(biāo)準(zhǔn)的字符和數(shù)字。在INPUT語(yǔ)句中的一般使用形式如下:Input變量1 <$> 開(kāi)始列<-結(jié)束列><.小數(shù)位> 變量2;變量后不帶$符號(hào)表示此變量讀取數(shù)字。例如,我們?cè)贜OTEPAD記事本程序中輸入如圖8.3所示的內(nèi)容,操作如下:l 在Windows桌面上的開(kāi)始菜單中選擇l 程序/附件/記事本打開(kāi)NOTEPAD程序方法l 并以Te
5、stdata.dat文件名存入到D:sasdatamydir目錄下,作為一個(gè)我們用來(lái)實(shí)驗(yàn)的外部文件圖8.3 用NOTEPAD程序創(chuàng)建外部文件相應(yīng)地,在SAS系統(tǒng)的PROGRAM EDITOR中提交下面程序:Datatestd1;Infiled:sasdatamydirtestdata.datfirstobs=2 obs=4;Inputcode $ 1-8 sex $ 9 bdate $ 10-16 income 17-23 .2 ;Proc print data=testd1;Run ;上面的程序的數(shù)據(jù)步在臨時(shí)庫(kù)WORK中創(chuàng)建了SAS數(shù)據(jù)集work.testd1,而過(guò)程步PRINT則顯示該數(shù)據(jù)
6、集,在OUTPUT窗口中顯示的運(yùn)行結(jié)果如圖8.4所示。圖8.4 用Column模式讀入外部文件后的SAS數(shù)據(jù)集2. Formatted模式Formatted輸入模式適合于含有不標(biāo)準(zhǔn)數(shù)據(jù)的文件,是一種更常用的輸入模式。它有一根指針來(lái)先定位輸入數(shù)據(jù)的開(kāi)始位置,輸入格式放在相應(yīng)變量之后,輸入格式指出了數(shù)據(jù)的類型和取值的寬度。它有以下兩種格式:格式一:Input <指針控制> 變量1輸入格式 <|> ;格式二:Input <指針控制> (變量表) (輸入格式表) <|> ;<|>是行固定說(shuō)明符,可選項(xiàng)。l 單尾符作用是為了執(zhí)行下一條INPUT
7、語(yǔ)句時(shí),仍然把指針保持在當(dāng)前輸入的記錄上。用于一個(gè)數(shù)據(jù)行用多條INPUT語(yǔ)句讀取數(shù)據(jù)。l 雙尾符作用是為了執(zhí)行下一條INPUT語(yǔ)句時(shí),甚至在DATA步重復(fù)執(zhí)行時(shí),仍然把指針保持在當(dāng)前輸入的記錄上。用于一個(gè)數(shù)據(jù)行含有多條觀測(cè)值時(shí)讀取數(shù)據(jù)。行固定說(shuō)明符也適用于Column模式。(1) 使用單尾符例如,對(duì)外部文件Testdata.dat也可以采用多條INPUT語(yǔ)句讀取數(shù)據(jù),DATA步程序如下:Data testd2 ;Infiled:sasdatamydirtestdata.dat;Inputcode $ 1-8 sex $ 9 ;Inputbdate $ 10-16 income $17-23 .
8、2 ; Proc printdata=testd2 ;Run ;(2) 使用雙尾符如果外部文件testdata.dat中的四條記錄數(shù)據(jù)不是按四行而是按一行的形式存放的,DATA步程序如下:Datatestd2;Infiled:sasdatamydirtestdata.dat;Inputcode $ 1-8 sex $ 9 bdate $ 10-16 income $17-23 .2 ;Proc printdata=testd2 ;Run ;(3) 使用指針控制指針控制可以把指針在行及列中的缺省位置當(dāng)前行第一列重新定位,使INPUT語(yǔ)句知道從哪行哪列開(kāi)始讀取數(shù)據(jù)。下表列出了可以同INPUT語(yǔ)句一
9、起使用的兩種類型的指針控制。指針控制相對(duì)位置絕對(duì)位置列指針控制+表達(dá)式值表達(dá)式值行指針控制/#表達(dá)式值例如,下面的DATA步程序是把列指針定位在第10列。Datatestd3;Infiled:sasdatamydirtestdata.dat; a=2 ;b=5 ;Input(a*b) bdate $ 7. ;Proc printdata=testd3;Run ;OUTPUT窗口中運(yùn)行結(jié)果如圖8.5所示。圖8.5 用列指針控制讀入外部文件后的SAS數(shù)據(jù)集“/”表示行指針移到下一行的第一列。例如,下面的數(shù)據(jù)步程序讀取的是左上角到右下角對(duì)角線上的一條記錄。Datatestd4;Infile d:sa
10、sdatamydirtestdata.dat;Inputcode $ 1-8 /sex $ 9 / bdate $ 10-16 / income 17-23 .2 ;Proc printdata=testd4;Run ;在OUTPUT窗口中顯示的運(yùn)行結(jié)果如圖8.6所示。圖8.6 用行和列指針控制讀入外部文件后的SAS數(shù)據(jù)集變量表(輸入格式表)是一種分組格式表,適用于當(dāng)輸入的數(shù)據(jù)都以同一格式排列時(shí),是INPUT語(yǔ)句的必選項(xiàng)。用分組格式表可以縮短INPUT語(yǔ)句的書(shū)寫(xiě)長(zhǎng)度,因?yàn)檩斎敫袷奖硎潜谎h(huán)使用的,所以相同的格式只要在輸入格式表寫(xiě)一遍;另外,如果變量名是“相同字符+序號(hào)”組成的,還可以在變量表中
11、用簡(jiǎn)單的形式列出來(lái)。例如,INPUT (test1-5) ($4.)。如果輸入的數(shù)據(jù)的格式不是全部相同,而是部分相同可以在輸入格式表中采用“重復(fù)次數(shù)*輸入格式”。l 例如,INPUT (test1-5) (3*7.2,2*5.2);3. list模式list模式也稱自由格式輸入,是使用最方便的輸入方式。當(dāng)外部文件中的輸入值之間至少有一個(gè)空格隔開(kāi),且丟失值用小數(shù)點(diǎn)表示,字符型數(shù)值長(zhǎng)度不超過(guò)8個(gè)字節(jié)(否則需用LENGTH,ATTRIB或INFORMAT語(yǔ)句規(guī)定長(zhǎng)度)時(shí),只需在INPUT語(yǔ)句中列出要被賦值的變量名即可,而沒(méi)有必要知道數(shù)據(jù)占據(jù)哪幾列。變量的順序和它們的數(shù)據(jù)值在數(shù)據(jù)行中的順序應(yīng)該是一致的
12、。由于SAS系統(tǒng)在讀取數(shù)據(jù)時(shí)是掃描整個(gè)數(shù)據(jù)輸入行,因此不能有選擇地讀取其中的一些數(shù)據(jù)值,但是可以不再讀某個(gè)點(diǎn)以后的值。在INPUT語(yǔ)句中它有以下兩種格式:格式一:Input <指針控制> 變量1 <$><&> <|>格式二:Input <指針控制> 變量1 <:|&|> <輸入格式> <|>“& ”、“:”和“”是自由格式輸入方式中的三個(gè)格式修飾符。作用如下:l “&”指明字符型輸入值可能嵌有一個(gè)空格。因?yàn)樵谡G闆r下空格為分隔符。因此不同的數(shù)據(jù)之間最好用較多的空格隔
13、開(kāi),這樣字符型輸入值中也就能嵌有較多的空格。l “:”指明變量的值是從以下非空格列中讀取,直到第一次遇到空格或數(shù)據(jù)行末尾或讀滿輸入格式指定的列數(shù)而結(jié)束。l “”指明當(dāng)讀字符值時(shí),且INFILE語(yǔ)句中采用DSD選項(xiàng),INPUT語(yǔ)句用一種特殊方法處理單引號(hào)和雙引號(hào)及分隔符。若INPUT語(yǔ)句中使用此格式修飾符,則引號(hào)被保留作為這個(gè)值的一部分,若INPUT語(yǔ)句中沒(méi)有使用此格式修飾符,則引號(hào)被去掉。例如,我們?cè)贜OTEPAD記事本程序中輸入如圖8.7所示內(nèi)容,并以Testdata2.txt文件名存入到D:sasdatamydir目錄下,作為第二個(gè)我們用來(lái)實(shí)驗(yàn)的外部文件。圖8.7 數(shù)據(jù)帶引號(hào)和空格且以分隔
14、符隔開(kāi)的外部文件將圖87所示的用逗號(hào)作為分隔符、字段數(shù)據(jù)中有空格和引號(hào)中有逗號(hào)的數(shù)據(jù)記錄讀入到SAS數(shù)據(jù)集,相應(yīng)的數(shù)據(jù)步程序如下:Data testd5;Infiled:sasdatamydirtestdata2.txtdsd;Input name & $15. age address $40. pc;Proc print data=testd5 ;Run ;在OUTPUT窗口中顯示的運(yùn)行結(jié)果如圖8.8所示。圖8.8 用LIST模式的格式修飾符讀入外部文件后的SAS數(shù)據(jù)集第九課 建立SAS系統(tǒng)的數(shù)據(jù)集(ACCESS)SAS/ACCESS是一個(gè)SAS系統(tǒng)的與外部數(shù)據(jù)庫(kù)的接口模塊,它為用戶
15、提供了透明地訪問(wèn)其他數(shù)據(jù)庫(kù)文件的能力。所謂透明訪問(wèn)是指用戶不必知道各種外部數(shù)據(jù)庫(kù)的物理訪問(wèn)結(jié)構(gòu),只要知道數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),這樣對(duì)各種不同物理結(jié)構(gòu)的外部數(shù)據(jù)庫(kù)訪問(wèn)就變成一樣了。SAS/ACCESS可以訪問(wèn)所有流行的數(shù)據(jù)庫(kù)管理系統(tǒng)的文件。我們?cè)谶@里主要介紹dBASE的*.DBF數(shù)據(jù)庫(kù)文件與SAS數(shù)據(jù)集的轉(zhuǎn)換。一、 用SAS/ACCESS建立描述符和數(shù)據(jù)視窗為了使SAS/ACCESS系統(tǒng)能訪問(wèn)外部數(shù)據(jù)庫(kù),首先SAS/ACCESS系統(tǒng)要建立外部數(shù)據(jù)庫(kù)文件的描述性數(shù)據(jù)文件(.ACCESS),然后通過(guò)存取這個(gè)描述性文件的描述符,生成一個(gè)或多個(gè)數(shù)據(jù)視窗文件(.VIEW),這樣SAS的其他過(guò)程就可以透明地訪問(wèn)
16、這個(gè)外部數(shù)據(jù)庫(kù)中的數(shù)據(jù)了。例如,在目錄D:SASDATAMYDIR下存在一個(gè)DBF文件SALES.DBF,我們用SAS/ACCESS窗口來(lái)建立描述符和數(shù)據(jù)視窗,并在SAS系統(tǒng)中顯示這個(gè)SALES.DBF外部數(shù)據(jù)庫(kù)文件中的記錄。我們命名這個(gè)描述符文件名為STUDY.DBFSAS.ACCESS,數(shù)據(jù)視窗文件名為STUDY.DBFSAS.VIEW。具體操作步驟如下:1. 發(fā)布ACCESS命令進(jìn)入SAS/ACCESS窗口進(jìn)入SAS/ACCESS窗口還可以選擇Globals/Access/Access database files命令,另外SAS/ASSIST軟件主菜單下選擇DATA MGMT子菜單,再
17、選擇DBMS ACCESS子菜單同樣可進(jìn)入SAS/ACCESS窗口,后面的操作都相同。在SAS/ACCESS窗口的Libname列前面的橫線上鍵入 ? 回車,可以查看所有能在橫線上發(fā)布的命令,如圖9.9所示。圖9.9 ACCESS窗口和可在橫線上發(fā)布的命令2. 選擇File/New命令創(chuàng)建SAS/ACCESS存取描述符如圖9.10所示。l 在LIBREF庫(kù)標(biāo)記輸入框中鍵入STUDYl 在NAME名字框中鍵入DBFSASl 輸入完后選擇OK按鈕STUDY庫(kù)標(biāo)記應(yīng)該在事先用LIBNAME命令已經(jīng)創(chuàng)建存在。接下來(lái)將創(chuàng)建文件名為STUDY.DBFSAS.ACCESS的存取描述符。圖9.10 ACCES
18、S窗口和可在橫線上發(fā)布的命令3. 在Select Data菜單中選擇DBF Files如圖911所示是各種外部數(shù)據(jù)庫(kù)的文件后綴,可以選擇其中一個(gè)作為訪問(wèn)的數(shù)據(jù)庫(kù)。在本例中我們要訪問(wèn)的是dBASE系統(tǒng)的*.DBF數(shù)據(jù)庫(kù)文件,所以選擇DBF Files。只要MOUSE單擊一下即可。圖9.11 選擇所要訪問(wèn)的外部數(shù)據(jù)庫(kù)的類型4. 輸入外部數(shù)據(jù)庫(kù)文件所在路徑和文件名如圖9.12所示。l 在ACCESS:Create Descriptor對(duì)話框中輸入外部數(shù)據(jù)庫(kù)文件所在路徑和文件名d:sasdatamydirsales.dbf后按Enter。l 可以與SAS庫(kù)標(biāo)記STUDY所指定的目錄不同l 指定的數(shù)據(jù)庫(kù)
19、字段名Assign Names現(xiàn)在為NO,用戶可以修改外部數(shù)據(jù)庫(kù)字段的變量名(邏輯上修改)l 如果Assign Names指定為YES,則SAS系統(tǒng)所見(jiàn)的邏輯數(shù)據(jù)庫(kù)上字段變量名與外部物理的數(shù)據(jù)庫(kù)字段變量名一致。圖9.12 輸入外部數(shù)據(jù)庫(kù)文件所在路徑和文件名5. 選擇所需要的數(shù)據(jù)域和更改域名如圖9.13所示,在外部文件存取描述符顯示窗口中,可以在橫線上發(fā)布如下命令:l S選擇該數(shù)據(jù)域l D刪除該數(shù)據(jù)域l X恢復(fù)已作了刪除標(biāo)記的數(shù)據(jù)域重新定義描述符,除了可以選擇所需要的數(shù)據(jù)域外,還可以更改數(shù)據(jù)域名。在例中我們刪除第一個(gè)數(shù)據(jù)域DELETE_FLG,它本來(lái)是用來(lái)存放一條記錄的刪除標(biāo)記的。更該原數(shù)據(jù)庫(kù)P
20、ERIOD域的域名為DATE。圖9.13 選擇所需要的數(shù)據(jù)域和更改域名6. 選擇File/End保存命令后在ACCESS窗口查看*.ACCESS如圖9.14所示,我們重新調(diào)出ACCESS查看,在STUDY庫(kù)下新建了一個(gè)STUDY.DBFSAS.ACCESS描述符文件。在庫(kù)名前面的橫線上鍵入ED命令可以重新編輯此描述符文件,將返回到圖94所示的窗口。圖9.14 在ACCESS窗口查看是否已經(jīng)建立了描述符文件.ACCESS7. 橫線上發(fā)布CV命令創(chuàng)建*.VIEW視窗文件在橫線上發(fā)布CV命令后進(jìn)入視窗描述顯示窗口,如圖9.15所示。描述符所在庫(kù)名輸入STUDY,成員名輸入DBFSAS,執(zhí)行Local
21、s/Select all命令后,將選擇所有的數(shù)據(jù)域,且數(shù)據(jù)視窗域名與外部數(shù)據(jù)庫(kù)字段名相同。最后,選擇File/End保存命令退出此窗口。圖9.15 創(chuàng)建*.VIEW文件的窗口8. 查看*.VIEW文件,并在橫線上發(fā)布BL瀏覽命令如圖9.16所示,我們返回ACCESS窗口查看,發(fā)現(xiàn)又新增一個(gè)STUDY.DBFSAS.VIEW視窗文件。在它的Libname列前面的橫線上鍵入BL命令,可以瀏覽外部數(shù)據(jù)庫(kù)文件Sales.dbf的所有記錄。圖9.16 發(fā)布BL命令瀏覽可訪問(wèn)的外部數(shù)據(jù)庫(kù)二、 使用PROC ACCESS過(guò)程訪問(wèn)外部數(shù)據(jù)庫(kù)文件在SAS/ACCESS中還提供了ACCESS過(guò)程步,使得用戶可以直接通過(guò)編程達(dá)到訪問(wèn)外部數(shù)據(jù)庫(kù)文件的目的。例如,我們要訪問(wèn)的外部數(shù)據(jù)庫(kù)文件所在目錄和文件名,要?jiǎng)?chuàng)建的描述符文件名和視窗文件名都與上面的例子相同。假設(shè)要訪問(wèn)所有的記錄和數(shù)據(jù)字段。程序如下:Libname Study “d:sasdatamydir” ;Proc AccessDBMS=DBF;Create ;Path =
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 孕產(chǎn)婦健康心理學(xué)
- 餐飲行業(yè)廚師勞務(wù)外包與品牌推廣合同
- 建筑材料綠色包裝運(yùn)輸合同范本
- 茶樓與旅游景點(diǎn)聯(lián)營(yíng)合作合同
- 拆遷安置補(bǔ)償及補(bǔ)償款結(jié)算及分配合同范本
- 2025至2030中國(guó)在線食品配送平臺(tái)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)醫(yī)院獲得性肺炎的預(yù)防行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)醫(yī)療皮膚護(hù)理產(chǎn)品行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 北大環(huán)境監(jiān)測(cè)課件04大氣污染監(jiān)測(cè)
- 人教版三年級(jí)語(yǔ)文下冊(cè)第四單元《語(yǔ)文園地》示范公開(kāi)課教學(xué)課件
- 2025至2030中國(guó)合規(guī)行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 【人教版】河北石家莊2024-2025學(xué)年 四年級(jí)下學(xué)期期末數(shù)學(xué)試題【一】有解析
- 2025年衛(wèi)生系統(tǒng)招聘考試《職業(yè)能力傾向測(cè)試》新版真題卷(附詳細(xì)解析)
- 2025-2030年中國(guó)下一代測(cè)序(NGS)數(shù)據(jù)分析行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 數(shù)據(jù)中心運(yùn)維服務(wù)投標(biāo)方案
- 2023-浙江信息技術(shù)-學(xué)考總復(fù)習(xí)-知識(shí)點(diǎn)總結(jié)
- 集中控制中心建設(shè)(指揮中心建設(shè))
- 施工導(dǎo)流圍堰工程實(shí)例講義課件(117頁(yè)配圖豐富)
- 排水系統(tǒng)PLC控制及組態(tài)設(shè)計(jì)說(shuō)明書(shū)
- 自考西方政治制度復(fù)習(xí)重點(diǎn)筆記資料整理(共30頁(yè))
- 清溪1井溢流事件壓封井搶險(xiǎn)分析
評(píng)論
0/150
提交評(píng)論