
R語言數(shù)據(jù)分析實(shí)戰(zhàn):數(shù)據(jù)結(jié)構(gòu)(1)
一、數(shù)據(jù)集的概念
數(shù)據(jù)集通常是由數(shù)據(jù)構(gòu)成的一個(gè)矩形數(shù)組,行表示觀測(cè),列表示變量。表2-1提供了一個(gè)假想的病例數(shù)據(jù)集。
不同的行業(yè)對(duì)于數(shù)據(jù)集的行和列叫法不同。統(tǒng)計(jì)學(xué)家稱它們?yōu)橛^測(cè)(observation)和變量(variable),數(shù)據(jù)庫分析師則稱其為記錄(record)和字段(field),數(shù)據(jù)挖掘/機(jī)器學(xué)習(xí)學(xué)科的研究者則把它們叫做示例(example)和屬性(attribute)。
你可以清楚地看到此數(shù)據(jù)集的結(jié)構(gòu)(本例中是一個(gè)矩形數(shù)組)以及其中包含的內(nèi)容和數(shù)據(jù)類型。在表2-1所示的數(shù)據(jù)集中,PatientID是行/實(shí)例標(biāo)識(shí)符,AdmDate是日期型變量,Age是連續(xù)型變量,Diabetes是名義型變量,Status是有序型變量。
R語言中有許多用于存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),包括標(biāo)量、向量、數(shù)組、數(shù)據(jù)框和列表。表2-1實(shí)際上對(duì)應(yīng)著R中的一個(gè)數(shù)據(jù)框。多樣化的數(shù)據(jù)結(jié)構(gòu)賦予了R極其靈活的數(shù)據(jù)處理能力。
R可以處理的數(shù)據(jù)類型(模式)包括數(shù)值型、字符型、邏輯型(TRUE/FALSE)、復(fù)數(shù)型(虛數(shù))和原生型(字節(jié))。在R語言中,PatientID、AdmDate和Age將為數(shù)值型變量,而Diabetes和Status則為字符型變量。另外,你需要分別告訴R:PatientID是實(shí)例標(biāo)識(shí)符,AdmDate含有日期數(shù)據(jù),Diabetes和Status分別是名義型和有序型變量。R將實(shí)例標(biāo)識(shí)符稱為rownames(行名),將類別型(包括名義型和有序型)變量稱為因子(factors)。我們會(huì)在下一節(jié)中講解這些內(nèi)容,并在第3章中介紹日期型數(shù)據(jù)的處理。
二、數(shù)據(jù)結(jié)構(gòu)
R擁有許多用于存儲(chǔ)數(shù)據(jù)的對(duì)象類型,包括標(biāo)量、向量、矩陣、數(shù)組、數(shù)據(jù)框和列表。它們?cè)诖鎯?chǔ)數(shù)據(jù)的類型、創(chuàng)建方式、結(jié)構(gòu)復(fù)雜度,以及用于定位和訪問其中個(gè)別元素的標(biāo)記等方面均有所不同。圖2-1給出了這些數(shù)據(jù)結(jié)構(gòu)的一個(gè)示意圖。
讓我們從向量開始,逐個(gè)探究每一種數(shù)據(jù)結(jié)構(gòu)。
一些定義
R語言中有一些術(shù)語較為獨(dú)特,可能會(huì)對(duì)新用戶造成困擾。在R中,對(duì)象(object)是指可以賦值給變量的任何事物,包括常量、數(shù)據(jù)結(jié)構(gòu)、函數(shù),甚至圖形。對(duì)象都擁有某種模式,描述了此對(duì)象是如何存儲(chǔ)的,以及某個(gè)類,像print這樣的泛型函數(shù)表明如何處理此對(duì)象。
與其他標(biāo)準(zhǔn)統(tǒng)計(jì)軟件(如SAS、SPSS和Stata)中的數(shù)據(jù)集類似,數(shù)據(jù)框(data frame)是R中用于存儲(chǔ)數(shù)據(jù)的一種結(jié)構(gòu):列表示變量,行表示觀測(cè)。在同一個(gè)數(shù)據(jù)框中可以存儲(chǔ)不同類型(如數(shù)值型、字符型)的變量。數(shù)據(jù)框?qū)⑹悄阌脕泶鎯?chǔ)數(shù)據(jù)集的主要數(shù)據(jù)結(jié)構(gòu)。
因子(factor)是名義型變量或有序型變量。它們?cè)赗中被特殊地存儲(chǔ)和處理。
1、向量
向量是用于存儲(chǔ)數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組。執(zhí)行組合功能的函數(shù)c()可用來創(chuàng)建向量。各類向量如下例所示:
這里,a是數(shù)值型向量,b是字符型向量,而c是邏輯型向量。注意,單個(gè)向量中的數(shù)據(jù)必須擁有相同的類型或模式(數(shù)值型、字符型或邏輯型)。同一向量中無法混雜不同模式的數(shù)據(jù)。
注意:標(biāo)量是只含一個(gè)元素的向量,例如f <- 3、g <- "US"和h <- TRUE。它們用于保存常量。
通過在方括號(hào)中給定元素所處位置的數(shù)值,我們可以訪問向量中的元素。例如,a[c(2, 4)]用于訪問向量a中的第二個(gè)和第四個(gè)元素。更多示例如下:
最后一個(gè)語句中使用的冒號(hào)用于生成一個(gè)數(shù)值序列。例如,a <- c(2:6)等價(jià)于a <- c(2,3, 4, 5, 6)。
2、矩陣
矩陣是一個(gè)二維數(shù)組,只是每個(gè)元素都擁有相同的模式(數(shù)值型、字符型或邏輯型)??赏ㄟ^函數(shù)matrix創(chuàng)建矩陣。一般使用格式為:
其中vector包含了矩陣的元素,nrow和ncol用以指定行和列的維數(shù),dimnames包含了可選的、以字符型向量表示的行名和列名。選項(xiàng)byrow則表明矩陣應(yīng)當(dāng)按行填充(byrow=TRUE)還是按列填充(byrow=FALSE),默認(rèn)情況下按列填充。代碼清單2-1中的代碼演示了matrix函數(shù)的用法。
我們首先創(chuàng)建了一個(gè)5×4的矩陣①,接著創(chuàng)建了一個(gè)2×2的含列名標(biāo)簽的矩陣,并按行進(jìn)行填充②,最后創(chuàng)建了一個(gè)2×2的矩陣并按列進(jìn)行了填充③。我們可以使用下標(biāo)和方括號(hào)來選擇矩陣中的行、列或元素。X[i,]指矩陣X中的第i 行,X[,j]指第j 列,X[i, j]指第i 行第j 個(gè)元素。選擇多行或多列時(shí),下標(biāo)i 和j 可為數(shù)值型向量,如代碼清單2-2所示。
首先,我們創(chuàng)建了一個(gè)內(nèi)容為數(shù)字1到10的2×5矩陣。默認(rèn)情況下,矩陣按列填充。然后,我們分別選擇了第二行和第二列的元素。接著,又選擇了第一行第四列的元素。最后選擇了位于第一行第四、第五列的元素。
矩陣都是二維的,和向量類似,矩陣中也僅能包含一種數(shù)據(jù)類型。當(dāng)維度超過2時(shí),不妨使用數(shù)組。當(dāng)有多種模式的數(shù)據(jù)時(shí),不妨使用數(shù)據(jù)框。
3、數(shù)組
數(shù)組(array)與矩陣類似,但是維度可以大于2。數(shù)組可通過array函數(shù)創(chuàng)建,形式如下:其中vector包含了數(shù)組中的數(shù)據(jù),dimensions是一個(gè)數(shù)值型向量,給出了各個(gè)維度下標(biāo)的最大值,而dimnames是可選的、各維度名稱標(biāo)簽的列表。代碼清單2-3給出了一個(gè)創(chuàng)建三維(2×3×4)數(shù)值型數(shù)組的示例。
如你所見,數(shù)組是矩陣的一個(gè)自然推廣。它們?cè)诰帉懶碌慕y(tǒng)計(jì)方法時(shí)可能很有用。像矩陣一樣,數(shù)組中的數(shù)據(jù)也只能擁有一種模式。
從數(shù)組中選取元素的方式與矩陣相同。上例中,元素z[1,2,3]為15。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
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尊敬的考生: 您好! 我們誠摯通知您,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,簡稱 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è)爭搶的核心人才,而 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)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03