R是一套完整的資料處理、計算和制圖軟體系統。其功能包括:資料存儲和處理系統;數組運算工具(其向量、矩陣運算方面功能尤其強大);完整連貫的統計分析工具;優秀的統計制圖功能;簡便而強大的程式設計語言:可操縱資料的輸入和輸出,可實作分支、循環,使用者可自定義功能。下面我簡單介紹一下R語言的基本文法:
1. 檔案I/0
a) write寫入
x<-1:1000
write(x,”d:/my.txt”,ncolumns=12,sep=”,”)
b) scan讀取檔案
2. 資料框(data.frame)
在資料框中,每一列都是一個向量(vector),表的字段是變量名,每行是一個list.
a) 建立資料框:
id=c(1,2,3,4,5,6)
name=c("123","456","789","124","125","126")
data=data.frame(id,name)
b) 資料框的簡單操作:
編輯資料框内容:fix(data)
檢視資料框中開始或者結束的幾行:head(data)/tail(data)
取值與指派
data$name 按列名取向量
data[n] 取第n列向量
data[j,i] 擷取第i列第j行的資料
資料框排序、過濾操作
排序:data[order(name)]
查找姓名為123或者ID為5的:data[id==5 | name=”123”]
增加一行記錄:data[7,]<-list(7,”127”)
3. 讀取CSV檔案
data<-read.csv(“d:/input.csv”)
nrow(data) 擷取資料的行數
ncol(data) 擷取資料的列數
4. 讀取Excel檔案
安裝xlsx軟體包和導入包:
install.packages(“xlsx”)
any(grepl(“xlsx”,installed.packages())) 傳回為true時則證明安裝成功
Sys.setenv(JAVA_HOME='C:/Program Files(x86)/Java/jdk1.7.0_13/jre') 導入JDK
Library(“xlsx”) 導入包
a) 讀取xlsx檔案
data<-read.xlsx(“d:/123.xlsx”,sheetIndex=1)
print(data)
5. 讀取XML檔案:
導入XML軟體包,方法和導入xlsx中的一樣。
a) 讀取xml檔案
data<-xmlParse(file=”d:/input.xml”)
print(data)
b) 解析XML檔案
rootnode<-xmlroot(data) 擷取根節點
rootnode[1] 擷取根節點下的第一個子節點
rootnode[[1] [1]]
c) XML檔案轉換為資料框
xmldataframe<-xmlToDataFrame(“d:/input.xml”)
6. 通路資料庫(mysql)
安裝RMySQL内置包,方法和安裝xlsx一樣。
a) 擷取資料庫連接配接
conn <- dbConnect(MySQL(), dbname = "test",username="root", password="123456",host="127.0.0.1", port=3306)
dbname為資料庫名,username為資料庫登入名,password為資料庫登入密碼,host為主機IP位址,port為端口号。
b) 擷取資料庫中所有表名
dbListTables(conn)
c) 執行sql語句(傳回資料框)
res=dbGetQuery(conn,”select * from user”)
data<-dbFet