2 つの小さなデータ フレームthis_tx
とlast_tx
. それらは、私が知る限り、完全に同一です。 this_tx
==last_tx
は同じ次元のフレームになり、 all TRUE
. this_tx %in% last_tx
、2つTRUEs
。目視で確認すると明らかに同一。でも電話したら
identical(this_tx, last_tx)
を取得しFALSE
ます。陽気に、さえ
identical(str(this_tx), str(last_tx))
を返しますTRUE
。を設定this_tx <- last_tx
すると、 が得られますTRUE
。
何が起こっている?私は R の内部メカニクスを深く理解しているわけではありませんが、2 つのデータ フレームの違いを 1 つも見つけることができません。関連する場合、フレーム内の 2 つの変数は両方とも要因です。同じレベル、レベルの同じ数値コーディング、両方とも同じ元のデータ フレームのサブセットです。それらを文字ベクトルに変換しても役に立ちません。
背景(これについても助けを求めないため):私は患者に与えられた薬物治療の記録を持っています. 各治療記録は、基本的に個人と日付を指定します。2 番目のテーブルには、特定の治療中に投与された各薬剤と用量の記録があります (通常、各治療で数種類の薬剤が投与されます)。私は、その人が同じ組み合わせの薬を同じ用量で服用していた連続した期間を特定しようとしています.
私が思いついた最善の計画は、治療を時系列で確認することです。治療[i]の薬物と用量の組み合わせが治療[i-1]での組み合わせと同一である場合、治療[i]は治療[i-1]と同じフェーズの一部です。もちろん、薬物と用量の組み合わせを比較できない場合は、それで問題ありません。