Data Importing
設定工作目錄 setwd()設定工作目錄 getwd()確認工作目錄 D:\R\data 或 D:/R/data
read.csv()與read.table() 讀取儲存在文字檔(ASCII)中的資料,可直接讀取整個外部檔案進入dataframe物件
- 差異 read.table()預設標題header(變數名稱)為False,認為第一行開始就是資料而非變數名稱,資料間隔符號參數sep預設為空 read.csv()中header=T且sep=“,”
- TXT檔設定以定位字元tab為分隔符號。 read.csv(“XXXX.TXT”, header=F, sep=“”) 跟 read.table(“XXXX.TXT”)一樣
- 若要讀入的檔名有空格,則以%20表示,如Tomato%20First.csv
- 分隔符號:逗點“,”、空白“”、tab分隔 “\t”、分號 “;”
- stringAsFactors:character的直行資料會被轉換成factor,預設為True。利用此引數stringAsFactor=False可避免。節省運算時間,同時保持character直行原有的資料類型。
- 如果csv檔或tab分隔檔的資料有缺漏,如分隔符號出現在儲存格中,就要利用read.csv2或read.delim2來讀取資料。
- scan()可接受鍵盤輸入資料;輸入值之後按enter,不輸入資料按enter時則結束 可指定輸入資料的形態; my <- scan(file=“”, what=list(name= “”, pay=integer(0))) # file=“”表示由鍵盤輸入,what後接輸入值的資料型態 也可以讀取csv與txt; x<- scan(“x1.csv”, spe=“,”)
讀取資料時,若欄位中僅包含數字,則預設為數值資料;只要包含文字,則被視為類別資料。
data() #查詢已經建立的資料集 如果package已被載入到程式庫中,資料集將自動包含其中,所以data(資料集名稱) ;eg: data(iris);先進入該套件library 或data(package="SemiPar");如果有多個資料集 data(copper, package="SemiPar")
輸出資料
write.table(X, "FILE.csv", append=FALSE, row.names=FALSE, col.names=FALSE, sep=",") X表欲輸出的物件,接輸出的檔案名稱與路徑,是否加上行列名稱 append=TRUE則會在原檔案上新增資料
可將使用的物件儲存成RData格式的外部檔案,並讀取回至R中 eg: data(iris); save(iris, file=“iris.RData”) eg: load(“iris.RData”, .GlobalEnv) # .GlobalEnv 表示使用者正在使用的工作空間
write.csv(t, "t.csv", row.names=FALSE)