<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />列には、先頭にゼロが付いているデータと付いていないデータがあります。 新しい列を作成せずに先頭のゼロを削除することはできますか?
こんにちは、ジェニファーさん
分かっていただけて嬉しいです、お役に立ててとても嬉しいです! 行き詰まった場合は、ためらわずに質問を投稿してください。同じような質問をしている人はおそらくたくさんいます。
JMP を楽しんでいただければ幸いです。
ジュリアン
こんにちは、ジェニファーさん
素晴らしい! 数値のみを使用している場合は、列のデータ型を数値に変更すると、並べ替えが自動的に行われるため、これがはるかに簡単になります。 列のデータ型を変更するには、列を選択し、[列] メニュー > [列情報] に移動します。 そこで、データ タイプを数値に変更し、モデリング タイプを連続に変更します。ここで、その列でソートすると (データ テーブルの列を右クリックして [ソート]、または [テーブル メニュー] > [ソート] のいずれか)、JMP はこれらの数値を自然に並べ替えます。
ジュリアン
気にしないでください、私はそれを理解したと思います。 文字から数値に変更する必要がありました。それがあなたが私に伝えようとしていたことだと思います。 ごめん。 あなたのご親切に感謝します!!
敬意を表して、
ジェニファー
こんにちは、ジュリアンさん
この列には数値のみが含まれていますが、データが連続形式である必要がある特定の分析を実行できるように、名目値または順序値だけではなく連続列に変更できるようにしたいと考えています。
敬意を表して、
ジェニファー
こんにちは、ジャロウェさん
列が文字列の場合、JMP は指定どおりにデータを 1、11、12、13、2、3 などに並べ替えます。列が数値の場合、JMP は自然順序 1、2、3 で列を並べ替えます。 、4 など。列に文字が含まれていますか? その場合、数値に変更することはできないため、より創造的なことを行う必要があります。 私なら、データの前にいくつかのゼロを追加し、結果をトリミングして合計文字数を制限します。 たとえば、値が 1a、2e、13h、33f、201v である場合、最後に 001a、002e、013h、033f、201v になるように先頭にゼロを追加します。 これは、異なる数のゼロ (場合によっては 2、場合によっては 1、場合によってはゼロ) を先頭に追加することを意味することに注意してください。 条件付きロジックを使用してこれを処理することもできますが、必要なゼロの最大数 (2) をすべてのデータの前に追加し、「right」と呼ばれる文字関数を使用して、データから最も右側の文字だけを取得する方が簡単です。各行。 たとえば、すべての値の前に 2 つのゼロを追加し (001a、002e、0013h、0033f、00201v が生成されます)、次にそれぞれの右端の 4 文字だけを取得する別の数式を適用するとします (これにより、必要な値 001a、002e が生成されます)。 、013h、033f、201v)。 これは、JMP の数式を通じて、マウスだけ (および数回キーを押すだけ) で行うことができます。
1. [列] メニュー > [新しい列] に移動して、新しい列を作成します。

2. データの種類は「文字」を選択します。 これは、先頭のゼロと文字を使用したい場合に必要です (数値列では、実際の数値としては意味がなく、文字を格納できないため、先頭のゼロは無視されます)。 これを行ったら、「OK」をクリックします
3. 新しい列を選択し、[列] メニュー > [数式] に移動します。
4. これは数式エディタです。 ここで、列全体に適用する数式を定義できます。 ここで必要なのは、元の列の既存の値の先頭にゼロ (または任意の文字) を追加する数式です。 これは、「concatenate」と呼ばれる文字関数を使用して実現できます。 その式を設定する手順は次のとおりです。
a. 右上のセクション(関数グループリスト)で「Character」を選択し、「Concat」を選択します。

b.数式エディターに次の内容が表示されます。

c. 2 つの四角形はこの関数の引数と呼ばれます。これらの四角形には列またはテキストを入力する必要があります。 この場合、別の列の先頭に値を追加したいので、まず 2 番目のボックスをクリックして選択し、次に左上の列リストで元の列を選択します。 必要なものは次のとおりです (ただし、独自の列名が必要です)。

d. 私の場合、Random ID列には文字が含まれているため、すでに文字列として設定されています。 元の列が数値の場合は、数値データを先頭に追加する文字列に変換するように JMP に指示する必要があります。 これを行うには、「Character」機能グループを再度選択し、「Char」を選択します。 これにより、式が更新され、選択した列の内容を文字に変換する命令が JMP に追加されます。

e. 次に、何を先頭に追加するかを決定する必要があります。 最初の四角形をダブルクリックすると、そのフィールドのエディターが開きます。 ここでは、必要なほとんどの数のゼロを先頭に追加します。 上で使用した例では、先頭に 2 つのゼロを追加します。 「00」を (引用符で囲んで) 入力し、Enter キーまたは Return キーを押します。Enter をクリックする前の状態は次のようになります。

f. 「戻る」をクリックすると、JMP はそのフィールドのエディタを閉じます。 この式を適用すると、すべての値の前にゼロが 2 つ表示されることになります。 ただし、「201v」のような値にはゼロは必要なく、これらの値の前にゼロを付けると並べ替えが機能しなくなります。 そこで、この数式にもう 1 つ関数を適用して、右端の 4 文字のみを保持します。 これを行うには、作成した数式の一番外側のボックスをクリックして、数式全体を選択します。 これを行うと、以下のようにボックスが強調表示されます。

g. 次に、文字関数グループからもう 1 つの文字関数を適用します。 文字グループを選択し、「right」を選択します。これにより、right() 関数がこの数式全体に適用され、右側から抽出する文字数を入力するスペースが表示されます。 この場合、「n」フィールドをダブルクリックして 4 を入力します (引用符なし)。 「戻る」をクリックすると、次のようになります。

h. 数式を実行する準備ができました。 「OK」ボタンをクリックすると、新しい列に元の値がすべて入力されますが、先頭には必要なだけゼロが追加されます。あなたの場合、おそらく追加するゼロの数と正しいトリム番号を変更する必要があります。 これを決定するには、最大値の文字数 (これが適切なトリム数になります) を計算し、次に最小値に追加する必要があるゼロの数 (先頭に追加するゼロの数になります) を決定します。すべて)。
これがお役に立てば幸いです!
ジュリアン
私は jmp を初めて使用するので、無知であることをお許しください。
すべてのデータの前にゼロを付けるか、リストを 1、11、12、13、2、3、4 などではなく実際の数値順に変更する方法はありますか?
Byron の提案は、どの行にも文字が格納されていない限り、完全に機能します。 そうした場合、列を数値に変更すると、それらのエントリは削除されます。
データに先頭のゼロがあるため、その列はすでに文字として設定されている必要があり、数字だけでなく文字も保存しているためだと思います。 これらのゼロを削除するには、[編集] > [検索] > [検索] で正規表現を使用します。正規表現は非常に強力ですが、見た目はあまり親切ではありません。 この状況では、次の正規表現は先頭のゼロを検索しますが、文字列内のゼロは検索しません。
(?
列のデータ型を数値に変更し、モデリング タイプを連続に変更すると、先頭のゼロが削除されます。