R內置函數用法解析


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")

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM