日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあみんな。
1.) 列全体の日付値から月を単語で抽出するにはどうすればよいですか?
セル #1 に日付があるとします。 2009 年 3 月 19 日」。 次の列に月を取得したいのですが - 」行進"、この例では。
2.) 外れ値のデフォルトのマーカーを変更する方法はありますか? 外れ値マーカーを全体的に白抜きの三角形にするなどの方法はありますか?
助けていただきありがとうございます。
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?より洗練されたバージョン:
Names Default To Here( 1 );
// make a sample data table
dt = New Table( "Data",
add rows( 10000 ),
New Column( "it", Numeric, Ordinal, Format( "Best", 8 ), Formula( Row() ) ),
New Column( "Batch", Numeric, Ordinal, Format( "Best", 8 ), formula( Random Integer( 110 ) ) ),
New Column( "y1", Numeric, Continues, Format( "Best", 8 ), formula( Random Lognormal( :Batch / 10, 5 ) ) ),
New Column( "y2", Numeric, Continues, Format( "Best", 8 ), formula( Random Lognormal( :Batch / 10, 5 ) ) ),
New Column( "Out",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
New Column( "Outy1",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
New Column( "Outy2",
Numeric,
Ordinal,
Format( "Best", 8 ),
Set Property( "Value Colors", {0 = -13977687, 1 = -4222943} ),
Color Cell by Value,
formula( 0 )
),
);
dt << run formulas;
Column( dt, "it" ) << delete formula;
Column( dt, "Batch" ) << delete formula;
Column( dt, "y1" ) << delete formula;
Column( dt, "y2" ) << delete formula;
Column( dt, "Out" ) << delete formula;
Column( dt, "Outy1" ) << delete formula;
Column( dt, "Outy2" ) << delete formula;
// now we get to work
// make a list of batches
byvarlist = Associative Array( dt:Batch ) << get keys;
// make a list of columns
cols = dt << get column names( Continuous ); //List all Numeric columns
// loop through the batches
For( i = 1, i <= N Items( byvarlist ), i++,
// select each batch
dt << select where( dt:Batch == byvarlist[i] );
// subset each batch
subdt = dt << Subset( Selected Rows( 1 ) );
// clear selection for smoth workflow
dt << clear select;
// finde outliers in each variable within each batch
For( ii = 1, ii <= N Items( cols ), ii++,
out = Eval(
Parse(
"subdt << get rows where(
subdt:" || Char( cols[ii] ) || " > Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.75 ) + 1.5 * (Col Quantile( subdt:" || Char( cols[ii] ) || ", 0.75 ) - Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 )) | subdt:" || Char( cols[ii] ) || " <
Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 ) - 1.5 * (Col Quantile( subdt:" || Char( cols[ii] ) || ", 0.75 ) - Col Quantile( subdt:" || Char( cols[ii] ) ||
", 0.25 )));"
)
)`;
Eval( Parse( "column (subdt, \!"Out" || Char( cols[ii] || "\!" )[" || Char( out ) || "] = 1;" ) ) );
// also indicate the global outlier
Column( subdt, "Out" )[out] = 1;
//wait (0.00001);
);
// update original data table with new information for the batch
subdt << delete columns( "Batch" );
subdt << delete columns( cols );
dt << Update( With( subdt ), Match Columns( :it = :it ) );
Close( subdt, No Save );
//Wait( 0.00001 );
);
dt << color by column( :Out );
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?VLookup(false) 関数のように機能します。
ありがとう、イアン!
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?おそらくこれより良いとは言えませんが、代わりに 'Month()' を使用して値ラベル プロパティを定義することもできます。
新しいテーブル( 「日付の月」 、
行の追加( 1 ) 、
新しい列( "日付" 、
数値、
「連続」 、
フォーマット( 「月/日/年」 、 12 ) 、
入力フォーマット( 「月/日/年」 ) 、
式(今日() )
) 、
新しい列( "月" 、
数値、
「連続」 、
フォーマット( "最高" 、 12 ) 、
式(月( :日付) ) 、
値ラベル(
{ 1 = "1月" 、 2 = "2月" 、 3 = "行進" 、 4 = 「4月」 、 5 = "5月" 、 6
= "六月" 、 7 = 「7月」 、 8 = 「8月」 、 9 = 「9月」 、 10 = "10月" 、 11
= 「11月」 、 12 = "12月" }
) 、
値ラベルを使用する( 1 )
)
)
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?クールな脚本、ロン!
Fit Y by X、Distribution & Graph Builder で試してみましたが、魅力的に機能しました *
JMP、Ron、Jim に関するあなたの専門知識に本当に感謝し、称賛します。
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?とても有難い、ジム!
私は諦めて、Substring() か Left() に落ち着こうとしていました。
あなたのソリューションは完璧に機能します。
- ランディ
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?希望することを行うための別の推奨されない方法は、グラフで選択した行の設定を変更することです。他のいくつかのコマンドはデフォルトでテーブル内のすべての行ではなく選択範囲を使用するため、選択範囲を操作することはお勧めしません。しかし、まだこれを試すことができます:
デフォルトの名前はここにあります( 1 ) ;
//注意: 設定を変更すると、
// JMP のデフォルトの動作に影響します。
環境設定(マーカー選択モード( 1 ) ) ; // これは、file>> 設定メニューからも行うことができますが、一度行うだけで済みます。
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// カラムリストを取得
コル= dt <<列名を取得する(継続的) ; //すべての数値列をリストする
のために(私= 1 、私<= N 個のアイテム(コル) 、私++、
外=評価(
解析する(
"dt << 行を取得します where(
DT:" ||シャア(コル[私] ) || " > Col Quantile( dt:" ||シャア(コル[私] ) || ", 0.75 ) + 1.5 * (Col Quantile( dt:") ||
シャア(コル[私】 ) || ", 0.75 ) - Col Quantile( dt:" ||シャア(コル[私】 ) || ", 0.25 )) | dt:" ||シャア(コル[私】 ) || 「<
Col Quantile( dt:"
||シャア(コル[私】 ) || ", 0.25 ) - 1.5 * (Col Quantile( dt:") ||シャア(コル[私] ) || ", 0.75 ) - Col Quantile( dt:" ||シャア(コル[私】 ) ||
", 0.25 )));"
)
) `;
選択された= dt <<行を選択する(外) ;
選択された<<マーカー( 17 ) ;
//選択された << マーカー サイズ ( 5 ); // そのようなオプションはありません
) ;
// どのようになるか見てみましょう
新しい窓( "出力" 、
h リストボックス(
分布(
継続的な配布(カラム( :身長) 、パーセントを表示( 1 ) 、要約統計量のカスタマイズ(和( 1 ) ) ) 、
継続的な配布(カラム( :重さ) 、パーセントを表示( 1 ) 、要約統計量のカスタマイズ(和( 1 ) ) ) 、
レポートに送信(
急送( { 「配布物」 、 "身長" } 、 「ヒストグラムを配信」 、フレームボックス、 {ディスパッチセグメント(履歴セグメント( 1 ) 、ヒストグラムの色( 53 ) )} ) 、
急送( { 「配布物」 、 "重さ" } 、 「ヒストグラムを配信」 、フレームボックス、 {ディスパッチセグメント(履歴セグメント( 1 ) 、ヒストグラムの色( 53 ) )} )
)
) 、
二変量( Y ( :身長) 、バツ( :重さ) )
)
) ;
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?こんにちはラベラルド、
テキネルソンどちらのトピックでも正しいです。ただし、単変量外れ値のマーカーを設定したい場合 (ブルートフォース スタイル)、次のことを試すことができます。
いずれかの列の外れ値である行に特別なマークが付けられることは、利点 (または欠点) になる可能性があります。これを変更して、分析を進めるときに特定の列の外れ値をマークすることができます。
幸運を!
ロン
デフォルトの名前はここにあります( 1 ) ;
dt =開ける( "$SAMPLE_DATA/Big Class.jmp" ) ;
// カラムリストを取得
コル= dt <<列名を取得する(継続的) ; //すべての数値列をリストする
のために(私= 1 、私<= N 個のアイテム(コル) 、私++、
外=評価(
解析する(
"dt << 行を取得します where(
DT:" ||シャア(コル[私] ) || " > Col Quantile( dt:" ||シャア(コル[私] ) || ", 0.75 ) + 1.5 * (Col Quantile( dt:") ||
シャア(コル[私】 ) || ", 0.75 ) - Col Quantile( dt:" ||シャア(コル[私】 ) || ", 0.25 )) | dt:" ||シャア(コル[私] ) || 「<
Col Quantile( dt:"
||シャア(コル[私】 ) || ", 0.25 ) - 1.5 * (Col Quantile( dt:") ||シャア(コル[私】 ) || ", 0.75 ) - Col Quantile( dt:" ||シャア(コル[私] ) ||
", 0.25 )));"
)
)` ;
選択された= dt <<行を選択する(外) ;
選択された<<マーカー( 「*」 ) ;
選択された<<選択をクリア;
) ;
// どのようになるか見てみましょう
分布(
継続的な配布(カラム( :身長) 、パーセントを表示( 1 ) 、要約統計量のカスタマイズ(和( 1 ) ) ) 、
継続的な配布(カラム( :重さ) 、パーセントを表示( 1 ) 、要約統計量のカスタマイズ(和( 1 ) ) ) 、
レポートに送信(
急送( { 「配布物」 、 "身長" } 、 「ヒストグラムを配信」 、フレームボックス、 {ディスパッチセグメント(履歴セグメント( 1 ) 、ヒストグラムの色( 53 ) )} ) 、
急送( { 「配布物」 、 "重さ" } 、 「ヒストグラムを配信」 、フレームボックス、 {ディスパッチセグメント(履歴セグメント( 1 ) 、ヒストグラムの色( 53 ) )} )
)
) ;
Re: 日付値から単語の月を抽出する方法と外れ値のデフォルトのマーカーを変更する方法は?次のような結果が得られました。

次の式を月列に適用します。

外れ値への特定のマーカーの割り当てに関する 2 番目の質問についてです。これに関する問題は、マーカーが列内のセルではなく、行状態として行に割り当てられることです。したがって、各列に対して外れ値マーカーをグローバルに割り当てる機能はありません。