RでEXCELのファイルを読む
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*COLOR(red){SIZE(20){RでExcelのファイルを読む}} [#e0b2e363]
([[RODBC]],[[RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧]]を参照)
RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。~
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。
xlsxファイルについては→[[Excel2007ファイルの読み書き]]
**使用例 [#ga3ffc67]
> 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)
*** odbcConnectExcel [#wa8fb9fa]
ファイル名を与えるとき、お手軽でよい。
ファイルを任意に選びたいときは、odbcConnect("Excel Files") とすると、ブックの選択
ダイヤログが出てくるので便利である。
-使用例~
[[(Rで学ぶ)データマイニング1 データ解析の視点から (熊谷 悦生著, 舟尾 暢男著):http://www.amazon.co.jp/dp/4861671760]]九天社に利用例あり。
*** sqlQuery [#oe0dc84f]
TABLE_NAME はシート名の事。
列を選択したいときは、たとえば、1列目に"都道府県,人口"としてあるなら、
sqlQuery(conn,"select [都道府県],[人口] from [都道府県別人口$]"
で読めるはずである。
*** read.xls [#pa0d3442]
Windows の場合は Active Perl が必要で、read.xls 使用時には以下のように、Perl のパス名を指定する。デフォルトでは、1番目のシートを読み込む。残念ながら、Windowsでは日本語未対応のようだ。
-使用例
>library(gdata)
>jpnpop <- read.xls("d:/home/hoge/2003都道府県別人口.xls", perl="C:/perl/bin/perl.exe")
*** xlsReadWrite [#z9c6ff2a]
ネィティブの xls ファイルの読み書きが可能。日本語に対応。
***dataframes2xls [#a1ab8346]
データフレームを XLS ファイルに書き込む
-使用例~
[[(Rで学ぶ)データマイニング1 データ解析の視点から (熊谷 悦生著, 舟尾 暢男著):http://www.amazon.co.jp/dp/4861671760]]九天社に利用例あり。
*** 注意 [#q25841b0]
日本語を扱う場合は日本語パッチが必要。~
運が悪いと落ちるので、こまめにセーブ。~
カラムの一覧はよくわからない。~
# たしか、ODBCって元々弱かったと思うのだけど。~
*** 参考サイト [#y938c988]
-[[エクセルデータのcsvファイルによるインポート]]
*** 他の情報も求む。 [#xd289dc3]
- Rコマンダーのメニューから、データ→データのインポート→Excel、Access、dBaseのデータセットからを選択し、データセット名をつけて、ファイルを選択すれば、読み込めるはずです。 -- [[おたに]] &new{2007-04-17 (火) 10:28:43};
- Rコマンダーの〔データのインポート→Excel、Access、dBaseのデータセット〕は、裏で RODBC が動いています。 -- &new{2007-05-1 (火) 13:28:43};
- 確かにそうですね。Rを広めるためにはRコマンダーを使って、読み込む方法を書き込んだほうがよいかな、と思ったので。 -- [[おたに]] &new{2007-05-01 (火) 20:08:26};
- r-help 記事より引用 (2007-08-12)
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)
- データ→データのインポートと進んでもテキスト、SPSS、Minitab、Stataのデータセットのみが表示され、「Excel、Access、dBase」がでないのはなぜでしょうか -- &new{2007-09-16 (日) 16:54:22};
- 普通は出ますよ。バージョンが古いのでは??~
[[統計解析フリーソフト R 入門:http://cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf]] あたりをごらんください。 -- &new{2007-09-16 (日) 20:04:27};
- Rcommanderについては、Windows(普通?)ではないOSをご利用の方は、エクセル等を読むことができないのだと思います。うちのPCでも、Windowsでは「Excel、Access、dBase」メニューが出ますが、ubuntuでは出ません。Rcommanderが使用しているRODBCが(ちなみにxlsReadWriteも)Windowsでしかエクセルを読まないことが、その理由でしょう。cf. R Data Import/Export Version 2.5.1 (2007-06-27)の26ページ。 -- &new{2007-09-22 (土) 13:22:13};
- なるほど。Linux版Rcommanderには「Excel、Access、dBase」メニューが出ないんですね。 -- &new{2007-09-23 (日) 17:46:02};
#comment
終了行:
*COLOR(red){SIZE(20){RでExcelのファイルを読む}} [#e0b2e363]
([[RODBC]],[[RODBC(ODBCデータベース・アクセス)パッケージ中のオブジェクト一覧]]を参照)
RODBCを使い、ODBC経由でEXCEL(.xls)のデータを読み込みます。~
これで日本の多くの統計情報(なぜかEXCELでの提供が多い)が扱えると思います。
xlsxファイルについては→[[Excel2007ファイルの読み書き]]
**使用例 [#ga3ffc67]
> 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)
*** odbcConnectExcel [#wa8fb9fa]
ファイル名を与えるとき、お手軽でよい。
ファイルを任意に選びたいときは、odbcConnect("Excel Files") とすると、ブックの選択
ダイヤログが出てくるので便利である。
-使用例~
[[(Rで学ぶ)データマイニング1 データ解析の視点から (熊谷 悦生著, 舟尾 暢男著):http://www.amazon.co.jp/dp/4861671760]]九天社に利用例あり。
*** sqlQuery [#oe0dc84f]
TABLE_NAME はシート名の事。
列を選択したいときは、たとえば、1列目に"都道府県,人口"としてあるなら、
sqlQuery(conn,"select [都道府県],[人口] from [都道府県別人口$]"
で読めるはずである。
*** read.xls [#pa0d3442]
Windows の場合は Active Perl が必要で、read.xls 使用時には以下のように、Perl のパス名を指定する。デフォルトでは、1番目のシートを読み込む。残念ながら、Windowsでは日本語未対応のようだ。
-使用例
>library(gdata)
>jpnpop <- read.xls("d:/home/hoge/2003都道府県別人口.xls", perl="C:/perl/bin/perl.exe")
*** xlsReadWrite [#z9c6ff2a]
ネィティブの xls ファイルの読み書きが可能。日本語に対応。
***dataframes2xls [#a1ab8346]
データフレームを XLS ファイルに書き込む
-使用例~
[[(Rで学ぶ)データマイニング1 データ解析の視点から (熊谷 悦生著, 舟尾 暢男著):http://www.amazon.co.jp/dp/4861671760]]九天社に利用例あり。
*** 注意 [#q25841b0]
日本語を扱う場合は日本語パッチが必要。~
運が悪いと落ちるので、こまめにセーブ。~
カラムの一覧はよくわからない。~
# たしか、ODBCって元々弱かったと思うのだけど。~
*** 参考サイト [#y938c988]
-[[エクセルデータのcsvファイルによるインポート]]
*** 他の情報も求む。 [#xd289dc3]
- Rコマンダーのメニューから、データ→データのインポート→Excel、Access、dBaseのデータセットからを選択し、データセット名をつけて、ファイルを選択すれば、読み込めるはずです。 -- [[おたに]] &new{2007-04-17 (火) 10:28:43};
- Rコマンダーの〔データのインポート→Excel、Access、dBaseのデータセット〕は、裏で RODBC が動いています。 -- &new{2007-05-1 (火) 13:28:43};
- 確かにそうですね。Rを広めるためにはRコマンダーを使って、読み込む方法を書き込んだほうがよいかな、と思ったので。 -- [[おたに]] &new{2007-05-01 (火) 20:08:26};
- r-help 記事より引用 (2007-08-12)
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)
- データ→データのインポートと進んでもテキスト、SPSS、Minitab、Stataのデータセットのみが表示され、「Excel、Access、dBase」がでないのはなぜでしょうか -- &new{2007-09-16 (日) 16:54:22};
- 普通は出ますよ。バージョンが古いのでは??~
[[統計解析フリーソフト R 入門:http://cwoweb2.bai.ne.jp/~jgb11101/files/R-commander.pdf]] あたりをごらんください。 -- &new{2007-09-16 (日) 20:04:27};
- Rcommanderについては、Windows(普通?)ではないOSをご利用の方は、エクセル等を読むことができないのだと思います。うちのPCでも、Windowsでは「Excel、Access、dBase」メニューが出ますが、ubuntuでは出ません。Rcommanderが使用しているRODBCが(ちなみにxlsReadWriteも)Windowsでしかエクセルを読まないことが、その理由でしょう。cf. R Data Import/Export Version 2.5.1 (2007-06-27)の26ページ。 -- &new{2007-09-22 (土) 13:22:13};
- なるほど。Linux版Rcommanderには「Excel、Access、dBase」メニューが出ないんですね。 -- &new{2007-09-23 (日) 17:46:02};
#comment
ページ名: