Tôi có hai khung dữ liệu nhỏ, this_tx
và last_tx
. Họ, theo mọi cách mà tôi có thể nói, hoàn toàn giống hệt nhau. this_tx
== last_tx
kết quả trong một khung có kích thước giống nhau, tất cả TRUE
. this_tx %in% last_tx
, hai TRUEs
. Kiểm tra trực quan, rõ ràng giống hệt nhau. Nhưng khi tôi gọiĐiều gì làm cho hai khung dữ liệu R này không giống nhau?
identical(this_tx, last_tx)
tôi nhận được một FALSE
. Hilariously, thậm chí
identical(str(this_tx), str(last_tx))
sẽ trả về một TRUE
. Nếu tôi đặt this_tx <- last_tx
, tôi sẽ nhận được TRUE
.
Điều gì đang xảy ra? Tôi không có sự hiểu biết sâu sắc nhất về cơ chế bên trong của R, nhưng tôi không thể tìm thấy một sự khác biệt duy nhất giữa hai khung dữ liệu. Nếu nó có liên quan, hai biến trong các khung là cả hai yếu tố - cùng cấp, cùng mã hóa số cho các cấp, cả hai chỉ là tập hợp con của cùng một khung dữ liệu gốc. Chuyển đổi chúng thành các vectơ ký tự không giúp ích gì.
Bối cảnh (vì tôi cũng không ngại giúp đỡ về điều này): Tôi có hồ sơ về các phương pháp điều trị bằng thuốc dành cho bệnh nhân. Mỗi hồ sơ điều trị về cơ bản chỉ định một người và một ngày. Một bảng thứ hai có một hồ sơ cho mỗi loại thuốc và liều được đưa ra trong một điều trị cụ thể (thông thường, một vài loại thuốc được cho mỗi lần điều trị). Tôi đang cố gắng xác định các giai đoạn liền kề trong đó người đó đang dùng cùng một loại thuốc kết hợp với liều lượng tương tự.
Kế hoạch tốt nhất mà tôi đã đưa ra là kiểm tra các phương pháp điều trị theo thứ tự thời gian. Nếu kết hợp thuốc và liều điều trị [i] giống hệt với phối hợp điều trị [i-1] thì việc điều trị [i] là một phần của cùng giai đoạn với điều trị [i-1]. Tất nhiên, nếu tôi không thể so sánh kết hợp thuốc/liều, điều đó đúng.
Nếu bạn có thể đăng một cặp khung dữ liệu ví dụ, điều này sẽ giúp ích hơn là kết quả của việc chạy 'dput()' trên các khung. – Sharpie
Sharpie thắng. Hai khung dữ liệu vẫn mang theo hàng.names của khung dữ liệu mẹ, hiển thị trong một dput() nhưng không phải str(). Sharpie, nếu bạn đăng câu trả lời, tôi sẽ đánh dấu nó là tốt nhất. –
Tôi thực sự ngạc nhiên - tôi luôn nghĩ rằng 'str' là một phiên bản" prettified "của' dput'. Đoán nó chỉ ra rằng nó chỉ là một bản tóm tắt. – Sharpie