文字データ型にJSLを使用して構成ファイルから列名を更新するこんにちは、みんな、
これは、昨日投稿した以前の関連質問のフォローアップです。 別の構成ファイルの単位を持つように列名をどのように更新するのかを尋ねたいと思います。 以下は、2変量ではなくロジスティックプロットをプロットするように変更したことを除いて、昨日の投稿から採用したソリューションコードです。 これは2変量プロットでうまく機能することがわかりましたが、ロジスティックプロットをプロットしようとすると、y軸ラベルの一部として単位を表示できません。 ユニットがタイトルの一部であっても、それは問題ありません。
// This version of the script used Transform variables
// to temporarially change the name of the column just
// for the running of the Bivariate
Names Default To Here( 1 );
dt = open( "table_1.jmp" );
dt1 = open( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1
:additional_name != ""
);
If( N Rows( foundRow ) > 0,
column( dt, i ) << set property("units", eval(dt1:additional_name[foundRow[1]]));
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
dt << Logistic( Y( Column( i ) ), X( :id ) )
);データテーブルが添付されています。
ありがとう、
サイモン
スクリプティングRe:文字データ型にJSLを使用して構成ファイルから列名を更新するどうやらロジスティックプラットフォームは(ユニット)の自動処理をサポートしていません。ただし、以下のスクリプトはそれを処理します。

Names Default To Here( 1 );
dt = Data Table( "table_1.jmp" );
dt1 = Data Table( "config_table.jmp" );
// Add the Units Column Property to the columns in the
// original data table
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name !=
""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
// Now run logistic
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
|| Char( Column( i ) << get property( "units" ) ) || ")"
)
;
);Re:文字データ型にJSLを使用して構成ファイルから列名を更新するこんにちはジム、
スクリプトを実行したところ、次のエラーが発生しました。
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
/*:
Names Default To Here( 1 );
dt = Open( "table_1.jmp" );
dt1 = Open( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "(" ||
Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);
invalid argument in access or evaluation of 'Column' , Column/*###*/(i)
ありがとう、
サイモン
Re:文字データ型にJSLを使用して構成ファイルから列名を更新するコードをJMP11まで、エラーなしで実行しました。気付いた場合は、投稿したコード行の1つに/ * ### * /があります。それを削除して、コードを再実行してみてください。これが私が使用したコードです。データテーブルが開いていることを前提として、データテーブルを参照するようにコードを変更したことに注意してください。使用しているJMPのバージョン。
名前のデフォルトはHere(1); dt =データテーブル( "table_1.jmp"); dt1 =データテーブル( "config_table.jmp"); For(i = 1、i <= N Cols(dt)、i ++、foundRow = dt1 <<行を取得where(:Column_name == Column(dt、i)<< get name&dt1:additional_name!= ""); If(N Rows(foundRow)> 0、Column(dt、i)<< set property( "units"、Eval(dt1:additional_name [foundRow [1]])));); For(i = 2、i <= N Cols(dt)、i ++、log = dt << Logistic(Y(Column(i))、X(:id)); Report(log)[AxisBox(1)] [ Text Box(1)] << set text(Char(Report(log)[AxisBox(1)] [Text Box(1)] << get text)|| "(" || Char(Column / * ### * /(i)<< get property( "units"))|| ")"););Re:文字データ型にJSLを使用して構成ファイルから列名を更新するJMP12を使用しています。 コードをそのまま実行すると、同じエラーが再び発生します。
下の線を削除すると、ラベルに単位のない添付のグラフが表示されます。
// Char(Column / * ### * /(i)<< get property( "units"))|| ")"
何か案は?
Names Default To Here( 1 );
dt = data table( "table_1.jmp" );
dt1 = data table( "config_table.jmp" );
For( i = 1, i <= N Cols( dt ), i++,
foundRow = dt1 << get rows where(
:Column_name == Column( dt, i ) << get name & dt1:additional_name != ""
);
If( N Rows( foundRow ) > 0,
Column( dt, i ) << set property(
"units",
Eval( dt1:additional_name[foundRow[1]] )
)
);
);
For( i = 2, i <= N Cols( dt ), i++,
log = dt << Logistic( Y( Column( i ) ), X( :id ) );
Report( log )[AxisBox( 1 )][Text Box( 1 )] <<
set text(
Char( Report( log )[AxisBox( 1 )][Text Box( 1 )] << get text ) || "("
//Char( Column/*###*/(i) << get property( "units" ) ) || ")"
);
);