如何讓r語言能夠讀寫sql server裡的資料
一、 安裝rodbc庫
1、進入r語言的gui界面(rgui.exe),在菜單欄選擇“程式包/安裝程式包”(如圖)
2、在彈出的視窗裡往下拉,選擇rodbc如圖,點選确定
3、在odbc資料源管理器裡将需要的資料庫添加進去,這裡筆者使用的是sql server2008,驅動程式選擇native client10.0
3、在r語言視窗輸入連接配接語句
> library(rodbc)
**這裡是載入rodbc庫
> channel<-odbcconnect(“mytest”,uid=”ripley”,case=”tolower”)
**連接配接剛才添加進資料源的“mytest”資料庫
**ch <- odbcconnect(“some dsn “, uid = “user “, pwd = “**** “)
**表示使用者名為user,密碼是****,如果沒有設定,可以直接忽略
> data(usarrests)
**将“usarrests”表寫進資料庫裡(這個表是r自帶的)
> sqlsave(channel,usarrests,rownames = “state”,addpk = true)
**将資料流儲存,這時候打開sql server就可以看到建立的usarrests表了
> rm(usarrests)
> sqltables(channel)
**給出資料庫中的表
> sqlfetch(channel,”usarrests”,rownames = “state”)
**輸出usarrests表中的内容
> sqlquery(channel,”select * from usarrests”)
**調用select查詢語句并傳回結果(如圖)
> sqldrop(channel,”usarrests”)
**删除表
> odbcclose(channel)
**最後要記得關閉連接配接
當然,通過這個辦法也可以讀取excel、access表中的内容,具體方法類似,這裡不再重複