天天看點

R語言接口基礎(三)

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
           
R語言接口基礎(三)

繼續閱讀