我有两个小数据框,this_tx
和last_tx
. 在我能说的每一个方面,它们都是完全相同的。 this_tx
==last_tx
产生一个尺寸相同的框架, all TRUE
。 this_tx %in% last_tx
, 二TRUEs
. 目测,明显一模一样。但是当我打电话
identical(this_tx, last_tx)
我得到一个FALSE
. 有趣的是,甚至
identical(str(this_tx), str(last_tx))
将返回一个TRUE
. 如果我设置this_tx <- last_tx
,我会得到一个TRUE
。
到底是怎么回事?我对 R 的内部机制没有最深入的了解,但我找不到两个数据帧之间的单一区别。如果相关,帧中的两个变量都是因素 - 相同的级别,级别的相同数字编码,都只是相同原始数据帧的子集。将它们转换为字符向量没有帮助。
背景(因为我也不介意在这方面提供帮助):我有给予患者药物治疗的记录。每个治疗记录基本上都指定了一个人和一个日期。第二个表记录了在特定治疗期间给予的每种药物和剂量(通常,每次治疗给予几种药物)。我试图确定该人以相同剂量服用相同药物组合的连续时期。
我想出的最好的计划是按时间顺序检查治疗。如果治疗[i]的药物和剂量组合与治疗[i-1]的组合相同,则治疗[i]与治疗[i-1]处于同一阶段。当然,如果我不能比较药物/剂量组合,那就对了。