1. 程式人生 > >Mac版R語言入門(五)R語言中的資料型別之factor因子

Mac版R語言入門(五)R語言中的資料型別之factor因子

更多R語言資訊歡迎關注我的新浪微博:Jenny愛學習

微信公眾號:R語言資料分析與實踐

分析資料時,經常遇到分類變數。例如,假設你有一系列關於人群特徵的資料,其中一個指標是瞳孔顏色。這時候,可以用字元型陣列來表示瞳孔顏色:

> eye.colors <- c("brown","blue","blue","green","brown","brown","brown")

這是一種具有易讀性的資訊表示方法,然而,當處理大量的觀測值與名稱時,這種字元讀取的方法就變得十分低效。R提供了一個表示資訊分類的方法,即通過factor因子型變量表示分類資訊。

1 分組因子

factor是一種特殊型別的向量,被用來給資料分組,例如male/female,它只可以取某些特定的值,這些值可能包含一些分級/等級排序。因子型變數(factor)通常是一個有序專案的幾何,因子型變數可以取得的所有值被稱為因子水平。

order有序factor:將分級/有等級的資料用有序factor表示,這些資料並非數值型。例如在大學中,有助教、研究員、副研究員、副教授、教授。這些都屬於分類,並且是有序的。

假設存在一個整型向量為factor,並且向量中每個數值都帶有一個label標籤。例如在評級中,將向量數值設定為1,2,3,其中1代表最高等級,2代表中等,3代表最差。由此可以得到一組變數:高、中、低。在R中,以1,2,3表現。

factor之所以重要是因為factor被用在在很多建模函式中,如lm( ), glm( )等這些函式常被用於統計線性模型中。

帶有label等factor通常由於簡單的整型數值向量陣列,因為具有易讀性。例如一組變數,有male和female兩組比普通數值型向量:1,2,更容易理解。在很多資料集中,你會發現一些變數,被標註為1,2,對於研究人員來說,並不容易瞭解這些數值是一個真實的數字還是僅僅代表一類。如果使用factor變數,那麼為代label標籤編碼就是所有的。factor是一種構建變數的方法,並且具有易讀性。

factor可以使用factor( )函式建立:

factor( )函式:

  • is.factor( ):判斷資料是否為factor模式,並返回一個邏輯值TRUE或FALSE
  • is.ordered( ):判斷資料是否是有序的,並返回一個邏輯值TRUE或FALSE。
  • as.factor( ):將引數強制轉換為factor型別,是factor( )的縮寫形式。
  • as.ordered( ):按順序返回x

將瞳孔顏色重編碼成因子:

> eye.colors <- factor(c("brown","blue","blue","green","brown","brown","browm"))
> levels(eye.colors)                #levels函式可以展示一個factor的所有水平
[1] "blue"  "browm" "brown" "green"

factor( )的輸入是一組char型別向量。

例如:呼叫中心一個數據分析包含BATCH、online、client三類分工,每個小組包含若干人員,同時記錄中包括美人的技術水平,以及在本專案中的工作時間等資訊。

Mac中使用>read.csv( )命令匯入.csv(以逗號分隔符等形式儲存資料的檔案格式),獲取相關的資料資訊,


將讀取的資訊賦值給x

 > x<-read.csv("~/Desktop/test.csv")