国产精品一久久香蕉产线看/亚洲图区欧美/亚洲国产精品电影人久久网站/欧美日韩在线视频一区

歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

包郵 SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家

作者:巫銀良
出版社:清華大學(xué)出版社出版時(shí)間:2018-12-01
開(kāi)本: 其他 頁(yè)數(shù): 597
¥70.6(4.2折)?

預(yù)估到手價(jià)是按參與促銷活動(dòng)、以最優(yōu)惠的購(gòu)買方案計(jì)算出的價(jià)格(不含優(yōu)惠券部分),僅供參考,未必等同于實(shí)際到手價(jià)。

中 圖 價(jià):¥141.1(8.4折)定價(jià)  ¥168.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
開(kāi)年大促, 全場(chǎng)包郵
?新疆、西藏除外
溫馨提示:5折以下圖書(shū)主要為出版社尾貨,大部分為全新(有塑封/無(wú)塑封),個(gè)別圖書(shū)品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說(shuō)明>>
本類五星書(shū)更多>

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 版權(quán)信息

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 本書(shū)特色

SAS公司官方推薦學(xué)習(xí)用書(shū)免費(fèi)提供本書(shū)配套源程序下載 循序漸進(jìn)掌握數(shù)據(jù)分析要義和精髓從數(shù)據(jù)中獲取洞見(jiàn)與智慧 北京大學(xué)信息科學(xué)技術(shù)學(xué)院博士生導(dǎo)師、教授 張銘國(guó)務(wù)院發(fā)展研究中心研究員 劉云中艾德思奇(adSage)董事長(zhǎng) 唐朝暉SAS中國(guó)研發(fā)中心總經(jīng)理 劉政慧科集團(tuán)技術(shù)產(chǎn)品中心技術(shù)副總裁 李嘉《SAS編程演義》作者 谷鴻秋北京沖和資產(chǎn)管理有限公司量化投資總監(jiān) 付春光致遠(yuǎn)互聯(lián)高級(jí)副總裁 楊祉雄華為供應(yīng)鏈管理部數(shù)據(jù)科學(xué)家 林建偉SAS中國(guó)銷售總監(jiān)兼合作伙伴與渠道負(fù)責(zé)人 陳云凱 聯(lián)袂誠(chéng)意推薦SAS公司官方推薦 免費(fèi)提供源程序下載 北京大學(xué) 教授 張銘 國(guó)務(wù)院發(fā)展研究中心 劉云中 SAS中國(guó) 劉政 華為數(shù)據(jù)科學(xué)家 林建偉 SAS編程演義 谷鴻秋 推薦業(yè)內(nèi)大咖聯(lián)袂推薦《SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家》是值得一讀的數(shù)據(jù)分析技術(shù)入門佳作。這本書(shū)是數(shù)據(jù)分析領(lǐng)域資深專家為融合程序員和統(tǒng)計(jì)分析人員的不同視角而編寫的,給讀者在計(jì)算機(jī)程序設(shè)計(jì)世界和數(shù)據(jù)分析世界之間架起一座橋梁……羅馬不是一天建成的!但閱讀本書(shū)將使普通的程序員也能快速入門SAS語(yǔ)言并以*簡(jiǎn)潔的方式掌握SAS編程核心,實(shí)現(xiàn)向優(yōu)秀數(shù)據(jù)科學(xué)家的華麗轉(zhuǎn)身! 北京大學(xué)信息科學(xué)技術(shù)學(xué)院博士生導(dǎo)師、教授 張銘本書(shū)把復(fù)雜的數(shù)據(jù)分析科學(xué)以*簡(jiǎn)單的應(yīng)用和實(shí)例介紹給讀者,是一本難得的告訴你用SAS將數(shù)據(jù)變?yōu)橹R(shí),將知識(shí)變?yōu)闆Q策的好書(shū)! 國(guó)務(wù)院發(fā)展研究中心研究員 劉云中SAS是數(shù)據(jù)分析、數(shù)據(jù)挖掘和人工智能的領(lǐng)軍平臺(tái)。本書(shū)集結(jié)了作者多年從事數(shù)據(jù)分析和商業(yè)智能研究與實(shí)踐的經(jīng)驗(yàn)。用SAS平臺(tái)深入淺出地給程序員介紹了數(shù)據(jù)挖掘的基礎(chǔ)與精髓,幫助他們成為數(shù)據(jù)分析的真正專家,非常推薦! 艾德思奇(adSage)董事長(zhǎng) 唐朝暉現(xiàn)在很多企業(yè)都開(kāi)始進(jìn)入數(shù)據(jù)分析領(lǐng)域,由于沒(méi)有現(xiàn)成的、足夠多的數(shù)據(jù)分析人員,企業(yè)只能讓現(xiàn)有的軟件開(kāi)發(fā)人員承擔(dān)這些責(zé)任。然而,軟件開(kāi)發(fā)人員與數(shù)據(jù)分析人員的思維是有差異的,也就是確定性的結(jié)果和概率性的結(jié)果的差異。如何幫助這些軟件開(kāi)發(fā)人員成為合格的雙重人才,需要一定的知識(shí)補(bǔ)充和理論指導(dǎo)。巫銀良先生根據(jù)自己豐富的從業(yè)實(shí)踐與行業(yè)觀察總結(jié)出來(lái)的這本書(shū)正好填補(bǔ)了這一空白,值得推薦! SAS中國(guó)研發(fā)中心總經(jīng)理 劉政當(dāng)我看到標(biāo)題的一刻,心想這可能又是一個(gè)專門針對(duì)程序員講解編程的書(shū)。但當(dāng)我打開(kāi)書(shū),慢慢品讀的時(shí)候,有的是驚喜;在書(shū)中,可以看到與數(shù)學(xué)概念相關(guān)的歷史、公式,計(jì)算機(jī)技術(shù)以及SAS 編程的有機(jī)融合。我一口氣讀下來(lái),沒(méi)有感到晦澀和枯燥,這是一本值得推薦的好書(shū)。 華為供應(yīng)鏈管理部數(shù)據(jù)科學(xué)家 林建偉

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 內(nèi)容簡(jiǎn)介

本書(shū)共27章,分為上下兩卷:上卷介紹SAS編程基礎(chǔ)與使用方法,是廣大程序員快速掌握SAS編程技術(shù)的簡(jiǎn)明開(kāi)發(fā)教程;下卷闡述數(shù)據(jù)分析的關(guān)鍵基礎(chǔ)知識(shí)并提供相應(yīng)SAS代碼實(shí)現(xiàn),目的是激發(fā)讀者興趣,跨越傳統(tǒng)編程與數(shù)據(jù)分析的鴻溝,從程序員華麗轉(zhuǎn)身為數(shù)據(jù)科學(xué)家。書(shū)中演示代碼力圖簡(jiǎn)潔清晰地解釋相關(guān)概念,追求大道至簡(jiǎn)。本書(shū)兼顧編程技術(shù)與數(shù)據(jù)分析,期許程序員、信息處理與統(tǒng)計(jì)分析人員以及對(duì)數(shù)據(jù)分析科學(xué)感興趣的讀者都能從本書(shū)中獲益良多,循序漸進(jìn)地掌握數(shù)據(jù)分析的要義和精髓,從數(shù)據(jù)中獲取洞見(jiàn)與智慧。

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 目錄

上 卷

第1章 SAS語(yǔ)言入門 002

1.1 語(yǔ)言概述 005

1.2 編程環(huán)境 010

1.3 SAS Studio編程 016

第2章 數(shù)據(jù)集與DATA步 032

2.1 SAS 邏輯庫(kù) 032

2.2 SAS 數(shù)據(jù)集 036

2.3 DATA 步 041

2.3.1 內(nèi)嵌數(shù)據(jù)行或外部數(shù)據(jù)文件 043

2.3.2 通過(guò)已有 SAS 數(shù)據(jù)集生成 048

2.3.3 通過(guò) PROC IMPORT 或 PROC SQL 生成 051

2.4 DATA 步的運(yùn)行機(jī)制 054

2.4.1 編譯階段 055

2.4.2 運(yùn)行階段 056

2.5 DATA 步語(yǔ)句快速索引 057

第3章 變量與表達(dá)式 062

3.1 常量與變量 062

3.1.1 變量長(zhǎng)度與缺失值 063

3.1.2 數(shù)值常量 065

3.1.3 日期/時(shí)間/日期時(shí)間常量 067

3.1.4 字符常量 067

3.2 表達(dá)式 068

3.2.1 運(yùn)算符 068

3.2.2 運(yùn)算符優(yōu)先順序 072

3.2.3 WHERE 語(yǔ)句特定運(yùn)算符 072

3.2.4 賦值語(yǔ)句 073

3.2.5 累加賦值語(yǔ)句 074

3.2.6 RETAIN 語(yǔ)句 075



SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家

3.3 SAS數(shù)組 077

3.3.1 數(shù)組名稱 079

3.3.2 數(shù)組元素變量列表 079

3.3.3 數(shù)組長(zhǎng)度 080

3.3.4 隱式下標(biāo)變量 080

3.3.5 多維數(shù)組 081

3.3.6 臨時(shí)數(shù)組 082

3.3.7 數(shù)組排序 083

3.3.8 注意事項(xiàng) 084

第4章 流程控制 087

4.1 DO-END語(yǔ)句塊 087

4.2 分支控制 088

4.2.1 IF-THEN 分支控制 088

4.2.2 ELSE-IF 多分支控制 090

4.2.3 SELECT-WHEN 多分支控制 090

4.3 循環(huán)控制 091

4.3.1 指定次數(shù)的循環(huán):DO-TO-BY 091

4.3.2 指定條件的循環(huán):DO-WHILE 與 DO-UNTIL092

4.3.3 指定集合的循環(huán):DO-OVER 093

4.4 特殊的流程控制語(yǔ)句 094

4.4.1 跳出循環(huán)語(yǔ)句:LEAVE 094

4.4.2 繼續(xù)循環(huán)語(yǔ)句:CONTINUE 094

4.4.3 返回語(yǔ)句:RETURN 095

4.4.4 中止執(zhí)行語(yǔ)句:STOP 與 ABORT 095

4.4.5 跳轉(zhuǎn)語(yǔ)句:GOTO 與 LINK 096

第 5章 函數(shù)封裝 099

5.1 LINK-RETURN 技術(shù) 101

5.2 SAS宏函數(shù)封裝 103

5.3 FCMP函數(shù) 105

5.4 系統(tǒng)函數(shù)速查 110

第6章 SAS宏 113

6.1 宏變量 114

6.1.1 命名 114

6.1.2 作用域 114

6.1.3 系統(tǒng)宏 115

6.1.4 宏代碼調(diào)試 117



目 錄

XIII

6.1.5 宏表達(dá)式 117

6.2 宏函數(shù) 119

參數(shù)定義 120

6.3 邏輯控制 121

6.3.1 宏語(yǔ)句塊 121

6.3.2 條件分支 121

6.3.3 循環(huán)控制 121

6.4 系統(tǒng)宏函數(shù) 122

第7章 DS2 124

7.1 程序結(jié)構(gòu) 126

7.1.1 變量聲明與類型 126

7.1.2 程序?qū)嶓w作用域 129

7.1.3 變量數(shù)組與標(biāo)準(zhǔn)數(shù)組 130

7.1.4 系統(tǒng)方法與用戶自定義方法 131

7.2 數(shù)據(jù)程序 136

7.3 包程序 137

7.4 線程程序 143

第8章 代碼組織 149

8.1 靜態(tài)文件包含 149

8.2 程序中動(dòng)態(tài)擴(kuò)展代碼 151

8.3 動(dòng)態(tài)執(zhí)行外部命令 153

第9章 文件讀寫 157

9.1 二進(jìn)制文件讀寫 157

9.2 文本文件讀寫 159

9.3 順序讀取多個(gè)文件 162

9.4 并行讀取多個(gè)文件 165

9.5 共享緩沖區(qū)讀寫 166

第10章 按位運(yùn)算 168

10.1 按位運(yùn)算 168

10.2 實(shí)現(xiàn)方法 169

10.3 按位運(yùn)算應(yīng)用 173

第11章 擴(kuò)展SAS功能 177

11.1 通過(guò) Module調(diào)用外部 DLL函數(shù) 177

11.2 用 C 語(yǔ)言開(kāi)發(fā)用戶函數(shù)庫(kù) 182

11.2.1 準(zhǔn)備64位 C 編譯環(huán)境 182



SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家

11.2.2 開(kāi)發(fā)用戶自定義動(dòng)態(tài)庫(kù) 183

11.3 PROTO 編寫 C 代碼或注冊(cè)外部 DLL 184

第12章 數(shù)據(jù)結(jié)構(gòu)——數(shù)組 187

12.1 數(shù)組 187

12.1.1 DATA步數(shù)組 187

