久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

《R語(yǔ)言入門(mén)與實(shí)踐》學(xué)習(xí)筆記一

 gearss 2018-04-13

第一天:

1.在windows環(huán)境下下載和安裝R和RStudio,。

2.簡(jiǎn)單了解R包與R命令。

3.學(xué)會(huì)利用命令進(jìn)行文件操縱,。

4.學(xué)會(huì)簡(jiǎn)單的調(diào)試代碼,。

………………………………………………………………………………………

---------------------安裝-----------------------

R包的維護(hù)工作由一個(gè)國(guó)際化可開(kāi)發(fā)者團(tuán)隊(duì)負(fù)責(zé),下載頁(yè)面叫做The ComprehensiveR Archive Network,,即CRAN(https://cran.),。頁(yè)面頂部有三個(gè)下載鏈接,分別對(duì)應(yīng):Windows,,Mac和Linux,。下載步驟為Download R for Windows?base,然后打開(kāi)新頁(yè)面中單擊頂端的第一個(gè)鏈接(類(lèi)似于Download R for 3.0.3 for Windows),,下載后安裝程序即可,。

RStudio是類(lèi)似于word的R語(yǔ)言編寫(xiě)幫助工具,可以從網(wǎng)址http://www./ide(需要翻墻)免費(fèi)下載RStudio,,只要單擊Download RStudio即可,。RStudio安裝上之后需要選擇已安裝的R包。

----------------------R包與R命令-----------------------

  R包的概念類(lèi)似于C/C++中的庫(kù)(library),,一個(gè)R包就是一些有用的函數(shù),,幫助文檔和數(shù)據(jù)集的集合。最常見(jiàn)的R包就是R基礎(chǔ)包(BaseR),,就是每次打開(kāi)R之后,,R默認(rèn)加載的所有函數(shù)。這些函數(shù)構(gòu)成了R的基石,,是不需要加載任何R包就可以使用的,。

要想使用其他的每個(gè)R包,必須先在計(jì)算機(jī)上安裝R包,,然后在當(dāng)前R會(huì)話中加載它,。安裝R包最簡(jiǎn)單的方法是利用install.packages函數(shù)。打開(kāi)R,,在命令行鍵入一下命令進(jìn)行下載和安裝:

install.packages(包名稱(chēng))#安裝單個(gè)包

install.package(c(“ggplot2”,”reshape2”,”dplyr”))#安裝多個(gè)包

然后輸入以下命令加載R包:

library(包名稱(chēng))

library的作用是在當(dāng)前的R會(huì)話被關(guān)閉之前,,該包中所有的函數(shù),數(shù)據(jù)集和幫助文檔都可以被拿來(lái)使用,,在下一個(gè)會(huì)話中,,雖然不必再安裝該包,但是需要重新加載,。想要查看當(dāng)前R庫(kù)中存儲(chǔ)了那些R包,,可以運(yùn)行以下命令:

library()

更新R包:

updata.packages(“包名稱(chēng)”)

R自帶了很多數(shù)據(jù)集,,被儲(chǔ)存在R基礎(chǔ)包的datasets包中,輸入以下指令查看每個(gè)數(shù)據(jù)集以及數(shù)據(jù)集簡(jiǎn)介:

help(ackage=“datasets”)

---------------------------文件操縱----------------------------

了解計(jì)算機(jī)上R的工作目錄及位置:

  getwd()

將某個(gè)文件夾設(shè)置位工作目錄:

  getwd(絕對(duì)地址或相對(duì)地址)

查看當(dāng)前工作目錄下所有文件:

  list.files()

如果想要打開(kāi)一個(gè)純文本文件,,可以使用read.table函數(shù),其中第一個(gè)參數(shù)應(yīng)該為代取文件名稱(chēng)(文件在工作目錄中)或者代取文件的路徑,,第二個(gè)參數(shù)sep告訴read.table需要使用什么分隔符,如果未設(shè)置sep,,則read.table函數(shù)會(huì)默認(rèn)空格為分隔符,,第三個(gè)參數(shù)header告訴函數(shù)是否將第一行作為變量名稱(chēng)而不是值如果是變量名稱(chēng),則header=TRUE,第四個(gè)參數(shù)代表使用什么表示缺失信息:

  poker<-read.table(“poker.csv”,sep=”,”,header=TRUE,na.strings=”.”)

使用skip告訴R在讀取數(shù)據(jù)時(shí)忽略開(kāi)頭的一些行,,nrow告訴R在讀多少個(gè)數(shù)據(jù)行之后不再讀取,。

 read.table(“poker.csv”,sep=”,”,header=TRUE,na.strings=”.”,skip=3,nrow=5)

只要將參數(shù)stringAsFactors設(shè)置為FALSE即可確保R在保存字符串?dāng)?shù)據(jù)時(shí),不會(huì)強(qiáng)制將其轉(zhuǎn)換為因子型,,而是保留它的字符串類(lèi)型,。

更改全局設(shè)置來(lái)改變R將字符串轉(zhuǎn)換為因子型的行為:

  optionsstringAsFactors=FALSE)#關(guān)閉

  optionsstringAsFactors=TRUE)#打開(kāi)

讀取CSV文件:

  poker<-read.csv(“poker.csv”)

有一種特殊的文件,它的每一行都占用文件的一行,,而每一列都開(kāi)始于固定位置,,這種類(lèi)型的文件被稱(chēng)為固定寬度文件(fixed_width file,.fwfR中讀取fwf文件比普通文件多出一個(gè)widths參數(shù),用來(lái)表示得是第i個(gè)元素表示第i個(gè)列的寬度:

poker<-read.fwf(“poker.fwf”,widths=c(10,7,6),header=TRUE)

打開(kāi)網(wǎng)絡(luò)文件:

poker<-read.csv(“http://.../../poker.csv”)

保存純文本文件,第一個(gè)參數(shù)為要儲(chǔ)存的R對(duì)象,,第二個(gè)參數(shù)代表文件名或者絕對(duì)路徑,,row.names防止R在存儲(chǔ)純文本文檔時(shí)將行名稱(chēng)存儲(chǔ)為一列,即防止為每行加上行號(hào)(write函數(shù)無(wú)法創(chuàng)建新的文件夾)

write.csv(poker,”data/poker.csv”,row.names=FALSE)

壓縮文件:

write.csv(poker,file=bzfile(data/poker.csv.bz2),row.names=FALSE)

R自帶的三個(gè)用來(lái)壓縮文件的輔助函數(shù):

函數(shù)名 壓縮文件類(lèi)型

bzfile bzip2

gzfile gnu zip(zip)

xzfile xz壓縮

R的read函數(shù)可打開(kāi)任何一種壓縮文本文件,。

R本身提供了兩種文件格式,,分別是.RDS和.RData,RDS可以存儲(chǔ)單個(gè)R對(duì)象,,而RData文件可以存儲(chǔ)多個(gè)R對(duì)象,但是.RDS的可再現(xiàn)性好:

打開(kāi).RDS文件:

saveRDS(a,file=stuff.RDS)

打開(kāi).RData文件:

load(file.RData)

保存RData文件:

save(a,b,c,file=文件名或路徑)

保存.RDS文件

saveRDS(a,file=stuff.RDS)

將剪貼板中的數(shù)據(jù)讀入R中:

read.table(clipboard)

-------------------------調(diào)試--------------------------

RStudio中完善了對(duì)錯(cuò)誤代碼的調(diào)試,,其中主要包括traceback(追溯),browser(瀏覽),,debug(調(diào)試),,debugonce,trace(追蹤),,recover(恢復(fù)),。

E1 traceback

在命令行鍵入traceback(),traceback會(huì)反回一個(gè)調(diào)用棧,,也就是被調(diào)用函數(shù)的有序列表,,最頂層就是出錯(cuò)的函數(shù),而且traceback顯示了函數(shù)調(diào)用的整個(gè)調(diào)用順序,,揭示了無(wú)限循環(huán)錯(cuò)誤,。

E2 browser

利用browser函數(shù)可以使得R在運(yùn)行時(shí)暫停,使你鍵入新的命令,。要使用browser函數(shù),,只要將browser()添加到函數(shù)體的對(duì)應(yīng)位置,,然后保存改函數(shù)即可。此時(shí)控制臺(tái)出現(xiàn)三個(gè)按鈕:NEXT(執(zhí)行下一行代碼)Continue(繼續(xù)執(zhí)行直到結(jié)束) Stop(立即停止運(yùn)行),。

E3 斷點(diǎn)

斷點(diǎn)就是可視化的添加browser函數(shù),,打開(kāi)R腳本,找到想要添加browser的行,,右鍵鼠標(biāo)就會(huì)出現(xiàn)一個(gè)空心紅點(diǎn),斷點(diǎn)添加成功,。

E4 debug

debug函數(shù)的第一步就是在調(diào)試函數(shù)的第一行加入browser(),,它的使用方法是debug(函數(shù)名),解除方法是undebug(函數(shù)名),,利用isdebugged(函數(shù)名)判斷函數(shù)是否處于調(diào)試狀態(tài),。

E5 trace

trace函數(shù)將一個(gè)函數(shù)插入其他函數(shù)的任意位置,第一個(gè)參數(shù)表示帶插入函數(shù)的名稱(chēng),,是一個(gè)字符串,。第二個(gè)參數(shù)代表要插入函數(shù)的R表達(dá)式。第三個(gè)參數(shù)at=代表將表達(dá)式插入函數(shù)第幾行,。

trace(sample,browser,at=4)

在對(duì)某個(gè)函數(shù)完成trace調(diào)試之后,,可以使用untrace將函數(shù)恢復(fù)原來(lái)狀態(tài):

  untrace(sample)

E6 recover

recover提供的代碼調(diào)試方式可以進(jìn)入調(diào)用棧的任意層級(jí),從而進(jìn)入某函數(shù)運(yùn)行時(shí)環(huán)境進(jìn)行調(diào)試,,輸入對(duì)應(yīng)棧編碼進(jìn)入函數(shù)環(huán)境,,輸入0推出調(diào)試:

  fifth<-function()recover()

運(yùn)行全局選項(xiàng),R會(huì)在每次報(bào)錯(cuò)時(shí)進(jìn)入recover()命令:

  options(error=recover)

直到關(guān)閉當(dāng)前R會(huì)話或者執(zhí)行以下命令前都有效:

  options(error=NULL)

------------------------------------------------------------

1.本學(xué)習(xí)記錄來(lái)自Garrett Grolemund先生所著《Hands-On Programming with R》(中文名R語(yǔ)言入門(mén)與實(shí)踐)一書(shū),。

2.R包為R語(yǔ)言環(huán)境,,需要第一個(gè)安裝。

3.R包既有32位也有64位版本,,兩個(gè)版本都使用32位整數(shù),,它們計(jì)算時(shí)具有相同的精度,二者的區(qū)別在于內(nèi)存管理方面分別使用了64位指針和32位指針,,這代表這64位有更大的使用和搜索的內(nèi)存空間,。從經(jīng)驗(yàn)上看32位要更快。

4.R包可以選擇中文版本,但是RStudio輸入中文會(huì)出現(xiàn)亂碼,。

5.許多R包并沒(méi)有在CRAN上托管,,如果想要安裝這些R包,可以借助devtools這樣一個(gè)R包,。這個(gè)包提供了install_github,,install_gitorious,install_bitbucket和install_url等函數(shù)來(lái)從其他安裝源安裝R包,。

6.常用網(wǎng)址:

R包郵件列表:

https://stat./mailman/listinfo/r-packages

R-bloggers博客:

http://www.

RStudio下的實(shí)用R包列表:

http://support.

CRAN歸類(lèi)R包:

https://cran./web/views

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多