1 つの列から複数の変数の名前を変更するにはどうすればよいですか?1 つの列に複数の変数 (B、F、T など) があり、名前を変更する必要がありました。
Local({dt, col1},
dt = Data Table("ProductDefect");
dt << Begin Data Update;
col1 = dt << New Column(dt:LayerData);
col1 << Set Name("Side");
dt << Move Selected Columns({col1}, after(dt:LayerData));
For Each Row(
dt,
col1[] = If(Contains(dt:LayerData, "B"),
"Back",
dt:LayerData
)
);
dt << End Data Update;
);このスクリプトを使用すると、B のみが変更され、他の変数 (つまり、「F」、「T」) は変更されません。新しい列ですべてに名前変更するには、どうすればよいですか。B = 背面、F = 前面、T = 上部。
自動化とスクリプトRe: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?Recode プラットフォームを使用すると、このタイプの変換を簡単に作成できます。


Local({dt, col1},
dt = Data Table("Big Class");
dt << Begin Data Update;
col1 = dt << New Column(dt:sex);
col1 << Set Name("sex 2");
dt << Move Selected Columns({col1}, after(dt:sex));
dt << Recode Column(
dt:sex,
{Map Value(_rcOrig, {"F", "Female", "M", "Male"}, Unmatched(_rcNow))},
Update Properties(1),
Target Column(col1)
);
dt << End Data Update;
);
値ラベル列プロパティの使用も検討してください。

表のデータは変更されませんが、「再コード化された」値が表示されます。
Re: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?フィードバックありがとうございます!
ただし、再コード化プラットフォームを使用すると、データベースに新しいデータが追加されるたびにデータベースからデータをアップロードし、手動で再コード化する必要があるため、スクリプトを自動化することはできません。
添付のサンプルのように、たとえば、私のデータはシステムから更新され続け、番号と変数は維持されながら名前は継続的に変更されます (例: 1B-xx、1F-xx、1T-xx、2B-xx、2F-xx、2T-xx、...)。システムからは、B = 背面、F = 前面、T = 上部として自動的に表示されません。
分析を行うたびに Recode を繰り返さずに済む方法はありますか?
Re: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?「2B-New」は「Back」や「2Back-New」などとすべきでしょうか?
Re: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?はい、新しい列では、「サイド」のみを指定します。つまり、2B-New は「バック」、2T-Basic は「トップ」というようになります。
Re: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?再コード化と文字列の置換は複数回使用できます。あなたのデータがわからないので、何が最善の方法かはわかりません (単純な正規表現を使用すると思いますが、より複雑なものが必要な場合はそれを行うこともできます)

これを各自のパターンで繰り返します

JMPはスクリプトを作成します
// Recode column: ProductDefect
Local({dt},
dt = Data Table("Sheet1");
dt << Begin Data Update;
dt << Recode Column(
dt:ProductDefect,
{Regex(_rcNow, ".*?\d+B.*", "Back", GLOBALREPLACE),
Regex(_rcNow, ".*?\d+T.*", "Top", GLOBALREPLACE),
Regex(_rcNow, ".*?\d+F.*", "Front", GLOBALREPLACE)},
Update Properties(1),
Target Column(:ProductDefect)
);
dt << End Data Update;
);
それをその場で実行したくない場合は、それを有効せずに再コードを実行します
Re: 1 つの列から複数の変数の名前を変更するにはどうすればよいでしょうか?ご協力ありがとうございます! まさに私が考えていた通りの成果です!