R語(yǔ)言基礎(chǔ)-數(shù)據(jù)的存儲(chǔ)與讀取
今天我們來(lái)聊一下如何在R語(yǔ)言中讀入數(shù)據(jù)和導(dǎo)出存儲(chǔ)數(shù)據(jù)?對(duì)于在文件中進(jìn)行的讀取和寫(xiě)入工作,R使用工作目錄來(lái)完成。
如果一個(gè)文件不在工作目錄里則必須給出它的路徑。用setwd()設(shè)置工作路徑,用getwd()查看目前的工作路徑。工作目錄的設(shè)定也可以通過(guò)“文件”菜單的“改變當(dāng)前目錄。。。”來(lái)完成。
設(shè)置好工作路徑后,接下來(lái)要做的就是讀取數(shù)據(jù),那么不同類(lèi)型的數(shù)據(jù),讀取方法也是不同的。
1、讀取表格格式數(shù)據(jù)的函數(shù)常用read.table()和read.csv()。他們是R里讀取數(shù)據(jù)最常用的函數(shù),用來(lái)讀取以行和列形式存儲(chǔ)的文本數(shù)據(jù),并且在R中返回?cái)?shù)據(jù)框。
2、readLines()函數(shù)可以逐行讀取文本文件,并且在R中返回字符向量。
3、source()是讀取R代碼的重要函數(shù),如果你有保存成文本文件的R代碼,例如函數(shù),你就可以用source()函數(shù)來(lái)把代碼讀進(jìn)R里。
4、dget()函數(shù)也可以讀取R代碼文件。
5、load()和unseralize()函數(shù)能把二進(jìn)制文件讀取到R中。
6、R還可以讀取網(wǎng)絡(luò)數(shù)據(jù),其他統(tǒng)計(jì)軟件的數(shù)據(jù),因?yàn)樗麄儍H對(duì)R高級(jí)應(yīng)用有用,這里不細(xì)說(shuō)。
相應(yīng)的存儲(chǔ)函數(shù)有:
1、write.table() 2、writeLines() 3、dump() 4、dput() 5、save() 6、seralize()
那么這么多函數(shù),作為基礎(chǔ),我們重點(diǎn)只要先弄清楚最常見(jiàn)的數(shù)據(jù)類(lèi)型怎么讀入R中。
一、讀取txt數(shù)據(jù),使用read.table,它們的分隔符是一樣的。
常見(jiàn)格式:
- read.table(file, header = FALSE, sep = "", quote = ""'",dec = ".", skip = 0,
- strip.white = FALSE, blank.lines.skip = TRUE,comment.char = "#")
包含的這些參數(shù)分別代表什么意思?
舉例:
二、讀取csv數(shù)據(jù),可以使用read.table()也可以使用read.csv()函數(shù)。
還可以使用read.csv(),它默認(rèn)是***行是標(biāo)題欄。所以不用再寫(xiě)
header=T。而且read.csv()分隔符是逗號(hào),和csv是一樣的。
三、如何讀取excel文件?
CSV讀入的速度較快,筆者這邊整理的是一種EXCEL VBA把xlsx先轉(zhuǎn)換為csv,然后利用read.csv導(dǎo)入的辦法。因?yàn)閑xcel的讀入非常麻煩,依賴(lài)其他包。比如RODBC擴(kuò)展包,xlsx包,XLConnect包。
四、如何讀取網(wǎng)絡(luò)數(shù)據(jù)?
url建立一個(gè)指向網(wǎng)站的連接。例如: