(RODBC,RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧を参照)
RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。
xlsxファイルについては→Excel2007ファイルの読み書き
> library(RODBC) > conn <- odbcConnectExcel("d:/home/hoge/2003都道府県別人口.xls") > # テーブル(シートの一覧) > sqlTables(conn) TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE 1 d:\\home\\hoge\\2003都道府県別人口 <NA> 都道府県別人口$ SYSTEM TABLE REMARKS 1 <NA> > tbl<-sqlQuery(conn,"select * from [都道府県別人口$]" ) > is.data.frame(tbl) [1] TRUE > barplot(tbl$人口/10000,main="都道府県別人口",ylab="万人",names=as.vector(tbl$都道府県),las=3) > odbcClose(conn)
ファイル名を与えるとき、お手軽でよい。 ファイルを任意に選びたいときは、odbcConnect("Excel Files") とすると、ブックの選択 ダイヤログが出てくるので便利である。
TABLE_NAME はシート名の事。 列を選択したいときは、たとえば、1列目に"都道府県,人口"としてあるなら、 sqlQuery(conn,"select [都道府県],[人口] from [都道府県別人口$]" で読めるはずである。
Windows の場合は Active Perl が必要で、read.xls 使用時には以下のように、Perl のパス名を指定する。デフォルトでは、1番目のシートを読み込む。残念ながら、Windowsでは日本語未対応のようだ。
>library(gdata) >jpnpop <- read.xls("d:/home/hoge/2003都道府県別人口.xls", perl="C:/perl/bin/perl.exe")
ネィティブの xls ファイルの読み書きが可能。日本語に対応。
データフレームを XLS ファイルに書き込む
日本語を扱う場合は日本語パッチが必要。
運が悪いと落ちるので、こまめにセーブ。
カラムの一覧はよくわからない。
# たしか、ODBCって元々弱かったと思うのだけど。
There are also some notes about this in the R Data Import/Export manual: http://cran.r-project.org/doc/manuals/R-data.html#Reading-Excel-spreadsheets But I've gathered the following examples from the R-help mailing list archives [in addition to the option of saving the spreadsheet as a .csv file and reading it in with read.csv()]. Personally, I use option 4 regularly (I happened to have Perl installed on my Windows XP machine already) and have had good luck with it. Hope this helps. ========= Option 1 ========= # SIMPLEST OPTION install.packages(xlsReadWrite) library(xlsReadWrite) data = read.xls("sampledata.xls",sheet=1) ========= Option 2 ========= # ALSO SIMPLE BUT MORE MANUAL WORK EACH TIME # (1) highlight region in Excel you want to import and data = read.delim(file="clipboard",header=TRUE) # or, if you don't have a header, data = read.delim(file="clipboard",header=FALSE) ========= Option 3 ========= # RODBC IS A BIG APPLICATION, FOR INTERFACING # WITH MANY TYPES OF FILES/SERVERS install.packages(RODBC) library(RODBC) fid <- odbcConnectExcel("sampledata.xls") data <- sqlFetch(fid,"Sheet1") close(fid) ========= Option 4 ========= # REQUIRES CONCURRENT INSTALLATION OF PERL install.packages(gdata) library(gdata) data = read.xls("sampledata.xls",sheet=1)