R語言-如何讀寫帶分隔符的文件
有眾多的格式和文本文件標(biāo)準(zhǔn)可用于存儲數(shù)據(jù)。用于存儲數(shù)據(jù)的通用格式為分隔符值(即CSV或制表符分割文件)、可擴(kuò)展標(biāo)記語言(XML)、JavaScript對象表示法(JSON)
將數(shù)據(jù)存儲在文本文件中的主要優(yōu)點(diǎn)是:他們可被幾乎所有的其他數(shù)據(jù)分析軟件或人讀取
R語言提供豐富的函數(shù)來讀取不同格式的數(shù)據(jù),包括:
文本文件(TXT文件)
逗號分隔文件(CSV文件)
TXT文件——read.table()
矩形(類似電子表格的)數(shù)據(jù)通常存儲在帶有分隔符的文件中,特別是逗號分隔值(CSV)和制表符分隔值文件。read.table將讀取這些分隔符文件,并將結(jié)果存儲在一個數(shù)據(jù)框中。其格式如下:
read.table(file,header = FALSE,sep = “”,quote = “”'", dec = “.”,numerals = c(“allow.loss”,“warn.loss”,“no.loss”), row.name,col.name,as.is = !stringsAsFactors, na.strings = “NA”,colClasses = NA,nrow = -1, skip = 0,check.names = TRUE,fill = !blank.lines.skip, strip.white = FALSE,bla nk.lines.skip = TRUE, comment.char = “#”, allowEscapes = FALSE,flush = FALSE, stringsAsFactors = default.stringsAsFactors(), fileEncoding = “”,encoding = “unknown”,text,skipNul = FALSE)
read.table 函數(shù)的常用參數(shù)描述
參數(shù) | 描述 |
---|---|
file | 文件名(包含在“”內(nèi),或使用一個字符型變量),可能需要全路徑(即使是在Windows下,符號 \ 也不允許包含在內(nèi),必須用 / 或者 \ \ 替換)或者一個URL(Uniform Resource Location,統(tǒng)一資源定位符)鏈接(用URL對文件遠(yuǎn)程訪問) |
header | 一個邏輯值,用來反映這個文件的第1行是否包含變量名,為TRUE時表示文件的第1行為變量名 |
sep | 文件中的字段分隔符,例如,對用制表符分隔的文件使用sep=“\t” |
quote | 指定用于包圍字符型數(shù)據(jù)的字符 |
dec | 用來標(biāo)識小數(shù)點(diǎn)的字符 |
fill | 如果為TRUE且所有行中的變量數(shù)目并不相同,則用空白填補(bǔ) |
row.names | 保存著行名的向量,或文件中一個變量的序號或名字,默認(rèn)時行號取為1、2、3··· |
col.names | 指定列名的字符型向量,默認(rèn)值為V1、V2、V3··· |
encoding | 若文件中包含非ASCII字符字段,則使用此參數(shù)進(jìn)行設(shè)置,可確保以正確的編碼方式讀取,避免出現(xiàn)亂碼 |
更多高級選項(xiàng)包括:覆蓋默認(rèn)的行名、列名和類,指定輸入文件的字符編碼,以及輸入的字符串格式的列如何聲明
CSV文件——read.csv()
read.csv函數(shù)可讀入一個逗號分隔文件并將其保存為一個數(shù)據(jù)框,其格式如下:
read.csv(file,header = TRUE,sep = “,”,quote = “” “,dec=” . ",fill = TRUE,comment.char = " ",ecoding = "unknown ",…)
參數(shù) | 描述 |
---|---|
file | 文件名(包含在“”內(nèi),或使用一個字符型變量),可能需要全路徑(即使是在Windows下,符號 \ 也不允許包含在內(nèi),必須用 / 或者 \ \ 替換)或者一個URL鏈接(用URL對文件遠(yuǎn)程訪問) |
header | 一個邏輯值,用來反映這個文件的第1行是否包含變量名,為TRUE時表示文件的第1行為變量名 |
sep | 文件中的字段分隔符,CSV文件默認(rèn)為sep="," |
quote | 指定用于包圍字符型數(shù)據(jù)的字符 |
dec | 用來標(biāo)識小數(shù)點(diǎn)的字符 |
fill | 如果為TRUE且所有行中的變量數(shù)目并不相同,則用空白填補(bǔ) |
comment.char | 包含單個字符或空字符串的長度為1的字符向量,以這個字符開頭的行將被忽略(要禁用這個參數(shù),可使用comment.char="" |
encoding | 若文件中包含非ASCII字符字段,則使用此參數(shù)進(jìn)行設(shè)置,可確保以正確的編碼方式讀取,避免出現(xiàn)亂碼 |
與此相反的任務(wù)是寫入文件,write.table和write.csv分別對應(yīng)著read.table和read.csv的讀操作
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
利用R語言合并數(shù)據(jù)框的行與列實(shí)例代碼
實(shí)際操作中我們經(jīng)常需要引入其他表中的列,即將其他表中列加入到表中,需要把兩個或者更多的表合并成一個,下面這篇文章主要給大家介紹了關(guān)于利用R語言合并數(shù)據(jù)框的行與列的相關(guān)資料,需要的朋友可以參考下2022-07-07R語言之dplyr包常用函數(shù)方法示例學(xué)習(xí)
這篇文章主要為大家介紹了R語言之dplyr包常用函數(shù)方法示例學(xué)習(xí)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08