Igor

wavestasで限られた範囲内での統計量を見る. wavestats /r=(0,10) wave1 V_npnts= 11; V_numNaNs= 0; V_numINFs= 0; V_avg= 0.065286; これまで wavestats wave1[0,10]とかやってもダメだなー,と思っていたら,wavestats のオプションで/r [rangeのこと]で…

IgorのCurve Fittingについて詳細を読んでみる.基本は最小二乗法で計算しているようだ.で,非線形の場合は,Levenberg-Marquardt (レーベンバーグ・マカート)algorithmで解いている.Levenberg-Marquardt algorithmは,Gauss-Newton法と最急降下法を合わせ…

[Igor] マニアックなコマンドだけれども,グリッド線の範囲を15%から100%にしたいとき. ModifyGraph gridEnab={0.15,1} gridEnab={lowFrac,highFrac} Restricts the length of axis grid lines to a subrange of normal. The grid is drawn from lowFrac to…

軸名をテキスト形式にした,バーを作りたい場合,以下のようなwaveを作って, User Ticks from WavesでLabelにテキスト,Locationsにwave1を入れる. textWave1 wave1 Mon. 0.5 Tue. 1.5 Wed. 2.5 Thu. 3.5 Fri. 4.5 Sat. 5.5 Sun. 6.5

