溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

一個(gè)通用數(shù)據(jù)挖掘系統(tǒng)——R的簡(jiǎn)介

發(fā)布時(shí)間:2020-07-29 03:56:02 來源:網(wǎng)絡(luò) 閱讀:576 作者:chenhu_tass 欄目:安全技術(shù)
簡(jiǎn)介

R (http://www.r-project.org) 系統(tǒng)是用于統(tǒng)計(jì)分析和圖形化的計(jì)算機(jī)語言及分析工具,為了保證性能,其核心計(jì)算模塊是用CC++Fortran編寫的。同時(shí)為了便于使用,它提供了一種腳本語言,即R語言。R語言和貝爾實(shí)驗(yàn)室開發(fā)的S語言類似。R支持一系列分析技術(shù),包括統(tǒng)計(jì)檢驗(yàn)、預(yù)測(cè)建模、數(shù)據(jù)可視化等等。在CRAN(http://cran.r-project.org) 上可以找到眾多開源的擴(kuò)展包。
   R軟件的首選界面是命令行界面,通過編寫腳本來調(diào)用分析功能。如果缺乏編程技能,也可使用圖形界面,比如使用RCommander(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)Rattle(http://rattle.togaware.com)。[2]

另外,由于R系統(tǒng)是本文研究的重點(diǎn),所以會(huì)花費(fèi)較大篇幅對(duì)其各種特性、優(yōu)勢(shì)及不足進(jìn)行較為細(xì)致的分析。

主要功能

如前所述,R系統(tǒng)是一種腳本語言,它主要以命令方式提供了對(duì)各種數(shù)據(jù)的處理和統(tǒng)計(jì)分析過程,主要能力或功能描述如下:

1.數(shù)據(jù)導(dǎo)入和導(dǎo)出:可以從文件中獲取數(shù)據(jù),將處理結(jié)果存放到數(shù)據(jù)文件中;如HousePrice <- read.table("houses.data")data(Puromycin, package="datasets");attach(“faithful”)

2.向量數(shù)據(jù)處理能力:它可以處理向量數(shù)據(jù)(包括數(shù)值、邏輯和字符串),也可以按一定規(guī)則生成向量數(shù)據(jù);支持向量運(yùn)算(+、-、*、/、冪運(yùn)算);

n向量賦值:x <- c(10.4, 5.6, 3.1, 6.4, 21.7);y <- c(x, 0, x)

n向量運(yùn)算:1/xv <- 2*x + y + 1;sum((x-mean(x))^2)/(length(x)-1)

n向量生成:z <- 0:9;s4 <- seq(length=51,from=-5, by=.2)

3.復(fù)雜數(shù)據(jù)處理能力:支持矩陣、支持列表數(shù)據(jù)類型(元素不同)、數(shù)據(jù)幀(類似矩陣,但元素類型可不同);

因子(集合):

state <- c("tas", "sa", "qld","nsw", "nsw", "nt", "wa","wa","qld", "vic", "nsw","vic", "qld", "qld", "sa","tas","sa", "nt", "wa","vic", "qld", "nsw", "nsw","wa","sa", "act", "nsw","vic", "vic", "act");statef<- factor(state)

n數(shù)組或矩陣:dim(z) <- c(3,5,100);x <- array(1:20, dim=c(4,5))

n列表:Lst <- list(name="Fred", wife="Mary",no.children=3,child.ages=c(4,7,9))

n數(shù)據(jù)幀:accountants <- data.frame(home=statef, loot=incomes, shot=incomef)

4.支持函數(shù):包括系統(tǒng)內(nèi)置函數(shù)和用戶定義函數(shù);自定義函數(shù)舉例如下:

twosam <- function(y1, y2) {

n1 <- length(y1); n2 <- length(y2)

yb1 <- mean(y1); yb2 <- mean(y2)

s1 <- var(y1); s2 <- var(y2)

s <- ((n1-1)*s1 + (n2-1)*s2)/(n1+n2-2)

tst <- (yb1 - yb2)/sqrt(s*(1/n1 + 1/n2))

tst

}

5.概率分布:支持多種概率分布模型,如下:

nBeta:貝塔分布

nBinomial:二項(xiàng)分布

nCauchy:柯西分布

nchi-squared:卡方分布

nexponential:指數(shù)分布

nFF分布

nGamma:伽馬分布

nGeometric:幾何分布

nHypergeometric:超集合分布

nlog-normal:對(duì)數(shù)正態(tài)分布

nlogistic:對(duì)數(shù)分布

nnegativebinomial:負(fù)二項(xiàng)分布

nnormal:正態(tài)分布

nPoisson:泊松分布

nsignedrank:符號(hào)秩次分布

nStudent:學(xué)生氏分布

nUniform:?jiǎn)我环植?/span>

nWeibullWeibull分布

nWilcoxon:威爾考克斯分布


以下為分布的舉例:

n正態(tài)分布:

attach(faithful)

long <-eruptions[eruptions > 3]

plot(ecdf(long),do.points=FALSE, verticals=TRUE)

x <- seq(3, 5.4,0.01)

lines(x, pnorm(x, mean=mean(long),sd=sqrt(var(long))), lty=3)

上述命令生成的圖如下:

一個(gè)通用數(shù)據(jù)挖掘系統(tǒng)——R的簡(jiǎn)介

n指數(shù)分布:

x <- seq(1, 5, 0.01)

plot(pexp(x,3))

生成的統(tǒng)計(jì)圖如下:

一個(gè)通用數(shù)據(jù)挖掘系統(tǒng)——R的簡(jiǎn)介

6.支持條件語句和循環(huán)語句

條件語句:if (expr_1) expr_2 else expr_3

循環(huán)語句:

xc <- split(x, ind)

yc <- split(y, ind)

for (i in 1:length(yc)) {

plot(xc`i`, yc`i`)

abline(lsfit(xc`i`, yc`i`))

}

7.支持多種圖型化的數(shù)據(jù)表達(dá)方式,舉例如下(直方圖):

x <- c(10.4, 5.6, 3.1, 6.4, 21.7)

hist(x)

一個(gè)通用數(shù)據(jù)挖掘系統(tǒng)——R的簡(jiǎn)介

優(yōu)勢(shì)

R系統(tǒng)具有如下優(yōu)勢(shì):

1.因其為單行命令模式,所以對(duì)于一般有開發(fā)經(jīng)驗(yàn)的用戶,簡(jiǎn)便易學(xué),容易上手;

2.數(shù)據(jù)類型支持豐富;

3.支持的概率分布模型較全面,一般能滿足日常使用;而且支持通用的假設(shè)檢驗(yàn)方法;

4.支持流程控制和自定義函數(shù)。

不足

R系統(tǒng)也有如下缺點(diǎn):

1.雖然簡(jiǎn)便易學(xué),和純粹基于圖型的挖掘工具相較,使用起來仍不夠直觀、方便;

2.對(duì)使用人員而言,仍有一定的要求;

3.一般只能從文件中獲取數(shù)據(jù),無法和數(shù)據(jù)庫系統(tǒng)相結(jié)合。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI