列を文字から数値に変換する際の問題<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは皆さん、
これが私の最初の投稿です - 私はExcelスプレッドシートの形でデータを受け取るデータ処理を自動化しようとしています... ワークブックには、すべての関連情報を含むタブが1つあります。
JMPは、数値ではなく文字として大量のデータをインポートするようです。スクリプトではなく、テーブル内で手動でデータを数値に変換できます。
何か案は?
ありがとう
トム
現在のディレクトリを設定します( "C:\ JDSU \ ServerCopy \ Data \後処理特性\ Flash IV \ AWSC")。
dt = open(); //これが、.xlsファイル内の関連するワークシート "データの並べ替え"を選択できる唯一の方法です
tables = ntable();
OpenDTs = List();
savethis = list();
closethese = list();
show(dt);
/ *このループ私は私がしたくない開いているテーブルを排除するために働くだろうと思ったが、それは不要なテーブルのすべてではなく、いくつかを閉じるだけです
(i = 1、i <=テーブル、i ++、
(openDTs、Data Table(i)<< GetName())に挿入します。
IF(データテーブル(i)<< GetName()== "ソートデータ"、
持続する();
close(DataTable(i));
;
;
* /
dt <<行を削除({1,2,3,4,5,6,7,8,9}); //最初の9行はデータではありません - open()コマンドでこれをキャプチャする方法はありますか?
列(1)<<セット名(「ウェハID」)。
列(2)<<セット名(「Xref − Yref」)。
列(3)<<データ型( "数値")を設定します。//これはうまくいきません....
// column({3,4,5,6,7,8,9,10,11,12,13})<<データ型(数値)を設定します。//これもしない
col = New COlumn( "FF_Calc"、numeric);
col << set式(:vmp *:imp /:Voc /:Isc); //問題の列を数値に変更できないため、エラーが返されます。
col = NE COlumn( "xref"、character);
col = new column( "yref"、character);
column( "voc")<< setデータ型( "numeric"); //それでも動作しない
Re: 列を文字から数値に変換する際の問題列の数式を使用する前に「実行」する必要があります。次の行を for each row ステートメントの前に配置します。
dt << 数式を実行;
ここで、 dt はデータ テーブルを指します。
Re: 列を文字から数値に変換する際の問題トム、これを JMP フォーラムに再投稿したいと思うと思います。
美術
Re: 列を文字から数値に変換する際の問題文字列を数値に変更する正しい構文の例:
column("voc") << データ型(数値);
column("voc") << Modeling Type(continuous); // 連続モデリングタイプが必要な場合
または
dt:voc << など...
「if」ステートメントでは、「continue」の後にコンマが必要なようです...
Re: 列を文字から数値に変換する際の問題どうもありがとう。
JSL ウィンドウで強調表示して Ctrl+R で実行すると for each row() ループが正常に機能するのに、スクリプト全体の一部として実行すると機能しないのはなぜかご存じですか?
col = New COlumn("FF_Calc", numeric) << モデリングタイプ (連続);
コル<
新しい列("xref", 文字, 序数, 数式(If(Right(Left(:Name("Xref-Yref"), 2), 1) == "-", Left(:Name("Xref-Yref"), 1), Left(:Name("Xref-Yref"), 2))), プロパティを設定("値の順序", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
新しい列("yref", 文字, 序数, 数式(If(Left(Right(:Name("Xref-Yref"), 2), 1) == "-", Right(:Name("Xref-Yref"), 1), Right(:Name("Xref-Yref"), 2))), プロパティを設定("値の順序", {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"}));
各行について(
if(:FF_Calc < 0, rowstate() = 除外状態(1), :FF_calc > 1, rowstate() = 除外状態(1), rowstate() = 除外状態(0)
);
);
各行について(
if(dt:FF_Calc < 0, rowstate() = 除外状態(1), dt:FF_Calc > 1, rowstate() = 除外状態(1), rowstate() = 除外状態(0)
);
); // どちらもスクリプトでは機能しませんが、手動で実行すると正常に動作します。テーブルを選択する必要があるのでしょうか?
Re: 列を文字から数値に変換する際の問題ビンゴ!
本当にありがとう!
Re: 列を文字から数値に変換する際の問題なぜうまくいかないのでしょうか?エラーメッセージが表示されたり、間違った結果が表示されたりしますか?
いずれにせよ、列変数 col が正しく代入されていません。モデリングタイプメッセージは、別のステートメントか New Column() 内で送信する必要があります。代入後は、:FF_Calc の代わりに col を使用できます。
例えば
col =新しい列( 「FF_Calc」 、数値、連続) ;
col <<値を設定します( { - 1 , 0 , 1 , 2 } ) ;
各行(
もし(
列< 0 , 行状態() = 除外州( 1 )
コル> 1, Row State() = Excluded State( 1 ),
行の状態() = 除外州( 0 )
)
);