列データを1回だけ操作するこんにちは!
最大電流密度を取得するためにデータの列(最大電流の束)に100を掛けるという問題があるので、スクリプトを実行するとうまくいきます。
カラム ( 13年 ) << 設定値 ( ( カラム ( 13年 ) << 行列として取得 ) * 100 ) ;
カラム ( 13年 ) << セット名 ( "最大Jc(mA / um ^ 2)" ) ;
しかし、スクリプトを複数回実行すると、データが100倍に増え続け、データテーブルを閉じて再度開く必要があります。
一度だけ更新する方法はありますか?
ありがとう、
タイラー
再:列データを一度だけ操作するに基づく @pmroz さんの入力、あなたは次のようにあなたのコードを変更したいと思うでしょう:
//define columns to search for
colSearch1 = "Corrected Area";
colSearch2 = "Max Ic";
// Get Column Names from the data table
ColNames = dt << Get Column Names("string");
//search for desired columns
colNum1 = Contains(ColNames,colSearch1);
colNum2 = Contains(ColNames,colSearch2); 必要に応じて、colNum1とcolNum2を参照してください。あるいは好き @pmroz 説明した:
Col1 = column(dt,"Corrected Area") ;
Col2 = column(dt,"Max Ic") ;
再:列データを一度だけ操作するあなたは一度だけカラム名を取得する必要があります。 それは列名をリストにロードします。
しかし、名前を使って列を直接参照することもできます。
列(dt、" 最大Ic(mA)」 許容できる構成体です。
再:列データを一度だけ操作するそれで私は2つのコラムで読まなければなりません。
単純な二変量解析:今はうまくいきません!みんなありがとう
助けと指導!
//検索する列を定義します
colSearch1 = "修正領域";
colSearch2 = "最大Ic";
//興味のある列を取得する
Col1 = dt << *列名を取得します(* "Corrected Area" *)*;
Col2 = dt << *列名を取得する(* "Max Ic" *)*;
//目的の列を検索します
colNum1 = *(* Col1、colSearch1 *)*を含みます。
colNum2 = *(* Col2、colSearch2 *)*を含みます。
// column(13)<<値を設定する((Column(13)<<行列として取得)* 100);
//列(13)<<セット名( "Max Jc(mA / um ^ 2)");
Column1 = Column *(* dt、colNum1 *)* << *設定値(* *(* Column1 << *
行列)* ** 100)*;
Column1 << *セット名(* "最大Jc(mA / um ^ 2)" *)*;
Column2 = Column *(* dt、colNum2 *)*;
閉じる*(* dt、Save *(ファイルパス)); *
// CreateBivariateを呼び出して、2変量(2変数)分析を行います
status = List *(0 *、* 0)*;
新しいウィンドウ*(* "カスタム解析"、
Hリストボックス*(*
Vリストボックス*(*
パネルボックス*(* "コントロール"、
テキストボックス*(* "分析の選択" *)*、
choice =チェックボックス*({* "Distribution"、"Fit Line" *} *、
current = choice << * Get(1)*;
// xParam = Column(9);
// yParam = Column(13);
xParam = Column1;
yParam = Column2;
*(* And *(* current、Not *(* status * [** 1] * *)* *)*、
dt << *追加(*
dt = Vリストボックス*(*
bivDistribution = Distribution *(*
Y *(* Eval *(* yParam *)* *)*、
X *(* Eval *(* xParam *)* *)*、
*)*;
*)*
再:列データを一度だけ操作する @ tylerram93 、
これでうまくいくはずです。
// Open Sample Data Table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Define Column To Search For
ColToSearch = "age";
// Get Column Names
ColNames = dt << Get Column Names("String");
// Search if the desired column names exists
ColNum = Contains(ColNames,ColToSearch);
// Get Reference to desired Column
Col = Column(dt,ColNum);
// Alternatively
Col(ColNum) // Also refers to your desired column 再:列データを一度だけ操作するそれは完璧に機能しました!ありがとうございます。
フォローアップの質問:
名前に基づいて列を選択する方法はありますか?そのため、列(13)を使用する代わりに、「最大Ic(mA)」で列を検索できます。
ありがとう、
タイラー
再:列データを一度だけ操作するこんにちは@ tylerram93:
これを解決する簡単な方法は、スクリプトの最後にテーブルが閉じられていることを確認することです。下の図のように、スクリプトを実行して最後に保存して閉じた回数に関係なく、生データに一貫性がある限り、乗算は1回だけ行われるはずです。
テーブルを閉じないことで、あなたはテーブルを繰り返し修正していると思います。
場合によっては - 私はあなたの質問を誤解しました - テストデータセットとテストスクリプトを貼り付けてください。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
column(4) << set values( (Column(4) << get as matrix) *100);
column(4) << set name("Max Jc (mA/um^2)");
Close(dt,Save(FilePath));
ベスト
あの日