基本數(shù)據(jù)類型
數(shù)據(jù)類型
- 向量 vector
- 矩陣 matrix
- 數(shù)組 array
- 數(shù)據(jù)框 data frame
- 因子 factor
- 列表 list
向量
- 單個(gè)數(shù)值(標(biāo)量)沒有單獨(dú)的數(shù)據(jù)類型,它只不過是向量的一種特例
- 向量的元素必須屬于某種模式(mode),可以整型(integer)、數(shù)值型(numeric)、字符型(character)、邏輯型(logical)、復(fù)數(shù)型(complex)
- 循環(huán)補(bǔ)齊(recycle):在一定情況下自動(dòng)延長(zhǎng)向量
- 篩選:提取向量子集
- 向量化:對(duì)向量的每一個(gè)元素應(yīng)用函數(shù)
- 使用seq()創(chuàng)建向量
- 使用rep()重復(fù)向量常數(shù)
矩陣
矩陣(matrix)是一種特殊的向量,包含兩個(gè)附加的屬性:行數(shù)和列數(shù)。所以矩陣也和向量一樣,有模式的概念,例如數(shù)值型或字符型。(但反過來,向量卻不能看作是只有一列或一行的矩陣。)
- 創(chuàng)建矩陣
- 矩陣運(yùn)算
- 索引
- 增加或刪除行(列)
數(shù)組
數(shù)組(array)是R里一個(gè)更一般的對(duì)象,矩陣是數(shù)組的一個(gè)特殊情形。數(shù)組可以是多維的。例如一個(gè)三維的數(shù)組可以包含行、列和層(layer),而一個(gè)矩陣只有行和列兩個(gè)維度。
1
2
3
|
array(data = NA, dim = length(data), dimnames = NULL) as.array(x, ...) is.array(x) |
列表
向量的元素要求都是同類型的,而列表(list)與向量不同,可以組合多個(gè)不同類型的對(duì)象
數(shù)據(jù)框
數(shù)據(jù)框類似矩陣,有行和列這兩個(gè)維度。然而,數(shù)據(jù)框與矩陣不同的是,數(shù)據(jù)框的每一列可以是不同的模式(mode)。例如,某列可能由數(shù)字組成,另一列可能由字符串組成。
因子
因子的設(shè)計(jì)思想來源于統(tǒng)計(jì)學(xué)中的名義變量(nominal variables),或稱之為分類變量(categorical variables)。這些變量的值本質(zhì)上不是數(shù)字,而是對(duì)應(yīng)為分類,例如民主黨、共和黨和無黨派,盡管它們可以用數(shù)字編碼。
算術(shù)運(yùn)算
- x + y 加法
- x - y 減法
- x * y 乘法
- x / y 除法
- x ^ y 乘冪
- x %% y 模運(yùn)算
- x %/% y 整數(shù)除法
邏輯運(yùn)算
- x == y 判斷是否相等
- x <= y 判斷是否小于等于
- x >= y 判斷是否大于等于
- x && y 標(biāo)量的邏輯“與”運(yùn)算
- x || y 標(biāo)量的邏輯“或”運(yùn)算
- x & y 向量的邏輯“與”運(yùn)算(x、y以及運(yùn)算結(jié)果都是向量)
- x | y 向量的邏輯“或”運(yùn)算(x、y以及運(yùn)算結(jié)果都是向量)
- !x 邏輯非
- 邏輯值TRUE和FALSE可以縮寫為T和F(兩者都必須是大寫)。而在算術(shù)表達(dá)式它們會(huì)轉(zhuǎn)換為1和0
函數(shù)
1
2
3
|
g <- function(x) { return(x+1) } |
函數(shù)也是對(duì)象
條件語句
1
2
3
4
5
6
|
if (r == 4) { x <- 1 } else { x <- 3 y <- 4 } |
循環(huán)語句
- for
- while
- repeat
repeat沒有邏輯判斷退出條件,必須利用break(或者類似return())的語句。當(dāng)然,break也可以用在for循環(huán)中。
代碼格式化工具
library(formatR)
到此這篇關(guān)于R語言基本語法深入講解的文章就介紹到這了,更多相關(guān)R語言基本語法內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.cnblogs.com/549294286/p/3205258.html