JMPの使用法 > データの入力と編集 > データの再構成 > JMPプラットフォームでの列の変換
公開日: 09/19/2023

JMPプラットフォームでの列の変換

JMPの各起動ウィンドウでは、1つまたは複数の変換列を一時的に作成し、分析の実行時に使用できます。これらの変換列は元のデータテーブルに含まれているものではなく、現在の起動ウィンドウの中でだけ使用可能なものです。変換列は、計算式や関数を使用して列の値を決めます。起動ウィンドウを閉じると、変換列は使用できなくなります。

起動ウィンドウの「列の選択」リスト内の各列には、列の尺度(連続・順序・名義)を示すアイコンと列名が表示されます。列名を右クリックして、[変換]・[文字]・[組み合わせ]・[ペアごと]・[要約]・[分布]・[日付時間]・[乱数]・[行]・[ベクトル]・[計算式]から変換列を作成し、列の値を計算できます。

右クリックで表示されるオプションは、選択されている列のデータタイプと、選択されている列数によって異なります。

図4.42 変換列のメニューの例 

変換列のメニューの例

グループ別

順序尺度および名義尺度のデータに対し、グループ分けの基準にする列を指定します。この指定を行った以降での変換で、指定した列の水準ごとに計算が行われます。

メモ:

変換列は、現在の起動ウィンドウでのみ利用できるものです。変換列を、現在の起動ウィンドウ以外でも使用できるようにするには、変換列を右クリックし、[データテーブルに追加]を選択します。これで、変換列が元のデータテーブルに追加されます。

変換列は、起動ウィンドウの役割ボックスの中に貼り付けることができます。たとえば、スクリプトウィンドウからTransform Columns()スクリプトをコピーします。そして、該当する起動ウィンドウの「選択した列に役割を割り当てる」内を右クリックし、[貼り付け]を選択します。これは、「列の選択」リスト内の列を右クリックして変換の項目を選択し、作成された変換列に役割を割り当てるのと同じことです。

変換に用いる関数が可逆の場合、予測プロファイルを描くのに、および、予測値や予測式を保存するのに、元のスケールを以下のプラットフォームは使用します。

二変量の関係

標準最小2乗

パーティション

ブースティングツリー

ブートストラップ森

JSLスクリプトを書くことで、独自の変換を定義できます。『スクリプトガイド』のカスタム関数の作成、変換、フォーマットを参照してください。

[変換]メニュー

[変換]メニューから関数を選択すると、その関数に基づいて計算された値を含む変換列が作成されます。[ヘルプ]メニューの[スクリプトの索引]または『基本的な回帰モデル』の変換を参照してください。

メモ: 一変数関数を複数の列に適用できます。その場合は、複数の変換列が作成されます。

表4.2 [変換]メニューのオプションの説明

丸め

データ値を丸めます。たとえば、日付の列に[丸め]を適用して、日付をその週の最初の日に変換されるようにし、週のグラフを作成するといったことができます。

一次式

一次式による変換を指定できます。たとえば、値に1.8を掛けて32のオフセットを適用すれば、摂氏の温度が華氏に変換されます。

カテゴリ化

データをビン(棒)に分類するための「カテゴリ化」ウィンドウを開きます。

平方根

選択した列の値の平方根を求めます。

平方

選択した列の値の平方を求めます。

自然対数

選択した列に自然対数変換を適用します。

自然対数x+1

Log(x+1)を求めます。

指数

選択した列に指数変換を適用します。

常用対数

選択した列に常用対数変換を適用します。

10のべき乗

選択した列の値で10を累乗した値を求めます。

3乗根

選択した列の値の3乗根を求めます。

3乗

選択した列の値の3乗を求めます。

逆数

選択した列の値の逆数(1/x)を求めます。

絶対値

選択した列の値の絶対値を求めます。

符号反転

選択した列の値の符号を反転させた値を求めます。

Arrhenius

変数T(摂氏での温度)にArrhenius変換を適用します。

ここに式を表示

この変換は、Arrhenius式において、活性化エネルギーに乗じられる項です。

Arrhenius逆変換

変数XにArrheniusの逆変換を適用します。

ここに式を表示

ロジット

選択された変数を、ロジット変換します(選択された変数pは、0より大きく、1未満でなければいけません)。ロジット変換は、ロジスティック変換の逆変換です。

ここに式を表示

ロジスティック

選択された変数を、ロジスティック変換します(変換された結果は、0より大きく、1未満になります)。ロジスティック関数は、「シグモイド関数」や「ロジスト関数」などとも呼ばれています。

ここに式を表示

ロジット パーセント

選択された変数を、パーセントを単位としてロジット変換します(選択された変数pctは、0より大きく、100未満でなければいけません)。

ここに式を表示

ロジスティック
パーセント

選択された変数を、パーセントを単位としてロジスティック変換します(変換された結果は、0より大きく、100未満になります)。

ここに式を表示

[組み合わせ]メニュー

複数の列を選択し、[組み合わせ]メニューから関数を選択すると、その関数に基づいて計算した値を含む変換列が作成されます。

メニューには、次の関数が含まれます。

第1列と第2列の和を求めます(A + B)。

第1列と第2列の差を求めます(A - B)。

差(逆順)

第2列と第1列の差を求めます(B - A)。

第1列と第2列の積を求めます(A × B)。

第1列の第2列に対する比を求めます(A ÷ B)。

比(逆順)

第2列の第1列に対する比を求めます(B ÷ A)。

最小値

各行で、選択した複数の列の最小値を求めます。

最大値

各行で、選択した複数の列の最大値を求めます。

平均

各行で、選択した複数の列の平均値を求めます。

標準偏差

各行で、選択した複数の列の標準偏差を求めます。

中央値

各行で、選択した複数の列の中央値を求めます。

分位点

各行で、選択した複数の列の、指定した確率の分位点を求めます。

幾何平均

各行で、選択した複数の列の積のn乗根を戻します。

[ペアごと]メニュー

[ペアごと]メニューの関数を選択すると、複数の列を対象にペアごとの結果が計算されます。このメニューは、4列以上の偶数個の列を選択した場合のみ表示されます。

第1列と第2列の和を求めます(A + B)。

第1列と第2列の差を求めます(A - B)。

差(逆順)

第2列と第1列の差を求めます(B - A)。

第1列と第2列の積を求めます(A × B)。

第1列の第2列に対する比を求めます(A ÷ B)。

比(逆順)

第2列の第1列に対する比を求めます(B ÷ A)。

最小値

各行で、選択した複数の列の最小値を求めます。

最大値

各行で、選択した複数の列の最大値を求めます。

平均

各行で、選択した複数の列の平均値を求めます。

幾何平均

各行で、選択した複数の列の積のn乗根を戻します。

[要約]メニュー

[要約]メニューから関数を選択すると、選択した列から([グループ別]列を指定した場合はグループごとに)求めた統計量を含む変換列が作成されます。

メモ: これらの関数に対しては、[グループ別]オプションが役に立ちます。

メニューには、次の関数が含まれます。

平均

選択した各列で、平均値を求めます。

合計

選択した各列で、合計を求めます。

度数

選択した各列で、値の個数を求めます。

中央値

選択した各列で、中央値を求めます。

分位点

選択した各列で、指定した確率の分位点を求めます。

最小値

選択した各列で、最小値を求めます。

最大値

選択した各列で、最大値を求めます。

標準偏差

選択した各列で、標準偏差を求めます。

[分布]メニュー

[分布]メニューから関数を選択すると、選択されている列から計算された統計量に基づく変換が求められます。[ヘルプ]メニューの[スクリプトの索引]を参照してください。

メニューには、次の関数が含まれます。

中心化

選択した列において、各行の値から列平均を引きます。

標準化

各行の値から列平均を引き、列標準偏差で割った値を計算します。

範囲 0~1

最小値が0以上、最大値が1以下になるようにデータを尺度化します。

Box Cox 変換

Box Coxの公式を使ってデータを変換します。『基本的な回帰モデル』のBox-Cox Y変換を参照してください。

Johnson 正規化

Johnsonの変換式のいずれかを使って、データを変換します。新しい列の名前には、データの計算に使われた変換式を示す、「Johnson Su」・「Johnson Sb」・「なし」が含まれます。

欠測値のフラグ

2つの列を作成します。「欠測値」という列は、欠測値を列の平均で置換したものです。「欠測値フラグ」列は、欠測値の場合は1、そうでない場合は0の値を取ります。

順位

1を最小とする順位を戻します。値が同じ場合、データテーブル内での行の出現順に番号が振られます。

順位(逆順)

1を最大とする順位を戻します。値が同じ場合、データテーブル内での行の出現順に番号が振られます。

累積確率

累積確率をCol Rank(x) / (Col Number(x) + 1)で求めます。

正規分位点

正規分布の分位点を求めます。

SHASH

sinh-arcsinh変換(SHASH変換)を行います。元の変数xを変換したものが、なるべく正規分布になるように変換します。

[乱数]メニュー

数値タイプの列では、[乱数]メニューの関数を選択して乱数を求めることができます。

メニューには、次の関数が含まれます。

一様乱数

0から1までの間で一様乱数を生成します。

正規乱数

引数で指定された平均と標準偏差の正規分布に従う乱数を生成します。引数が指定されていない場合は、平均が0で標準偏差が1の正規分布に従う乱数を生成します。

非復元抽出

非復元抽出を行います。先頭の行から順に抽出していった場合、それまでに抽出された結果が、それ以降の抽出に影響します。

復元抽出法

復元抽出を行います。先頭の行から順に抽出していった場合、それまでに抽出された結果が、それ以降の抽出に影響しません。

[日付時間]メニュー

日付値または時間値を含む列値の場合、[日付時間]メニューから関数を選択すると、選択した列から計算した値を含む変換列が作成されます。

メニューには、次の関数が含まれます。

Day

選択した列の日付の、月の初めから数えた日数を返します。

Month

選択した列の日付の月を返します。

Month Abbr.

選択した列の日付の月の略称を返します。

Year

選択した列の日付の年を返します。

Month Year

選択した列の日付の月と年を返します。

Quarter

選択した列の日付の四半期(1, 2, 3, 4)を返します。

Week

選択した列の日付が、年において何番目の週であるかを返します。

Year Quarter

選択した列の日付の年と四半期(1, 2, 3, 4)を返します。

Year Week

ISO-8601準拠の週番号を表す文字列を返します(たとえば、2013/06/12の場合は「2013W24」となります)。

Day of Year

選択した列の日付の、年の初めから数えた日数を返します。

Day of Week

選択した列の日付の曜日を返します。

Day of Week Abbr.

選択した列の日付の、曜日の略称を返します。

Day of Week Name

選択した列の日付の曜日を返します。

Date

選択した列の日付の年・月・日を返します。

Time of Day

選択した列の日付(時間)の時刻を返します。

Hour

選択した列の日付(時間)の時間部分を返します。

Minute

選択した列の日付(時間)の分部分を返します。

Second

選択した列の日付(時間)の秒部分を返します。

[文字]メニュー

[文字]メニューから関数を選択すると、選択した文字関数を含む列が作成されます。

メニューには、次の関数が含まれます。

長さ

選択した列の各文字列における文字数を求めます。

連結

選択した列の文字列を連結して1つの新しい文字列にします。

スペースで連結

選択した列の文字列を、スペースで区切って1つの新しい文字列に連結します。

カンマで連結

選択した列の文字列を、カンマ文字で区切って1つの新しい文字列に連結します。

タイトルケース

文字列をタイトルケース(たとえば「Sheila Smith」)に変換します。

すべて大文字

文字列を大文字(たとえば「SHEILA SMITH」)に変換します。

すべて小文字

文字列を小文字(たとえば「sheila smith」)に変換します。

先頭の語

選択した列の文字列から先頭の語を抽出します。

末尾の語

選択した列の文字列から末尾の語を抽出します。

順位

1を最小とする順位を戻します。値が同じ場合、データテーブル内での行の出現順に番号が振られます。

順位(逆順)

1を最大とする順位を戻します。値が同じ場合、データテーブル内での行の出現順に番号が振られます。

[行]メニュー

[行]メニューから関数を選択すると、選択した行関数で求めた値を含む変換列が作成されます。

付録で解説している関数のほかに、次の関数がメニューに表示されます。

行番号

現在の行の番号を戻します。

選択されている行

選択されている状態なのか、選択されていない状態なのか(1または0)を戻します。

選択した列の各値の差を次式で求めます。

ここに画像を表示

メモ: [差]関数は[グループ別]オプションにも対応しています。

ラグ

選択した列の前の行の値を戻します。

ラグ 複数

選択した列の複数行前の値を戻します。

累積和

選択した列の各値の累積和を次式で求めます。

ここに画像を表示

メモ: [累積和]関数は[グループ別]オプションにも対応しています。

移動平均

選択した列の各値の指数加重移動平均(EWMA)を、0から1.0の範囲で平滑化パラメータを指定して求めます。次の例では、0.25の平滑化パラメータを使用しています。

ここに画像を表示

加重

値の重みづけ方法を決定します。増加する重みとして線形または指数を選べます。指数移動平均は、「EWMA」や「EMA」と略されることもあります。

過去の項

(現在の項に加えて)平均に現在の項より前の項を指定数だけ含めることにより、範囲(ウィンドウ)を制御します。-1は前のすべての項を意味します。

将来の項

(現在の項に加えて)平均に現在の項より後ろの項を指定数だけ含めることにより、範囲(ウィンドウ)を制御します。-1は後ろのすべての項を意味します。

欠測を含む場合は移動平均も欠測

欠測値の扱い方を制御します。デフォルトでは、欠測値は無視されます。

メモ: 計算式は入力する都度、自動評価されます。そのため、複雑な計算式を指定した場合は、処理に時間がかかることがあります。

[ベクトル]メニュー

[ベクトル]メニューで変換を選択すると、ベクトルデータから変換列が作成されます。

各要素を複数の列に

ベクトルの各要素を個別の数値列に展開します。

合計

要素の合計を戻します。または、ベクトル内の値の合計を戻します。

最小値

ベクトル内の最小値を戻します。

最大値

ベクトル内の最大値を戻します。

最小値の位置

最小値の位置を戻します。最小値が複数ある場合には、最初のものの位置を戻します。

最大値の位置

最大値の位置を戻します。最大値が複数ある場合には、最初のものの位置を戻します。

変換列のオプション

変換列を作成した後は、次の処理を実行できます。

名前の変更

変換列の名前を変更します。

データテーブルに追加

変換列を計算列としてデータテーブルに追加します。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).