今天我們來聊一下如何在R語言中讀入數(shù)據(jù)和導出存儲數(shù)據(jù)?對于在文件中進行的讀取和寫入工作,R使用工作目錄來完成。
如果一個文件不在工作目錄里則必須給出它的路徑。用setwd()設(shè)置工作路徑,用getwd()查看目前的工作路徑。工作目錄的設(shè)定也可以通過“文件”菜單的“改變當前目錄。。。”來完成。
設(shè)置好工作路徑后,接下來要做的就是讀取數(shù)據(jù),那么不同類型的數(shù)據(jù),讀取方法也是不同的。
1、讀取表格格式數(shù)據(jù)的函數(shù)常用read.table()和read.csv()。他們是R里讀取數(shù)據(jù)最常用的函數(shù),用來讀取以行和列形式存儲的文本數(shù)據(jù),并且在R中返回數(shù)據(jù)框。
2、readLines()函數(shù)可以逐行讀取文本文件,并且在R中返回字符向量。
3、source()是讀取R代碼的重要函數(shù),如果你有保存成文本文件的R代碼,例如函數(shù),你就可以用source()函數(shù)來把代碼讀進R里。
4、dget()函數(shù)也可以讀取R代碼文件。
5、load()和unseralize()函數(shù)能把二進制文件讀取到R中。
6、R還可以讀取網(wǎng)絡(luò)數(shù)據(jù),其他統(tǒng)計軟件的數(shù)據(jù),因為他們僅對R高級應(yīng)用有用,這里不細說。
相應(yīng)的存儲函數(shù)有:
1、write.table() 2、writeLines() 3、dump() 4、dput() 5、save() 6、seralize()
那么這么多函數(shù),作為基礎(chǔ),我們重點只要先弄清楚最常見的數(shù)據(jù)類型怎么讀入R中。
一、讀取txt數(shù)據(jù),使用read.table,它們的分隔符是一樣的。
常見格式:
- 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(),它默認是第一行是標題欄。所以不用再寫
header=T。而且read.csv()分隔符是逗號,和csv是一樣的。
三、如何讀取excel文件?
CSV讀入的速度較快,筆者這邊整理的是一種EXCEL VBA把xlsx先轉(zhuǎn)換為csv,然后利用read.csv導入的辦法。因為excel的讀入非常麻煩,依賴其他包。比如RODBC擴展包,xlsx包,XLConnect包。
四、如何讀取網(wǎng)絡(luò)數(shù)據(jù)?
url建立一個指向網(wǎng)站的連接。例如: