目錄
一、認(rèn)識(shí)文件夾
1.1 getwd()函數(shù)
1.2 setwd()函數(shù)
1.3 file.path()函數(shù)
1.4 dir()函數(shù)
1.5 list.files()函數(shù)
1.6 file.exists()函數(shù)
1.7 file.rename()函數(shù)
1.8 file.create()函數(shù)
1.9 file.copy()函數(shù)
?1.10 file.remove()函數(shù)
二、數(shù)據(jù)輸出:cat()函數(shù)
三、讀取數(shù)據(jù):scan()函數(shù)
四、輸出數(shù)據(jù):write()函數(shù)
五、數(shù)據(jù)的輸入
5.1 讀取剪貼板數(shù)據(jù)
5.2 讀取剪貼版數(shù)據(jù):read.table()函數(shù)
5.3 讀取Excel文件數(shù)據(jù)
六、數(shù)據(jù)的輸出
6.1 writeClipboard()函數(shù)
6.2 write.table()函數(shù)
一、認(rèn)識(shí)文件夾
在執(zhí)行程序設(shè)計(jì)時(shí),可能常需要將執(zhí)行結(jié)果存儲(chǔ)至某個(gè)文件夾,本節(jié)將介紹文件夾的相關(guān)知識(shí)。
1.1 getwd()函數(shù)
getwd()函數(shù)可以獲得目前的工作目錄。
1.2 setwd()函數(shù)
setwd()函數(shù)可以更改目前的工作目錄。
1.3 file.path()函數(shù)
?這個(gè)函數(shù)的主要功能類似于paste()函數(shù),只不過(guò)這個(gè)函數(shù)是將片段數(shù)據(jù)路徑組合起來(lái)。
?
?1.4 dir()函數(shù)
dir()函數(shù)可列出某個(gè)工作目錄下的所有文件名以及子目錄名稱。
?使用dir()函數(shù)也可以省略“path=”。
1.5 list.files()函數(shù)
這個(gè)函數(shù)功能和dir()函數(shù)相同,可以列出某個(gè)工作目錄下的所有文件名以及子目錄名稱。
1.6 file.exists()函數(shù)
file.exists()函數(shù)可檢查指定的文件是否存在,如果存在則返回TRUE,如果不存在則返回FALSE。
1.7 file.rename()函數(shù)
file.rename()函數(shù)可以更改文件名。
?1.8 file.create()函數(shù)
file.create()函數(shù)可以建立文件。
1.9 file.copy()函數(shù)
file.copy()函數(shù)可進(jìn)行文件的復(fù)制,這個(gè)函數(shù)會(huì)將第1個(gè)參數(shù)的原目錄文件復(fù)制到第2個(gè)參數(shù)的目的目錄文件。如果想了解更多參數(shù)細(xì)節(jié)可以參考“help(file.copy)”。
?1.10 file.remove()函數(shù)
file.remove()函數(shù)可刪除指定的文件。
二、數(shù)據(jù)輸出:cat()函數(shù)
?cat()函數(shù)可以在屏幕或文件輸出R語(yǔ)言計(jì)算結(jié)果或是一般輸出數(shù)據(jù),它的使用格式和各參數(shù)意義如下所示:
cat(系列變量或字符串,file=" ",sep=" ",append=FALSE)
- 系列變量或字符串:指一系列將要輸出的變量或字符串。
- file:輸出到外部文件時(shí)可在此輸入目的文件路徑和文件名,若省略則表示輸出到屏幕。
- append:默認(rèn)是FALSE,表示若想要輸出到的目的文件已存在,將覆蓋原文件。如果是TRUE,則將輸出數(shù)據(jù)附加在文件末端。
?
上述的“\n”相當(dāng)于換行打印。如果沒(méi)有加上打印“\n”,則下一個(gè)打印數(shù)據(jù)將接著前一個(gè)數(shù)據(jù)的右邊打印,而不會(huì)自動(dòng)換行打印。cat()函數(shù)也可用于打印向量對(duì)象。
?
cat()函數(shù)是無(wú)法正常輸出其他類型數(shù)據(jù)的,下列是嘗試輸出數(shù)據(jù)框(也是列表的一種)失敗的案例:
?如果想打印其他數(shù)據(jù)類型對(duì)象,一般可以使用先前已大量使用的print()函數(shù)。
三、讀取數(shù)據(jù):scan()函數(shù)
使用scan()函數(shù)可以讀取屏幕輸入或外部文件的數(shù)據(jù),若要結(jié)束讀取屏幕輸入,可以直接使用"Enter"鍵,它的使用格式如下:
scan(file=" ",what=double(),nmax=-1,n=-1,sep=" ",skip=0,nlines=0,na.strings="NA")
更詳細(xì)的scan()函數(shù)可參考“help(scan)”。
- file:所讀的文件,如果不設(shè)定代表讀取屏幕輸入。
- what:可設(shè)定輸入數(shù)據(jù)類型,默認(rèn)是雙精度實(shí)數(shù),可以是整數(shù)(Integer),字符(character),邏輯值(logical),復(fù)數(shù)(complex),也可以是列表數(shù)據(jù)。
- nmax:限定讀入多少數(shù)據(jù),默認(rèn)是-1,表示無(wú)限制。
- n:設(shè)定總共要讀多少數(shù)據(jù),默認(rèn)是-1,表示無(wú)限制。
- sep:數(shù)據(jù)之間的分隔符,默認(rèn)是空格或換行符。
- skip:設(shè)定跳過(guò)多少行才開(kāi)始讀取,默認(rèn)是0。
- nlines:如果是正數(shù)則表示設(shè)定最多讀入多少行數(shù)據(jù)。
- na.strings:可以設(shè)定遺失值得符號(hào),默認(rèn)是NA。
?
四、輸出數(shù)據(jù):write()函數(shù)
write()函數(shù)可以將一般向量或矩陣數(shù)據(jù)輸出到屏幕或外部文件,這個(gè)函數(shù)的使用格式如下:
write(x,file="data",ncolumns=k,append=FALSE,sep=" ")
- x:要輸出的向量或矩陣。
- file:輸出至指定文件,如果是“ ”則代表輸出至屏幕。
- ncolumns:指出輸出排成幾列,默認(rèn)如果是字符串則按1列輸出,如果是數(shù)值數(shù)據(jù)則按5列輸出。
- append:默認(rèn)是FALSE,如果是TRUE則在原文件有數(shù)據(jù)時(shí),將輸出數(shù)據(jù)接在原數(shù)據(jù)后面。
- sep:設(shè)定各數(shù)據(jù)間的分隔符。
?
五、數(shù)據(jù)的輸入
實(shí)用的數(shù)據(jù)一般均是以窗口或電子表格方式呈現(xiàn),本節(jié)將針對(duì)這類數(shù)據(jù)做說(shuō)明。
5.1 讀取剪貼板數(shù)據(jù)
針對(duì)有些數(shù)據(jù),可以先將它復(fù)制,復(fù)制后可以在剪貼板上看到這些數(shù)據(jù),然后再利用readClipboard()函數(shù)讀取。例如,在Excel內(nèi)看到數(shù)據(jù),假設(shè)你選取了C1:D5,然后將它復(fù)制到剪貼板。
注:readClipboard()函數(shù)不支持macOS系統(tǒng)。
由上述執(zhí)行結(jié)果,我們成功讀取了剪貼板的文件,但可以看到所讀的數(shù)據(jù)有些亂,同時(shí)看到了“\t”符號(hào),這是構(gòu)成電子表格的特殊字符,所以如果想要將電子表格數(shù)據(jù)轉(zhuǎn)成R語(yǔ)言可以處理的數(shù)據(jù),那么還需要一些步驟,后面小節(jié)會(huì)做說(shuō)明。
5.2 讀取剪貼版數(shù)據(jù):read.table()函數(shù)
read.table()函數(shù)配合適當(dāng)參數(shù)可以讀取剪貼板數(shù)據(jù),這個(gè)函數(shù)的使用格式有些復(fù)雜,在此只列出幾個(gè)重要參數(shù)。
- file:帶讀取的文件,如果是讀剪貼板則是輸入“clipboard”。
- sep:數(shù)據(jù)元素的分隔符,由上一小節(jié)可知Excel的分隔符是“\t”。
- header:可設(shè)定是否讀取第1行,第1行通常是數(shù)據(jù)的表頭,該參數(shù)值默認(rèn)是FALSE。
?
?
?5.3 讀取Excel文件數(shù)據(jù)
若想要讀取Excel文件,可以使用XLConnect擴(kuò)展包來(lái)協(xié)助完成這個(gè)工作,但首先要下載安裝這個(gè)擴(kuò)展包,可參考以下步驟。
接著執(zhí)行將XLConnect加載到數(shù)據(jù)庫(kù)的代碼。
六、數(shù)據(jù)的輸出
6.1 writeClipboard()函數(shù)
writeClipboard()函數(shù)可以將數(shù)據(jù)輸出至剪貼板。它與readClipboard()函數(shù)一樣目前并不支持macOS。
?
在屏幕上看不到任何結(jié)果,但如果進(jìn)入Excel窗口,再單擊“粘貼”按鈕,即可看到上述命令的執(zhí)行結(jié)果。
6.2 write.table()函數(shù)
write.table()這個(gè)函數(shù)的基本使用格式和各參數(shù)意義如下所示:
write.table(x,file=" ",quote=TRUE,sep=" ",eol="\n",na="NA",dec=".",row.names=TRUE,col.names=TRUE)
- ?x:矩陣或數(shù)據(jù)框?qū)ο蟆?/li>
- file:外部文件名,如果是“ “,則表示輸出至屏幕,clipboard代表輸出至剪貼板。
- sep:表示輸出時(shí)字符串兩邊需加" "號(hào)。
- eol:代表end of line的符號(hào),macOS系統(tǒng)可用”\r“,UNIX系統(tǒng)可用"\n",Windows可用"\r\n"。
- row.names:輸出時(shí)是否加行名,默認(rèn)是TRUE。
- col.names:輸出時(shí)是否加列名,默認(rèn)是TRUE。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-437646.html
在屏幕上看不到任何結(jié)果,但如果進(jìn)入Excel窗口,再單擊”粘貼“按鈕,即可看到上述命令執(zhí)行的結(jié)果。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437646.html
到了這里,關(guān)于R語(yǔ)言 | 輸入與輸出的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!