
spss讀取數(shù)據(jù)syntax語(yǔ)句
生活中,我們常常因?yàn)檫@樣或那樣的事情而需要從一個(gè)城市到另外一個(gè)城市。旅途前,我們需要考慮旅途中的各個(gè)環(huán)節(jié),比如說(shuō)確定旅行方式(水、陸、空的選擇),交通工具的選擇及出行站點(diǎn)、出行車次(航班)等等。而把各種形式的數(shù)據(jù)按照自己的要求轉(zhuǎn)換為SPSS格式數(shù)據(jù),就好比我們從一個(gè)城市到另一個(gè)城市,而SPSS格式的數(shù)據(jù)就是我們的目的地。
和現(xiàn)實(shí)生活一樣,利用Syntax將各種形式的數(shù)據(jù)轉(zhuǎn)換為我們所需的SPSS格式數(shù)據(jù)也需要我們像旅途一樣考慮一些細(xì)節(jié)問(wèn)題。例如:我們從一個(gè)數(shù)據(jù)庫(kù)文檔中讀取我們所需的數(shù)據(jù),首先確定SPSS與數(shù)據(jù)庫(kù)間采用何種連接方式(ODBC或JDBC),然后確定采集的數(shù)據(jù)來(lái)自何種數(shù)據(jù)庫(kù)(Oracle,DB2,SQL SERVER,ACCESS等),接下來(lái)就是確定類似出發(fā)站點(diǎn)、車次等一系列細(xì)節(jié)問(wèn)題。這樣說(shuō)來(lái)好像有點(diǎn)玄乎,下面將結(jié)合實(shí)例,看Syntax是如何一步一步的從數(shù)據(jù)庫(kù)、EXCEL、TXT等格式文檔中提取數(shù)據(jù)。
一、從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)
由于從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)需要輸入的代碼比較繁瑣,一般來(lái)說(shuō)先利用菜單向?qū)Р僮鳎诮Y(jié)束前利用Paste將操作大致代碼導(dǎo)入Syntax編輯窗口中,然后再根據(jù)自己的需要對(duì)代碼做適當(dāng)?shù)男薷摹@纾?/span>
GET DATA ***告訴SPSS你此行的目的,得到數(shù)據(jù)***.
/TYPE=ODBC ***接下來(lái)就是選擇海陸空了,omgd!是ODBC****.
/CONNECT= ***交通工具的選擇及細(xì)節(jié),利用交通工具將兩地連起來(lái)就有了CONNECT***.
'DSN=Microsoft Access;DBQ=c:\mydocuments\dm_demo.mdb;'+ (通常這些細(xì)節(jié)都利用向?qū)е苯由?
' DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;'
/SQL = 'SELECT * FROM CombinedTable'.
***上面安置完畢,到達(dá)目的地了,/SQL就好比你到目的地后所做之事***.
EXECUTE.
上面Syntax的作用是將ACCESS數(shù)據(jù)庫(kù)中CombinedTable表中所有數(shù)據(jù)導(dǎo)入SPSS,上面Syntax語(yǔ)句中紅色標(biāo)注的可以說(shuō)是此語(yǔ)句的核心部分,①、/connect子語(yǔ)句說(shuō)明從何種數(shù)據(jù)庫(kù)從提取數(shù)據(jù)及提取相關(guān)細(xì)節(jié),此過(guò)程通常由向?qū)?,一般需要用時(shí)復(fù)制-粘貼即可;②、/SQL子語(yǔ)句相比/CONNECT語(yǔ)句則是重中之重,也是此次旅途的終極目的。如果從2個(gè)不同的表中選取變量,則是
/SQL =
'SELECT * FROM [table1],[table2]'
' WHERE [conditions]'.
還有select與group by,order by,having 等語(yǔ)句聯(lián)合運(yùn)用的情況,更多SQL語(yǔ)法知識(shí)則需參考數(shù)據(jù)庫(kù)相關(guān)書籍(這也是目前許多公司要求做數(shù)據(jù)分析的懂?dāng)?shù)據(jù)庫(kù)的原因之一)。
注:?jiǎn)渭儚臄?shù)據(jù)庫(kù)中提取數(shù)據(jù)并不需要太多數(shù)據(jù)庫(kù)知識(shí),單純了解SQL查詢語(yǔ)言就可以了,個(gè)人建議讀讀《SQL循序漸進(jìn)》。
二、從EXCEL格式文件中讀取數(shù)據(jù)
利用Syntax語(yǔ)句從EXCEL中讀取數(shù)據(jù)并沒(méi)有太多的技巧,數(shù)據(jù)讀取過(guò)程可以簡(jiǎn)單的分為2類,一類是讀取單表數(shù)據(jù),另一類則是讀取多表數(shù)據(jù)(與從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)語(yǔ)法類似,只是/CONNECT語(yǔ)句稍有不同)。首先簡(jiǎn)單的說(shuō)說(shuō)第一類從單表中讀取數(shù)據(jù),例如:從我的文檔中讀取名叫data的EXCEL工作薄中表salary的[A3:H160]的數(shù)據(jù),且將讀取數(shù)據(jù)的第一行作為變量名,其Syntax代碼如下:
get data ***①告訴SPSS,你的目的—得到數(shù)據(jù)(get data)***.
/type=xls ***②讀的數(shù)據(jù)是什么類型(XLS OR XLSM<EXCEL2007>)***.
/file="C:/mydocuments/data.xls". ***③告訴SPSS文檔的位置***.
/sheet=name 'salary' ***④告訴SPSS你要讀取那個(gè)表(缺失時(shí)自動(dòng)讀取第一個(gè)表)***.
/cellrange=range 'A3:H160' ***⑤告訴SPSS你要讀取表中那些數(shù)據(jù)***.
/readnames=on. ***⑥將讀取數(shù)據(jù)的第一行設(shè)置為變量名***.
上面語(yǔ)法明確的表達(dá)你的意圖,再聯(lián)系我們?cè)诼猛局械姆N種行為,這個(gè)語(yǔ)句就輕而易舉的被攻克了。值得一提的是,上面語(yǔ)句中的④⑤⑥三個(gè)子語(yǔ)句都可省略,省略后SPSS將從工作薄中第一個(gè)表讀取所有數(shù)據(jù),并將第一行默認(rèn)為變量名,如果第一行為空,變量名則默認(rèn)為VAR1,VAR2……,這一過(guò)程和利用菜單向?qū)Р僮餍Ч粯樱旅嬲f(shuō)說(shuō)怎樣從多個(gè)表中讀取數(shù)據(jù),例如:
GET DATA
/TYPE=ODBC
/CONNECT=
'DSN=Excel Files;DBQ=c:\examples\data\sales.xls;' +
'DriverId=790;MaxBufferSize=2048;PageTimeout=5;'
/SQL =
'SELECT Location$.[Store Number], State, Region, City,'
' Power, Hand, Accessories,'
' Tires, Batteries, Gizmos, Dohickeys'
' FROM [Location$], [Tools$], [Auto$]'
' WHERE [Tools$].[Store Number]=[Location$].[Store Number]'
' AND [Auto$].[Store Number]=[Location$].[Store Number]'.
上面的代碼和從數(shù)據(jù)庫(kù)中讀取表數(shù)據(jù)完全一樣,只是在/CONNECT語(yǔ)句上做了些許變化,其他的并無(wú)區(qū)別,當(dāng)然重點(diǎn)還是后面的提取數(shù)據(jù)變量語(yǔ)句/SQL,這里要說(shuō)明的是如果提取變量字符中含有空格的話就需要用[ ]給框起來(lái)了,正如上面示例代碼所示。 另外,不得不提的是從多表中讀取數(shù)據(jù)較從單表中讀取數(shù)據(jù)的一些局限性,比如不能像單表一樣隨意選擇數(shù)據(jù)讀取范圍;讀取表中的第一行非空字符都將強(qiáng)制讀取為SPSS中的變量;變量類型較單一,只提供了數(shù)字和字符兩種數(shù)據(jù)類型等等。
三、從TXT格式文件中讀取數(shù)據(jù)
利用向?qū)腡XT格式文件從讀取數(shù)據(jù)有時(shí)候會(huì)因數(shù)據(jù)格式整潔而很方便,有時(shí)又會(huì)因?yàn)楦袷交靵y而使你后面的分析工作變的麻煩,而利用代碼則可以一次解決這種問(wèn)題。通常讀取文本格式數(shù)據(jù)語(yǔ)句分為get data和data list兩種,采用何種語(yǔ)句完全憑個(gè)人喜好,當(dāng)然兩種方式各有所長(zhǎng),比如CSV文件或是很大的容量的文本數(shù)據(jù)用get data較data list就方便的多,而在處理程序內(nèi)數(shù)據(jù)(begin data……end data)或結(jié)構(gòu)相對(duì)較復(fù)雜的數(shù)據(jù)時(shí)用data list語(yǔ)句則較get data語(yǔ)句更方便些。根據(jù)文本數(shù)據(jù)格式,data list語(yǔ)句又有data list free/list/fixed之分,這里不便一一道來(lái),通常一般的TXT格式的數(shù)據(jù)我們很少遇到,這里主要說(shuō)說(shuō)從網(wǎng)站數(shù)據(jù)庫(kù)中導(dǎo)出的CSV格式的數(shù)據(jù)轉(zhuǎn)換情況,例如,我們從網(wǎng)站中導(dǎo)出如下CSV格式的數(shù)據(jù)dara.csv:
ID,Name,Gender,Date Hired,Department
1,"Foster, Chantal",f,10/29/1998,1
2,"Healy, Jonathan",m,3/1/1992,3
3,"Walter, Wendy",f,1/23/1995,2
4,"Oliver, Kendall",f,10/28/2003,2
下面我們將像旅途一樣將此csv格式的數(shù)據(jù)轉(zhuǎn)換為我們所需的.sav格式,
get data ***①告訴SPSS,你的目的***.
/type=txt ***②告訴SPSS你要乘車還是坐船***.
/file='c:/mydocuments/data.csv' ***③找到車站碼頭***.
/delimiters= "," ***④司機(jī)強(qiáng)調(diào)路上安全(數(shù)據(jù)用","分隔)***.
/qualifier='" ' ***⑤司機(jī)介紹如何處理突發(fā)事故(比如數(shù)據(jù)中包含空格,逗號(hào)等特殊情況)***.
/arrangement=delimited ***⑥其他注意情況(限制情況)***.
/firstcase=2 ***⑦找到自己的座位(從第2行開(kāi)始讀取數(shù)據(jù))***.
/variables= ID F3 Name A15 Gender A1
Date_Hired ADATE10 Department F1. ***⑧到了目的地確定適宜(設(shè)定變量名及格式)***.
此次Syntax旅途暫告一段落,當(dāng)然還有許多其他格式的數(shù)據(jù),這里不一一列舉,但通常都可以像旅途一樣實(shí)行轉(zhuǎn)換目的。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
用 SQL 生成逆向回滾 SQL:數(shù)據(jù)操作的 “后悔藥” 指南? 在數(shù)據(jù)庫(kù)操作中,誤刪數(shù)據(jù)、錯(cuò)改字段或誤執(zhí)行批量更新等問(wèn)題時(shí)有發(fā)生。 ...
2025-07-14如何考取數(shù)據(jù)分析師證書:以 CDA 為例? ? 在數(shù)字化浪潮席卷各行各業(yè)的當(dāng)下,數(shù)據(jù)分析師已然成為企業(yè)挖掘數(shù)據(jù)價(jià)值、驅(qū)動(dòng)決策的 ...
2025-07-14t檢驗(yàn)與Wilcoxon檢驗(yàn)的選擇:何時(shí)用t.test,何時(shí)用wilcox.test? t 檢驗(yàn)與 Wilcoxon 檢驗(yàn)的選擇:何時(shí)用 t.test,何時(shí)用 wilcox. ...
2025-07-14AI 浪潮下的生存與進(jìn)階: CDA數(shù)據(jù)分析師—開(kāi)啟新時(shí)代職業(yè)生涯的鑰匙(深度研究報(bào)告、發(fā)展指導(dǎo)白皮書) 發(fā)布機(jī)構(gòu):CDA數(shù)據(jù)科 ...
2025-07-13LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07