Tôi có hai khung dữ liệu, Data1 và Data2, mà tôi muốn hợp nhất dựa trên một biến "ID".Hợp nhất hai khung dữ liệu trong R có các mẫu phổ biến và không phổ biến
Ví dụ này dữ liệu có thể được tải về ở đây: http://dl.dropbox.com/u/52600559/example.RData
Dưới đây là khung dữ liệu đầu tiên:
> Data1
ID Fruit Color Weight
1 1 Apple Red 5
2 2 Orange Orange 7
3 3 Banana Yellow 3
4 4 Pear Green 5
5 5 Tomato Red 4
6 6 Berry Blue 4
7 7 Mandarin Orange 4
8 8 Pineapple Yellow 9
9 9 Nectarine Orange 5
10 10 Beet Red 5
Và đây là khung dữ liệu thứ hai:
> Data2
ID Fruit Color Weight
1 1 Apple Red 5
2 2 Orange Orange 7
3 3 Banana Yellow 3
4 4 Pear Green 5
5 5 Tomato Red 4
6 11 Pomegranate Red 6
7 12 Grape Green 4
8 13 Cranberry Red 4
9 14 Melon Pink 5
10 15 Pumpkin Orange 10
tôi đã cố gắng hợp nhất chúng như sau:
> merge(Data1, Data2, by = "ID", sort = FALSE, all.x = TRUE, all.y = TRUE)
ID Fruit.x Color.x Weight.x Fruit.y Color.y Weight.y
1 1 Apple Red 5 Apple Red 5
2 2 Orange Orange 7 Orange Orange 7
3 3 Banana Yellow 3 Banana Yellow 3
4 4 Pear Green 5 Pear Green 5
5 5 Tomato Red 4 Tomato Red 4
6 9 Nectarine Orange 5 <NA> <NA> NA
7 6 Berry Blue 4 <NA> <NA> NA
8 7 Mandarin Orange 4 <NA> <NA> NA
9 8 Pineapple Yellow 9 <NA> <NA> NA
10 10 Beet Red 5 <NA> <NA> NA
11 14 <NA> <NA> NA Melon Pink 5
12 11 <NA> <NA> NA Pomegranate Red 6
13 12 <NA> <NA> NA Grape Green 4
14 13 <NA> <NA> NA Cranberry Red 4
15 15 <NA> <NA> NA Pumpkin Orange 10
Như bạn thấy, cả hai khung dữ liệu có nhiều biến số giống nhau. Tuy nhiên, một số ID trong Data1 không có trong Data2 và ngược lại. Hơn nữa, một số ID được đặt trong cả hai khung dữ liệu.
Câu hỏi 1: Tôi muốn hợp nhất tất cả các cột được hiển thị ở trên. Vì vậy, tôi muốn "Fruit.x" được hợp nhất với "Fruit.y". thành một cột gọi là "Trái cây". Tôi có thể làm cái này như thế nào?
Câu hỏi 2: Điều gì xảy ra nếu, đối với một trong các mẫu xảy ra trong cả Data1 và Data2, một trong các giá trị không đồng ý. Vì vậy, đối với ID mẫu 1, nếu Fruit.x là Apple, nhưng Fruit.y được mã hóa không chính xác là Aple (với lỗi chính tả), có cách nào để tôi có thể kiểm tra tất cả các trường hợp này một cách nhanh chóng để tôi có thể chọn cái nào đúng không? Hoặc tôi có thể yêu cầu R luôn xem xét Data1 đúng với Data2 khi điều này xảy ra không?
Nhờ bất kỳ ai có thể trợ giúp !!
Cảm ơn mọi người vì câu trả lời của bạn! +1 cho tất cả! – Alexander