2019-09-07 R語言總結(jié)

R語言與數(shù)據(jù)挖掘:公式迹缀;數(shù)據(jù)使碾;方法

R語言特征

對(duì)大小寫敏感

通常,數(shù)字祝懂,字母票摇,. 和 _都是允許的(在一些國家還包括重音字母)。不過砚蓬,一個(gè)命名必須以 . 或者字母開頭矢门,并且如果以 . 開頭,第二個(gè)字符不允許是數(shù)字灰蛙。

基本命令要么是表達(dá)式(expressions)要么就是 賦值(assignments)祟剔。

命令可以被 (;)隔開,或者另起一行摩梧。

基本命令可以通過大括弧({和}) 放在一起構(gòu)成一個(gè)復(fù)合表達(dá)式(compound expression)物延。

一行中,從井號(hào)(#)開始到句子收尾之間的語句就是是注釋障本。

R是動(dòng)態(tài)類型教届、強(qiáng)類型的語言。

R的基本數(shù)據(jù)類型有數(shù)值型(numeric)驾霜、字符型(character)案训、復(fù)數(shù)型(complex)和邏輯型(logical),對(duì)象類型有向量粪糙、因子强霎、數(shù)組、矩陣蓉冈、數(shù)據(jù)框城舞、列表、時(shí)間序列寞酿。

基礎(chǔ)指令

程序輔助性操作:

運(yùn)行

q()——退出R程序

tab——自動(dòng)補(bǔ)全

ctrl+L——清空console

ESC——中斷當(dāng)前計(jì)算

調(diào)試查錯(cuò)

browser()?和?debug()——設(shè)置斷點(diǎn)進(jìn)行家夺,運(yùn)行到此可以進(jìn)行瀏覽查看(具體調(diào)試看browser()幫助文檔(c,n,Q))

stop('your message here.')——輸入?yún)?shù)不正確時(shí),停止程序執(zhí)行

cat()——查看變量伐弹?

幫助

help(solve)??solve 等同

??solve——檢索所有與solve相關(guān)的信息

help("[[") 對(duì)于特殊含義字符拉馋,加上雙引號(hào)或者單引號(hào)變成字符串,也適用于有語法涵義的關(guān)鍵字 if惨好,for 和 function

help(package="rpart")——查看某個(gè)包

help.start()——得到html格式幫助

help.search()——允許以任何方式(話題)搜索幫助文檔

example(topic)——查看某個(gè)幫助主題示例

apropos("keyword")——查找關(guān)鍵詞keyword相關(guān)的函數(shù)

RSiteSearch("onlinekey"煌茴, restrict=fuction)——用來搜索郵件列表文檔、R手冊(cè)和R幫助頁面中的關(guān)鍵詞或短語(互聯(lián)網(wǎng))RSiteSearch('neural networks')

準(zhǔn)備

文件目錄設(shè)置

setwd(<dir>)——設(shè)置工作文件目錄

getwd()——獲取當(dāng)前工作文件目錄

list.files()——查看當(dāng)前文件目錄中的文件

加載資源

search()——通過search()函數(shù)日川,可以查看到R啟動(dòng)時(shí)默認(rèn)加載7個(gè)核心包蔓腐。

基礎(chǔ)函數(shù):數(shù)學(xué)計(jì)算函數(shù),統(tǒng)計(jì)計(jì)算函數(shù)龄句,日期函數(shù)回论,包加載函數(shù)散罕,數(shù)據(jù)處理函數(shù),函數(shù)操作函數(shù)傀蓉,圖形設(shè)備函數(shù)

setRepositpries()——選擇軟件庫(CRAN笨使,Bioconductor,R-Forge)僚害,尋找安裝包的方法另看《【R筆記】尋找R的安裝包》

(.packages())——列出當(dāng)前包

(.packages(all.available=TRUE))——列出有效包

install.packages(“<package>”)——安裝包

library()和require()——加載R包(package)至工作空間

data()——列出可以被獲取到的存在的數(shù)據(jù)集(base包的數(shù)據(jù)集)

data(,package=“nls”)——將nls包的datasets加載到數(shù)據(jù)庫中

批處理文件和結(jié)果重定向

source("commands.R")——執(zhí)行commands.R (存放批處理命令的)腳本文件繁调。

cat(,file="")——可以把R命令輸出至外部文件萨蚕,然后調(diào)用source函數(shù)進(jìn)行批處理

do.call(<funcname>,<pars>)——調(diào)用函數(shù)蹄胰,第一個(gè)參數(shù)<funcnames>指示調(diào)用函數(shù)字符串名稱岳遥,第二個(gè)參數(shù)包含調(diào)用所需參數(shù)的一個(gè)列表<pars>

sink("record.lis")——把后續(xù)的輸出結(jié)果從控制臺(tái)重定向到外部文件 record.lis 中

sink()——把后續(xù)代碼輸出重新恢復(fù)到終端上展示

attach(<datafame>)——將數(shù)據(jù)框<datafame>中的變量鏈接到內(nèi)存中,便于數(shù)據(jù)調(diào)用

detach()——對(duì)應(yīng)attach()裕寨,取消變量的鏈接浩蓉,detach()里沒有參數(shù)!

注:attach()detach()均是在默認(rèn)變量搜索路徑表中由前向后找到第一個(gè)符合變量名稱宾袜,因此之前若存在重名變量捻艳,有可能會(huì)出現(xiàn)問題!G烀ā认轨!

數(shù)據(jù)處理

輸入輸出(讀入輸出數(shù)據(jù)、文件)

assign("x",c(1,2,3))?和?x <- c(1,2,3)??c(1,2,3)->x ——向量賦值

read.table("infantry.txt", sep="\t"月培, header=TRUE)——seq屬性用其它字符分割嘁字,比如文本文件用空格(tab)分隔,header設(shè)置為文件中已經(jīng)存在表頭名稱

read.csv("targets.csv")——讀入csv(Comma Seperated Values)文件杉畜,屬性被逗號(hào)分割

read.csv(url(""))——read.csv()??url()的合體纪蜒,讀存在網(wǎng)上的數(shù)據(jù)

x <- scan(file="")——手動(dòng)輸入數(shù)據(jù),同時(shí)scan可以指定輸入變量的數(shù)據(jù)類型此叠,適合大數(shù)據(jù)文件

scan("data.dat", what = list("", 0, 0))——what指定變量類型列表

readLines('http://en.wikipedia.org/wiki/Main_Page',n=10)——讀取文本文件纯续,將文檔轉(zhuǎn)為以行為單位存放的list格式,比如讀取讀取wikipedia的主頁html文件的前十行

write.table(Data, file="file.txt", row.names = FALSE, quote=FALSE)——輸出拌蜘,quote為FALSE去掉字符串類型的雙引號(hào)杆烁,write.table(stasum, "stasum.csv",row.names = FALSE,col.name=FALSE,sep=",",append=TRUE)

write.csv(data,file="foo.csv",row.names=FALSE)——寫成csv格式,row.names=FALSE去掉行號(hào)

print()——打印

save.image("./data.RData")——把原本在計(jì)算機(jī)內(nèi)存中(工作空間)活動(dòng)的數(shù)據(jù)轉(zhuǎn)存到硬盤中简卧。

load("./RData")——加載目錄中的*.RData兔魂,把文檔-詞項(xiàng)矩陣從磁盤加載到內(nèi)存中

數(shù)據(jù)查看

通用對(duì)象

R是一種基于對(duì)象(Object)的語言,對(duì)象具有很多屬性(Attribute)举娩,其中一種重要的屬性就是類(Class)析校,最基本的類包括了數(shù)值(numeric)构罗、邏輯(logical)、字符(character)智玻、列表(list)遂唧,符合類包括矩陣(matrix)、數(shù)組(array)吊奢、因子(factor)盖彭、數(shù)據(jù)框(dataframe)。

class()?data.class(object)——查看對(duì)象object的類或類型

unclass()——消除對(duì)象object的類

基本數(shù)據(jù)類型

mode()——查看基本數(shù)據(jù)類型

length()——查看長度

as.<數(shù)據(jù)類型>——改變對(duì)象的數(shù)據(jù)類型

特殊屬性

attributes(<object>)——查看對(duì)象object各種屬性組成的列表

attr(<object>页滚,“name”)——存取對(duì)象object的名為name的屬性

混合類型

邏輯類型+數(shù)值類型=數(shù)值類型

邏輯類型+字符類型=字符類型

數(shù)值類型+字符類型=字符類型

ls()和?objects()——查看當(dāng)前工作空間中存在的對(duì)象(變量)

rm(list=ls())——?jiǎng)h除工作空間的所有對(duì)象

methods(x)——查看x函數(shù)的源碼召边,有些自帶函數(shù)輸入名稱x可以直接看到,有一些需要調(diào)用methods方法才能查看函數(shù)x的源碼裹驰,出現(xiàn)多重名隧熙,輸入對(duì)應(yīng)名稱即可

str()——查看數(shù)據(jù)(框)中的數(shù)據(jù)總體信息(比如樣本個(gè)數(shù)、變量個(gè)數(shù)幻林、屬性變量名稱贞盯、類型)

nrow(dataframe)——查看數(shù)據(jù)集行數(shù)

NROW(vector)——查看向量的行數(shù),等于length(x)

head(dataframe)——查看數(shù)據(jù)集前6行數(shù)據(jù)

tail(dataframe)——查看數(shù)據(jù)集尾6行數(shù)據(jù)

向量特征

邏輯向量運(yùn)算:

TRUE沪饺,F(xiàn)ALSE——全部大寫

isTRUE(x)——判斷x為TRUE

*|躏敢,&,整葡!——或且非父丰,注意是單個(gè)不是&&掘宪!

ANY蛾扇,ALL——任意,全部

數(shù)組和矩陣

train$var

train$new[train$var == NA] <- 1

Data[is.na(Data)] <- 0——數(shù)據(jù)框多維變量中給NA值賦值為0

apply(A魏滚,Margin镀首,F(xiàn)UN,...)——A為矩陣鼠次,Margin設(shè)定待處理的維數(shù)更哄,為1是橫排(行),為2是豎排(列)做運(yùn)算腥寇,F(xiàn)un是運(yùn)算函數(shù)

sweep(x成翩,2,apply(x赦役,MARGIN=1麻敌,mean),F(xiàn)UN)——對(duì)數(shù)組或者矩陣進(jìn)行運(yùn)算掂摔。?MARGIN=1表示行术羔,2表示列赢赊;STATS統(tǒng)計(jì)量,如apply(x级历,MARGIN=1释移,mean),F(xiàn)UN函數(shù)運(yùn)算默認(rèn)為減法寥殖,“/”除法

y.vector<-with(data,get(yval))——表示在data數(shù)據(jù)框中讀取列名稱為yval的向量玩讳。

with(<data>,<colname|func>)——提取數(shù)據(jù)框中的某些參數(shù)做運(yùn)算嚼贡,對(duì)于數(shù)據(jù)框運(yùn)算很方便

繪圖

plot()——繪制圖像

plot(, , pch=as.integer()锋边,col,xlab编曼,ylab)——用factors區(qū)分圖像點(diǎn)的類型pch(圓的,三角剩辟,叉)掐场,col是顏色類別,xlab或者ylab對(duì)應(yīng)橫縱軸標(biāo)題

legend(,legend=,pch=1:3贩猎,cex=1熊户,col)——圖例,是位置(比如右上)吭服,

text(X嚷堡,Y,labels=c(1,2,3),adj=1.2)——添加標(biāo)注,X,Y是對(duì)應(yīng)坐標(biāo)的向量艇棕,labels是標(biāo)記值蝌戒,adj調(diào)整標(biāo)注位置

abline(h = ,lty=2)——低級(jí)繪圖添加一條水平線h或者是回歸模型直線沼琉,垂線v北苟;lty為2表示繪制虛線

abline(a,b)——畫一條y=a+bx的直線

points(x,y)————低級(jí)繪圖打瘪,畫個(gè)點(diǎn)友鼻,坐標(biāo)為向量x,y

lines(x闺骚,y)——低級(jí)繪圖彩扔,畫一條線,坐標(biāo)為向量x僻爽,y

axis(side=1虫碉,at=seq(from=0.7,by=1.2胸梆,length.out=7)蔗衡,labels=c(...))——繪制坐標(biāo)軸纤虽,低級(jí)繪圖,side為2是縱坐標(biāo)

barchart()——lattice包預(yù)先要對(duì)數(shù)據(jù)匯總

barplot(<vector>)——繪制柱狀圖绞惦,vector可增加名稱逼纸。也可以繪制直方圖,和hist()均分?jǐn)?shù)據(jù)不太一樣济蝉,需要用table()統(tǒng)計(jì)各個(gè)子分段下樣本數(shù)量后在畫圖杰刽。

mosaicplot(x~y,main王滤,color=T贺嫂,xlab,ylab)——柱形對(duì)應(yīng)關(guān)系圖

contour(<matrix>)——?jiǎng)?chuàng)建等高線

persp(<matrix>雁乡,expand=0.2)——?jiǎng)?chuàng)建3D圖第喳,expand擴(kuò)展值設(shè)置為0.2,否則為全屏擴(kuò)展

image(volcano)——加載柵格(矩陣)圖像

par(mfrow=c(1,2)踱稍,oma曲饱,mar)——mfrow設(shè)置圖形輸出窗口為1行2列,添加car包珠月?oma是所有圖像距離邊框的距離(底部扩淀,左邊,頂部啤挎,右邊)驻谆,mar是每幅圖像對(duì)邊框的距離,默認(rèn)是c(5, 4, 4, 2) + 0.1庆聘。

lines(data)——(低級(jí))原圖中畫線胜臊,data是由散點(diǎn)(x,y)組成

rug(jitter(<data>),side =2)——檢驗(yàn)離群點(diǎn)數(shù)據(jù),rug()原圖中執(zhí)行繪圖繪制在橫坐標(biāo)上口叙,side為2是縱坐標(biāo),jitter(<data>)對(duì)繪制值略微調(diào)整织盼,增加隨機(jī)排序以避免標(biāo)記值作圖重合。

pairs(data)——數(shù)據(jù)框各個(gè)變量的散布圖

coplot(y~x|a+b)——多個(gè)變量時(shí)的散點(diǎn)圖酱塔,在a沥邻,b(向量或是因子)的劃分下的y與x的散點(diǎn)圖

scatterplotMatr()——散點(diǎn)圖矩陣,car包

identify(<data>)——交互式點(diǎn)選羊娃,單擊圖形中的點(diǎn)唐全,將會(huì)輸出對(duì)應(yīng)數(shù)據(jù)的行號(hào),右擊結(jié)束交互

stem(x,scale=1邮利,width=80弥雹,atom=1e-08)——莖葉圖,scale控制莖葉圖的長度,為2即是以0~4為一組延届,5~9為一組將個(gè)位分成兩部分剪勿,width是繪圖寬度,atom是容差

boxplot()——箱圖方庭,研究變量的中心趨勢(shì)厕吉,以及變量發(fā)散情況和離群值。上體頂部和底部為上下四分位數(shù)械念,中間粗線為中位數(shù)头朱,上下伸出的垂直部分為數(shù)據(jù)的散步范圍,最遠(yuǎn)點(diǎn)為1.5倍四分為點(diǎn)龄减,超出后為異常點(diǎn)项钮,用圓圈表示。boxplot(y~f,notch=TRUE,col=1:3,add=TRUE)#y是數(shù)據(jù)希停,f是由因子構(gòu)成烁巫,notch是帶有切口的箱型圖,add=T圖疊加到上一幅圖脖苏。

plot(f,y)——箱線圖定踱,f是因子棍潘,y是與f因子對(duì)應(yīng)的數(shù)值

bwplot(<factor> ~ <y>,data崖媚,ylab)——lattice包的箱圖亦歉,繪制不同factor下的y的箱圖(條件繪圖,在某個(gè)因子取值集合下的y值變化)

bwplot(size~a1,data,panel=panel.bpplot,prob=seq(.01,.49,by=.01),datadensity=TRUE,ylab='')——Hmisc包的分位箱圖

earth.count(na.omit(x),number=4,overlap=1/5)——連續(xù)變量x的離散化畅哑,把x轉(zhuǎn)化為因子類型肴楷;number設(shè)置區(qū)間個(gè)數(shù),overlap設(shè)置兩個(gè)區(qū)間靠近邊界的重合荠呐?每個(gè)區(qū)間的觀測值相等

stripplot(x1~y|x2)——lattice包的復(fù)雜箱圖赛蔫,存在兩個(gè)因子x1,x2控制下的y, x2按照從左到右,從下到上的順序排列泥张,左下方的x2值較小

palette()——col取值對(duì)應(yīng)的顏色呵恢,?"black"?? "red"???? "green3"? "blue"??? "cyan"??? "magenta" "yellow"? "gray"??

colors()——列出對(duì)應(yīng)的顏色數(shù)組

qcc()——qcc包,監(jiān)控轉(zhuǎn)化率型指標(biāo)的質(zhì)量監(jiān)控圖(P控制圖)媚创,監(jiān)控異常點(diǎn)渗钉,前提是二項(xiàng)分布足夠大后趨于正態(tài)分布

mosaic(<tab>,shade=T钞钙,legend=T)——繪制三級(jí)列聯(lián)表鳄橘,<tab>是三級(jí)列聯(lián)表或者公式声离,vcd包

curve(sapply(x,<func>),<from>瘫怜,<to>)——畫曲線圖术徊,from和to設(shè)置橫坐標(biāo)取值范圍

編輯

optim(c(0,0),<func>)——優(yōu)化問題函數(shù),c(0,0)是優(yōu)化函數(shù)參數(shù)的初始值宝磨,返回值par是參數(shù)最優(yōu)點(diǎn)值弧关,value是參數(shù)的最優(yōu)點(diǎn)時(shí)平方誤差值,counts是返回執(zhí)行輸入函數(shù)func的次數(shù)以及梯度gradient的次數(shù)唤锉,convergence值為0表示有把握找到最優(yōu)點(diǎn)世囊,非0值時(shí)對(duì)應(yīng)錯(cuò)誤,message是一些其它信息窿祥。

curve(sapply(x,<func>)株憾,<from>,<to>)——畫曲線圖晒衩,from和to設(shè)置橫坐標(biāo)取值范圍

sample(length(x)嗤瞎,<size>,replace=F)——采樣听系,生成向量x的隨機(jī)順序的大小為<size>的新向量贝奇;replace為False為不重復(fù)抽樣,為True則重復(fù)抽樣

Round ——取整靠胜。精確

ceiling()——取整掉瞳,偏向數(shù)值小的

floor() ——取整,偏向數(shù)值大的

%/% ——整除

colnames(Data)[4]="value"——更換某一列名

edit()——編輯數(shù)據(jù)表格

fix()——

rm(x浪漠,y)——移除對(duì)象(變量)x和y

na.exclude()——移除缺失數(shù)據(jù)整行

na.omit()——?jiǎng)h除缺失數(shù)據(jù)

attr(na.omit(<data>),"na.action")——返回向量a中元素為NA的下標(biāo)

na.fail()——如果向量中至少包括1個(gè)NA值陕习,則返回錯(cuò)誤;如果不包括任何NA址愿,則返回原有向量

merge(x = targets, y = infanty)——合并數(shù)據(jù)框该镣,x和y是待合并數(shù)據(jù)框,相同屬性字段也會(huì)合并在一起

merge(x, y, by = intersect(names(x), names(y)),by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,sort = TRUE, suffixes = c(".x",".y"),incomparables = NULL, ...)?

merge函數(shù)參數(shù)的說明:

??? x,y:用于合并的兩個(gè)數(shù)據(jù)框

? ?by,by.x,by.y:指定依據(jù)哪些行合并數(shù)據(jù)框,默認(rèn)值為相同列名的列.

? ?all,all.x,all.y:指定x和y的行是否應(yīng)該全在輸出文件.

? ? sort:by指定的列是否要排序.

? ?suffixes:指定除by外相同列名的后綴.

? ?incomparables:指定by中哪些單元不進(jìn)行合并.

scale(x, center = TRUE, scale = TRUE)——中心化與標(biāo)準(zhǔn)化响谓,center是中心化损合,scale是標(biāo)準(zhǔn)化。(全選:減去均值娘纷,再除以標(biāo)準(zhǔn)差)

cut(x塌忽,breaks=c(0,10,30),labels失驶,ordered_result=F)——連續(xù)數(shù)據(jù)的離散化土居,將向量依據(jù)breaks區(qū)間分割為因子向量。labels設(shè)置返回因子向量的水平標(biāo)簽值,ordered_result為False生成的因子向量無大小意義擦耀,否則有大小意義

apply族函數(shù)

apply(A棉圈,MARGIN,F(xiàn)UN眷蜓,...)——處理對(duì)象A是矩陣或數(shù)組分瘾,MARGIN設(shè)定待計(jì)算的維數(shù),F(xiàn)UN是某些函數(shù)吁系,如mean德召,sum

注:apply與其它函數(shù)不同,它并不能明顯改善計(jì)算效率汽纤,因?yàn)樗旧韮?nèi)置為循環(huán)運(yùn)算上岗。

按列?

lappy(dataframe蕴坪,F(xiàn)UN肴掷,list(median,sd))——處理對(duì)象是向量、列表或其它對(duì)象背传,輸出格式為列表list

sapply(dataframe$Filed呆瞻,F(xiàn)UN)——與lapply()相似,輸出格式為矩陣(或數(shù)據(jù)框)

按行径玖?

tapply(X, INDEX, FUN, simplify = TRUE)——處理分組數(shù)據(jù), INDEX和X是有同樣長度的因子痴脾,simplify是邏輯變(量默認(rèn)為T)

aggregate(x~y+z, data,F(xiàn)UN)和by()——和tapply功能類似

其余參看:apply函數(shù)族

plyr庫

ddply(Data梳星,.(user_id赞赖,item_id),summarize丰泊,liulan=sum(liulan))——split-apply-combine的一體化函數(shù)薯定;.(user_id始绍,item_id)作為每行的一對(duì)標(biāo)識(shí)ID(因子)瞳购,前面的“.”號(hào)省略數(shù)據(jù)框名稱;summrize是一個(gè)函數(shù)fun亏推;liulan是一個(gè)變量学赛,最后生成的數(shù)據(jù)框只有user_id,item_id吞杭,liulan三列盏浇。詳情參見例子 ?R語言利器之ddply

transform(x,y)——將x和y的列轉(zhuǎn)換成·一個(gè)數(shù)據(jù)框芽狗。

reshape庫(reshape2)

melt(data绢掰,id.vars)——轉(zhuǎn)換數(shù)據(jù)溶解。修改數(shù)據(jù)組織結(jié)構(gòu),創(chuàng)建一個(gè)數(shù)據(jù)矩陣滴劲,以id.var作為每行的編號(hào)攻晒,剩余列數(shù)據(jù)取值僅作為1列數(shù)值,并用原列名作為新數(shù)值的分類標(biāo)記班挖。

cast(data, userid~itemid,value="rattings",fill=0)——統(tǒng)計(jì)轉(zhuǎn)換數(shù)據(jù)鲁捏,生成矩陣,公式~左邊的作為行表名萧芙,右邊的作為列表名给梅。之后可以用cor()計(jì)算每列數(shù)據(jù)之間的相關(guān)系數(shù),并計(jì)算距離双揪。

acast 和 dcast(data, userid~itemid,value.var="rattings")——同上动羽,reshape2包,acast最后生成數(shù)組盟榴,dcase生成數(shù)據(jù)框曹质。參見?R語言進(jìn)階之4:數(shù)據(jù)整形(reshape)

字符串處理

nchar()——獲取字符串長度,它能夠獲取字符串的長度擎场,它也支持字符串向量操作羽德。注意它和length()的結(jié)果是有區(qū)別的?什么區(qū)別

paste("a", "b", sep="")——字符串粘合迅办,負(fù)責(zé)將若干個(gè)字符串相連結(jié)宅静,返回成單獨(dú)的字符串。其優(yōu)點(diǎn)在于站欺,就算有的處理對(duì)象不是字符型也能自動(dòng)轉(zhuǎn)為字符型姨夹。

strsplit(A,split='[,.]')——字符串分割矾策,負(fù)責(zé)將字符串按照某種分割形式將其進(jìn)行劃分磷账,它正是paste()的逆操作。

substr(data,start,stop)——字符串截取贾虽,能對(duì)給定的字符串對(duì)象取出子集逃糟,其參數(shù)是子集所處的起始和終止位置。子集為從start到stop的下標(biāo)區(qū)間

grep()——字符串匹配蓬豁,負(fù)責(zé)搜索給定字符串對(duì)象中特定表達(dá)式 绰咽,并返回其位置索引。grepl()函數(shù)與之類似地粪,但其后面的"l"則意味著返回的將是邏輯值

regexpr(pattern,text)——從字符串text中提取特定的字符串的下標(biāo)位置

gregexpr()——只查詢匹配的第一個(gè)特定字符串的下標(biāo)位置

gsub("a",1,<vector>)——字符串替代取募,負(fù)責(zé)搜索字符串的特定表達(dá)式,并用新的內(nèi)容加以替代蟆技。

sub()函數(shù)——和gsub是類似的玩敏,但只替代第一個(gè)發(fā)現(xiàn)結(jié)果斗忌。

chartr( )——字符串替換函數(shù)

toupper( )、tolower( )及casefold( )——大小寫轉(zhuǎn)換函數(shù)

其余參見:R語言中的字符串處理函數(shù)

控制流

if—else——分支語句

switch(index,case1,case2,casen)——index指示跳到第i個(gè)casei中

for(i in <vecter>)——循環(huán)語句旺聚,通過控制變量i

while——循環(huán)語句飞蹂,通過設(shè)定循環(huán)范圍

repeat—break——循環(huán)語句,無限循環(huán)翻屈,由break跳出

特殊數(shù)據(jù)對(duì)象

向量特性

向量數(shù)組初始小標(biāo)序號(hào)從1開始

向量增加元素可以直接通過“vector[n+1]<-0”方式增加

a<-c()——向量初始化

vector <- numeric(<int>)——?jiǎng)?chuàng)建初始向量<int>個(gè)數(shù)陈哑,并賦初值為0

length(vector)<- leg——修改對(duì)象長度為leg

names(vector) <- c("A","B","C")——給向量起名稱

vector["A"]——通過名稱訪問對(duì)應(yīng)元素

a == c(1, 99, 3)——比較每一個(gè)元素對(duì)應(yīng)是否相等

c(0,1)——?jiǎng)?chuàng)建向量伸眶,向量內(nèi)元素類型應(yīng)一致惊窖!

seq(5,9)?5:9 ——連續(xù)向量厘贼,等差數(shù)列

seq(5界酒,9,0.5)——以0.5為間隔創(chuàng)建

seq(from,to,length,by)

數(shù)據(jù)索引

which(is.na(var) == T)——返回對(duì)應(yīng)數(shù)組序號(hào)

which.max() 和 which.min()——返回?cái)?shù)值類型中最大和最小元素下標(biāo)

subset(<data>,<condition>嘴秸,<colname>)——索引毁欣,<data>是數(shù)據(jù),<condition>是索引條件岳掐,colnames指定索引列名

match(x凭疮,table,nomatch串述,incomparables)——匹配函數(shù)执解,返回x對(duì)應(yīng)值在table中是否存在,并從1開始編號(hào)纲酗。x是查詢對(duì)象衰腌,table是待匹配的向量,nomatch是不匹配項(xiàng)的設(shè)置值(默認(rèn)為NA值)觅赊,incomparables設(shè)置table表中不參加匹配的數(shù)值右蕊,默認(rèn)為NULL

<x> %n% <y>——判斷x中是否包含y,返回x對(duì)應(yīng)的邏輯值

排序

sort(x, decreasing = FALSE, na.last = NA, ...)——排序吮螺,單變量排序饶囚,輸出排序結(jié)果(不是序號(hào))。na.last為TRUE规脸,缺失值放在數(shù)據(jù)最后坯约,為False? ? 缺失值放在數(shù)據(jù)最前面熊咽,為NA莫鸭,缺失數(shù)據(jù)將被移除

sort.list()——排序輸出序號(hào)值

order()——排序,多個(gè)變量數(shù)據(jù)框排序横殴,返回?cái)?shù)據(jù)框序號(hào)數(shù)被因。order例子【結(jié)】

結(jié)合ddply和transform函數(shù)卿拴,降序輸出并,輸出編號(hào):ddply(dfx,.(group,sex),.fun=function(x){transform(x[order(x$age,decreasing=TRUE),c(1:3)],ind=1:length(group))})

rank()——秩排序梨与,有重復(fù)數(shù)字的時(shí)候就用這個(gè)堕花,根據(jù)數(shù)值之間的遠(yuǎn)近輸出序號(hào)

rev()——依據(jù)下標(biāo)從后往前倒排數(shù)據(jù)

unique(<dataframe>)——返回?zé)o重復(fù)樣本的數(shù)據(jù)集

duplicated(x)——查找重復(fù)數(shù)據(jù),重復(fù)序號(hào)返回為TRUE

比較大小

pmin(x1,x2,...)——比較向量中的各元素粥鞋,并把較小的元素組成新向量

pmax(x1,x2,...)——

向量間的交缘挽、并、補(bǔ)集

union(x, y)——(并集)合并兩組數(shù)據(jù)呻粹,x和y是沒有重復(fù)的同一類數(shù)據(jù)壕曼,比如向量集

intersect(x, y)——(交集)對(duì)兩組數(shù)據(jù)求交集,x和y是沒有重復(fù)的同一類數(shù)據(jù)等浊,比如向量集

setdiff(x, y)——(補(bǔ)集)x中與y不同的數(shù)據(jù)腮郊,x和y是沒有重復(fù)的同一類數(shù)據(jù),比如向量集筹燕,重復(fù)不同不記

setequal(x, y)——判斷x與y相同轧飞,返回邏輯變量,True為相同撒踪,F(xiàn)alse不同过咬。x和y是沒有重復(fù)的同一類數(shù)據(jù),比如向量集

is.element(x, y)??%n%——對(duì)x中每個(gè)元素制妄,判斷是否在y中存在援奢,TRUE為x,y重共有的元素忍捡,F(xiàn)asle為y中沒有集漾。x和y是沒有重復(fù)的同一類數(shù)據(jù),比如向量集

Vectorize()——將不能進(jìn)行向量化預(yù)算的函數(shù)進(jìn)行轉(zhuǎn)化

矩陣

array(data=NA,dim=length(data),dimnames=null)——數(shù)組砸脊、矩陣初始化,dim是數(shù)組各維的長度dimnames是數(shù)組維的名字具篇,默認(rèn)為空,array(1:20, dim=c(4,5))凌埂。數(shù)組是多維的驱显,dim屬性設(shè)置維數(shù)

matrix(0, 3, 4)——0為賦初值,3行瞳抓,4列埃疫,存儲(chǔ)方式是先列后行!矩陣是二維的孩哑,用ncol和nrow設(shè)置矩陣的行數(shù)和列數(shù)栓霜。byrow設(shè)置存儲(chǔ)方式(默認(rèn)列優(yōu)先),若為TRUE則以行優(yōu)先

dim(<vector>)<- c(2,3)——設(shè)置矩陣為2行3列

dimnames()=list(c(<row>)横蜒,c(<col>))——設(shè)置參數(shù)行和列的名稱胳蛮,以列表的形式進(jìn)行輸入

matrix[ ,4]——矩陣第4列

as.vector(matrix)——將矩陣轉(zhuǎn)換成向量

a["name1","name2"]——矩陣以行和列的名稱來代替行列的下標(biāo)销凑,name1是行名,name2是列名

rbind()——矩陣合并斗幼,按行合并蜕窿,自變量寬度應(yīng)該相等

cbind()——矩陣合并,安列合并呆馁,自變量高度應(yīng)該相等

t()——矩陣轉(zhuǎn)置

det()——行列式

solve(A渠羞,b)——求線性方程組Ax=b

solve(A)——求逆矩陣

eigen(A) ——求距陣的特征值與特征向量,Ax=(Lambda)x智哀,A$values是矩陣的特征值構(gòu)成的向量次询,A$vectors是A的特征向量構(gòu)成的矩陣

*——矩陣中每個(gè)元素對(duì)應(yīng)相乘

%*%——矩陣相乘

因子

因子和向量的區(qū)別:

向量里面存的元素類型可以是字符型,而因子里面存的是整型數(shù)值對(duì)應(yīng)因子的類別(levels)

as.integer(<factors>)——因子可以轉(zhuǎn)化為整型

levels(<factors>)——查看因子類別

gl(n瓷叫,k屯吊,length)——因子,n為水平數(shù),k為重復(fù)的次數(shù)摹菠,length為結(jié)果的長度

factor(x盒卸,levels,labels)——因子

as.factror()——將向量轉(zhuǎn)化為無序因子次氨,不能比較大小

as.order()——將向量轉(zhuǎn)化為有序因子

is.factor()——判斷是否為無序因子

is.order()——判斷是否為有序因子

列表和數(shù)據(jù)框

list()——列表

unlist()——列表轉(zhuǎn)化為向量

data.frame()——數(shù)據(jù)框

names(<dataframe>)——顯示數(shù)據(jù)框的列名稱

dataframe[[2]]??dataframe[["TheSec.Name"]]和??dataframe$TheSec.Name——獲取數(shù)據(jù)框第二列的元素值

as.matrix(<dataframe>)[蔽介,1]——把數(shù)據(jù)框轉(zhuǎn)化為矩陣后,再去提取列向量

na和NULL的區(qū)別

is.na()——判斷na值存在煮寡,na是指該數(shù)值缺失但是存在虹蓄。

is.null()——判斷數(shù)據(jù)是否為NULL。NULL是指不存在幸撕,可以通過 train$var<-NULL 的方法去掉屬性變量var律胀。

處理缺失數(shù)據(jù)na

1炭菌、將缺失部分剔除

2、用最高頻率值來填補(bǔ)缺失值

3投储、通過變量的相關(guān)關(guān)系來填補(bǔ)缺失值

4、通過探索案例之間的相似性來填補(bǔ)缺失值

公式

a:b——a和b的交互效應(yīng)

a+b——a和b的相加效應(yīng)

a*b——相加和交互效應(yīng)(等價(jià)于a+b+a:b)

-b——去掉b的影響

1——y~1擬合一個(gè)沒有因子影響的模型(僅僅是截距)

-1——y~x-1表示通過原點(diǎn)的線性回歸(等價(jià)于y~x+0或者0+y~x)

^n——包含所有知道n階的交互作用(a+b+c)^2==a+b+c+a:b+a:c+b:c

poly(a,n)——a的n階多項(xiàng)式

I(x1+x2)——表示模型y=b(x1+x2)+a

數(shù)理統(tǒng)計(jì)

基礎(chǔ)知識(shí)

統(tǒng)計(jì)量

mean(x,trim=0,na,rm=FALSE)——均值客蹋,trim去掉x兩端觀測值的便利,默認(rèn)為0辆琅,即包括全部數(shù)據(jù),na.rm=TRUE允許數(shù)據(jù)中有缺失

weighted.mean(x似袁,<weigth>)——加權(quán)平均值,weigth表示對(duì)應(yīng)權(quán)值

median——中值

quantile(x绒尊,probs=seq(,,))——計(jì)算百分位數(shù),是五數(shù)總和的擴(kuò)展谭羔,probs設(shè)置分位數(shù)分位點(diǎn),用seq(0,1,0.2)設(shè)置话告,表示以樣本值*20%為間隔劃分?jǐn)?shù)據(jù)佛呻。

var()——樣本方差(n-1)

sd——樣本標(biāo)準(zhǔn)差(n-1)

cov——協(xié)方差

cor——相關(guān)矩陣

fivenum(x,na.rm=TRUE)——五數(shù)總括:中位數(shù),下上四分位數(shù)绑莺,最小值,最大值

數(shù)學(xué)函數(shù)

sum(x,y,z对扶,na.rm=FALSE)——x+y+z,na.rm為TURE可以忽略掉na值數(shù)據(jù)

sum(x>4)——統(tǒng)計(jì)向量x中數(shù)值大于4的個(gè)數(shù)

rep(“LOVE络凿!”,<times>)——重復(fù)times次怨愤,rep(1:3,c(1差导,2,3))表示1個(gè)1犀被,2個(gè)2,3個(gè)3組成的序列

sqrt()——開平方函數(shù)

2^2 和 **——“^”冪運(yùn)算

abs()——絕對(duì)值函數(shù)

'%%'——表示求余

'%/%'——求商(整數(shù))

exp? : 2.71828…

expm1? : 當(dāng)x的絕對(duì)值比1小很多的時(shí)候昌腰,它將能更加正確的計(jì)算exp(x)-1

log? : 對(duì)數(shù)函數(shù)(自然對(duì)數(shù))

log10? : 對(duì)數(shù)(底為10)函數(shù)(常用對(duì)數(shù))

log2? : 對(duì)數(shù)(底為2)函數(shù)

因?yàn)?0>e>1固灵,常用對(duì)數(shù)比自然對(duì)數(shù)更接近橫坐標(biāo)軸x

log1p()——log(1+p)丛忆,用來解決對(duì)數(shù)變換時(shí)自變量p=0的情況。指數(shù)和對(duì)數(shù)的變換得出任何值的0次冪都是1

特性:對(duì)數(shù)螺旋圖凰浮。當(dāng)圖像呈指數(shù)型增長時(shí),常對(duì)等式的兩邊同時(shí)取對(duì)數(shù)已轉(zhuǎn)換成線性關(guān)系笛厦。

sin? : 正弦函數(shù)

cos? : 余弦函數(shù)

tan? :? 正切函數(shù)

asin? :? 反正弦函數(shù)

acos? :? 反余弦函數(shù)

atan? :? 反正切函數(shù)

sinh? :? 超越正弦函數(shù)

cosh? :? 超越余弦函數(shù)

tanh? :? 超越正切函數(shù)

asinh? :? 反超越正弦函數(shù)

acosh? :? 反超越余弦函數(shù)

atanh? :? 反超越正切函數(shù)

logb? :? 和log函數(shù)一樣

log1px? :? 當(dāng)x的絕對(duì)值比1小很多的時(shí)候劝贸,它將能更加正確的計(jì)算log(1+x)

gamma? :? Γ函數(shù)(伽瑪函數(shù))

lgamma? :? 等同于log(gamma(x))

ceiling? :? 返回大于或等于所給數(shù)字表達(dá)式的最小整數(shù)

floor? :? 返回小于或等于所 給數(shù)字表達(dá)式的最大整數(shù)

trunc? :? 截取整數(shù)部分

round? :? 四舍五入

signif(x,a)? :? 數(shù)據(jù)截取函數(shù) x:有效位 a:到a位為止

圓周率用 ‘pi’表示

crossprod(A,B)——A %*% t(B) 菠秒,內(nèi)積

tcrosspeod(A,B)——t(A) %*% B言缤,外積

%*%——內(nèi)積,a1b1+a2b2+...+anbn=a*b*cos<a,b>僻孝,crossprod(x)表示x與x的內(nèi)積。||x||2荞雏,矩陣相乘

%o%——外積,a*b*sin<a,b>(矩陣乘法筑辨,叉積),tcrossprod(x,y)表示x與y的外積痢毒。*表示矩陣中對(duì)應(yīng)元素的乘積!

向量內(nèi)積(點(diǎn)乘)和向量外積(叉乘)

正態(tài)分布

dnorm(x,mean=0,sd=1,log=FALSE)——正態(tài)分布的概率密度函數(shù)

pnorm(x帅霜,mean=0,sd=1)——返回正態(tài)分布的分布函數(shù)·

rnorm(n钝尸,mean=0.sd=1)——生成n個(gè)正態(tài)分布隨機(jī)數(shù)構(gòu)成的向量

qnorm()——下分為點(diǎn)函數(shù)

qqnorm(data)——畫出qq散點(diǎn)圖

qqline(data)——低水平作圖,用qq圖的散點(diǎn)畫線

qq.plot(<x>猪叙,main='')——qq圖檢驗(yàn)變量是否為正態(tài)分布

簡單分析

summary()——描述統(tǒng)計(jì)摘要,和 Hmisc()包的describe()類似,會(huì)顯示NA值充包,四分位距是第1個(gè)(25%取值小于該值)和第3個(gè)四分位數(shù)(75%取值小于該值)的差值(50%取值的數(shù)值),可以衡量變量與其中心值的偏離程度家浇,值越大則偏離越大舔株。

table(<datafame>$<var>)——統(tǒng)計(jì)datafame數(shù)據(jù)中屬性變量var的數(shù)值取值頻數(shù)(NA會(huì)自動(dòng)去掉载慈!)辞做,列聯(lián)表

table(<data_var_1>, <data_var_2>)——比較兩個(gè)data_var童叠,<data_var_1>為列撰豺,為行污桦,先列后行亭姥!

xtabs(formular坝撑,data)——列聯(lián)表

ftable( table())——三維列聯(lián)表

prop.table()——統(tǒng)計(jì)所占百分比例

prop.table(table(<data_var_1>, <data_var_2>),<int>)——比較兩個(gè)data_var所占百分比扶认,<int>填1位按行百分計(jì)算狱从,2為列計(jì)算

margin.table( table(),<int> )——計(jì)算列聯(lián)表的邊際頻數(shù)(邊際求和),<int>=1為按列變量

addmargin.table(table()与涡,<int>?)——計(jì)算列聯(lián)表的邊際頻數(shù)(邊際求和)并求和,<int>=1為按列變量

as.formula(<string>)——轉(zhuǎn)換為一個(gè)R公式递沪,<string>是一個(gè)字符串

循環(huán)時(shí)的判斷語句:

ifelse(, , )——if款慨,else的變種谬莹,test是判斷語句,其中的判斷變量可以是一個(gè)向量檩奠!yes是True時(shí)的賦值桩了,no是False時(shí)的賦值

hist(,prob=T埠戳,xlab='橫坐標(biāo)標(biāo)題'井誉,main='標(biāo)題'在岂,ylim=0:1,freq叠蝇,breaks=seq(0,550,2))——prob=T表示是頻率直方圖洲鸠,在直角坐標(biāo)系中覆履,用橫軸每個(gè)小區(qū)間對(duì)應(yīng)一個(gè)組的組距,縱軸表示頻率與組距的比值找爱,直方圖面積之和為1;prob位FALSE表示頻數(shù)直方圖闷板;ylim設(shè)置縱坐標(biāo)的取值范圍萧求;freq為TRUE繪出頻率直方圖酪碘,counts繪出頻數(shù)直方圖枕屉,F(xiàn)ALSE繪出密度直方圖哨颂。breaks設(shè)置直方圖橫軸取點(diǎn)間隔,如seq(0,550,2)表示間隔為2拨与,從0到550之間的數(shù)值何荚。

density(,na.rm=T)——概率密度函數(shù)(核密度估計(jì)候齿,非參數(shù)估計(jì)方法)禁漓,用已知樣本估計(jì)其密度,作圖為lines(density(data),col="blue")

ecdf(data)——經(jīng)驗(yàn)分布函數(shù),作圖plot(ecdf(data),verticasl=FALSE,do.p=FALSE)廓潜,verticals為TRUE表示畫豎線,默認(rèn)不畫佛致。do.p=FALSE表示不畫點(diǎn)處的記號(hào)

假設(shè)檢驗(yàn)

分布函數(shù)

shapiro.test(data)——正態(tài)W檢驗(yàn)方法,當(dāng)p值大于a為正態(tài)分布

ks.test(x,y)——經(jīng)驗(yàn)分布的K-S檢驗(yàn)方法,比較x與y的分布是否相同,y是與x比較的數(shù)據(jù)向量或者是某種分布的名稱径密,ks.test(x, rnorm(length(x), mean(x), sd(x))),或ks.test(x,"pnorm",mean(x),sd(x))

chisq.test(x旬蟋,y油昂,p)——Pearson擬合優(yōu)度X2(卡方)檢驗(yàn),x是各個(gè)區(qū)間的頻數(shù),p是原假設(shè)落在小區(qū)間的理論概率冕碟,默認(rèn)值表示均勻分布,要檢驗(yàn)其它分布拦惋,比如正態(tài)分布時(shí)先構(gòu)造小區(qū)間,并計(jì)算各個(gè)區(qū)間的概率值安寺,方法如下:

brk<-cut(x,br=c(-6,-4,-2,0,2,4,6,8))#切分區(qū)間

A<-table(brk)#統(tǒng)計(jì)頻數(shù)

p<-pnorm(c(-4,-2,0,2,4,6,8),mean(x),sd(x))#構(gòu)造正態(tài)分布函數(shù)

p<-c(p[1],p[2]-p[1],p[3]-p[2],p[4]-p[3],p[5]-p[4],p[6]-p[5],p[7]-p[6])#計(jì)算各個(gè)區(qū)間概率值

chisq.test(A,p=p)

正態(tài)總體的均值方差

t.test(x厕妖,y,alternative=c("two.sided","less","greater")挑庶,var.equal=FALSE)——單個(gè)正態(tài)總體均值μ或者兩個(gè)正態(tài)總體均值差μ1-μ2的區(qū)間估計(jì)言秸;alternative表示備擇假設(shè):two.side(默認(rèn))是雙邊檢驗(yàn),less表示H1:μ<μ0迎捺,greater表示H1:μ>μ0的單邊檢驗(yàn)(μ0表示原假設(shè))举畸;當(dāng)var.equal=TRUE時(shí),則是雙樣本方差相同的情況,默認(rèn)為不同

var.test(x,y)——雙樣本方差比的區(qū)間估計(jì)

獨(dú)立性檢驗(yàn)(原假設(shè)H0:X與Y獨(dú)立)

chisq.test(x,correct=FALSE)——卡方檢驗(yàn)比搭,x為矩陣,dim(x)=c(2,2)合是,對(duì)于大樣本(頻數(shù)大于5)

fisher.test()——單元頻數(shù)小于5,列聯(lián)表為2*2

相關(guān)性檢驗(yàn)(原假設(shè)H0:X與Y相互獨(dú)立)

cor.test(x,y,method=c("pearson","kendall","spearman"))——相關(guān)性檢驗(yàn)锭环,觀察p-value小于0.05則相關(guān)聪全。method選擇相關(guān)性檢驗(yàn)方法

rank()——秩統(tǒng)計(jì)量

cor.test()——秩相關(guān)檢驗(yàn):Spearman,Kendall

wilcox.test(x,y=NULL辅辩,mu,alternative难礼,paired=FALSE,exact=FALSE,correct=FALSE玫锋,conf.int=FALSE)——秩顯著性檢驗(yàn)(一個(gè)樣本來源于總體的檢驗(yàn)蛾茉,顯著性差異的檢驗(yàn)),Wilcoxon秩和檢驗(yàn)(非成對(duì)樣本的秩次和檢驗(yàn)),mu是待檢測參數(shù)撩鹿,比如中值谦炬,paired邏輯變量,說明變量x节沦,y是否為成對(duì)數(shù)據(jù)键思,exact說民是否精確計(jì)算P值,correct是邏輯變量甫贯,說明是否對(duì)p值采用連續(xù)性修正吼鳞,conf.int是邏輯變量,給出相應(yīng)的置信區(qū)間叫搁。

uniroot(f赔桌,interval=c(1,2))——求一元方程根的函數(shù)供炎,f是方程,interval是求解根的區(qū)間內(nèi)纬乍,返回值root為解

optimize()或 optimise()——求一維變量函數(shù)的極小點(diǎn)

nlm(f碱茁,p)——求解無約束問題裸卫,求解最小值仿贬,f是極小的目標(biāo)函數(shù),p是所有參數(shù)的初值墓贿,采用Newton型算法求極小茧泪,函數(shù)返回值是一個(gè)列表,包含極小值聋袋、極小點(diǎn)的估計(jì)值队伟、極小點(diǎn)處的梯度、Hesse矩陣以及求解所需的迭代次數(shù)等幽勒。

顯著性差異檢驗(yàn)(方差分析嗜侮,原假設(shè):相同,相關(guān)性)

mcnemar.test(x,y啥容,correct=FALSE)——相同個(gè)體上的兩次檢驗(yàn)锈颗,檢驗(yàn)兩元數(shù)據(jù)的兩個(gè)相關(guān)分布的頻數(shù)比變化的顯著性,即原假設(shè)是相關(guān)分布是相同的咪惠。y是又因子構(gòu)成的對(duì)象击吱,當(dāng)x是矩陣時(shí)此值無效。

binom.test(x遥昧,n覆醇,p,alternative=c("two.sided","less","greater")炭臭,conf.level=0.95)——二項(xiàng)分布永脓,符號(hào)檢驗(yàn)(一個(gè)樣本來源于總體的檢驗(yàn),顯著性差異的檢驗(yàn))

aov(x~f)——計(jì)算方差分析表鞋仍,x是與(因子)f對(duì)應(yīng)因素水平的取值常摧,用summary()函數(shù)查看信息

aov(x~A+B+A:B)——雙因素方差,其中X~A+B中A和B是不同因素的水平因子(不考慮交互作用)凿试,A:B代表交互作用生成的因子

p.adjust()——P值調(diào)整函數(shù)

pairwise.t.test(x排宰,g,p.adjust.method="holm")——多重t檢驗(yàn),p.adjust.method是P值的調(diào)整方法那婉,其方法由p.adjust()給出板甘,默認(rèn)值按Holm方法(”holm“)調(diào)整,若為”none“详炬,表示P值不做任何調(diào)整盐类。雙因素交互作用時(shí)g=A:B

shapiro.test(x)——數(shù)據(jù)的正態(tài)W檢驗(yàn)

bartlett.test(x~f寞奸,data)——Bartlett檢驗(yàn),方差齊性檢驗(yàn)

kruskal.test(x~f在跳,data)——Kruskal-Wallis秩和檢驗(yàn)枪萄,非參數(shù)檢驗(yàn)法,不滿足正態(tài)分布

friedman.test(x猫妙,f1瓷翻,f2,data)——Friedman秩和檢驗(yàn)割坠,不滿足正態(tài)分布和方差齊性齐帚,f1是不同水平的因子,f2是試驗(yàn)次數(shù)的因子

常用模型

1彼哼、回歸模型

lm(y~.对妄,<data>)——線性回歸模型,“.”代表數(shù)據(jù)中所有除y列以外的變量敢朱,變量可以是名義變量(虛擬變量剪菱,k個(gè)水平因子,生成k-1個(gè)輔助變量(值為0或1))

summary()——給出建模的診斷信息:

1拴签、數(shù)據(jù)擬合的殘差(Residual standard error孝常,RSE),殘差應(yīng)該符合N(0篓吁,1)正態(tài)的茫因,值越小越好

2、檢驗(yàn)多元回歸方程系數(shù)(變量)的重要性杖剪,t檢驗(yàn)法冻押,Pr>|t|, Pr值越小該系數(shù)越重要(拒絕原假設(shè))

3、多元R方或者調(diào)整R2方盛嘿,標(biāo)識(shí)模型與數(shù)據(jù)的擬合程度洛巢,即模型所能解釋的數(shù)據(jù)變差比例,R方越接近1模型擬合越好次兆,越小稿茉,越差。調(diào)整R方考慮回歸模型中參數(shù)的數(shù)量芥炭,更加嚴(yán)格

4漓库、檢驗(yàn)解釋變量x與目標(biāo)變量y之間存在的依賴關(guān)系,統(tǒng)計(jì)量F园蝠,用p-value值渺蒿,p值越小越好

5、繪圖檢驗(yàn)plot(<lm>)——繪制線性模型彪薛,和qq.plot誤差的正態(tài)QQ圖

6茂装、精簡線性模型怠蹂,向后消元法

線性回歸模型基礎(chǔ)

lm(formula=x~y,data少态,subset)——回歸分析城侧,x是因變量(響應(yīng)變量),y是自變量(指示變量)彼妻,formular=y~x是公式嫌佑,其中若是有x^2項(xiàng)時(shí),應(yīng)把公式改寫為y~I(x^2)澳骤,subset為可選擇向量歧强,表示觀察值的子集。例:lm(Y ~ X1 + X2 + I(X2^2) + X1:X2, data = data)

predict(lm(y~x)为肮,new,interval=“prediction”肤京,level=0.95)——預(yù)測颊艳,new為待預(yù)測的輸入數(shù)據(jù),其類型必須為數(shù)據(jù)框data.frame忘分,如new<-data.frame(x=7)棋枕,interval=“prediction”表示同時(shí)要給出相應(yīng)的預(yù)測區(qū)間

predict(lm(y~x))——直接用用原模型的自變量做預(yù)測,生成估計(jì)值

篩選模型自變量

lm.new<-update(lm.sol妒峦,sqrt(.)~.)——修正原有的回歸模型重斑,將響應(yīng)變量做開方變換

update(, .~. - x1)——移除變量x1后的模型

coef(lm.new)——提取回歸系數(shù)

回歸診斷

1、正態(tài)性(QQ圖)

plot(x,which)——回歸模型殘差圖肯骇,which=1~4分別代表畫普通殘差與擬合值的殘差圖窥浪,畫正態(tài)QQ的殘差圖,畫標(biāo)準(zhǔn)化殘差的開方與擬合值的殘差圖笛丙,畫Cook統(tǒng)

norm.test()——正態(tài)性檢驗(yàn)漾脂,p-value>0.05為正態(tài)

計(jì)量的殘差圖

residuals()和resid()——?dú)埐?/p>

rstandard()——標(biāo)準(zhǔn)化殘差

rstudent()——學(xué)生化殘差

influence.measures(model)——model是由lm或者glm構(gòu)成的對(duì)象,對(duì)回歸診斷作總括胚鸯,返回列表中包括骨稿,廣義線性模型也可以使用

anova(<lm>)——簡單線性模型擬合的方差分析(確定各個(gè)變量的作用)

anova(<lm1>,<lm2>)——比較兩個(gè)模型(檢驗(yàn)原假設(shè)為不同)

2、誤差的獨(dú)立性——car包提供Duerbin_Watson檢驗(yàn)函數(shù)

3姜钳、線性——car包c(diǎn)rPlots()繪制成分殘差圖(偏殘差圖)可以看因變量與自變量之間是否呈線性

4坦冠、同方差性——car包ncvTest()原假設(shè)為誤差方差不變,若拒絕原假設(shè)哥桥,則說明存在異方差性

5辙浑、多重共線性——car包中的vif()函數(shù)計(jì)算VIF方差膨脹因子,一般vif>2存在多重共線性問題

異常點(diǎn)分析(影響分析)

hatvalues()和hat()——帽子矩陣

dffits()——DFFITS準(zhǔn)則

cooks.distance()——Cook統(tǒng)計(jì)量泰讽,值越大越有可能是異常值點(diǎn)

covratio()——COVRATIO準(zhǔn)則

kappa(z例衍,exact=FALSE)——多重共線性昔期,計(jì)算矩陣的條件數(shù)k,若k<100則認(rèn)為多重共線性的程度很小佛玄;100<=k<=1000則認(rèn)為存在中等程度或較強(qiáng)的多重共線性硼一;若k>1000則認(rèn)為存在嚴(yán)重的多重共線性。z是自變量矩陣(標(biāo)準(zhǔn)化梦抢,中心化的般贼?相關(guān)矩陣),exact是邏輯變量奥吩,當(dāng)其為TRUE時(shí)計(jì)算精準(zhǔn)條件數(shù)哼蛆,否則計(jì)算近似條件數(shù)。用eigen(z)計(jì)算特征值和特征向量霞赫,最小的特征值對(duì)應(yīng)的特征向量為共線的系數(shù)腮介。

step()——逐步回歸,觀察AIC和殘差平方和最小端衰,廣義線性模型也可以使用

add1()——前進(jìn)法

drop()——后退法

stepAIC(sol,direction="backward")——MASS包叠洗,可以實(shí)現(xiàn)逐步回歸(向前、向后旅东、向前向后)

預(yù)測

predict(灭抑,,level=0.95抵代,interval="prediction")——回歸預(yù)測腾节,sol是模型,newdataframe是待預(yù)測數(shù)據(jù)框荤牍,level設(shè)置置信度案腺,interval="prediction"表示結(jié)果要計(jì)算置信區(qū)間

glm(formula,family=binomial(link=logit)参淫,data=data.frame)——廣義線性模型救湖,logit默認(rèn)為二項(xiàng)分布族的鏈接函數(shù),formula有兩種輸入方法涎才,一種方法是輸入成功和失敗的次數(shù)鞋既,另一種像線性模型的公式輸入方式

predict(glm(),data.frame(x=3.5)耍铜,type="response")——預(yù)測廣義線性回歸模型邑闺,type=“response”表示結(jié)果為概率值,否則為預(yù)測值y

inv.logit()——預(yù)測值y的反logit棕兼,boot包的函數(shù)

glmnet()——正則化glm函數(shù)陡舅,glmnet包,執(zhí)行結(jié)果的行數(shù)越前正則化越強(qiáng)伴挚。其輸出結(jié)果的意義是:

1)DF是指明非0權(quán)重個(gè)數(shù)靶衍,但不包括截距項(xiàng)灾炭。可以認(rèn)為大部分輸入特征的權(quán)重為0時(shí)颅眶,這個(gè)模型就是稀疏的(sparse)蜈出。

2)%Dev就是模型的R2

3)超參數(shù)(lambda)是正則化參數(shù)。lambda越大涛酗,說明越在意模型的復(fù)雜度铡原,其懲罰越大,使得模型所有權(quán)重趨向于0商叹。

plot(lm(y~x)燕刻,which=1:4,caption=c(“Residuals vs Fitted”剖笙,“Normal Q-Q plot”卵洗,“Scale-Location plot”,“Cook's distance plot”))——畫回歸模型殘差圖枯途,which為1表示畫普通殘差與擬合值的殘差圖忌怎,2表示畫正態(tài)QQ的殘差圖,3表示畫標(biāo)準(zhǔn)化殘差的開方與擬合值的殘差圖酪夷,4表示畫Cook統(tǒng)計(jì)量的殘差圖;caption是圖題的內(nèi)容孽惰。

avova(sol1,sol2,test="Chisq")——比較模型兩個(gè)模型晚岭,廣義線性模型可用卡方檢驗(yàn)(分類變量),不拒絕原假設(shè)說明兩個(gè)沒有顯著差異勋功,即用較少自變量模型就可以坦报。

非線性模型

poly(想,degree=1)——計(jì)算正交多現(xiàn)實(shí)狂鞋,x是數(shù)值向量片择,degree是正交多項(xiàng)式的階數(shù),并且degree<length(x)樣本個(gè)數(shù)骚揍,例如建立二次正交式回歸模型:lm(y~1+poly(x字管,2))

nls(formula,data,start)——求解非線性最小二乘問題,formula是包括變量和非線性擬合的公式信不,start是初始點(diǎn)嘲叔,用列表形式給出

nlm(f,p)——非線性最小二乘抽活,構(gòu)造最小目標(biāo)函數(shù)硫戈,方程移項(xiàng)2為0,f是極小的目標(biāo)函數(shù)下硕,p是所有參數(shù)的初值丁逝,采用Newton型算法求極小汁胆,函數(shù)返回值是一個(gè)列表,minimum的值便是極小值霜幼,estimate是參數(shù)的估計(jì)值嫩码。例如:

fn<-function(p,x,y){

f<-y-p[1]*exp(p[2]*x)

res<-sum(f^2)

}

nlm.sol<-nlm(fn,p=c(3,-0.1),x,y)

2、回歸樹

rpart( y ~.辛掠, )——rpart包谢谦,回歸樹,葉結(jié)點(diǎn)目標(biāo)變量的平均值就是樹的預(yù)測值萝衩。生成一棵樹回挽,再做修剪(防止過度擬合),內(nèi)部10折交叉驗(yàn)證

printcp()——查看回歸樹結(jié)果猩谊,rt是指rpart()函數(shù)的運(yùn)行結(jié)果模型千劈,plotcp(<rt>)以圖形方式顯示回歸樹的參數(shù)信息

參數(shù)如下:

? ??cp——當(dāng)偏差的減少小于某一個(gè)給定界限值,默認(rèn)0.01

? ??minsplit——當(dāng)結(jié)點(diǎn)中的樣本數(shù)量小于某個(gè)給定界限時(shí)牌捷,默認(rèn)20

? ??maxdepth——當(dāng)樹的深度大于一個(gè)給定的界限值墙牌,默認(rèn)30

prune(<rt>,cp)——自行設(shè)置cp值的建樹

snip.rpart(, c(4,7))——修剪,需要修剪的那個(gè)地方的是結(jié)點(diǎn)號(hào)c(4暗甥,7)喜滨,指出輸出樹對(duì)象來需要修剪的樹的結(jié)點(diǎn)號(hào)

snip.rpart()——交互修剪,點(diǎn)擊結(jié)點(diǎn)撤防,右擊結(jié)束

3虽风、隨機(jī)森林

randomForest(y ~., <data>)——組合模型寄月,由大量樹模型構(gòu)成辜膝,回歸任務(wù)采用預(yù)測結(jié)果的平均值。

4漾肮、支持向量機(jī)

svm(<formula>厂抖,<data>,gamma=1/ncol(<data>)克懊,<cost>)——e1071包忱辅,回歸任務(wù),<gamma>=0.01保檐,<cost>=100違反邊際所引入的損失?

5耕蝉、時(shí)間序列分析

ts(<data>, frequency=12, start=(2006,1))——把一個(gè)向量轉(zhuǎn)化為時(shí)間序列對(duì)象,<data>向量夜只,frequency表示頻率垒在,start表示時(shí)間起始點(diǎn)

decompose(,type)——把時(shí)間序列分解成長期趨勢(shì)和周期性變化,是設(shè)置了頻率(周期長度)的時(shí)間序列數(shù)據(jù)场躯,type="additive"為累加形式:長期趨勢(shì)+周期性變化+隨機(jī)變化谈为;"multiplicative"分解為累乘形式:長期趨勢(shì)*周期性變化*隨機(jī)變化。默認(rèn)使用"additive"累加形式踢关。函數(shù)返回值sol<-decompose()中伞鲫,sol$trend是時(shí)間序列趨勢(shì),seasonal是季節(jié)性周期變化签舞,random是隨機(jī)誤差秕脓。

stl(<data>,"per")——分解時(shí)間序列,返回值sol<-stl()中儒搭,sol$time.series[, "seasonal"]讀取周期性序列seasonal吠架,sol$time.series[, "trend"]讀取長期趨勢(shì)trend。誤差可以使用sol$time.series[,?"remainder"]讀取搂鲫。

增長率:

diff(data,lag=1)——差分傍药,上下做差,lag控制變量上下間隔為1

ring.growth[t]=(data[t]-data[t-1])/data[t-1]——同比增長率魂仍,描述指標(biāo)變化趨勢(shì)

sam.per.grown[t]=(data[t]-data[t-T])/data[t-T]——環(huán)比增長率拐辽,分析周期性變化,避免周期性變化給數(shù)據(jù)分析帶來的影響擦酌,T一般以周為單位

移動(dòng)平均:

filter(x, filter, method=c("convolution", "recursive"), side=2,...)——線性過濾函數(shù)俱诸,x待轉(zhuǎn)化的向量數(shù)據(jù),method=convolution(卷積方法):使用x內(nèi)部樣本組成線性模型(系數(shù)ai由filter參數(shù)設(shè)置的赊舶,side參數(shù)設(shè)置卷積方法是單邊或者雙邊)乙埃,recursive(遞歸方法):使用y內(nèi)部樣本以及當(dāng)前階段的x樣本組成線性模型(系數(shù)ai由filter設(shè)置)y遞歸[t]=x[t]+sum(ai*y[t-i])。side為1(單邊卷積)y卷積[t]=a1*x[t]+...+a(k+1)*x[t-k]锯岖,side為2(雙邊卷積)y卷積[t]=a1*x[t+m]+...+a(m+1)*x[t]

指數(shù)平滑:

sol<-HoltWinters(<data>)——實(shí)現(xiàn)二次平滑和三次平滑指數(shù)。

sol.forst<-forecast.HoltWinters(sol, h=12)——預(yù)測HoltWinters函數(shù)產(chǎn)生的模型的新時(shí)間序列甫何,h表示頻率出吹?預(yù)測未來12個(gè)月

plot.forecast(sol.forst, include=10)——繪制預(yù)測圖,include=10表明繪制預(yù)測前10個(gè)月的數(shù)據(jù)和未來12個(gè)月的預(yù)測數(shù)據(jù)

ARIMA模型

ymd()——lubridate包辙喂,將"年-月-日"格式的字符串轉(zhuǎn)換成日期對(duì)象捶牢,(可以比較前后時(shí)間)

自相關(guān)性

cov(data.frame(x,y))——協(xié)方差矩陣S

cor(data.frame(x,y))——相關(guān)系數(shù)矩陣R

rnorm(n,<mean>巍耗,<sd>)

arima.sim(n=100秋麸,list(ar=,ma=))——模擬100個(gè)樣本的模擬序列

lag.plot(data炬太,lag=k灸蟆,do.line=FALSE)——繪制原始數(shù)據(jù)和k階滯后的散點(diǎn)圖

acf(data,lag.max=16亲族,ci.type="ma")——計(jì)算并繪制自相關(guān)圖炒考,0階自相關(guān)系數(shù)是rxx可缚,所以恒等于1。ci.type="ma"主要是慨率acf的標(biāo)準(zhǔn)誤的問題斋枢,以使acf圖等準(zhǔn)確帘靡。

pacf(data,lag.max=16)——偏自相關(guān)圖瓤帚,消除Xt-1描姚,...,Xt-k+1的影響后戈次,研究Xt和Xt-k的相關(guān)性轩勘。

Box.test(data,type="Ljung-Box",lag=16,fitdf=p+q)——自相關(guān)性檢驗(yàn)朝扼,p-value<0.05赃阀,標(biāo)識(shí)數(shù)據(jù)data具有自相關(guān),fitdf為自由度參數(shù)p+q

arima(data擎颖,order=c(p榛斯,d,q))——計(jì)算模型參數(shù)并建模搂捧,TSA包中驮俗,order設(shè)置AR過程的階數(shù)p,差分過程的d(用于穩(wěn)定化)和MA過程的階數(shù)q允跑。當(dāng)p=d=0時(shí)王凑,表示只使用MA過程對(duì)序列建模。結(jié)果sol<-arima()調(diào)用predict(sol聋丝,n.ahead=5)$pred進(jìn)行預(yù)測索烹,n.ahead參數(shù)用于設(shè)置預(yù)測新階段的數(shù)據(jù)量(未來5個(gè)月),predict(...)$se標(biāo)準(zhǔn)誤差SE弱睦,用于計(jì)算預(yù)測范圍(預(yù)測范圍=預(yù)測值+-置信度(alpha)*標(biāo)準(zhǔn)誤差SE百姓。

eacf(data)——根據(jù)凸顯中三角區(qū)域頂點(diǎn)的行坐標(biāo)和列坐標(biāo)分別確定ARMA的p和q

norm.test()——正態(tài)性檢驗(yàn),p-value>0.05為正態(tài)

tsdiag(sol)——繪制模型殘差的散點(diǎn)圖况木、自相關(guān)圖和不同階數(shù)下的Box.test體檢驗(yàn)p-value值

模型評(píng)估

RMSE(lm垒拢,<?which>)——qpcR包中計(jì)算均方根誤差,計(jì)算子集subset

聚類分析

dist(x火惊,method=”euclidean“)——計(jì)算距離

”euclidean“Euclid距離求类;

”maximum“——Chebyshev距離;

”manhattan“絕對(duì)值(馬氏)距離屹耐;

“canberra”Lance距離尸疆;

“minkowski”Minkowski閔式距離;

“binary”定性變量的距離

scale(x, center = TRUE, scale = TRUE)——中心化與標(biāo)準(zhǔn)化,center是中心化仓技,scale是標(biāo)準(zhǔn)化鸵贬。(全選:減去均值,再除以標(biāo)準(zhǔn)差)

hclust(d,method=“complete”)——系統(tǒng)聚類脖捻,d是又dist構(gòu)成的距離結(jié)構(gòu)阔逼,method是系統(tǒng)聚類的方法(默認(rèn)為最長距離法)

“single”最短距離法“;

”complete“最長距離法地沮;

”median“中間距離法嗜浮;

”mcquitty“Mcquitty相似法;

”average“類平均法

”centroid“重心法

”ward“離差平法和法

plot(hclist()摩疑,hang=0.1)——譜系圖危融,hang表示譜系圖中各類所在的位置,hang取負(fù)值時(shí)雷袋,表示譜系圖從底部畫起吉殃。

as.dendrogram(hclust(),hang=-1)——將hclust得到的對(duì)象強(qiáng)制轉(zhuǎn)換為譜系圖

plot(x楷怒,type=c(”rectangle“蛋勺,”triangle“),horiz=FALSE)——譜系圖鸠删,x為as.dendrogram返回的對(duì)象抱完,type是指是矩形或是三角形,horiz是邏輯變量刃泡,當(dāng)horiz為TRUE時(shí)巧娱,表示譜系圖水平放置。

as.dist()——將普通矩陣轉(zhuǎn)化為聚類分析用的距離結(jié)構(gòu)

plclust(x烘贴,hang=0.1)——譜系圖禁添,舊版停用,已被plot替換

rect.hclust(x桨踪,k上荡,h,border)——在譜系圖(plclust())中標(biāo)注聚類情況馒闷,確定聚類個(gè)數(shù)的函數(shù),x是由hclust生成的對(duì)象叁征,k是類個(gè)數(shù)纳账;h是譜系圖中的閾值,要求分成的各類的距離大于h捺疼;border是數(shù)或向量疏虫,標(biāo)明矩形框的顏色;例如:rec.hclust(hclust(),k=3)

kmeans(x卧秘,centers呢袱,iter.max,nstart=1翅敌,algorithm)——K均值方法羞福,centers是聚類的個(gè)數(shù)或者是初始類的中心,iter.max為最大迭代次數(shù)(默認(rèn)為10)蚯涮,nstart是隨機(jī)集合的個(gè)數(shù)(當(dāng)centers為聚類的個(gè)數(shù)時(shí))治专,algorithm為動(dòng)態(tài)聚類算法,例如:km<-kmeans(scale(data),4,nstart=20)遭顶,返回值中张峰,size表示各類的個(gè)數(shù),means表示各類均值棒旗,Clustering表示聚類后分類情況喘批?,可以用sort(kmeans()$cluser)對(duì)分類情況排序

主成分分析

princomp() 和 prcomp()——主成分分析铣揉,結(jié)果的標(biāo)準(zhǔn)差顯示每一個(gè)主成分的貢獻(xiàn)率(成分方差占總方差的比例)饶深,返回值loadings每一列代表每一個(gè)成分的載荷因子

summary(x,loadings=FALSE)——提取主成分的信息老速,x是princomp()得到的對(duì)象粥喜,loadings是邏輯變量,為TRUE表示顯示主成分分析原始變量的系數(shù)橘券,F(xiàn)alse則不顯示额湘。返回表中,Standard deviation是標(biāo)準(zhǔn)差旁舰,即方差或lambda的開方锋华,Proportion of Variance表示方差的貢獻(xiàn)率,Cumulative Proportion表示累積貢獻(xiàn)率箭窜。

loadings(x)——顯示主成分或因子分析中l(wèi)oadings載荷的內(nèi)容毯焕,主成分是對(duì)應(yīng)割裂,即正交矩陣Q磺樱;因子分析中是載荷因子矩陣纳猫。x是princomp()或者factanal()得到的對(duì)象。

predict(x竹捉,newdata)——預(yù)測主成分的值芜辕,x是由princomp()得到的對(duì)象,newdata是由預(yù)測值構(gòu)成的數(shù)據(jù)框块差,當(dāng)newdata為默認(rèn)值時(shí)預(yù)測已有數(shù)據(jù)的主成分值侵续。例如predict(<pca>)[,1]——用主成分的第一列作為原有數(shù)據(jù)的預(yù)測結(jié)果

screeplot(x倔丈,type=c("barplot",”lines“))——主成分的碎石圖,確定主成分維數(shù)的選擇状蜗,x是由princomp()得到的對(duì)象需五,type是描述畫出的碎石圖的類型,”barplot“是直方圖轧坎,”lines“是直線圖宏邮。

biplot(x,choices=1:2眶根,scale=1)——畫關(guān)于主成分的散點(diǎn)圖和原坐標(biāo)在主成分下的方向蜀铲,x是由princomp()得到的對(duì)象,choices選擇主成分属百,默認(rèn)為第1记劝、2主成分

factanal(x,factor,covmat=NULL,scores=c("none","regression","Bartlett")族扰,rotation=”varimax“)——因子分析,factors是公因子的個(gè)數(shù)厌丑,covmat是樣本協(xié)方差和相關(guān)矩陣,scores因子得分方法,rotation表示旋轉(zhuǎn)渔呵,默認(rèn)為方差最大旋轉(zhuǎn)

cancor(x怒竿,y,xcenter=TRUE扩氢,ycenter=TRUE)——典型相關(guān)分析耕驰,xcenter,ycenter是邏輯變量录豺,為TRUE時(shí)做數(shù)據(jù)中心化

R包

rpart——決策樹算法

my_tree <- rpart(朦肘,,)——rpart(Survived ~ Sex + Age,

???????????????? data=train, method="class")

rattle

rpart.plot

RColorBrewer

fancyRpartPlot(my_tree)——繪制更好看的決策樹

ggplot2——?繪圖包

qplot(<vecter_horizontal>, <vector_vertical>, color = <factor> )——繪圖類似plot

dplyr——輸出處理包

tbl_df()——將數(shù)據(jù)轉(zhuǎn)換為一種特殊的數(shù)據(jù)框類型tbl双饥,類似(as.data.frame())媒抠,僅是改變了顯示,數(shù)據(jù)結(jié)構(gòu)沒有變化

glimpse()——類似str()

hflights——飛行數(shù)據(jù)

數(shù)據(jù)集

data()——查看R自帶數(shù)據(jù)列表

iris——鳶尾花數(shù)據(jù)集總共150行3種類別

iris3[1:50, 1:4, 1:3]——每50行一組咏花,分3個(gè)類別分別

volcano——87x61 matrix with elevation value

模型函數(shù)

神經(jīng)網(wǎng)絡(luò)

nnet()——在nnet包中BP神經(jīng)網(wǎng)絡(luò)趴生,存在一層的隱藏層。

參數(shù):

size=0昏翰,設(shè)置隱藏層中神經(jīng)元數(shù)苍匆,設(shè)置為0時(shí),表示建立一層神經(jīng)網(wǎng)絡(luò)棚菊?沒有隱藏層

Wts:初始系數(shù)刮吧,不設(shè)定則使用隨機(jī)數(shù)設(shè)定

linout:為TRUE時(shí)莉兰,模型輸出(目標(biāo)變量)為連續(xù)型實(shí)數(shù)摆舟,一般用于回歸分析;如果為FALSE(默認(rèn)取值)則輸出為邏輯數(shù)據(jù)瘩缆,一般用于(目標(biāo)變量為分類型)分類分析,也可以把linout設(shè)為TRUE再添加一個(gè)階躍函數(shù)轉(zhuǎn)為邏輯型輸出筝家。

maxit:最大迭代次數(shù)iterations旋讹,默認(rèn)為100次,一般盡量將maxit設(shè)置大于觀測結(jié)果final value上顯示的迭代次數(shù)冒滩。

skip:是否跳過隱藏層微驶,如果為FALSE(默認(rèn)),則不跳過

decay:加權(quán)系數(shù)的衰減

隱藏層中神經(jīng)單元數(shù)目的確定

支持向量機(jī)

svm()——e1071包中回歸非線性

ksvm()——kernlab包中分類开睡,分類時(shí)用的默認(rèn)參數(shù)樹徑向基核函數(shù)

多元自適應(yīng)回歸樣條

mars()——mda包

earth()——earth包因苹,具有更多優(yōu)勢(shì)

決策樹

RWeka包:C4.5(分類,輸入變量是分類型或連續(xù)型篇恒,輸出變量是分類型)

J48()

rpart包:分類回歸樹(CART)算法(輸入扶檐、輸出分類或連續(xù)變量)

rpart()——擬合樹模型,參數(shù)xval設(shè)置k折交叉驗(yàn)證

prune()——剪枝

party包:條件推理決策樹(CHAID)算法(輸入胁艰、輸出分類或連續(xù)變量)

ctree()

隨機(jī)森林

randomForest包:分類與回歸樹的隨機(jī)森林

randomForest()——隨機(jī)森林款筑,預(yù)測,分類腾么,估計(jì)變量的重要性(通過計(jì)算每個(gè)變量被移除后隨機(jī)森林誤差的增加(選擇變量需要用到模型的信息奈梳,但用其它模型來做預(yù)測)

party包:條件推理決策樹的隨機(jī)森林

cforest()

時(shí)間序列

ts——在stats包中創(chuàng)建一個(gè)時(shí)間序列

xts包——時(shí)間序列

xts(,)——時(shí)間數(shù)列,可以是單元的也可以是多元的解虱。時(shí)間序列數(shù)據(jù)攘须,時(shí)間標(biāo)簽。as.xts(read.zoo("abc.csv", header = T))

seq.POSIXct() 和 Date——標(biāo)識(shí)時(shí)間信息的規(guī)格的類

index() 和 time()——獲取對(duì)象的時(shí)間標(biāo)簽

coredata()——獲取時(shí)間序列的數(shù)值

貝葉斯分類

e1071包:

nativeBayes()——樸素貝葉斯分類器殴泰,可以處理分類型和連續(xù)型自變量

knn

knn()——class包

TTR包——技術(shù)指標(biāo)集合

quantmod包——分析金融數(shù)據(jù)

tserise包

特殊字符

formula=y~.——"."是除y以外數(shù)據(jù)中的所有變量

function(fromula, train, test于宙,...)——特殊參數(shù)“...",允許特定函數(shù)具有可變參數(shù),這個(gè)參數(shù)結(jié)構(gòu)是一個(gè)列表艰匙,用來獲取傳遞給前三個(gè)命名參數(shù)之后的所有參數(shù)限煞。這個(gè)結(jié)構(gòu)用于給實(shí)際模型傳遞所需要的額外參數(shù)。

<model.object>@pars——(模型)對(duì)象的屬性用操作符“@”訪問员凝,比如對(duì)象object的屬性是pars

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末署驻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子健霹,更是在濱河造成了極大的恐慌旺上,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糖埋,死亡現(xiàn)場離奇詭異宣吱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞳别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門征候,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杭攻,“玉大人,你說我怎么就攤上這事疤坝≌捉猓” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵跑揉,是天一觀的道長锅睛。 經(jīng)常有香客問我,道長历谍,這世上最難降的妖魔是什么现拒? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮望侈,結(jié)果婚禮上印蔬,老公的妹妹穿的比我還像新娘。我一直安慰自己甜无,他們只是感情好扛点,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著岂丘,像睡著了一般陵究。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奥帘,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天铜邮,我揣著相機(jī)與錄音,去河邊找鬼寨蹋。 笑死松蒜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的已旧。 我是一名探鬼主播秸苗,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼运褪!你這毒婦竟也來了惊楼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤秸讹,失蹤者是張志新(化名)和其女友劉穎檀咙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體璃诀,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弧可,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了劣欢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棕诵。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裁良,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出校套,到底是詐尸還是另有隱情趴久,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布搔确,位于F島的核電站,受9級(jí)特大地震影響灭忠,放射性物質(zhì)發(fā)生泄漏膳算。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一弛作、第九天 我趴在偏房一處隱蔽的房頂上張望涕蜂。 院中可真熱鬧,春花似錦映琳、人聲如沸机隙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽有鹿。三九已至,卻和暖如春谎脯,著一層夾襖步出監(jiān)牢的瞬間葱跋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國打工源梭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娱俺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓废麻,卻偏偏與公主長得像荠卷,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烛愧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 本系列文章面向深度學(xué)習(xí)研發(fā)者油宜,希望通過Image Caption Generation,一個(gè)有意思的具體任務(wù)屑彻,深入...
    imGeek閱讀 1,780評(píng)論 0 8
  • 首頁 資訊 文章 資源 小組 相親 登錄 注冊(cè) 首頁 最新文章 IT 職場 前端 后端 移動(dòng)端 數(shù)據(jù)庫 運(yùn)維 其他...
    Helen_Cat閱讀 3,843評(píng)論 1 10
  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,325評(píng)論 0 2
  • 伺察以為明者验庙,常因明而生暗,故君子以恬養(yǎng)智社牲;奮迅以為速者粪薛,多因速而致遲,故君子以重持輕搏恤。 士君子濟(jì)人利物违寿,宜居其實(shí)...
    HedyWang1閱讀 231評(píng)論 0 1
  • 一個(gè)微故事:(未完)(上) 如果不是那次在菜市場湃交,無意中聽到一個(gè)女人一邊打電話,一邊叫陳永遠(yuǎn)這個(gè)熟悉的名字藤巢,蘇雪打...
    心動(dòng)72行動(dòng)閱讀 148評(píng)論 0 1