単位根検定 library(tseries) a <- PP.test(x) b <- adf.test(x) ave <- round(mean(x),digits=5) std <- round(sd(x),digits=5) a2 <- PP.test(z) b2 <- adf.test(z) ave2 <- round(mean(z),digits=5) std2 <- round(sd(z),digits=5) out <- paste(commandA…

対数の底がnの計算をするには,log_n(X)=log(X)/log(n)を使って計算すればよい.IGOR Pro リファレンス

中央値 print StatsMedian(wave4)

Igorのコラムは最初が0なのだが,100から200カラムだけ1のフラグをたてたい場合, make /n=1000 wave0 wave0=1000 wave0[100,200]=1でできた.簡単なのに知らなかった.

自動で読み込んでは書く。 LoadWave /A/O/J/D/W/K=0/P=Up/R={English,2,2,2,2,"Year-Month-DayOfMonth",40}/V={"\t, "," $",0,0} "1.csv" SavePICT/EF=1/E=-3/M/W=(0,0,14,7.5)/P=Up/O as "1.eps"

グラフの日付の表示形式を任意のものにかえたい場合は、Modify Axis > Ticks & Grids > Date/Time Tick Labels で調整できる。例えば、Yearだけ表示させるように変更するには、以下のコマンド。 ModifyGraph dateInfo(bottom)={0,0,-1},dateFormat(bottom)={…

コマンドライン上での保存 NewPath path1 "Macintosh HD:Users:sano:Work:20100527:Figs:" SavePICT/EF=1/E=-3 /P=path1 /O as "1.eps"詳しくはHPで。

相関係数(ピアソンの積率相関係数) StatsLinearCorrelationTest wave0,wave1 オプション /ALPH = val 有意水準を設定します(デフォルトの val=0.05)。 /CI 相関係数の信頼区間を計算します。 /Q 履歴エリアに結果を出力しません。 /RHO=rhoValue 相関が 0 …

2つのwaveを結合(combine)する。 wave0とwave1をくっつけて、新しくwave3を作る。 wave3がなければ、新たに作成されるし、 既存していれば、上書きされる。(/oオプション) /oオプションがなければ、wave3の続きにデータが入る。 concatenate /o {wave0,wav…

独自関数を設定してフィッティング New Fit Functionを選択して、Fit coefficientsにパラメータにしたいアルファベット、 Independent variablesに変数となるアルファベットを入れて、設定する。(図)

目盛に任意のテキストを使う。 gnuplotでいうところの、 set xtics ("Dec-06" 44, "Apr-07" 165, "Aug-07" 287, "Dec-07" 409,"Apr-08" 531,"Aug-08" 653, "Dec-08" 775, "Apr-09" 896, "Aug-09" 1016) と、同じことをIgorで実現するには、 新しくテーブルwa…

ピアソンの相関係数を出すプロシージャ。 #pragma rtGlobals=1 // Use modern global access method. function cor(w1,w2) Wave w1 Wave w2 Variable npnts1, avg1, sdv1 Variable npnts2, avg2, sdv2 Variable sumdif WaveStats/Q w1 npnts1 = V_npnts avg1…

1つのwaveをキーにして、他のwaveも並べ替える。 wave1、wave2、wave3があって、wave1の降順(/Rオプション)に並べ替えるが、 その時にwave2やwave3も横にリンクしたまま並べ替える。 sort /R wave1 wave1,wave2,wave3 カンマで区切ってつなげるだけでできる。

インプットデータを累積に直すプロシージャ。 #pragma rtGlobals=1 // Use modern global access method. Function SumWave(InputName) String InputName String NameOfWave Wave w1=$InputName Variable i,j NameOfWave="Sum"+InputName Duplicate w1, $Nam…

 変数を表示

wave1のカラム数を数えて、表示 wavestats /Q wave1 print V_npnts /Qで結果を表示しない、というオプション。 print wave1[10]で、wave1の10カラム目を表示、という意味。

Tips

コロモゴロフ-スミルノフ検定 Kolmogorov–Smirnov testIgorの中に組み込まれているKStest関数を使う。 例えば、wave1に実データ、wave2には実データが従う累積分布関数の理想値を入れて、 statsKStest wave1,wave2 とすれば、結果が、 alpha = 0.05 N1 = 183…

Stats関数 Igorで扱える統計検定 グラフの桁数表示方法の変更 Computed Manual Ticksにして、Major tick marksを変更する。下二桁まで小数点表示したい場合は、Tick incrementを0.01、Digits after dpを2とすればよい。 例)をというような表記にする。 Modi…

Tips

サブウィンドウを埋め込む

Graph の Show Toolsを選択 ここからToolモードで操作 右クリックして、New、Graphを選択 wave名を指定して追加 サブグラフの大きさや位置を調節 ここからGraphモードで操作 黄色い破線が選択された状態で、サブグラフの色や凡例を調整

 桁を丸める

wave0に入っている数値を小数点以下2桁に丸める場合。 wave0=round(wave0*100)/100

LoadWaves,CurveFit

Loadwave/G/O/W/A S_path+"Sample.csv" 一般テキストファイル[/G]Sample.csvを、 直前に使ったパス(S_pathは自動で作られる。print S_pathで確認できる。)から読み込む。 このとき、ファイルからウェーブ名を取得し[/W ]、既存ウェーブに上書き[/O ]し、 い…

 Load Waves

[InputFile]が「日付、数量」というデータがある場合の読み込み。 例) 2007/01/01 10 2007/01/02 13 : : 2007/12/31 9 Data > Load Waves > Load Waves > Tweaks > (Date Format) Other > (select)とすると、一度に日付と数量両方読み込める。 または、Data…

Tips

外部ファイルにウェーブを出力 プロシージャの中に以下の記述をする。 Variable f1 Open f1 as "OutputFile" fprintf f1, "CDF\tFrequency\n" wfprintf f1, "" rank_wave1,wave1 Close f1 OutputFile.txtというテキストファイルに、 CDFとFrequencyというヘ…

Tips

ユーザ定義関数呼び出し 独自関数を作成して、使う。 [1] Window -> New -> Procedure にプログラムを書く。 例えば累積密度関数を書く場合。 #pragma rtGlobals=1 // Use modern global access method. //Cumulative Distribution Function Cumulative(Inpu…

Tips

累積密度分布 読み込みウェーブ名をFreqとする。 sort /r Freq Freq duplicate Freq Rank wavestats Freq Rank = (P+1)/V_npnts display Rank vs Freq#Add Exponential Function duplicate Freq Func Func = exp(-x/V_avg) appendtograph Func グラフSub Win…