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