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

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