Tôi có 2 data.frames sau:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
Tôi muốn tìm hàng a1 có a2 không.
Có một chức năng được xây dựng cho loại hình hoạt động này?
(ps: Tôi đã viết một giải pháp cho nó, tôi chỉ tò mò nếu ai đó đã tạo ra một mã thủ công hơn)
Đây là giải pháp của tôi:
a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = 1:3, b=letters[1:3])
rows.in.a1.that.are.not.in.a2 <- function(a1,a2)
{
a1.vec <- apply(a1, 1, paste, collapse = "")
a2.vec <- apply(a2, 1, paste, collapse = "")
a1.without.a2.rows <- a1[!a1.vec %in% a2.vec,]
return(a1.without.a2.rows)
}
rows.in.a1.that.are.not.in.a2(a1,a2)
a2 <- data.frame(a = c(1:3, 1), b = c(letters[1:3], "c"))
. Đểa1
nguyên như vậy. Bây giờ hãy thử so sánh. Tôi không rõ ngay cả khi đọc các tùy chọn, cách thích hợp là chỉ liệt kê các yếu tố phổ biến.