《R語言入門與實踐》第四章:R 的記號體系
阿新 • • 發佈:2019-04-27
[] 所有 創建 入門 true 索引 tro 不同 整數
.
這一章節將如何對 R 對象中的值進行選取,R 的符號規則有兩種方式進行查詢:
第一種記號體系:索引
查詢索引語法:
deck[ , ]
(使用中括號)
其中[ , ]
為索引,其中含有兩個索引參數,用 "," 分隔
在 R 中,有六種方式創建並使用索引,分別為:
- 正整數索引
- 負整數索引
- 零
- 空格
- 邏輯值
- 名稱
第二種記號體系: $ 和 [[]]
構建索引
正整數索引
格式: deck[1, c(1,2,3)]
語法:
索引從 1 開始
負整數索引
格式:deck[-(2:52), 1:3]
功能:返回除了符號後行元素外所有行元素
語法:
同一個索引參數不能同時使用正整數和負整數
零索引
格式: deck[0, 0]
功能:返回一個空的對象
空格索引:
格式:deck[1, ]
功能:提取該索引位置代表維度的所有元素
邏輯值索引
格式:deck[1, c(TRUE, TRUE, FALSE)]
功能:構建一個含有邏輯值索引(一個邏輯值向量),提取其中為 TRUE 的元素
語法:邏輯值向量與原向量的長度相同
名稱索引
格式: deck[1, c("face", "suit", "value")]
功能:提取具有匹配名稱屬性的對象
實用:由於數據框中的列必須有名稱,因此常用於數據框中提取對象
$ 和 [[]]
$ 和 [[]] 可用於列表和數據框,提取其中的數據元素,而不是數據對象
$
格式:
deck$value
功能:
用於提取所選數據框的列的名稱
[[]]
問題緣由:
- 列表中的元素沒有名稱,可以使用 [[]] 和數字,來得到相應的元素.
- 通過 [] 得到的會是一個新的列表對象,無法進行 sum 等計算
格式:
lst[[1]]
功能:
返回 lst 這個列表中第一個對象中的值
註意的要點:
與 lst[1] 不同, lst[[1]] 返回的是數據元素, lst[1] 返回一個新的數據對象.
《R語言入門與實踐》第四章:R 的記號體系