두 개의 작은 데이터 프레임, this_tx
및 last_tx
이 있습니다. 그것들은 내가 말할 수있는 모든면에서 완전히 동일합니다. this_tx
== last_tx
은 동일한 치수의 프레임으로 결과가 모두 TRUE
입니다. this_tx %in% last_tx
, 두 TRUEs
. 육안으로 확인되었으며, 분명히 동일합니다. 내가이 두 개의 R 데이터 프레임이 동일하지 않은 이유는 무엇입니까?
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]와 동일한 단계의 일부입니다. 물론, 마약/복용량 조합을 비교할 수 없다면, 바로 나옵니다.
예를 들어 데이터 프레임 쌍을 게시 할 수 있다면 프레임에'dput()'을 실행 한 결과로 유용 할 것입니다. – Sharpie
샤피가 이긴다. 두 데이터 프레임은 여전히 dput()에는 나타나지만 str()에는 나타나지 않는 마더 데이터 프레임의 행을 가지고 있습니다. 샤피, 대답으로 올리면 가장 잘 표시 할거야. –
나는 실제로'str'이'dput'의 "prettified"버전이라고 생각했습니다. 그것이 단지 요약 일 뿐이라고 추측됩니다. – Sharpie