![](/img/trans.png)
[英]Match values in two different data frames, that are not identical, with matching pattern in R
[英]What makes these two R data frames not identical?
我有兩個小數據幀, this_tx
和last_tx
。 以我所知,它們是完全相同的。 this_tx
== last_tx
導致一幀尺寸相同,均為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]是同一階段的一部分。 當然,如果我無法比較葯物/劑量組合,那是正確的。
通常,在這種情況下,嘗試all.equal
很有用,它將為您提供有關兩個對象為何不相等的信息。
好吧,“磨牙細節plz! 在這種情況下可能會獲勝:
檢查dput()
的輸出,並在可能的情況下發布。 str()
只是概述了對象的內容,而dput()
可以復制並粘貼到另一個R解釋器中以重新生成對象的形式轉儲所有dput()
細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.