R中提供了大量的數學函數、統計函數和特殊函數, 可以打開R的HTML幫助頁面, 進入“Search Enging & Keywords”鏈接, 查看其中與算術、數學、優化、線性代數等有關的專題。http://127.0.0.1:19353/doc/html/Search.html
R基礎包
library(help = "base")
也可以直接help ,查看更多用法
help(package=base)
# 查看統計包 help(package=stats)
數學函數
R提供了各種數學函數來執行數學計算。這些數學函數對查找絕對值, 平方值和更多計算非常有用。在R中, 使用了以下功能:
S.沒有 | Function | Description | Example |
---|---|---|---|
1. | abs(x) | 它返回輸入x的絕對值。 | x <–4 打印(絕對(x)) 輸出量 [1] 4 |
2. | sqrt(x) | 它返回輸入x的平方根。 | x <-4 打印(sqrt(x)) 輸出量 [1] 2 |
3. | ceiling(x) | 它返回大於或等於x的最小整數。 | x <-4.5 打印(天花板(x)) 輸出量 [1] 5 |
4. | floor(x) | 它返回小於或等於x的最大整數。 | x <-2.5 打印(地板(x)) 輸出量 [1] 2 |
5. | trunc(x) | 它返回輸入x的截斷值。 | x <-c(1.2, 2.5, 8.1) 打印(trunc(x)) 輸出量 [1] 1 2 8 |
6. | 回合(x, digits = n) | 它返回輸入x的舍入值。 | x <–4 打印(絕對(x)) 輸出量 4 |
7. | cos(x), sin(x), tan(x) | 它返回輸入x的cos(x), sin(x)值。 | x <-4 打印(cos(x)) 打印(sin(x)) 打印(棕褐色(x)) 輸出量 [1] -06536436 [2] -0.7568025 [3] 1.157821 |
8. | log(x) | 它返回輸入x的自然對數。 | x <-4 打印(log(x)) 輸出量 [1] 1.386294 |
9. | log10(x) | 它返回輸入x的公共對數。 | x <-4 打印(log10(x)) 輸出量 [1] 0.60206 |
10. | exp(x) | 它返回指數。 | x <-4 打印(exp(x)) 輸出量 [1] 54.59815 |

字符串功能
R提供了各種字符串函數來執行任務。這些字符串函數使我們能夠從字符串, 搜索模式等中提取子字符串。R中包含以下字符串函數:
S.沒有 | Function | Description | Example |
---|---|---|---|
1. | substr(x, 開始= n1, 停止= n2) | 它用於提取字符向量中的子字符串。 | 一個<-” 987654321″ substr(a, 3, 3) 輸出量 [1]” 3″ |
2. | grep(pattern, x, ignore.case = FALSE, fixed = FALSE) | 它在x中搜索模式。 | st1 <-c(‘abcd’, ‘bdcd’, ‘abcdabcd’) 模式<-‘^ abc’ 打印(grep(pattern, st1)) 輸出量 [1] 1 3 |
3. | sub(模式, 替換, x, ignore.case = FALSE, fixed = FALSE) | 它在x中找到模式並將其替換為替換(新)文本。 | st1 <-“英格蘭很美, 但沒有歐盟的一部分” sub(” England’, ” UK”, st1) 輸出量 [1]”英國很美, 但不是歐盟的一部分” |
4. | 粘貼(…, sep =””) | 在使用sep字符串分隔字符串之后, 它將字符串連接起來。 | 粘貼(‘一個’, 2, ‘三個’, 4, ‘五個’) 輸出量 [1]一2三4五 |
5. | strsplit(x, 拆分) | 它在分割點分割字符向量x的元素。 | a <-“拆分所有字符” 打印(strsplit(a, “”)) 輸出量 [[1] [1]”拆分””全部”” the”” character” |
6. | tolower(x) | 用於將字符串轉換為小寫。 | st1 <-” shuBHAm” 打印(tolower(st1)) 輸出量 [1] shubham |
7. | toupper(x) | 用於將字符串轉換為大寫。 | st1 <-” shuBHAm” 打印(toupper(st1)) 輸出量 [1] SHUBHAM |

統計概率函數
R提供了各種統計概率函數來執行統計任務。這些統計功能對於查找法線密度, 法線分位數和更多計算非常有用。在R中, 使用了以下功能:
S.沒有 | Function | Description | Example |
---|---|---|---|
1. | dnorm(x, m = 0, sd = 1, log = False) | 它用於查找每個點到給定的均值和標准差的概率分布的高度 | 一個<-seq(-7, 7, by = 0.1) b <-dnorm(a, 平均值= 2.5, sd = 0.5) png(file =” dnorm.png”) 情節(x, y) dev.off() |
2. | pnorm(q, m = 0, sd = 1, lower.tail = TRUE, log.p = FALSE) | 它用於查找小於給定值的正態分布隨機數的概率。 | 一個<-seq(-7, 7, by = 0.2) b <-dnorm(a, 平均值= 2.5, sd = 2) png(file =” pnorm.png”) 情節(x, y) dev.off() |
3. | qnorm(p, m = 0, sd = 1) | 用於查找其累積值與概率值匹配的數字。 | 一個<-seq(1, 2, by = 002) b <-qnorm(a, 平均值= 2.5, sd = 0.5) png(file =” qnorm.png”) 情節(x, y) dev.off() |
4. | rnorm(n, m = 0, sd = 1) | 用於生成正態分布的隨機數。 | y <-rnorm(40) png(file =” rnorm.png”) hist(y, main =”正態分布”) dev.off() |
5. | dbinom(x, 大小, 概率) | 它用於查找每個點的概率密度分布。 | a <-seq(0, 40, by = 1) b <-dbinom(a, 40, 0.5) png(file =” pnorm.png”) 情節(x, y) dev.off() |
6. | pbinom(q, 大小, 概率) | 它用於查找事件的累積概率(代表概率的單個值)。 | 一個<-pbinom(25, 40, 0.5) 打印(a) 輸出量 [1] 0.9596548 |
7. | qbinom(p, 大小, 概率) | 用於查找其累積值與概率值匹配的數字。 | 一個<-qbinom(0.25, 40, 01 / 2) 打印(a) 輸出量 [1] 18 |
8. | rbinom(n, 大小, 概率) | 它用於從給定樣本生成給定概率的所需數量的隨機值。 | 一個<-rbinom(6, 140, 0.4) 打印(a) 輸出量 [1] 55 61 46 56 58 49 |
9. | 之后(x, 舔) | 它是預期事件數為lambda(λ)的時間段內x成功的概率 | dpois(a = 2, lambda = 3)+ dpois(a = 3, lambda = 3)+ dpois(z = 4, labda = 4) 輸出量 [1] 0.616115 |
10. | ppois(q, 腰帶) | 它是小於或等於q個成功的累積概率。 | ppois(q = 4, lambda = 3, lower.tail = TRUE)-ppois(q = 1, lambda = 3, lower.tail = TRUE) 輸出量 [1] 0.6434504 |
11. | 重復(n, 舔) | 它用於根據泊松分布生成隨機數。 | rpois(10, 10) [1] 6 10 11 3 10 7 7 8 14 12 |
12. | dunif(x, min = 0, max = 1) | 此功能提供有關從最小到最大間隔的均勻分布的信息。它給出了密度。 | dunif(x, min = 0, max = 1, log = FALSE) |
13. | punif(q, min = 0, max = 1) | 它提供了分布式功能 | punif(q, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE) |
14. | qunif(p, min = 0, max = 1) | 它提供了分位數功能。 | qunif(p, min = 0, max = 1, lower.tail = TRUE, log.p = FALSE) |
15. | runif(x, min = 0, max = 1) | 它產生隨機偏差。 | runif(x, min = 0, max = 1) |

其他統計功能
除上述功能外, 還有一些其他有用的功能可用於統計目的。有以下功能:
S.沒有 | Function | Description | Example |
---|---|---|---|
1. | 平均值(x, trim = 0, na.rm = FALSE) | 用於查找x對象的均值 | a <-c(0:10, 40) xm <-平均值(a) 打印(xm) 輸出量 [1] 7.916667 |
2. | sd(x) | 它返回對象的標准偏差。 | a <-c(0:10, 40) xm <-sd(a) 打印(xm) 輸出量 [1] 10.58694 |
3. | median(x) | 它返回中位數。 | a <-c(0:10, 40) xm <-meadian(a) 打印(xm) 輸出量 [1] 5.5 |
4. | 量化(x, 概率) | 它返回分位數, 其中x是需要分位數的數值向量, 而probs是概率在[0, 1]中的數值向量 | |
5. | range(x) | 它返回范圍。 | a <-c(0:10, 40) xm <-范圍(a) 打印(xm) 輸出量 [1] 0 40 |
6. | sum(x) | 它返回總和。 | a <-c(0:10, 40) xm <-sum(a) 打印(xm) 輸出量 [1] 95 |
7. | diff(x, 滯后= 1) | 它返回帶有滯后的差異, 指示要使用哪個滯后。 | a <-c(0:10, 40) xm <-diff(a) 打印(xm) 輸出量 [1] 1 1 1 1 1 1 1 1 1 1 1 30 |
8. | min(x) | 它返回最小值。 | a <-c(0:10, 40) xm <-min(a) 打印(xm) 輸出量 [1] 0 |
9. | max(x) | 返回最大值 | a <-c(0:10, 40) xm <-最大(a) 打印(xm) 輸出量 [1] 40 |
10. | 比例尺(x, center = TRUE, scale = TRUE) | 列中心或標准化矩陣。 | 一個<-矩陣(1:9, 3, 3) 比例(x) 輸出量 [, 1] [1, ] -0.747776547 [2, ] -0.653320562 [3, ] -0.558864577 [4, ] -0.464408592 [5, ] -0.369952608 [6, ] -0.275496623 [7, ] -0.181040638 [8, ] -0.086584653 [9, ] 0.007871332 [10, ] 0.102327317 [11, ] 0.196783302 [12, ] 3.030462849 attr(, ” scaled:center”) [1] 7.916667 attr(, ” scaled:scale”) [1] 10.58694 |
概率函數
分布函數
注意:不同前綴,第一個參數 n 的意義不同(詳見下方講解)
連續型
名稱 | 英文名 | R對應的函數 | 參數 |
高斯分布 | gaussian | norm | n, mean=0, sd=1 |
指數分布 | exponential | exp | n, rate=1 |
伽瑪分布(γ) | gamma | gamma | n, shape, scale=1 |
韋氏分布 | Weibull | weibull | n, shape, scale=1 |
柯西分布 | Cauchy | cauchy | n, location=0, scale=1 |
β分布 | beta | beta | n, shape1, shape2 |
t分布 | Student's t | t | n, df |
F分布 | F | f | n, df1, df2 |
卡方分布 | chi-squared | chisq | n, df |
Logistic 分布 | Logistic | logis | n, location=0, scale=1 |
對數正態分布 | log-normal | lnorm | n, meanlog=0, sdlog=1 |
均勻分布 | uniform | unif | n, min=0, max=1 |
離散型
名稱 | 英文名 | R對應的函數 | 參數 |
泊松分布 | Poisson | pois | n, lambda |
二項分布 | binomail | binom | n, size, prob |
多項分布 | multinomial | multinom | n, size, prob |
幾何分布 | geometric | geom | n, prob |
超幾何分布 | hypergeometric | hyper | nn, m, n, k |
負二項分布 | negative binomial | nbinom | n, size, prob |
R——正態分布
從獨立來源隨機收集數據時,通常會觀察到數據分布是正常的。這意味着,在水平軸上繪制變量值並在垂直軸上計數值的圖形時,我們會得到一個鍾形曲線。曲線的中心代表數據集的平均值。在圖中,值的百分之五十位於平均值的左側,而另外百分之五十位於圖形的右側。這在統計中稱為正態分布。
dnorm(x, mean, sd) pnorm(x, mean, sd) qnorm(p, mean, sd) rnorm(n, mean, sd)
# Create a sequence of numbers between -10 and 10 incrementing by 0.1. x <- seq(-10, 10, by = .1) # Choose the mean as 2.5 and standard deviation as 0.5. y <- dnorm(x, mean = 2.5, sd = 0.5) plot(x,y)
# Create a sequence of numbers between -10 and 10 incrementing by 0.2. x <- seq(-10,10,by = .2) # Choose the mean as 2.5 and standard deviation as 2. y <- pnorm(x, mean = 2.5, sd = 2) # Plot the graph. plot(x,y)
# Create a sequence of probability values incrementing by 0.02. x <- seq(0, 1, by = 0.02) # Choose the mean as 2 and standard deviation as 3. y <- qnorm(x, mean = 2, sd = 1) # Plot the graph. plot(x,y)
# Create a sample of 50 numbers which are normally distributed. y <- rnorm(50) # Plot the histogram for this sample. hist(y, main = "Normal DIstribution")