12.1.2 FCMP 數(shù)組 189

12.1.3 DS2 數(shù)組 192

12.1.4 SAS宏數(shù)組 193

12.2 數(shù)組應(yīng)用:高精度數(shù)值計(jì)算 194

第13章 數(shù)據(jù)結(jié)構(gòu)——隊(duì)列與堆棧 196

13.1 隊(duì)列 196

13.1.1 函數(shù)版實(shí)現(xiàn)與示例 196

13.1.2 宏版實(shí)現(xiàn)與示例 199

13.2 堆棧 202

函數(shù)版實(shí)現(xiàn)與示例 202

第14章 數(shù)據(jù)結(jié)構(gòu)——鏈表 206

14.1 基礎(chǔ)知識(shí) 206

14.2 如何在 SAS 代碼中內(nèi)嵌 C 語(yǔ)言代碼 207

14.3 單向鏈表和雙向鏈表 209

14.4 鏈表應(yīng)用:約瑟夫斯問(wèn)題 216

第15章 數(shù)據(jù)結(jié)構(gòu)——二叉樹(shù) 221

15.1 PROTO 實(shí)現(xiàn)與封裝 221

15.2 FCMP二叉樹(shù)實(shí)現(xiàn) 227

15.3 二叉樹(shù)應(yīng)用:算術(shù)表達(dá)式求值 231

第16章 數(shù)據(jù)結(jié)構(gòu)——矩陣運(yùn)算 235

16.1 FCMP 矩陣運(yùn)算 236

16.2 DS2 矩陣運(yùn)算 243

16.3 矩陣應(yīng)用:線性方程組求解 246

16.4 矩陣應(yīng)用:非線性方程組求解 248

第17章 數(shù)據(jù)結(jié)構(gòu)——圖 255

17.1 深度優(yōu)先和廣度優(yōu)先遍歷 256

17.2 *短路徑問(wèn)題 260

17.2.1 Dijkstra算法 261

17.2.2 Bellman-Ford 算法 263

17.2.3 Floyd-Warshall 算法 265



目 錄

下 卷

第18章 統(tǒng)計(jì)學(xué)基礎(chǔ) 270

18.1 數(shù)據(jù)特征度量 270

18.1.1 集中趨勢(shì)度量 272

18.1.2 離散趨勢(shì)度量 274

18.1.3 分布特征度量 277

18.1.4 置信區(qū)間、置信水平與 p-值 279

18.2 統(tǒng)計(jì)學(xué)上的變量類型 280

18.3 基本數(shù)據(jù)處理 283

18.3.1 排序與排名 284

18.3.2 數(shù)據(jù)轉(zhuǎn)置 285

18.3.3 堆疊與拆分 286

18.3.4 過(guò)濾數(shù)據(jù) 287

18.3.5 隨機(jī)抽樣 289

18.3.6 基本統(tǒng)計(jì)量 290

18.4 基本圖形圖表 292

18.5 SAS 產(chǎn)品與過(guò)程步概覽 303

18.5.1 SAS核心產(chǎn)品功能簡(jiǎn)介 305

18.5.2 Base SAS 過(guò)程步速查 309

18.5.3 SAS/STAT過(guò)程步速查 318

第19章 大數(shù)定律與中心極限定理 327

19.1 大數(shù)定律 327

19.1.1 弱大數(shù)定律 327

19.1.2 三種大數(shù)定律 329

19.1.3 圖形化證明 330

19.1.4 強(qiáng)大數(shù)定律 333

19.2 中心極限定理 334

19.2.1 大數(shù)定律與中心極限定理關(guān)系 335

19.2.2 圖形化證明 336

19.2.3 實(shí)際用途 340

第20章 統(tǒng)計(jì)分布 342

20.1 均勻分布 342

20.2 離散型統(tǒng)計(jì)分布 345

20.2.1 伯努利分布 345



SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家

20.2.2 二項(xiàng)分布 347

20.2.3 幾何分布 353

20.2.4 負(fù)二項(xiàng)分布 357

20.2.5 超幾何分布 360

20.2.6 泊松分布 362

20.3 連續(xù)型統(tǒng)計(jì)分布 365

20.3.1 正態(tài)分布 365

20.3.2 對(duì)數(shù)正態(tài)分布 373

20.3.3 指數(shù)分布 376

20.3.4 卡方分布 379

20.3.5 學(xué)生t-分布 381

20.3.6 F分布 387

20.3.7 柯西分布 390

20.3.8 貝塔分布 392

20.3.9 伽馬分布 395

20.3.10 愛(ài)爾朗分布 397

20.3.11 韋布爾分布 399

20.3.12 三角分布 400

20.3.13 Table 分布 401

附錄:各統(tǒng)計(jì)分布之間的關(guān)系 403

第21章 方差分析 404

21.1 假設(shè)檢驗(yàn) 404

21.2 方差分析 406

21.2.1 學(xué)生t-檢驗(yàn) 406

21.2.2 單因子方差分析 408

21.2.3 雙因子方差分析 418

第22章 數(shù)據(jù)標(biāo)準(zhǔn)化 421

22.1 常用標(biāo)準(zhǔn)化方法 421

22.2 SAS數(shù)據(jù)標(biāo)準(zhǔn)化 424

22.3 自定義數(shù)據(jù)標(biāo)準(zhǔn)化 429

第23章 主成分分析與因子分析 433

23.1 主成分分析 434

23.1.1 主成分分析原理 435

23.1.2 主成分分析的具體步驟 436

23.2 因子分析 443



目 錄

23.2.1 因子分析原理 443

23.2.2 巴特利球度檢驗(yàn)和 KMO 檢驗(yàn) 443

23.2.3 因子分析的具體步驟 445

第24章 相關(guān)分析與回歸分析 450

24.1 變量關(guān)系 450

24.2 相關(guān)分析 451

24.2.1 線性相關(guān)性度量 451

24.2.2 非參數(shù)關(guān)聯(lián)度量 452

24.2.3 定量數(shù)據(jù)的相關(guān)分析 455

24.2.4 類別數(shù)據(jù)的相關(guān)分析 457

24.3 回歸分析 460

第25章 聚類分析 467

25.1 聚類度量 469

25.1.1 距離系數(shù) 469

25.1.2 相似性/相關(guān)系數(shù) 471

25.1.3 SAS實(shí)踐 473

25.2 聚類形成方法 475

25.2.1 一次形成分類系統(tǒng) 475

25.2.2 K-均值聚類 477

25.2.3 逐步形成分類系統(tǒng) 485

25.2.4 R 型聚類分析 491

25.3 自己實(shí)現(xiàn)聚類算法 494

25.3.1 K-均值方法 494

25.3.2 逐步形成分類系統(tǒng) 501

附錄:聚類度量的自定義實(shí)現(xiàn) 509

第26章 神經(jīng)網(wǎng)絡(luò) 512

26.1 神經(jīng)元模型 513

26.2 神經(jīng)網(wǎng)絡(luò) 517

26.2.1 訓(xùn)練神經(jīng)網(wǎng)絡(luò) 519

26.2.2 反向傳播算法 519

26.3 SAS 代碼實(shí)現(xiàn)與范例 524

第27 章 π高精度求解與探索分析 536

27.1 π值計(jì)算 537

27.1.1 蒙特卡羅方法 543

27.1.2 蒲豐投針?lè)椒?544



SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家

27.1.3 微積分方法 545

27.1.4 冪級(jí)數(shù)方法 546

27.1.5 冪級(jí)數(shù)高精度方法 548

27.1.6 梅欽類公式高精度方法 550

27.1.7 迭代方法——貝拉公式 554

27.2 π值分析 557

27.2.1 數(shù)字分布規(guī)律 558

27.2.2 可視化探索 561

附錄 564

參考文獻(xiàn) 598
展開(kāi)全部

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 節(jié)選

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 個(gè)RUN 語(yǔ)句,但只有在遇到 QUIT 語(yǔ)句時(shí) SAS 才釋放系統(tǒng)資源返回當(dāng)前SAS 會(huì)話。 ●全局語(yǔ)句:在 DATA 步或PROC步之外,SAS還包括若干全局語(yǔ)句,通常用于指 定全局選項(xiàng)或者其他全局性的功能。比如 TITLE語(yǔ)句就可用來(lái)指定后續(xù)PROC 步 輸出報(bào)告的標(biāo)題文字,其中TITLE# (#為數(shù)字,如TITLE2)全局語(yǔ)句可用來(lái)指 定特定級(jí)別的標(biāo)題,*多可達(dá)11級(jí)。如果希望在輸出的圖表中關(guān)閉特定級(jí)別的 報(bào)表標(biāo)題,用戶可以無(wú)參數(shù)調(diào)用TITLE 語(yǔ)句來(lái)實(shí)現(xiàn)。比如程序 1-2 可設(shè)置報(bào)表 輸出的標(biāo)題。 程序1-2 全局語(yǔ)句 title "The title of my first report"; /*設(shè)置輸出報(bào)告的標(biāo)題*/ title2 "Author:Yinliang Wu"; /*設(shè)置第二級(jí)的報(bào)告標(biāo)題*/ title; /*關(guān)閉報(bào)告標(biāo)題*/ 各種SAS 選項(xiàng)語(yǔ)句也屬于全局語(yǔ)句,功能上類似于操作系統(tǒng)的環(huán)境變量,不過(guò)它 用來(lái)指定當(dāng)前SAS 會(huì)話有關(guān)的系統(tǒng)設(shè)置,如程序1-3 用于設(shè)置當(dāng)前會(huì)話(Session)的 語(yǔ)言區(qū)域?qū)傩裕↙ocale)為英文,此時(shí)后續(xù)的過(guò)程步都會(huì)受此選項(xiàng)影響輸出英文語(yǔ)言 的報(bào)告。 程序1-3 全局語(yǔ)句 options locale=en_US;/*設(shè)置會(huì)話的語(yǔ)言區(qū)域?qū)傩?/ ●DATA 步:數(shù)據(jù)步負(fù)責(zé)為后續(xù)數(shù)據(jù)步或過(guò)程步準(zhǔn)備待分析的數(shù)據(jù),它是SAS語(yǔ)言 核心的組成部分之一。其基本語(yǔ)法為 data mydata; ; run; 比如程序1-4 創(chuàng)建一行具有5 列的數(shù)據(jù)表,其中Name 和Sex 是字符型變量,其他 3 個(gè)為數(shù)值型變量。它與系統(tǒng)數(shù)據(jù)集sashelp.class 的表結(jié)構(gòu)類似。 程序1-4 DATA步范例 data mydata; input Name $ Sex $ Age Height Weight; datalines; LEON M 30 175 83.5 run; ●PROC步:SAS過(guò)程步是執(zhí)行特定任務(wù)的一系列SAS語(yǔ)句的集合,它以 PROC 語(yǔ) 句開(kāi)始,一般到下一個(gè) RUN語(yǔ)句結(jié)束;如前所述,某些PROC 如PROC SQL 允許 有多條RUN語(yǔ)句提交代碼到DBMS內(nèi)執(zhí)行,但只有當(dāng)該P(yáng)ROC*后一個(gè)QUIT語(yǔ) 句運(yùn)行后才會(huì)釋放資源返回SAS會(huì)話環(huán)境。每個(gè)過(guò)程步都有自己特定的SAS 語(yǔ) 句,也有很多過(guò)程步共享相同的SAS 語(yǔ)句和參數(shù)選項(xiàng),如幾乎所有的過(guò)程步都 有data= 參數(shù)用來(lái)指定待處理的輸入數(shù)據(jù)集名稱(見(jiàn)程序1-5)。 程序1-5 PROC步范例 proc contents data=mydata; run; proc print data=mydata; var name height; run; 參數(shù)data=mydata是proc contents和proc print兩個(gè)過(guò)程步語(yǔ)句都有的選項(xiàng),用來(lái)指 定過(guò)程步的輸入數(shù)據(jù)集。如果過(guò)程步?jīng)]有指定data=參數(shù),則系統(tǒng)默認(rèn)使用當(dāng)前SAS 會(huì)話中*后使用或生成的那個(gè)數(shù)據(jù)集,該數(shù)據(jù)集的名稱也存在于當(dāng)前會(huì)話的系統(tǒng)宏變 量&SYSLAST。 ● 程序注釋:代碼注釋通常用于標(biāo)注不可執(zhí)行的文本,如描述程序的功能,或出于生 成文檔的目的在代碼中添加說(shuō)明性文本。注釋還可用來(lái)在調(diào)試代碼過(guò)程中將已經(jīng) 調(diào)試好的SAS代碼暫時(shí)隔離,當(dāng)代碼運(yùn)行時(shí)注釋中的代碼會(huì)被編譯器自動(dòng)忽略,但 SAS注釋依然會(huì)被寫入SAS日志文件。 鑒于SAS宏本質(zhì)是文本替換,需要特別注意的 一點(diǎn)是在MACRO宏代碼中應(yīng)盡量使用塊注釋,謹(jǐn)慎使用行注釋以免導(dǎo)致不期望的宏 展開(kāi),宏代碼中使用行注釋應(yīng)中以 %* 開(kāi)始,分號(hào)結(jié)束。SAS塊注釋和行注釋如下。 (1)塊注釋:SAS 語(yǔ)言支持C/C++和 Java 等語(yǔ)言廣泛使用的塊注釋,它以 /*開(kāi) 始,以后續(xù)*近的*/號(hào)結(jié)束,注釋可以包含分號(hào)以及任何長(zhǎng)度的文本,也可以跨行(見(jiàn) 程序 1-6)。但SAS代碼不支持嵌套使用塊注釋。 程序1-6 塊注釋 /* * 塊注釋1… */ proc contents data=mydata; run; (2)行注釋:行注釋以星號(hào)“*”開(kāi)始,結(jié)束于*近的一個(gè)分號(hào)“;”處。雖然它可 注釋多行文本,但它總是以*近的一個(gè)分號(hào)(包括引號(hào)中的分號(hào))結(jié)束;其設(shè)計(jì)初衷用 于調(diào)試過(guò)程中注釋掉單行語(yǔ)句,跨多行的文本建議使用塊注釋以免產(chǎn)生意想不到的結(jié)果。 (見(jiàn)程序 1-7)。 程序1-7 行注釋 * 行注釋1…; proc contents data=mydata; * 行注釋2…; * 行注釋3…; run; 雖然SAS代碼在格式上具有很強(qiáng)的靈活性,但良好的代碼風(fēng)格能提高代碼的可讀性 和可維護(hù)性。因此,一般情況下請(qǐng)遵循如下SAS代碼格式化規(guī)范,使SAS代碼具有較 強(qiáng)的可讀性。 (1)全局語(yǔ)句、DATA / PROC步語(yǔ)句、步結(jié)束語(yǔ)句RUN / QUIT 等語(yǔ)句應(yīng)開(kāi)始于 **列,而其他子語(yǔ)句通常采用逐級(jí)縮進(jìn),以顯示層次結(jié)構(gòu)關(guān)系。 SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 (2)SAS 步與步之間通常用空行分隔,以表示SAS 代碼的編譯邊界,方便代碼錯(cuò) 誤調(diào)試。 (3)當(dāng)單行代碼因參數(shù)較多導(dǎo)致長(zhǎng)度較大時(shí),應(yīng)折行處理,并在該語(yǔ)句的結(jié)束分 號(hào)后加上一個(gè)空行。 總的來(lái)說(shuō),SAS 的DATA 步和PROC 步是SAS 語(yǔ)言對(duì)數(shù)據(jù)分析工作的精妙抽象和 完美封裝,數(shù)據(jù)步主要解決待分析的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)準(zhǔn)備問(wèn)題,而過(guò)程步解決特定分析 方法和流程的實(shí)現(xiàn)和封裝;這兩種SAS 步就像數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì),大體上分別負(fù)責(zé)數(shù) 據(jù)結(jié)構(gòu)和算法邏輯實(shí)現(xiàn)。只有當(dāng)需要更加復(fù)雜的自定義數(shù)據(jù)處理和分析算法時(shí),才需要 后面章節(jié)中將會(huì)講到的各種函數(shù)封裝進(jìn)行擴(kuò)展。 1.2 編程環(huán)境 SAS 編程需要使用什么樣的開(kāi)發(fā)環(huán)境?其實(shí)它跟其他計(jì)算機(jī)語(yǔ)言一樣,可用任何純 文本編輯器編寫SAS 代碼,如 Windows 平臺(tái)的記事本,NotePad+ + 或者UltraEditor 工具。 也可以使用UNIX 上的vi 來(lái)編輯代碼,不過(guò)需要注意的是Windows 平臺(tái)使用回車換行符 CRLF 而Unix 平臺(tái)使用換行符LF 進(jìn)行文本換行。用文本編輯器生成的SAS 代碼文件,其 文件編碼(File Encoding )需要與SAS 運(yùn)行時(shí)的會(huì)話編碼(Session Encoding )匹配,否則可 能出現(xiàn)不期望的亂碼或程序行為。這并不是SAS 語(yǔ)言編程特定的文件處理問(wèn)題,而是所有 編程語(yǔ)言都會(huì)面臨的源代碼文件編碼和編譯器讀取文件的所采用的編碼之間的匹配問(wèn)題。 在SAS 執(zhí)行環(huán)境中檢查當(dāng)前SAS 會(huì)話編碼,可使用PROC OPTIONS 過(guò)程步檢查(見(jiàn) 程序 1-8),它會(huì)輸出當(dāng)前SAS 系統(tǒng)使用的默認(rèn)語(yǔ)言區(qū)域設(shè)置以及字符集編碼信息。 程序1-8 檢查當(dāng)前SAS會(huì)話的Locale/Encoding 設(shè)置 proc options option=(locale encoding); run; 對(duì)于用戶用文本編輯器編寫好的SAS 代碼,如何用命令行方式編譯運(yùn)行SAS 代碼? 對(duì)于已經(jīng)安裝好SAS 環(huán)境的機(jī)器,用戶只需要調(diào)用sas.exe 然后指定-sysin 命令行參數(shù) 將SAS 代碼文件的全路徑傳遞給SAS 即可。默認(rèn)SAS 代碼運(yùn)行后生成的日志文件會(huì)輸 出到當(dāng)前路徑,用戶也可以使用命令行參數(shù)-log 進(jìn)行指定。比如: C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin C:\temp\helloworld.sas -log C:\temp\helloworld.log SAS 默認(rèn)使用配置文件為C:\Program Files\SASHome\SASFoundation\9.4\sasv9.cfg, 也就是當(dāng)前機(jī)器上安裝SAS 時(shí)生成的默認(rèn)配置。檢查該文件的內(nèi)容可發(fā)現(xiàn)它默認(rèn)指向 了SAS 安裝目錄下面的某個(gè)語(yǔ)言特定的配置文件。比如在中文環(huán)境上安裝的SAS,該 sasv9.cfg 文件的內(nèi)容如下,表示默認(rèn)使用中文配置來(lái)建立SAS 會(huì)話環(huán)境并運(yùn)行SAS 代碼。 -config "C:\Program Files\SASHome\SASFoundation\9.4\nls\zh\sasv9.cfg" 如果用戶想在中文的環(huán)境上運(yùn)行特定配置的SAS,如希望用純英文版SAS執(zhí)行用 戶代碼,用戶只需要在運(yùn)行SAS代碼時(shí)直接指定特定配置文件即可。檢查該環(huán)境運(yùn)行的 SAS日志文件將會(huì)發(fā)現(xiàn)所有的輸出內(nèi)容變成了英文文本。 C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -config "C:\Program Files\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg" -sysin C:\temp\helloworld.sas -log C:\temp\helloworld.log 同理,如果想用英文版SAS執(zhí)行代碼但程序中又要支持處理中文數(shù)據(jù),用戶則可以 使用SAS安裝目錄中的 nls\1d\sasv9.cfg 配置文件;如果想用Unicode版本的SAS來(lái)運(yùn) 行代碼,則需要使用 nls\u8\sasv9.cfg 配置文件。

