您好,登錄后才能下訂單哦!
R (http://www.r-project.org) 系統是用于統計分析和圖形化的計算機語言及分析工具,為了保證性能,其核心計算模塊是用C、C++和Fortran編寫的。同時為了便于使用,它提供了一種腳本語言,即R語言。R語言和貝爾實驗室開發的S語言類似。R支持一系列分析技術,包括統計檢驗、預測建模、數據可視化等等。在CRAN(http://cran.r-project.org) 上可以找到眾多開源的擴展包。
R軟件的首選界面是命令行界面,通過編寫腳本來調用分析功能。如果缺乏編程技能,也可使用圖形界面,比如使用RCommander(http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/)或Rattle(http://rattle.togaware.com)。[2]
另外,由于R系統是本文研究的重點,所以會花費較大篇幅對其各種特性、優勢及不足進行較為細致的分析。
如前所述,R系統是一種腳本語言,它主要以命令方式提供了對各種數據的處理和統計分析過程,主要能力或功能描述如下:
1.數據導入和導出:可以從文件中獲取數據,將處理結果存放到數據文件中;如HousePrice <- read.table("houses.data");data(Puromycin, package="datasets");attach(“faithful”)
2.向量數據處理能力:它可以處理向量數據(包括數值、邏輯和字符串),也可以按一定規則生成向量數據;支持向量運算(+、-、*、/、冪運算);
n向量賦值:x <- c(10.4, 5.6, 3.1, 6.4, 21.7);y <- c(x, 0, x)
n向量運算:1/x;v <- 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.復雜數據處理能力:支持矩陣、支持列表數據類型(元素不同)、數據幀(類似矩陣,但元素類型可不同);
因子(集合):
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數組或矩陣: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數據幀:accountants <- data.frame(home=statef, loot=incomes, shot=incomef)
4.支持函數:包括系統內置函數和用戶定義函數;自定義函數舉例如下:
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:二項分布
nCauchy:柯西分布
nchi-squared:卡方分布
nexponential:指數分布
nF:F分布
nGamma:伽馬分布
nGeometric:幾何分布
nHypergeometric:超集合分布
nlog-normal:對數正態分布
nlogistic:對數分布
nnegativebinomial:負二項分布
nnormal:正態分布
nPoisson:泊松分布
nsignedrank:符號秩次分布
nStudent:學生氏分布
nUniform:單一分布
nWeibull:Weibull分布
nWilcoxon:威爾考克斯分布
以下為分布的舉例:
n正態分布:
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)
上述命令生成的圖如下:
n指數分布:
x <- seq(1, 5, 0.01)
plot(pexp(x,3))
生成的統計圖如下:
6.支持條件語句和循環語句
條件語句:if (expr_1) expr_2 else expr_3
循環語句:
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.支持多種圖型化的數據表達方式,舉例如下(直方圖):
x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
hist(x)
R系統具有如下優勢:
1.因其為單行命令模式,所以對于一般有開發經驗的用戶,簡便易學,容易上手;
2.數據類型支持豐富;
3.支持的概率分布模型較全面,一般能滿足日常使用;而且支持通用的假設檢驗方法;
4.支持流程控制和自定義函數。
但R系統也有如下缺點:
1.雖然簡便易學,和純粹基于圖型的挖掘工具相較,使用起來仍不夠直觀、方便;
2.對使用人員而言,仍有一定的要求;
3.一般只能從文件中獲取數據,無法和數據庫系統相結合。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。