やあ、
私はこのようなExcelデータテーブルを持っています(添付ファイル):
| テスト | シグナル1 | シグナル2 | シグナル3 |
| 1 | 3 | 3 | 4 |
| 2 | 4 | 届いていない | |
| 3 | 5 | | 6 |
| 4 | 6 | | 届いていない |
これには、いくつかのテストが含まれています。 各テストにはいくつかの信号チャネル(信号1〜3)がありますが、すべてのチャネルがすべてのテストに使用されたわけではありません。 信号チャネルが特定のテストに使用されなかった場合、対応するフィールドは空です。
各チャネルの数値は、信号が特定のしきい値に達した時間を示します。 信号がしきい値に達していない場合、これは「到達していません」という文字列で示されます。
評価のためには、欠測データの2つのケースを区別できることが重要です。
1)チャネルが使用されなかったため、データがありません。
2)しきい値に達していないため、データがありません。
現在、データはすべて「文字」タイプですが、もちろん評価のために「数値」に変換する必要があります。 ただし、列のデータ型を「数値」に変換するとすぐに、「到達していない」エントリが削除され、2つのタイプの欠落データの区別がなくなります。
recodeオプションを使用して、「notreached」をNaNまたはnanに置き換えてから、列を数値に変換しようとしましたが、結果は同じでした(NaNまたはnanが削除されました)。
データが欠落している2つのケースを区別できる方法はありますか? ある場合には価値がなく、別の場合にはNaNのようなものがあると思いました。
(インタラクティブソリューションまたはスクリプトソリューションのどちらでも問題ありません。)
いくつかの提案がすぐに思い浮かびます(これらの解決策は、実行したい分析によって異なり、場合によっては正しく機能しない可能性があります)
空の値を空のままにして(数値に変更すると。に置き換えられます)、到達しなかったものを9999などに置き換えることができます。 次に、列のプロパティにあるオプションの1つを使用します(値ラベル、欠落している値コードが機能する場合があります)。
または、データをスタックすることもできます。 スタックするすべての列は同じデータ型である必要があるため、スタックする前に未到達を9999に変更してください。 次に、スタックした後、特定の信号の問題が何であるかを示す式を作成できます。

そして、実行していることに応じて、必要に応じて列のプロパティを再度使用します。
ありがとう。 それは私が探していたものを非常にうまくやっているようです。