本章內容
探索R中的數據結構(向量、因子、矩陣、數據框、列表),2.1-2.2輸入數據
導入數據(SQL、DOS、SAS/SPSS……),2.3
標註數據,2.4
2.1 數據集的概念
數據集:
一個矩形數組,有行列,分別表示觀測observation/變量variable
(或記錄record/字段field、示例example/屬性attribute)
R處理的數據類型(模式):
數值型、字符型、邏輯型、複數型、原生型(字節)?
R將實例標識符成爲行名(rownames),將類別型(包括名義型和有序型)變量稱爲因子(factors)
2.2 數據結構
數據結構的類別:
標量、向量、矩陣、數組、數據庫、列表
數據結構間的差異:
存儲數據的類型
創建方式
結構複雜度
用於定位和訪問其中元素的標記
2.2.1 向量
一維數組;
每個元素具有相同的數據類型(數值型、字符型、邏輯型);
標量是隻含一個元素的向量,用於保存常量;
通過在方括號中給定元素所處位置的數值,來訪問向量中的元素
2.2.2 矩陣
二維數組;
每個元素具有相同的數據類型(數值型、字符型、邏輯型);
用下標和方括號來選擇矩陣中的行、列或元素;
選擇多行或多列時,下標i和j可爲數值型向量
2.2.3 數組
維度可大於2;
其他特性與矩陣類似
2.2.4 數據框
【疑】如何生成指定範圍內的隨機整數?
不同的列可以包含不同模式的數據;
每一列的數據模式必須唯一;
通過下標記號選取元素;
指定列名選取
1.attach()、detach()、with() 簡化代碼
attach()可將數據框添加到R的搜索路徑中;
detach()將數據框從搜索路徑中移除,建議與attach()成對使用;
最好在分析一個單獨的數據框,並且不太可能有多個同名對象時使用,否則會有“對象被屏蔽masked”的風險
【疑】mpg is masked from package ggplot2?
with(object,{})可解決上述名稱衝突問題;
但賦值僅在此函數的括號內生效;
使用特殊賦值符<<-替代標準賦值符<-,即可將對象保存到with()之外的全局環境中
2.實例標識符
實例標識符(case identifier)可通過數據框操作函數中的rowname選項指定
【疑】若不標識,效果如何?
2.2.5 因子
類別(名義型)變量有序型變量:順序
連續型變量:順序+數量(順序間相差多少)
前兩者在R中成爲因子
函數factor()以一個整數向量的形式存儲類別值,整數的取值範圍是[1...k](其中k是名義型變量中唯一值的個數),同時一個由字符串(原始值)組成的內部向量將映射到這些整數上
因子是向量的一種存儲形式
2.2.6 列表
列表是一些對象(或成分)的有序集合,允許整合若干(可能無關的)對象到單個對象名下
通過雙重方括號指明代表某個成分的數字或名稱來訪問列表中的元素
列表允許以一種簡單的方式組織和重新調用不相干的信息;
許多R函數的運行結果都是以列表的形式返回
2.3 數據的輸入
2.3.1 使用鍵盤輸入數據
適用於小數據集
2.3.2 從帶分隔符的文本文件導入數據
默認sep=" ",表示分隔符可爲一個或多個空格、製表符、換行符或回車符;
字符型變量將轉換爲因子;
可通過stringAsFactors=FALSE來制止;
或使用選項colClasses爲每一列指定一個類
2.3.3 導入Excel數據
2.3.11 訪問數據庫管理系統
2.4 數據集的標註
2.4.2 值標籤
【疑】值標籤會否改變實際值?
2.5 處理數據對象的實用函數
【疑】class()和mode()的差異?