從TXT | CSV文件讀取數(shù)據(jù):R基本函數(shù)
在前面,我們描述了R編程的要點(diǎn)和準(zhǔn)備數(shù)據(jù)的一些最佳實(shí)踐。
在本文中,您將學(xué)習(xí)如何將.txt(制表符分隔值)和.csv(逗號分隔值)文件格式的數(shù)據(jù)導(dǎo)入R。
預(yù)備任務(wù)
啟動RStudio:運(yùn)行RStudio并設(shè)置工作目錄
準(zhǔn)備數(shù)據(jù):準(zhǔn)備數(shù)據(jù)的最佳實(shí)踐
用于導(dǎo)入數(shù)據(jù)的R基本函數(shù)
R base函數(shù)read.table()是一個(gè)通用函數(shù),可用于讀取表格式的文件。數(shù)據(jù)將作為數(shù)據(jù)框?qū)搿?/p>
請注意,根據(jù)文件格式的不同,read.table()的幾種變體可以使您的生活更輕松,包括read.csv()、read.csv2()、read.delim()和read.delim2()。
read.csv():用于讀取“逗號分隔符”文件(“.csv”)。
read.csv2():用于使用逗號“,”作為小數(shù)點(diǎn)和分號“;”作為字段分隔符的文件。
read.delim():用于讀取“制表符分隔符”文件(“.txt”)。默認(rèn)情況下,點(diǎn)(“.”)用作小數(shù)點(diǎn)。
read.delim2():用于讀取“制表符分隔值”文件(“.txt”)。默認(rèn)情況下,逗號(“,”)用作小數(shù)點(diǎn)。
這些函數(shù)的簡化格式如下:
#將表格數(shù)據(jù)讀入R
read.table(file, header = FALSE, sep = "", dec = ".")
#讀取“逗號分隔值”文件(“.csv”)
read.csv(file, header = FALSE, sep = ",", dec = ".",...)
#或者使用read.csv2,使用逗號作為小數(shù)點(diǎn),使用分號作為字段分隔符。
read.csv2(file,header=TRUE,sep=“;”,dec=“,”,…)
#讀取制表符分隔的文件
read.delim(file,header=TRUE,sep=“\t”,dec=“.”,…)
read.delim2(file,header=TRUE,sep=“\t”,dec=“,”,…)
文件:包含要導(dǎo)入R的數(shù)據(jù)的文件的路徑。
sep:字段分隔符字符。“\t”用于制表符分隔的文件。
header:邏輯值。如果為TRUE,read.table()假定文件有一個(gè)標(biāo)題行,因此第1行是每列的名稱。如果不是這樣,可以添加參數(shù)header=FALSE。
dec:文件中用于小數(shù)點(diǎn)的字符。
讀取本地文件
要導(dǎo)入本地.txt或.csv文件,語法如下:
#讀取一個(gè)名為“mtcars.txt”的txt文件
my_data<-read.delim(“mtcars.txt”)
#讀取一個(gè)名為“mtcars.csv”的csv文件
my_data<-read.csv(“mtcars.csv”)
上面的R代碼假設(shè)文件“mtcars.txt”或“mtcars.csv”在當(dāng)前工作目錄中。要知道當(dāng)前的工作目錄,請?jiān)赗控制臺中鍵入getwd()函數(shù)。
也可以使用函數(shù)file.choose()以交互方式選擇文件,如果您是R編程的初學(xué)者,我建議您這樣做:
#讀取txt文件
my_data<-read.delim(file.choose())
#讀取csv文件
my_data<-read.csv(file.choose())
如果在RStudio中使用上面的R代碼,系統(tǒng)會要求您選擇一個(gè)文件。
如果您的數(shù)據(jù)包含帶文本的列,R可以假設(shè)列是一個(gè)因子或分組變量(例如:“good”、“good”、“bad”、“bad”、“bad”)。如果不想將文本數(shù)據(jù)轉(zhuǎn)換為因子,請?jiān)趓ead.delim()、read.csv()和read.table()函數(shù)中添加stringsAsFactor=FALSE。在這種情況下,與文本文件中的字符串對應(yīng)的數(shù)據(jù)框列將是字符。
例如:
my_data<-read.delim(file.choose(),
stringsAsFactor=FALSE)
如果字段分隔符是例如“|”,則可以將常規(guī)函數(shù)read.table()與其他參數(shù)一起使用:
my_data<-read.table(file.choose(),
sep=“|”,header=TRUE,dec=“.”)
從internet讀取文件
可以使用函數(shù)read.delim()、read.csv()和read.table()從web導(dǎo)入文件。
my_data<-read.delim(“http://www.sthda.com/upload/boxplot_format.txt”)
總結(jié)
導(dǎo)入本地.txt文件:read.delim(file.choose())
導(dǎo)入本地.csv文件:read.csv(file.choose())
從internet導(dǎo)入文件:如果是txt文件,則為read.delim(url);如果是csv文件,則為read.csv(url)