人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

5000*500の行列データを扱いたいのですが,よい方法を教えてください。具体的に困っているのは,Access2000のクエリでクロス集計をしたいのですが,列の数が多すぎてできません。Excelでは最大の列数が256列なので,ピポットテーブル集計もできません。

●質問者: mikam
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:Excel クエリ クロス データ 行列
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● haru
●10ポイント

http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E8%A1%...

まともな回答が出来ないのでポイントは遠慮します。

もしそれが自然を相手にしたデータなら行列内にびっしりデータがあるのではなく、対角線を中心に分布しているはずです。

そんな行列をスパースマトリックス(疎行列)と言いますが、そのような場合はデータが存在するだけの配列を用意すればいいので使用するメモリを節約できます。

こんな回答で助けになりますでしょうか?

◎質問者からの返答

たしかに疎行列なのですが…。具体的な方法をお願いします。


2 ● kaerukerojet
●15ポイント

http://www.postgresql.jp/

NPO法人 日本PostgreSQLユーザ会

DBならPostgreSQLを使ってはどうでしょ?excelがいいのでしょうか。

◎質問者からの返答

別にExcelでなくてもいいのですが…。別のアプリを使うしかないのでしょうか?


3 ● khayashi
●15ポイント

http://www.r-project.org/

The R Project for Statistical Computing

rという無料で使える統計パッケージがお薦めです。

> bigmat<-matrix(1:2500000,500,5000)

> bigmat2<-matrix(1:2500000,5000,500)

> rcan<-bigmat%*%bigmat2

のように簡単に大きな行列の計算もできます。日本語での説明は以下をご覧ください。

http://www.okada.jp.org/RWiki/

RjpWiki - RjpWiki

◎質問者からの返答

Rは持っています。少し調べてみます。


4 ● pahoo
●15ポイント

http://www.spss.co.jp/product/ALL/base/index.htm

そのくらいの巨大データになると、本格的な統計解析ソフトを導入すべきだと思います。たとえばSPSSなどはいかがでしょうか。

◎質問者からの返答

実はSPSSも持っています。でも,恥ずかしながら方法がよく分からないのです。


5 ● salvatore
●25ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

URLはダミーです。

テーブルを二つに分けて結合して集計してはいかがでしょう?

手元にAccess2000が無いので確認が取れてませんが、SQLServer2000では問題なさそうです。

tbl1とtbl2を作成して、tbl1にはcol1-250、tbl2にはcol251-500というように250カラム

づつあるテーブルを作成します。

select tbl1.*,tbl2.* from tbl1, tbl2

where ...

キーとなるカラムように双方のテーブルに1つキーをつければ大丈夫かと思います。

◎質問者からの返答

少し調べてみます。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