リストの列名を使用して列式を作成するこんにちは、
式が別の列の絶対値を計算する新しい列を作成する簡単なスクリプトがあります。
列はリストで参照されます。
いくつかの方法を試しましたが、参照列を評価する方法がわからないため、空の数式列になってしまいます。 どんな提案でも大歓迎です。
一番
セバスチャン
dt=New Table( "test",
Add Rows( 4 ),
New Column( "symbol",
Character,
"Nominal",
Set Values( {"a", "b", "c", "d"} ),
Set Display Width( 55 )
),
New Column( "fold change",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-3, -0.4, 0.4, 3] ),
Set Display Width( 68 )
)
);
l={"fold change"};
try(New Column( "absolute fold change",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Abs( l[1] )
)));
try(New Column( "absolute fold change 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( eval(column(l[1]) )
)));
スクリプティングRe: リストから列名を使用して列式を作成する問題ない。 私は昨日まったく同じ問題を抱えていましたが、それを理解するのにしばらく時間がかかりました.
実は、これに対する別の解決策も知ったばかりです。
As Column() 関数は、引数として指定された列の現在の行の値を返します。
したがって、その式は次のようにフォーマットすることもできます。
方式(
Abs( As Column( l[1] ) );
);
かなりきれい!Re: リストから列名を使用して列式を作成するどうもありがとう、私はあなたが提案したオプションを1つの大きな違いで試しました:空の括弧はありません.
一番、
セバスチャンRe: リストから列名を使用して列式を作成するdt=New Table( "test",
Add Rows( 4 ),
New Column( "symbol",
Character,
"Nominal",
Set Values( {"a", "b", "c", "d"} ),
Set Display Width( 55 )
),
New Column( "fold change",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [-3, -0.4, 0.4, 3] ),
Set Display Width( 68 )
)
);
l = {"fold change"};
try(New Column( "absolute fold change",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Abs( column( l[1] )[] )
)));リストには文字列しか含まれていないため、Column( "" )[ ] 関数を使用して、文字列が列名であることを JMP に伝える必要があります。
空白の角かっこは必要であり、なくても必要です。式は列全体適切な行だけではなく。
これが役に立ったことを願って、
レイン