タイプ別に代表的な関数をご紹介します。各関数の説明と使用例を併記しております。
使用例をコピーしてコマンドウィンドウやDoファイルに貼り付けて実行いただくことで実際の処理をご確認いただけます。
データをインポートした際に日付値が文字列型で読み込まれた時や日次の日付値を月次に変換したい場合など日付値を操作するには日時関数を使用します。
日次の日付値は1960年1月1日からの経過日数が格納されます。このため、関数の戻り値をそのまま出力した場合、整数値が表示されます。日付を確認する場合は、
表示形式を指定する必要があります。
使用例では、displayコマンドで表示形式を指定していますが、変数に対して表示形式を指定するにはformatコマンドを使用します。
項番 | 関数 | 説明 | 使用例 |
---|---|---|---|
1 | date (引数1 , 引数2) | 年月日の文字列から日次の日付値を算出します。 引数1: 年月日を表す文字列 引数2: 年月日の並びを指定する文字列 |
|
2 | mdy (引数1 , 引数2 , 引数3) | 月、日、年の順に数値を指定して、日付値を算出します。 引数1: 月(1~12) 引数2: 日(1~12) 引数3: 年(1800~2100) |
|
3 | age (引数1 , 引数2 ) | 生年月日と基準日を指定して、基準日における年齢(整数) を返します。 引数1: 生年月日 引数2: 基準日 |
|
4 | age_frac (引数1 , 引数2 ) | 生年月日と基準日を指定して、基準日における年齢(実数) を返します。 引数1: 生年月日 引数2: 基準日 |
|
5 | Clock (引数1 , 引数2 ) | 年月日と時間を指定してうるう秒を考慮した 日時値を算出します。 引数1: 年月日と時間を表す文字列 引数2: 年月日と時間の並びを指定する文字列 |
|
6 | clock (引数1 , 引数2 ) | 年月日と時間を指定してうるう秒を考慮していない 日時値を算出します。 引数1: 年月日と時間を表す文字列 引数2: 年月日と時間の並びを指定する文字列 |
|
7 | Cofc (引数1) | うるう秒を考慮していない日時値を指定して、 うるう秒を考慮した日時値を算出します。 引数1: 日時値 |
|
8 | Cofd (引数1) | 日付値を指定して、うるう秒を考慮した日時値を算出します。 引数1: 日次の日付値 |
|
9 | day (引数1) | 日付値を指定して、日を取り出します。 引数1: 日次の日付値 |
|
10 | dow (引数1) | 日付値を指定して、曜日を返します。 日曜日: 0, 月曜日: 1, …, 土曜日:6 引数1: 日次の日付値 |
|
11 | doy (引数1) | 日付値を指定して、その年の何日目かを返します。 引数1: 日次の日付値 |
|
12 | hh (引数1) | 日時値を指定して、時間を返します。 引数1: うるう秒を考慮していない日時値 ※うるう秒を考慮した日時値に対してはhhC関数を使用します。 |
|
13 | mdyhms (引数1, 引数2, …, 引数6) | 年、月、日、時、分、秒を指定して、日時値を返します。 引数1: 月 引数2: 日 引数3: 年 引数4: 時 引数5: 分 引数6: 秒 |
|
14 | mm (引数1) | 日時値を指定して、分を返します。 引数1: うるう秒を考慮していない日時値 ※うるう秒を考慮した日時値に対してはmmC関数を使用します。 |
|
15 | mofd (引数1) | 日次の日付値を指定して、月次の日付値を返します。 引数1:日次の日付値 |
|
16 | month (引数1) | 日次の日付値を指定して、月を返します。 引数1: 日次の日付値 |
|
変数を対数変換する場合や四捨五入の処理など数学的な処理を行うには数学関数を使用します。
項番 | 関数 | 説明 | 使用例 |
---|---|---|---|
1 | abs (引数1) | xの絶対値を返します。 引数1: x (実数) |
|
2 | ceil (引数1) | xの値以上の最小の整数を返します。 引数1: x (実数) |
|
3 | comb (引数1, 引数2) | 異なるn個からk個を選ぶときの組合せの総数を返します。 引数1: n (正の整数) 引数2: k (0以上n以下の整数) |
|
4 | exp (引数1) | 指数関数 ex の値を返します。 引数1: x (実数) |
|
5 | expm1 (引数1) | ex - 1 の値を返します。 引数1: x (実数) |
|
6 | floor (引数1) | xの値以下の最大の整数を返します。 引数1: x (実数) |
|
7 | ln (引数1) | xの自然対数を返します。 引数1: x (0より大きい実数) |
|
8 | ln1p (引数1) | x + 1 の自然対数を返します。 引数1: x (-1より大きい実数) |
|
9 | log10 (引数1) | xの常用対数を返します。 引数1: x (0より大きい実数) |
|
10 | max (引数1, 引数2, ...) | 指定した複数の引数の中で欠損値を除いて最大の値を返します。 引数: 実数 |
|
11 | min (引数1, 引数2, ...) | 指定した複数の引数の中で欠損値を除いて最小の値を返します。 引数: 実数 |
|
12 | mod (引数1, 引数2) | xをyで割ったときの余りを返します。 引数1: x (実数) 引数2: y (0以上の実数) |
|
13 | round (引数1, 引数2) | xをyの単位で丸めた値を返します。 引数1: x (実数) 引数2: y (実数) |
|
14 | sign (引数1) | xが負であれば-1、xが0であれば0、xが正であれば1、 xが欠損値であれば欠損値を返します。 引数1: x (実数) |
|
15 | sqrt (引数1) | xの平方根を返します。 引数1: x (0以上の実数) |
|
16 | sum (引数1) | generateコマンドで使用します。 例:generate y = sum(x) 変数yにはxの累積和が格納されます。 引数1: 変数名 ※egenコマンドのsum関数は総和を格納します。 |
|
文字列から一部の文字を抽出したり、文字数をカウントするなど文字列を操作するには文字列関数を使用します。
項番 | 関数 | 説明 | 使用例 |
---|---|---|---|
1 | real (引数1) | 引数1で指定した文字列を数値または欠損値に変換します。 引数1: 文字列 |
|
2 | string (引数1) | 引数1で指定した数値を文字列に変換します。 引数1: 数値 |
|
3 | strlen (引数1) | 引数1で指定した文字列(ASCII)の文字数または バイト単位の長さを返します。 引数1: 文字列 |
|
4 | ustrlen (引数1) | 引数1で指定した文字列(Unicode)の文字数を返します。 引数1: 文字列 |
|
5 | stritrim (引数1) | 引数1で指定した文字列の連続する空白を1つの空白に 置換した文字列を返します。 引数1: 文字列 |
|
6 | strmatch (引数1, 引数2) | 引数1で指定した文字列が引数2で指定した文字列のパターンに 合っていれば1を、合っていなければ0を返します。 引数1: 文字列 引数2: 文字列 ※引数2では任意の一字を「?」で、 空白を含む任意の文字列を「*」で表して パターンを指定します。 |
|
7 | strpos(引数1, 引数2) | 引数1で指定した文字列(ASCII)において引数2で指定した 文字列(ASCII)が始めに現れる位置を返します。 引数1: 文字列 引数2: 文字列 |
|
8 | ustrpos(引数1, 引数2) | 引数1で指定した文字列(Unicode)において引数2で指定した 文字列(Unicode)が始めに現れる位置を返します。 引数1: 文字列 引数2: 文字列 |
|
9 | strrpos(引数1, 引数2) | 引数1で指定した文字列(ASCII)において引数2で指定した 文字列(ASCII)が最後に現れる位置を返します。 引数1: 文字列 引数2: 文字列 |
|
10 | ustrrpos(引数1, 引数2) | 引数1で指定した文字列(Unicode)において引数2で指定した 文字列(Unicode)が最後に現れる位置を返します。 引数1: 文字列 引数2: 文字列 |
|
11 | strrtrim(引数1) | 引数1で指定した文字列(ASCII)の空白を除外します。 引数1: 文字列 |
|
12 | ustrrtrim(引数1) | 引数1で指定した文字列(Unicode)の空白を除外します。 引数1: 文字列 |
|
13 | subinstr(引数1, 引数2, 引数3, 引数4) | 引数1で指定した文字列において、 引数2で指定した文字列を検索し、 引数3で指定した文字列に置き換えます。 引数1の文字列の先頭から検索を始め、 引数4で指定した回数だけ置換します。 引数1: 文字列 |
|
さまざまな確率分布における密度関数、累積分布関数、逆関数をご紹介します。
項番 | 関数 | 説明 | 使用例 |
---|---|---|---|
1 | betaden (引数1, 引数2, 引数3) | 引数1と2にベータ分布の母数を指定します。 引数3に0以上1以下の値を指定します。 引数3で指定した値の確率密度を返します。 引数1: 正の実数 引数2: 正の実数 引数3: 0以上1以下の値 |
|
2 | ibeta (引数1, 引数2, 引数3) | 引数1と2にベータ分布の母数を指定します。 引数3で指定した値における累積ベータ分布の値を返します。 引数1: 正の実数 引数2: 正の実数 引数3: 0以上1以下の値 |
|
3 | ibetatail (引数1, 引数2, 引数3) | 引数1と2にベータ分布の母数を指定します。 引数3で指定した値におけるベータ分布の上側確率を返します。 引数1: 正の実数 引数2: 正の実数 引数3: 0以上1以下の値 |
|
4 | invibeta (引数1, 引数2, 引数3) | 引数1と2にベータ分布の母数を指定します。 引数3で指定した確率に対応する値を返します。 引数1: 正の実数 引数2: 正の実数 引数3: 確率 |
|
5 | normalden (引数1, 引数2, 引数3) | 引数2と3に正規分布の母数を指定します。 引数1に値を指定します。 引数1で指定した値の確率密度を返します。 引数1: 値 引数2: 期待値 引数3: 標準偏差 |
|
6 | normal (引数1) | 引数1で指定した値における累積標準正規分布の値を返します。 引数1: 値 |
|
7 | invnormal (引数1) | 累積標準正規分において、 引数1で指定した確率に対応する値を返します。 引数1: 確率 |
|
Stata is a registered trademark of StataCorp LLC, College Station, TX, USA, and the Stata logo is used with the permission of StataCorp.