欧美人与禽2O2O性论交,秋霞免费视频,国产美女视频免费观看网址,国产成人亚洲综合网色欲网

技術(shù) – R 語言 stats 包中的函數(shù)(r語言stem函數(shù))

技術(shù) - R 語言 stats 包中的函數(shù)(r語言stem函數(shù))

我們已經(jīng)學(xué)習(xí)了 R 語言的基礎(chǔ)知識,包括其語法以及語法所對應(yīng)的語義,現(xiàn)在準(zhǔn)備使用 R 向統(tǒng)計學(xué)領(lǐng)域進(jìn)發(fā)。本文是 R 系列的第十一篇文章,我們將學(xué)習(xí)如何使用 R 語言 stats 包中提供的統(tǒng)計函數(shù)。

與此系列之前的文章一樣,我們將使用安裝在 Parabola GNU/Linux-libre(x86-64)上的 R 4.1.2 版本來運(yùn)行文中的代碼。

$ R --versionR version 4.1.2 (2021-11-01) -- \"Bird Hippie\"Copyright (C) 2021 The R Foundation for Statistical ComputingPlatform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under the terms of theGNU General Public License versions 2 or 3.For more information about these matters see https://www.gnu.org/licenses/

mean 函數(shù)

在 R 中 mean函數(shù)用來計算算術(shù)平均值。該函數(shù)接受一個 R 對象x作為參數(shù),以及一個trim選項來在計算均值之前剔除任意比例的數(shù)據(jù)(LCTT 譯注:比如對于一個含有 7 個元素的向量x,設(shè)置trim為 0.2 表示分別去掉x中最大和最小的前 20% —— 即 1.4 個 —— 的元素,所去掉的元素的個數(shù)會向下取整,所以最終會去掉 1 個最大值和 1 個最小值;trim取值范圍為[0, 0.5],默認(rèn)為 0)。邏輯參數(shù)logical argument(TRUEFALSEna.rm可以設(shè)置是否忽略空值(NA)。該函數(shù)的語法如下:

mean(x, trim = 0, na.rm = FALSE, ...)

該函數(shù)支持?jǐn)?shù)值、邏輯值、日期和 時間區(qū)間time intervals。下面是使用 mean函數(shù)的一些例子:

> mean(c(1, 2, 3))2> mean(c(1:5, 10, 20))6.428571> mean(c(FALSE, TRUE, FALSE))0.3333333> mean(c(TRUE, TRUE, TRUE))1

我們使用 UCI 機(jī)器學(xué)習(xí)庫提供的一個采集自葡萄牙銀行機(jī)構(gòu)的“銀行營銷數(shù)據(jù)集”作為樣本數(shù)據(jù)。該數(shù)據(jù)可用于公共研究,包含 4 個 csv 文件,我們使用 read.csv函數(shù)導(dǎo)入其中的bank.csv文件。

> bank bank[1:3,] age job marital education default balance housing loan contact day1 30 unemployed married primary no 1787 no no cellular 192 33 services married secondary no 4789 yes yes cellular 113 35 management single tertiary no 1350 yes no cellular 16 month duration campaign pdays previous poutcome y1 oct 79 1 -1 0 unknown no2 may 220 1 339 4 failure no3 apr 185 1 330 1 failure no

下面是計算 age列均值的示例:

> mean(bank$age)41.1701

median 函數(shù)

R 語言 stats包中的median函數(shù)用來計算樣本的中位數(shù)。該函數(shù)接受一個數(shù)值向量x,以及一個邏輯值na.rm用來設(shè)置在計算中位數(shù)之前是否去除NA值。該函數(shù)的語法如下:

median(x, na.rm = FALSE, ...)

下面是使用該函數(shù)的兩個例子:

> median(3:5)4> median(c(3:5, 50, 150))[1] 5

現(xiàn)在我們可以計算銀行數(shù)據(jù)中 age列的中位數(shù):

> median(bank$age)39

Pair 函數(shù)

pair函數(shù)用來合并兩個向量,接受向量x和向量y兩個參數(shù)。xy的長度必須相等。

Pair(x, y)

該函數(shù)返回一個 Pair類的列數(shù)為 2 的矩陣,示例如下:

> Pair(c(1,2,3), c(4,5,6)) x y[1,] 1 4[2,] 2 5[3,] 3 6attr(,\"class\")[1] \"Pair\"

該函數(shù)常用于像 T 檢驗和 Wilcox 檢驗等的 配對檢驗paired test。

dist 函數(shù)

dist函數(shù)用來計算數(shù)據(jù)矩陣中各行之間的距離矩陣,接受以下參數(shù):

參數(shù) 描述
x 數(shù)值矩陣
method 距離測量方法
diag 若為 TRUE,則打印距離矩陣的對角線
upper 若為 TRUE,則打印距離矩陣的上三角
p 閔可夫斯基距離的冪次(見下文 LCTT 譯注)

該函數(shù)提供的距離測量方法包括:歐式距離euclidean、最大距離maximum、曼哈頓距離manhattan、堪培拉距離canberra、二進(jìn)制距離binary 和 閔可夫斯基距離minkowski,默認(rèn)為歐式距離。

LCTT 譯注:

歐式距離指兩點(diǎn)之間線段的長度,比如二維空間中 A 點(diǎn)和 B 點(diǎn)的歐式距離是;最大距離指 n 維向量空間中兩點(diǎn)在各維度上的距離的最大值,比如 A 點(diǎn) (3,6,8,9) 和 B 點(diǎn) (1,8,9,10) 之間的最大距離是,等于 2;曼哈頓距離指 n 維向量空間中兩點(diǎn)在各維度上的距離之和,比如二維空間中 A 點(diǎn)和 B 點(diǎn)之間的曼哈頓距離是;堪培拉距離的公式是;二進(jìn)制距離首先將兩個向量中的各元素看作其二進(jìn)制形式,然后剔除在兩個向量中對應(yīng)值均為 0 的維度,最后計算在剩下的維度上兩個向量間的對應(yīng)值不相同的比例,比如 V1=(1,3,0,5,0) 和 V2=(11,13,0,15,10) 的二進(jìn)制形式分別是 (1,1,0,1,0) 和 (1,1,0,1,1),其中第 3 個維度的對應(yīng)值均為 0,剔除該維度之后為 (1,1,1,0) 和 (1,1,1,1),在剩余的 4 個維度中只有最后一個維度在兩個向量之間的值不同,最終結(jié)果為 0.25;閔可夫斯基距離是歐式距離和曼哈頓距離的推廣,公式是,當(dāng) p = 1 時相當(dāng)于曼哈頓距離,當(dāng) p = 2 時相當(dāng)于歐式距離。

下面是使用歐式距離計算 age列距離矩陣的示例:

> dist(bank$age, method=\"euclidean\", diag=FALSE, upper=FALSE, p=2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 252 33 5 24 0 3 55 29 26 24 296 5 2 0 5 247 6 3 1 6 23 18 9 6 4 9 20 4 39 11 8 6 11 18 6 5 210 13 10 8 13 16 8 7 4 211 9 6 4 9 20 4 3 0 2 412 13 10 8 13 16 8 7 4 2 0 413 6 3 1 6 23 1 0 3 5 7 3 714 10 13 15 10 39 15 16 19 21 23 19 23 1615 1 2 4 1 28 4 5 8 10 12 8 12 5 1116 10 7 5 10 19 5 4 1 1 3 1 3 4 20 917 26 23 21 26 3 21 20 17 15 13 17 13 20 36 25 1618 7 4 2 7 22 2 1 2 4 6 2 6 1 17 6 3 1919 5 8 10 5 34 10 11 14 16 18 14 18 11 5 6 15 31 1220 1 2 4 1 28 4 5 8 10 12 8 12 5 11 0 9 25 6 621 8 5 3 8 21 3 2 1 3 5 1 5 2 18 7 2 18 1 13 722 12 9 7 12 17 7 6 3 1 1 3 1 6 22 11 2 14 5 17 11 423 14 11 9 14 15 9 8 5 3 1 5 1 8 24 13 4 12 7 19 13 6 2 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50...

改用二進(jìn)制距離的計算結(jié)果如下:

> dist(bank$age, method=\"binary\", diag=FALSE, upper=FALSE, p=2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 282 03 0 04 0 0 05 0 0 0 06 0 0 0 0 07 0 0 0 0 0 08 0 0 0 0 0 0 09 0 0 0 0 0 0 0 010 0 0 0 0 0 0 0 0 011 0 0 0 0 0 0 0 0 0 012 0 0 0 0 0 0 0 0 0 0 013 0 0 0 0 0 0 0 0 0 0 0 014 0 0 0 0 0 0 0 0 0 0 0 0 015 0 0 0 0 0 0 0 0 0 0 0 0 0 016 0 0 0 0 0 0 0 0 0 0 0 0 0 0 017 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 018 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 019 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 020 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 021 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 022 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 023 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

quantile 函數(shù)

quantile函數(shù)用于計算數(shù)值向量x的分位數(shù)及其對應(yīng)的概率。當(dāng)設(shè)置na.rmTRUE時,該函數(shù)將忽略向量中的NANaN值。概率 0 對應(yīng)最小觀測值,概率 1 對應(yīng)最大觀測值。該函數(shù)的語法如下:

quantile(x, ...)

quantile函數(shù)接受以下參數(shù):

參數(shù) 描述
x 數(shù)值向量
probs 概率向量,取值為 [0, 1](LCTT 譯注:默認(rèn)為(0, 0.25, 0.5, 0.75, 1)
na.rm 若為 TRUE,忽略向量中的NANaN
names 若為 TRUE,在結(jié)果中包含命名屬性
type 整數(shù)類型,用于選擇任意一個九種分位數(shù)算法(LCTT 譯注:默認(rèn)為 7)
digits 小數(shù)精度
傳遞給其他方法的額外參數(shù)

rnorm函數(shù)可用于生成正態(tài)分布的隨機(jī)數(shù)。它可以接受要生成的觀測值的數(shù)量n,一個均值向量以及一個標(biāo)準(zhǔn)差向量。下面是一個計算rnorm函數(shù)生成的隨機(jī)數(shù)的四分位數(shù)的示例:

> quantile(x

下面是生成銀行年齡數(shù)據(jù)對應(yīng)概率下的分位數(shù)的示例:

> quantile(bank$age, probs = c(0.1, 0.5, 1, 2, 5, 10, 50)/100)0.1% 0.5% 1% 2% 5% 10% 50%20.0 22.6 24.0 25.0 27.0 29.0 39.0

IQR 函數(shù)

IQR函數(shù)用于計算向量中數(shù)值的 四分位距interquartile range。其語法如下:

IQR(x, na.rm = FALSE, type = 7)

參數(shù) type指定了一個整數(shù)以選擇分位數(shù)算法,該算法在Hyndman and Fan (1996)中進(jìn)行了討論。下面是計算銀行年齡四分位距的示例:

> IQR(bank$age, na.rm = FALSE, type=7)16

sd 函數(shù)

sd函數(shù)用來計算一組數(shù)值中的標(biāo)準(zhǔn)差。該函數(shù)接受一個 數(shù)值向量numeric vectorx和一個邏輯值na.rm。na.rm用來設(shè)置在計算時是否忽略缺失值。該函數(shù)的語法如下:

sd(x, na.rm = FALSE)

對于長度為 0 或 1 的向量,該函數(shù)返回 NA。下面是兩個例子:

> sd(1:10)3.02765> sd(1)NA

下面是計算 age標(biāo)準(zhǔn)差的示例:

> sd(bank$age)10.57621

R 語言 stats 包中還有很多其他函數(shù),鼓勵你自行探索。

(題圖:MJ/ee6b533d-69fc-4baa-a985-cc4e499b5029)

via: https://www.opensourceforu.com/2022/08/the-functions-in-the-r-stats-package/

作者:Shakthi Kannan選題:lkxed譯者:tanloong校對:wxy

本文由 LCTT原創(chuàng)編譯,Linux中國榮譽(yù)推出

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部