OK, tôi có hai danh sách được đặt tên, một danh sách là "được mong đợi" và một danh sách được "quan sát". Chúng có thể phức tạp trong cấu trúc, với các kiểu dữ liệu tùy ý. Tôi muốn có một danh sách mới chỉ chứa những yếu tố của danh sách được quan sát khác với danh sách mong đợi. Dưới đây là ví dụ:làm cách nào để có được sự khác biệt giữa hai danh sách R được đặt tên?
Lexp <- list(a=1, b="two", c=list(3, "four"))
Lobs <- list(a=1, c=list(3, "four"), b="ni")
Lwant <- list(b="ni")
Lwant là những gì tôi muốn kết quả. Tôi đã thử điều này:
> setdiff(Lobs, Lexp)
[[1]]
[1] "ni"
Không, điều đó mất tên và tôi không nghĩ setdiff chú ý đến tên. Đặt hàng rõ ràng không quan trọng ở đây và tôi không muốn a = 1 để khớp với b = 1.
Không chắc chắn cách tiếp cận tốt là gì ... Thứ gì đó lặp qua danh sách tên (Lobs)? Âm thanh vụng về và không giống như R, mặc dù khả thi ... Có ý tưởng thanh lịch nào không?
Tôi vừa mới sử dụng hàm% in% ngày hôm qua để gỡ lỗi và giới thiệu về điều đó. –