⑴ 如何用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語言提取數字
首先,既然你要畫殘差(resial)的qqplot 那一定要先做回歸。
你沒說明回歸自變數和因變數都是什麼,假設第二列是因變數pressure[2],第三列是自變數pressure[3]
1.回歸
>lm.fit<-lm(pressure[2]~1+pressure[3])
2.做qq圖
這里不用qqplot這個指令,用qqnorm和qqline就好
>qqnorm(lm.fit$res)
>qqliine(lm.fit$res)
提取?就直接write.table()
比如你要第二列和第三列
>write.table(pressure[c(2,3)],file="c:\test.txt",quote=F,row.names=F,sep="\t")
第一個參數pressure[c(2,3)]是你要提取的變數
第二個參數file= 是你要存放的地址和文件名
第三個參數quote=F 是你打出來的數字都沒有引號(默認是字元型)
第四個參數row.names=F 是不要行名稱(為什麼不要?自己試試就知道了)
第五個參數sep="\t" 每列數據之間空一個tab的距離,也就是8個位元組,清晰明了。