級別有意義,它是矢量的獨特值,但我無法弄清楚是什麼因素。它似乎只是重複了矢量值。R因素和級別
factor(c(1,2,3,3,4,5,1))
[1] 1 2 3 3 4 5 1
Levels: 1 2 3 4 5
任何人都可以解釋什麼因素應該做,或爲什麼我會用它?
我開始懷疑因素是否像數據庫中的代碼表。其中因素名稱是代碼表名稱,級別是代碼表的唯一選項。 ?
級別有意義,它是矢量的獨特值,但我無法弄清楚是什麼因素。它似乎只是重複了矢量值。R因素和級別
factor(c(1,2,3,3,4,5,1))
[1] 1 2 3 3 4 5 1
Levels: 1 2 3 4 5
任何人都可以解釋什麼因素應該做,或爲什麼我會用它?
我開始懷疑因素是否像數據庫中的代碼表。其中因素名稱是代碼表名稱,級別是代碼表的唯一選項。 ?
因子存儲爲散列表而不是原始字符向量。這意味着什麼?有兩個主要的好處。
更小的內存佔用。考慮一個文本文件,其中包含短語「新澤西州」100,000次編碼的ASCII碼。現在想象一下,如果你只需要存儲數字16(二進制100,000次,然後另一個表格表明16表示「新澤西州」),它會更精簡和更快。值「跨所有類別」(想想方差分析或者你將顏色疊加的barplot)我們可以重複編碼我們所有的函數來將觀察到的選擇疊加在一個字符串向量中,或者我們可以簡單地創建一個新類型的向量,告訴你什麼是有效的選擇,這就是所謂的一個因子,有效的選擇叫做級別
我相信因爲R爲所有字符值添加了一個全局哈希表,所以因素的記憶優勢相對較小。 – joran
當擬合統計模型時,分類數據(因子)通常被視爲非常不同而不是連續或數字數據。如果你不這樣做,你可能根本不需要使用因素。 – joran
我可以在下拉列表中看到關卡是獨特的選項,但我仍然不明白因素 – user1854438
這只是一個整數向量,以及一系列可以視爲整數映射到的「關卡」的集合。因此,例如,您可能有一個變量'Gender',其值爲'M'和'F'。作爲一個因素,這只是1和2的序列,其中1 = F和2 = M。 – joran