R語言中其它對象知識點總結

其他對象

矩陣

二維向量

矩陣操作更類似於向量,而不是向量的向量或者向量列表

下標可以用用來引用元素,但並不反應矩陣的存儲方式

矩陣沒有一個確定的屬性

數組

具有兩個以上維度的向量

數組可用來表示多個維度的同類型數據

數組的底層存儲機制是向量

數組也沒有確定的類屬性

因子

因子型變量表示分類信息

因子型變量通常是一個有序項目的集合

因子型變量可以取得的所有值被稱為因子水平

因子型變量的輸出結果中各個因子水平沒有加引號,且都明確顯示出來瞭

> (eye.colors <- factor(c("brown", "blue", "blue", "green", "brown", "brown", "brown")))
[1] brown blue blue green brown brown brown
Levels: blue brown green
> class(eye.colors)
[1] "factor"

R在輸出有序的因子時會顯示因子水平的順序

因子型數據在計算機內部存儲為整型數據

因子水平將每個整型數據映射到一個因子水平上

因為整型數據占用的存儲空間較少,因此這種方法比字符串向量更節省存儲空間

可以將因子型變量轉換為整型數組

> (eye.colors.integer.vector <- unclass(eye.colors))
[1] 2 1 1 3 2 2 2
attr(,"levels")
[1] "blue" "brown" "green"
> class(eye.colors.integer.vector)
[1] "integer"

也可蛇形類屬性將整型向量重新轉換為因子

> (class(eye.colors.integer.vector) <- "factor")
[1] "factor"
> eye.colors.integer.vector
[1] brown blue blue green brown brown brown
Levels: blue brown green

(筆記:沒懂內部是如何將整數值與因子水平匹配的)

數據框

用於展示表格數據,每列的內容可以分屬不同的類型

數據框中的每一行必須具有相同的長度

通常,數據框中的每一列都有列名,有時候行也會有名字

數據框中的列經常被用來表示變量

library(nutshell)
data(top.bacon.searching.cities)
top.bacon.searching.cities
> top.bacon.searching.cities
      city rank
1    Seattle 100
2   Washington  96
3    Chicago  94
4    New York  93
5    Portland  93
6    St Louis  92
7     Denver  90
8     Boston  90
9  Minneapolis  89
10    Austin  87
11 Philadelphia  85
12 San Francisco  84
13    Atlanta  82
14  Los Angeles  80
15  Richardson  80
> typeof(top.bacon.searching.cities)
[1] "list"
> class(top.bacon.searching.cities)
[1] "data.frame"

列表中引用元素的方法在數據框總共也能使用

公式類formula

用於描述變量之間的關系

y是x1,x2和x3的函數

> sample.formula <- as.formula(y ~ x1 + x2 + x3)
> class(sample.formula)
[1] "formula"
> typeof(sample.formula)
[1] "language"

公式中包含的不同項目的含義

說明 栗子
變量名字 表示變量的名字
波浪號~ 用來連接公式中的響應變量(波浪號左邊)和自變量(波浪號右邊)
加號+ 用來表示變量之間的線性關系
0 當公式中加入0時,意味著模型中沒有截距項 y~u+w+v+0
豎線| 用來指定條件變量,常用在lattice繪圖公式中
變量保護函數I() 放在I內的表達式按照算術意義進行解釋 a + b:表示變量a和變量b都包含在公式中.I(a + b):表示(a + b)這個和應該包含在公式中
星號* 表示變量之間的交互效應 y~(u + v)* w
插入符^ 表示冪 y~(u + v)^2等價於y~(u + v)*(u + v)
變量的函數 意味著指定變量的函數應當作為自變量包含在公式中 y~log(u) + sin(v) + w

到此這篇關於R語言中其它對象知識點總結的文章就介紹到這瞭,更多相關R語言其它對象內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: