列に最小値を割り当てる皆さん、こんにちは。
私は2つのファイルを持っています。
1 番目のファイル:

2 番目のファイル:

最初のファイルから最低年齢を検索し、2 番目のファイルで最低年齢を割り当てるスクリプトを作成しようとしています。
例えば
3つの名前を持つ1行目サム、ジョン、スミスしたがって、最小年齢列の値は最小{サム、ジョン、スミス} 最小{21、27、32} = 21
私の最終的な出力は次のようになります。

何か提案はありますか?
ありがとう
スクリプティングRe: 列に最小値を割り当てるColumn() 関数はそうではありません
d2:Column(2)[I]
それは述べた通りです
Column( dt, 2 )[I]
インデックスが変数の場合、完成したスクリプトは次のようになります。
Names Default To Here( 1 );
dt1 = Data Table( "1st" );
dt2 = Data Table( "2nd file" );
indexd2minage = 2;
indexd2name = 1;
indexd1name = 1;
indexd1age = 2;
Current Data Table( dt1 );
For( i = 1, i <= N Rows( dt2 ), i++,
Column( dt2, indexd2minage )[i] =
Col Min(
If(
Contains(
Column( dt2, indexd2Name )[i],
as Column( dt1, indexd1Name )
),
Column( dt1, indexd1age ),
.
)
)
);Re: 列に最小値を割り当てるやあ@txnelson 、
列名を列インデックスに置き換えようとしましたが、実行されていません
助言がありますか?
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Column(2)[i] =col min(If(contains(dt2:Column(1)[i],dt1:Column(1)),dt1:Column(2),.));
);
Re: 列に最小値を割り当てるこのスクリプトでは、列名を列インデックスに置き換えます
Names Default To Here( 1 );
dt1 = Data Table( "1st" );
dt2 = Data Table( "2nd file" );
Current Data Table( dt1 );
For( i = 1, i <= N Rows( dt2 ), i++,
dt2:Minimum Age[i] = Col Min( If( Contains( dt2:Name[i], dt1:Name ), dt1:age, . ) )
);
Re: 列に最小値を割り当てるこれは私が与えた例の1つです
Column( "Age" ) << Get Property( "Units" );
JSL Syntax Reference の Column() 関数に関するドキュメントを調べると、次のように書かれています。
Column(<dt>, "name", "formatted")
Column(<dt>, n)
Description
Gets a reference to the data table column.
Arguments
dt Optional reference to a data table. If this is not supplied, the current data table is used.
name Quoted string that is the name of the column.
formatted Quoted string that returns the formatted string of the cell value.
n Column number.
Syntax Guide の例を読むと、次のようになります。
The Column function can also identify a column. For Big Class.jmp, the following expressions
all refer to age, the second column in the table:
Column( "age" );
Column( 2 );
Column( dt, 2 );
Column( dt, "age" );
Re: 列に最小値を割り当てるやあ@txnelson 、
上記のスクリプトで列名の代わりに列インデックスを定義するにはどうすればよいですか?
ありがとう
Re: 列に最小値を割り当てるget プロパティの構文は次のとおりです。
obj << Get Property( the property you want to retrive );
したがって、Age 列の列プロパティの 1 つを次のように要求します。
:Age << Get Property( "Spec Limits" );
// or
Column( "Age" ) << Get Property( "Units" );
また、JMP では独自の列プロパティを作成できるため、次のようなことができます。
dt1:Sam << Set Property("Age", 3);
dt1:Andy << Set Property("Age", 4);<BR />theAge = dt1:Andy << Get Property( "Age" );
Re: 列に最小値を割り当てるやあ@txnelson 、
早速の対応、ありがとうございました。
私は自分の質問を明確にしませんでした。
1.データ テーブル 1st_file には、9 つの列があります。はい
2. データ テーブル 1st_file には、各列に 1 行のデータがあります。
列ヘッダーを右クリックして [列のプロパティ] を選択すると、広範なリスト選択した特定の列を参照するアイテムの。
これらの広範なリスト値を 2nd_file の列にインポートできますか?
構文を使用できますか "プロパティを取得する() "
例えば.
dt1 << Get Property("年齢");
次に、for ループを使用して 2 番目のファイルに割り当てますか?
再度、感謝します
Re: 列に最小値を割り当てるまず、いくつかの用語を明確にする必要があります。
- データ テーブル 1st_file には、9 つの列があります
- データ テーブル 1st_file には、各列に 1 行のデータがあります。JMP が列プロパティと呼ぶものがありません。列ヘッダーを右クリックして [列のプロパティ] を選択すると、選択した特定の列を参照するアイテムの広範なリストが表示されます。
上記について言及したのは、列プロパティというキーワードを使用したときに、すぐに JMP 列プロパティのアイデアに行き着いたからです。それは私にとって多くの混乱につながる誤った仮定の束を設定しました.
それはさておき、問題を解決できる多数の方法をいくつか紹介します
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
// Transpose the data into a standard data table format
dt3 = dt1 << Transpose(
invisible,
columns( :Sam, :Andy, :John, :Ed, :Jonny, :Smith, :Scott, :George, :Mathew ),
Output Table( "Transpose of 1st_file" )
);
Current Data Table( dt3 );
For( i = 1, i <= N Rows( dt2 ), i++,
dt2:Minimum Age[i] = Col Min( If( Contains( dt2:Name[i], dt3:Label ), dt3:Name( "Row 1" ), . ) );
Show( dt2:minimum Age[i] );
);
Close( dt3, nosave );
データの処理にはもう少し時間がかかりますが、セカンダリ テーブルの作成は必要ありません。
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Minimum Age" );
For( i = 1, i <= N Rows( dt2 ), i++,
ages = {};
For( k = 1, k <= N Cols( dt1 ), k++,
If( Contains( dt2:Name[i], (Column( dt1, k ) << get name) ) > 0,
Insert Into( ages, Column( dt1, k )[1] )
);
);
dt2:Minimum Age[i] = Min( ages );
);Re: 列に最小値を割り当てるやあ@txnelson 、
Age の値が列のプロパティに格納されている場合はどうなるでしょうか。 1st_file の列プロパティ (Age) を 2nd ファイルの列 (Minimum Age) にインポートするにはどうすればよいですか

Re: 列に最小値を割り当てる「なぜあなたは例を挙げられなかったのですか?」データ テーブルへの新しい列の追加"そしてそれをスクリプトに追加しますか?
Scripting Guide にアクセスして、実行方法の例を入手できることをご存知ですか?そうでない場合は、よく知っておくことを強くお勧めします。
これが私があなたに与えたサンプルスクリプトです。新しい列を追加する新しいコマンドがあります
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
dt2 << New Column( "Minimum Age" );
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Minimum Age[i] =col min(If(contains(dt2:Name[i],dt1:Name),dt1:age,.));
);Re: 列に最小値を割り当てるやあ@txnelson 、
ご協力いただきありがとうございます。
2 番目のファイルには、最小年齢列がありません。 「最小年齢」という名前の 2 番目の列を作成し、最小値を割り当てるにはどうすればよいですか?
Re: 列に最小値を割り当てるここにあなたが望むことをする短いスクリプトがあります...重要なのは、ほとんどの人は、計算関数に渡されるものが条件付きである可能性があることに気付いていないということです。以下のスクリプトを参照してください
Names default to here(1);
dt1=data table("1st");
dt2=data table("2nd file");
current data table(dt1);
For(i=1,i<=nrows(dt2), i++,
dt2:Minimum Age[i] =col min(If(contains(dt2:Name[i],dt1:Name),dt1:age,.));
);Re: 列に最小値を割り当てるファイルの添付