memo_データの読み込み
■CSVファイルへの接続
cvs は default で 使えるので
> data=read.csv("BUN-Cr.csv", header=TRUE, sep=",")
で,データは入る.sep オプションは不要?
BUN, Cr とも NA でも NA として取り込まれる
■Excel ファイルへの接続
Excel ファイルのまま読み込むなら以下
> install.packages("gdata")
> library(gdata)
>
data2=read.xls("BUN-Cr.xls")
では,エラーになる
> install.pakages('openxlsx')
> library(openxlsx)
> data <-
read.xlsx("BUN-Cr.xlsx")
なら大丈夫
BUN, Cr とも NA なら 取り込まれない
以下古くて不確実
■MSSQLへの接続
R Interactive から 大文字小文字区別するので注意
RODBC でいく
>
install.packages("RODBC")
> library(RODBC)
> cn <-
odbcDriverConnect(connection="Driver={SQL
Server};server=suMSSQL.camp.local;DATABASE=Kidney;UID=sa;PWD=*;")
> dataset
<- sqlQuery(cn,"SELECT CODE, BUN, CREAT FROM DATA WHERE CODE<='00005'")
>
dataset (これでデータ表示)
Rx系でいく
(ref:https://msdn.microsoft.com/ja-jp/library/mt732689.aspx)
RevoScaleR
を使う
?
> sqlServerConnString <-
"SERVER=suMSSQL;DATABASE=Kidney;UID=sa;PWD=*;"
> dsSqlServerData <-
RxSqlServerData(sqlQuery = "SELECT CODE, BUN, CREAT FROM DATA", connectionString
= sqlServerConnString)
sqlcmd などから
SQLに 埋め込む
■MySQLへの接続
そのまえに VS で パッケージを導入してあるつもりなのだが...
> install.packages("DBI")
>
install.packages("RMySQL")
> require("RMySQL")
> con <-
dbConnect(MySQL(), host="suMySQL.camp.local", port=3306, dbname="Kidney",
user="root", password="*")
>dataset <- dbGetQuery(con, "set names cp932")
> dataset <- dbGetQuery(con, "SELECT BUN, CREAT FROM DATA")
■MSACCESSへの接続
kidney2016.accdb を ODBC 経由でアクセスできるようにしておく.
ここでは接続名は con2kidney2016
--Rguiで
メニュー - パッケージ - RODBC を インストール
> library(RODBC)
> db =
odbcConnect("con2kidney2016")
> ds = sqlQuery(db, "select * from dbo.DATA
where CODE='00001'")
> ds
これでデータが見える(に違いない)
> ds$HCT (ds$hct では NG)
で HCT の一覧
> ds = sqlQuery(db, "select HCT from DATA where HCT>0")
> ds
> mean(ds$HCT)
NAのまま読み込むなら
> ds = sqlQuery(db, "select HCT from DATA")
で,集計するときに
>
mean(ds$HCT, na.rm=TRUE)
> class(ds) で data.frame形式で取得できていることがわかる