玄関コンピュータの部屋オリジナルソフトコーナーDANS

ファイル名をクリックすると、そのファイルをダウンロードすることができます。

【DANS】

○データ解析用プログラムパッケージ DANS [Version 7.4]

ファイルdansディレクトリ:dans74.zip(2.1KB)funディレクトリ:fun22.zip(27.0KB)
matディレクトリ:mat43.zip(5.5KB)
libディレクトリ:lib74.zip(48.8KB)
ioディレクトリ:io74.zip(508.1KB)
parametディレクトリ:paramet74.zip(1.2MB)
nonparaディレクトリ:nonpara74.zip(460.0KB)
multiディレクトリ:multi74.zip(2.4MB)
lifeディレクトリ:life74.zip(378.1KB)
doseディレクトリ:dose74.zip(375.5KB)
timesディレクトリ:times74.zip(439.0KB)
detcディレクトリ:detc74.zip(723.7KB)
制作者名杉本典夫
動作環境LinuxのGNOME端末用
動作確認Ubuntu 22.04.4 LTS(64ビット)
開発言語g++ version 11.4.0(Ubuntu 11.4.0-1ubuntu1~22.04)
掲載月日2024年01月06日
転載そんな物好きがいたら大歓迎します!(^_^)v

DANS(Data ANalysis System)はUNIX/Linux上で作動するデータ解析用プログラムパッケージです。 このパッケージは基本的にコマンド方式のプログラム群であり、「単純さ」をモットーにしたシステムです。 そのため使い勝手はあまり良くありませんが、各種のコマンドをうまく組み合わせることによって高度な活用ができるように設計したつもりです。 DANSの概要はdetc74.zipに含まれているマニュアル(テキストファイル)dans.1を御覧ください。

・解凍方法

DANSのディレクトリは上表のようにdansの下にfun、mat、lib、io、paramet、nonpara、multi、life、dose、times、detcを並べた構成になっています。 上表中の各ZIPファイルをダウンロードしたらそれぞれのディレクトリに保存し、そこで解凍してください。

・ファイル内容

それぞれのディレクトリで各ZIPファイルを解凍すると次のようなファイルが復元されます。

・インストール方法

DANSをコンパイルしてインストールするには、あらかじめ次のソフトウェアがシステムにインストールされている必要があります。

Ubuntuの場合、次のコマンドを実行すればg++とmakeをインストールできると思います

$ sudo apt install build-essential
 または
$ sudo apt install g++
$ sudo apt install make

g++はversion11以上が必要なので、念の為に次のコマンドでg++のバージョンを確認しておきます。

$ g++ --version

さらに次のコマンドを実行すればboostをインストールできると思います

$ sudo apt install libboost-dev libboost-doc

上記のソフトウェアをインストールした後、dansディレクトリにあるinstall.bshファイルを編集してヘッダファイル(*.H)、ライブラリ(lib*.so.*)、実行ファイル(拡張子なし)、マニュアルファイル(*.1)のインストール先ディレクトリを指定します。 編集前のinstall.bshは次のように/usr/localの下の各ディレクトリが設定されています。 これらのディレクトリを自分のシステムに合わせて変更してください。

LINCDIR := /usr/local/include ← ヘッダファイルのインストール先ディレクトリ
LLIBDIR := /usr/local/lib ← ライブラリのインストール先ディレクトリ
LBINDIR := /usr/local/bin ← 実行ファイルのインストール先ディレクトリ
LMANDIR := /usr/local/man ← マニュアルファイルのインストール先ディレクトリ

Ubuntuの場合、ライブラリのインストール先ディレクトリは/etc/ld.so.conf.d/libc.confファイルに記載してあります。 また実行ファイルはPATHが通ったディレクトリにインストールしなければなりません。 PATHが通ったディレクトリは環境変数$PATHに記録されているので次のコマンドで確認することができます。

$ echo $PATH

マニュアルファイルのインストール先ディレクトリはmanコマンドが使用するディレクトリでなければなりません。 manコマンドが使用するディレクトリは次のコマンドで確認することができます。

$ man -w

通常、上記の各ディレクトリはroot(スーパーユーザー)だけがファイルをコピーすることができます。 そのため普通のユーザーではファイルをインストールできないので、install.bsh中でsudoコマンドによってパーミッションを変更してファイルをコピーできるようにしています。 これは次のようなコマンドを実行することによって手作業で行うこともできます。

$ cd /usr/local ← /usr/localの下に各ディレクトリがある時
$ sudo chmod -v a+wx include lib bin man
※sudoコマンドを実行するとユーザーのパスワードを尋ねてくる
※そこでパスワードを入力するとchmodコマンドを実行する
$ cd /usr/local/man
$ sudo mkdir cat1
$ sudo chmod -v a+wx cat1
※sudoを連続して実行するとパスワードを入力しなくても良い

