このページでは,データフレーム形式の R システム付属データセットを扱います.
* 時系列、配列、緯度・経度は別の Web ページで説明します.
◆ 作成するSQLite 3 データベース: /tmp/opendata
このページでは,データベースの作成を行いますので, 作成するデータベースのデータベース名を決めておくこと. このページでは,次のように書く.
データベース名は,自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと,
「メタデータのテーブル定義,meta2sql.rb プログラム, R の Iris データセット」 の記述通りに行う
◆ bash プログラム
#!/bin/bash # generate CSV cat >/tmp/a.$$.r <<-RCOMMAND require(data.table) require(ggplot2) data.table(diamonds) str(diamonds) write.csv(diamonds, file="/tmp/diamonds.csv", row.names=FALSE) RCOMMAND cat /tmp/a.$$.r | r head /tmp/diamonds.csv
◆ bash プログラム
#!/bin/bash rm -f /tmp/a.$$.csv cat >/tmp/a.$$.csv <<-METADATA diamonds, 1, carat, real, ordered, diamonds, 2, cut, text, ordered-categorical, diamonds, 3, color, text, ordered-categorical, diamonds, 4, clarity, text, ordered-categorical, diamonds, 5, depth, real, ordered, diamonds, 6, tbl, real, ordered, diamonds, 7, price, integer, ordered, diamonds, 8, x, real, ordered, diamonds, 9, y, real, ordered, diamonds, 10, z, real, ordered, METADATA # cat >/tmp/a.$$.sql <<-SQL .mode csv .import /tmp/a.$$.csv metadata vacuum; SQL # cat /tmp/a.$$.sql | sqlite3 /tmp/opendata # echo "select * from metadata where table_name = 'diamonds';" | sqlite3 /tmp/opendata
/tmp/meta2sql.rb を使用し、テーブル定義 SQL プログラムを生成し実行する
◆ bash プログラム
#!/bin/bash echo 'drop table diamonds; ' > /tmp/a.$$.sql cat /tmp/a.$$.sql | sqlite3 /tmp/opendata ruby /tmp/meta2sql.rb /tmp/opendata metadata diamonds | tee /tmp/a.$$.sql cat /tmp/a.$$.sql | sqlite3 /tmp/opendata
◆ bash プログラム
#!/bin/bash # import table data cat >/tmp/a.$$.sql <<-SQL .mode csv .import /tmp/a.$$.csv diamonds vacuum; SQL # tail -n +2 /tmp/diamonds.csv > /tmp/a.$$.csv cat /tmp/a.$$.sql | sqlite3 /tmp/opendata # echo 'select * from diamonds limit 10;' | sqlite3 /tmp/opendata
◆ bash プログラム
#!/bin/bash # generate CSV cat >/tmp/a.$$.r <<-RCOMMAND require(data.table) require(datasets) data.table(Indometh) str(Indometh) write.csv(Indometh, file="/tmp/Indometh.csv", row.names=FALSE) RCOMMAND cat /tmp/a.$$.r | r head /tmp/Indometh.csv
◆ bash プログラム
#!/bin/bash rm -f /tmp/a.$$.csv cat >/tmp/a.$$.csv <<-METADATA Indometh, 1, Subject, integer, categorical, Indometh, 2, t, real, ordered, Indometh, 3, conc, real, ordered, METADATA # cat >/tmp/a.$$.sql <<-SQL .mode csv .import /tmp/a.$$.csv metadata vacuum; SQL # cat /tmp/a.$$.sql | sqlite3 /tmp/opendata # echo "select * from metadata where table_name = 'Indometh';" | sqlite3 /tmp/opendata
/tmp/meta2sql.rb を使用し、テーブル定義 SQL プログラムを生成し実行する
◆ bash プログラム
#!/bin/bash echo 'drop table Indometh; ' > /tmp/a.$$.sql cat /tmp/a.$$.sql | sqlite3 /tmp/opendata ruby /tmp/meta2sql.rb /tmp/opendata metadata Indometh | tee /tmp/a.$$.sql cat /tmp/a.$$.sql | sqlite3 /tmp/opendata
◆ bash プログラム
#!/bin/bash # import table data cat >/tmp/a.$$.sql <<-SQL .mode csv .import /tmp/a.$$.csv Indometh vacuum; SQL # tail -n +2 /tmp/Indometh.csv > /tmp/a.$$.csv cat /tmp/a.$$.sql | sqlite3 /tmp/opendata # echo 'select * from Indometh limit 10;' | sqlite3 /tmp/opendata
本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ)