r寫入資料庫
Ⅰ 如何用r語言抓取資料庫中的資料庫
一、 安裝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表中的內容,具體方法類似,這里不再重復
Ⅱ 如何在R語言中讀入數據和導出存儲數據
1.R數據的保存與載入
可通過save()函數保存為.Rdata文件,通過load()函數將數據載入到R中。
[ruby]view plain
>a<-1:10
>save(a,file='d://data//mData.Rdata')
>rm(a)#將對象a從R中刪除
>load('d://data//mData.Rdata')
>print(a)
[1]12345678910
- 2.CSV文件的導入與導出
>var1<-1:5
>var2<-(1:5)/10
>var3<-c("Rand","DataMining","Examples","Case","Studies")
>df1<-data.frame(var1,var2,var3)
>names(df1)<-c("VariableInt","VariableReal","VariableChar")
>write.csv(df1,"d://data//mmmyData.csv",row.names=FALSE)
>df2<-read.csv("d://data//mmmyData.csv")
>print(df2)
110.1Rand
220.2DataMining
330.3Examples
440.4Case
550.5Studies
- 3.通過ODBC導入與導出數據
library(RODBC)
connection<-odbcConnect(dsn="servername",uid="userid",pwd="******")
query<-"SELECT*FROMlib.tableWHERE..."
#orreadqueryfromfile
#query<-readChar("data/myQuery.sql",nchars=99999)
myData<-sqlQuery(connection,query,errors=TRUE)
odbcClose(connection)
- sqlSave()和sqlUpdate()用於寫入或更新一個ODBC資料庫表。
library("RODBC")
conn<-odbcConnectExcel("D:/data/Amtrak.xls")
Amtrak<-sqlFetch(conn,"Data")
close(conn)
下面創建df1的數據框,通過函數write.csv()保存為一個.csv文件,然後通過read.csv()將df1載入到數據框df2中。
[ruby]view plain
RODBC提供了ODBC資料庫的連接。
3.1從資料庫中讀取數據
odbcConnect()建立一個資料庫連接,sqlQuery()向資料庫發送一個SQL查詢,odbcClose()關閉資料庫連接。
[ruby]view plain
3.2從Excel文件中導入與導出數據
[ruby]view plain