install.bshを編集して各ディレクトリを設定したら、dansディレクトリでinstall.bshを実行します。 するとsudoコマンドを実行するためにユーザーのパスワードを尋ねてくるので、パスワードを入力してください。

パスワード入力後、ソースファイルがコンパイルされ、インクルードファイル、ライブラリ、実行ファイル、マニュアルファイルが各ディレクトリにインストールされるはずです。 ただしインストール先のディレクトリがすでに整備されているとsudoコマンドを実行しないので、パスワードを入力しなくてもインストールされます。

インストール後、次のようなコマンドを自動的に実行してライブラリをロードするためのローダー用キャッシュを再設定します。 ただしインストール先のディレクトリがすでに整備されていたのでパスワードを入力しなかった時は、このコマンドを実行する時にパスワードの入力が必要です。

$ sudo ldconfig

install.bshを使わず、各ディレクトリごとにプログラムをインストールしたり、コンパイルしたりできます。 例えばdetcディレクトリ中のプログラムだけをインストールするには、detcディレクトリに入ってmake installコマンドを実行します。

$ cd detc
$ make install

detcディレクトリの中のプログラムをコンパイルだけして、インストールしない時は次のようなコマンドを実行します。

$ make

・プログラムのテスト方法

DANSの各コマンドをテストしたい時は、そのコマンドの実行ファイルが入っているディレクトリで「<コマンド名>.bsh」ファイルを実行します。 どのコマンドがどのディレクトリに入っているかはdetcディレクトリにあるdans.1を見るか、dansコマンドまたはman dansコマンドを実行します。

$ dans
 または
$ man dans

例えばdmainコマンドをテストしたい時は、detcディレクトリに入ってdmain.bshを実行します。

$ cd detc
$ ./dmain.bsh

この結果、ディレクトリにあるテストデータを用いてdmainを実行し、出力された結果をディレクトリにある正しい出力結果と比較します。 比較した結果はdiff.logファイルに保存されるので、例えばテキストファイル表示コマンドlessを使ってdiff.logの内容を確認します。

$ less diff.log

この結果、次のような内容が表示されれば正しい結果が出力されています。

・dmain_def.txtとdmain_def_v02.txtの比較
・dmain_dns.d.bakとdmain_dns.dの比較
・dmain_ngp.dat.bakとdmain_ngp.datの比較
・dmain_dopt_v02.txtとdmain_fopt_v02.txtの比較
・dmain_dopt_v02.dとdmain_fopt_v02.dの比較
・dmain_dopt_v02.datとdmain_fopt_v02.datの比較
・dmain_dopt_v02.txtとdmain_env_v02.txtの比較
・dmain_dopt_v02.dとdmain_env_v02.dの比較
・dmain_dopt_v02.datとdmain_env_v02.datの比較
・dmain_dopt.txtとdmain_dopt_v02.txtの比較
・dmain_dopt.dとdmain_dopt_v02.dの比較
・dmain_dopt.datとdmain_dopt_v02.datの比較
・dmain_fopt.txtとdmain_fopt_v02.txtの比較
・dmain_fopt.dとdmain_fopt_v02.dの比較
・dmain_fopt.datとdmain_fopt_v02.datの比較
・dmain_env.txtとdmain_env_v02.txtの比較
・dmain_env.dとdmain_env_v02.dの比較
・dmain_env.datとdmain_env_v02.datの比較

原則として、DANSの各コマンドは「-h」オプションを付けて実行するとマニュアルを表示します。 例えばdmainのマニュアルを表示したい時は次のように実行します。

$ dmain -h

また「-?」オプションを付けて実行するとコマンドの概略を表示します。 例えばdmainの概略を表示したい時は次のように実行します。

$ dmain -?

原則として、DANSのコマンドは<コマンド> <オプション> <データファイル>という形式で実行します。 しかし<データファイル>を指定せずに、データファイル処理コマンドとパイプ「|」で接続してデータ処理コマンドの出力結果を各コマンドに直接入力することもできます。 例えばDANSデータファイル「uso800.dns」の全項目の基礎統計量を求める場合と、selコマンドでuso800.dnsの項目番号2と項目番号4〜6のデータを選択し、それをstatistコマンドに直接入力して基礎統計量を求める場合は、それぞれ次のコマンドを実行します。

$ statist uso800.dns
$ sel -i=2,4-6 uso800.dns | statist

パイプ「|」で接続せずに<データファイル>を指定しないと、コマンドが標準入力からのデータを待ち続けます。 そのためコンピュータが止まってしまったように見えるので注意してください。

$ statist ← 端末の画面がこのまま止まってしまうので注意!