SAS技術(shù)內(nèi)幕:從程序員到數(shù)據(jù)科學(xué)家 作者簡(jiǎn)介

巫銀良 SAS 中國(guó)研發(fā)中心技術(shù)總監(jiān),北京大學(xué)信息科學(xué)技術(shù)學(xué)院客座教授。主要負(fù)責(zé)SAS 中國(guó)研發(fā)中心大數(shù)據(jù)與可視化分析技術(shù)、可視化數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí),商業(yè)智能和移動(dòng)應(yīng)用等產(chǎn)品線的項(xiàng)目管理。 畢業(yè)于北京大學(xué),獲理學(xué)學(xué)士和碩士學(xué)位。擁有近 20 年計(jì)算機(jī)行業(yè)研發(fā)和管理經(jīng)驗(yàn),在企業(yè)應(yīng)用和商業(yè)分析領(lǐng)域有深厚的技術(shù)功底。專注于研發(fā)管理和項(xiàng)目實(shí)踐,涉及領(lǐng)域包括人工智能、大數(shù)據(jù)與可視化分析、金融量化分析與自動(dòng)交易、商業(yè)智能與互聯(lián)網(wǎng)、大型商業(yè)軟件研發(fā)管理等。

商品評(píng)論(0條)
暫無(wú)評(píng)論……
書(shū)友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服