R語言實(shí)戰(zhàn)筆記(第二章 創(chuàng)建數(shù)據(jù)集)

按照個(gè)人要求的格式來創(chuàng)建含有研究信息的數(shù)據(jù)集,這是任何數(shù)據(jù)分析的第一步。在R中,這個(gè)任務(wù)包括以下兩步:

  • 選擇一種數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù);
  • 將數(shù)據(jù)輸入或?qū)氲竭@個(gè)數(shù)據(jù)結(jié)構(gòu)中。

數(shù)據(jù)集概念

數(shù)據(jù)集通常是由數(shù)據(jù)構(gòu)成的一個(gè)矩形數(shù)組,行表示觀測,列表示變量。

image.png

數(shù)據(jù)結(jié)構(gòu)

image.png

向量

  • 向量是用于存儲(chǔ)數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組。執(zhí)行組合功能的函數(shù)c()可用來創(chuàng)建向量。
  • 數(shù)值型向量,邏輯型向量,字符型向量。
  • 單個(gè)向量中的數(shù)據(jù)必須擁有相同的類型或模式(數(shù)值型、字符型或邏輯型)。同一向量中無法混雜不同模式的數(shù)據(jù)。

矩陣

矩陣是一個(gè)二維數(shù)組,只是每個(gè)元素都擁有相同的模式(數(shù)值型、字符型或邏輯型) ??赏ㄟ^函數(shù)matrix創(chuàng)建矩陣。
矩陣下標(biāo)

數(shù)組

數(shù)組(array)與矩陣類似,但是維度可以大于2。數(shù)組可通過array函數(shù)創(chuàng)建,形式如下:

myarray<-array(vector,dimensions,dimnames)

其中vector包含了數(shù)組中的數(shù)據(jù), dimensions是一個(gè)數(shù)值型向量,給出了各個(gè)維度下標(biāo)的最大值,而dimnames是可選的、各維度名稱標(biāo)簽的列表。代碼清單2-3給出了一個(gè)創(chuàng)建三維數(shù)值型數(shù)組的示例。

數(shù)據(jù)框

由于不同的列可以包含不同模式(數(shù)值型、字符型等)的數(shù)據(jù),數(shù)據(jù)框的概念較矩陣來說更為一般。它與你通常在SAS、 SPSS和Stata中看到的數(shù)據(jù)集類似。數(shù)據(jù)框?qū)⑹悄阍赗中最常處理的數(shù)據(jù)結(jié)構(gòu)。

因子

如你所見,變量可歸結(jié)為名義型、有序型或連續(xù)型變量。名義型變量是沒有順序之分的類別變量。類別(名義型)變量和有序類別(有序型)變量在R中稱為因子(factor) 。因子在R中非常重要,因?yàn)樗鼪Q定了數(shù)據(jù)的分析方式以及如何進(jìn)行視覺呈現(xiàn)。

列表

列表(list)是R的數(shù)據(jù)類型中最為復(fù)雜的一種。一般來說,列表就是一些對(duì)象(或成分,component)的有序集合。列表允許你整合若干(可能無關(guān)的)對(duì)象到單個(gè)對(duì)象名下。例如,某個(gè)列表中可能是若干向量、矩陣、數(shù)據(jù)框,甚至其他列表的組合。

  • 對(duì)象名稱中的句點(diǎn)(.)沒有特殊意義。但美元符號(hào)($)卻有著和其他語言中的句點(diǎn)類似的含義,即指定一個(gè)對(duì)象中的某些部分。
  • R不提供多行注釋或塊注釋功能。你必須以#作為多行注釋每行的開始。出于調(diào)試目的,你也可以把想讓解釋器忽略的代碼放到語句if(FALSE){. .. }中。將FALSE改為TRUE即允許這塊代碼執(zhí)行。
  • 將一個(gè)值賦給某個(gè)向量、矩陣、數(shù)組或列表中一個(gè)不存在的元素時(shí), R將自動(dòng)擴(kuò)展這個(gè)數(shù)據(jù)結(jié)構(gòu)以容納新值。
  • R中沒有標(biāo)量。標(biāo)量以單元素向量的形式出現(xiàn)。
  • R中的下標(biāo)不從0開始,而從1開始。在上述向量中, x[1]的值為8。
  • 變量無法被聲明。它們?cè)谑状伪毁x值時(shí)生成。

數(shù)據(jù)輸入

使用鍵盤輸入數(shù)據(jù)

從帶分隔符的文本文件導(dǎo)入數(shù)據(jù)

導(dǎo)入excel

導(dǎo)入XML數(shù)據(jù)

從網(wǎng)頁抓取數(shù)據(jù)

導(dǎo)入SPSS數(shù)據(jù)

導(dǎo)入SAS數(shù)據(jù)

導(dǎo)入Stata數(shù)據(jù)

導(dǎo)入netCDF數(shù)據(jù)

導(dǎo)入HDF5 數(shù)據(jù)

訪問數(shù)據(jù)庫管理系統(tǒng)

通過Stat/Transfer導(dǎo)入數(shù)據(jù)

數(shù)據(jù)集標(biāo)注

為了使結(jié)果更易解讀,數(shù)據(jù)分析人員通常會(huì)對(duì)數(shù)據(jù)集進(jìn)行標(biāo)注。通常這種標(biāo)注包括為變量名添加描述性的標(biāo)簽,以及為類別型變量中的編碼添加值標(biāo)簽。例如,對(duì)于變量age,你可能想附加一個(gè)描述更詳細(xì)的標(biāo)簽“ Age at hospitalization”(入院年齡) 。對(duì)于編碼為1或2的性別變量gender,你可能想將其關(guān)聯(lián)到標(biāo)簽“ male”和“ female”上。

變量標(biāo)簽

R處理變量標(biāo)簽的能力有限。一種解決方法是將變量標(biāo)簽作為變量名,然后通過位置下標(biāo)來訪問這個(gè)變量。

值標(biāo)簽

函數(shù)factor()可為類別型變量創(chuàng)建值標(biāo)簽。

處理數(shù)據(jù)對(duì)象的實(shí)用函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容