在R語言中可以使用scan()函數(shù)從鍵盤或文件中讀取數(shù)據(jù)到向量或列表中。
scan()函數(shù)的語法格式如下:
scan(file = "", what = double(0), nmax = -1, n = -1, sep = "", quote = if(identical(sep, "/n")) "" else "'/"", dec = ".", skip = 0, nlines = 0, na.strings = "NA", flush = FALSE, fill = FALSE, strip.white = FALSE, quiet = FALSE, blank.lines.skip = TRUE, multi.line = TRUE, comment.char = "", allowEscapes = FALSE, fileEncoding = "", encoding = "unknown",text, skipNul = FALSE)
本篇文章僅介紹了,該函數(shù)的參數(shù)含義,如果想了解scan()函數(shù)的具體使用方法,請(qǐng)參見下面這兩篇文章:
R語言中使用scan()函數(shù)輸入數(shù)據(jù)
R語言中使用scan()函數(shù)讀取文件中的數(shù)據(jù)
參數(shù)含義描述如下:
(1)file
file參數(shù)用于指定要讀取文件的路徑和名字,如果為空或"",則是要從鍵盤中獲取數(shù)據(jù)。
如果指定的文件的名字使用的是相對(duì)路徑,則默認(rèn)是從當(dāng)前工作目錄中尋找文件(當(dāng)前工作目錄可以使用getwd()函數(shù)獲取到);
如果指定了絕對(duì)路徑,則scan()函數(shù)要按照絕對(duì)路徑讀取文件。
(2)what
what用于給出要讀取的數(shù)據(jù)的類型,支持的數(shù)據(jù)類型包括:logical, integer, numeric, complex, character, raw以及l(fā)ist.
(3)nmax
是一個(gè)整型值,用于指定要讀取數(shù)據(jù)的最大數(shù)量,如果what被指定為列表(list),則nmax表示要讀取的最大記錄數(shù)或行數(shù),如果忽略nmax參數(shù),或該參數(shù)被指定為非負(fù)整數(shù),或者該參數(shù)被設(shè)定為無效值時(shí)(同時(shí),nlines參數(shù)沒有被設(shè)定為負(fù)數(shù)時(shí)),scan函數(shù)將會(huì)讀取到該文件的末尾。
(4)n
是一個(gè)整型值,要讀取的數(shù)據(jù)的最大數(shù)量,默認(rèn)情況下沒有限制。若指定無效的值,將會(huì)被忽略。
(5)sep
sep參數(shù)是用于指出文件中數(shù)據(jù)的分隔符,scan默認(rèn)數(shù)據(jù)是以空白進(jìn)行分隔,另外,也可以指定其它單個(gè)字符作為數(shù)據(jù)域的分隔符
(6)quote
用于指定包圍字符串的字符,該參數(shù)應(yīng)該是一個(gè)單字符。
(7)dec
用于表示小數(shù)數(shù)點(diǎn)的字符,該參數(shù)只能是包含單個(gè)字符的字符串或零長度的字符串。默認(rèn)為“.”。
(8)skip
用于指定讀取數(shù)據(jù)時(shí),忽略文件前面的行數(shù)。
(9)nlines
指定要讀取文件中數(shù)據(jù)的最大行數(shù)。
(10)na.strings
字符向量。用于指定表示缺失數(shù)據(jù)時(shí)的字符串,默認(rèn)為NA。在邏輯型、整數(shù)型、數(shù)值型和復(fù)數(shù)型數(shù)據(jù)域中,空白域也被看做缺失值。
(11)flush
是一個(gè)邏輯值,默認(rèn)為FALSE。如果該參數(shù)設(shè)置為TRUE,則scan()函數(shù)讀取完指定列數(shù)后將轉(zhuǎn)到下一行。這允許用戶在最后一個(gè)字段后面添加注釋。
(12)fill
邏輯值。如果參數(shù)值設(shè)置為TRUE時(shí),當(dāng)行中的字段值少于字段數(shù)時(shí),將以空白填充。
(13)strip.white
在sep參數(shù)已指定的情況下,如果為TRUE,則刪除字符型字段前后多余的空格。但包含在引用中的空白不會(huì)被刪除,同時(shí)數(shù)值型字段值前后的空白在任何情況下都會(huì)被去掉。
(14)quiet
是一個(gè)邏輯值,當(dāng)設(shè)置為FALSE時(shí),scan()函數(shù)將輸出一行信息,用于說明讀取了哪些項(xiàng)的信息。
(15)blank.lines.skip
是一個(gè)邏輯值 ,如果設(shè)置為TRUE,將忽略空白行
(16)multi.line
是一個(gè)邏輯值。只用于what參數(shù)是一個(gè)列表型參數(shù)時(shí)。當(dāng)設(shè)置為FALSE時(shí),每個(gè)記錄的字段都在一行中。
(17)comment.char
指定注釋開始的字符。一行中以這個(gè)字符開頭的部分將被忽略。默認(rèn)關(guān)閉此項(xiàng)。
(18)allowEscapes
該參數(shù)是一個(gè)邏輯值,默認(rèn)值為FALSE。表示在一個(gè)引用起來的字符串中,類似“/n”這樣的字符被解釋為轉(zhuǎn)義字符還是按原樣輸出(字面意義或逐字字符串)。若不在引號(hào)中,這樣的字符將視為字段分隔符。
(19)fileEncoding
字符串類型,指定文件的編碼方式。如果指定了該參數(shù),則文本數(shù)據(jù)按照指定的格式重新編碼。
(20)encoding
對(duì)輸入的非ASCII字符按照指定的編碼格式編碼。
(21)text
字符串類型。if file is not supplied and this is, then data are read from the value of text via a text connection.
(22)skipNul
邏輯值。是否忽略空值。
本文(完)-如有問題,本文將持續(xù)修改完善。

新聞熱點(diǎn)
疑難解答