簡體   English   中英

是什么使這兩個R數據幀不相同?

[英]What makes these two R data frames not identical?

我有兩個小數據幀, this_txlast_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM