Tôi muốn xác định và đánh dấu các hàng trùng lặp dựa trên 2 cột. Tôi muốn tạo một mã định danh duy nhất cho mỗi bản sao để tôi biết không chỉ hàng đó là bản sao mà còn là hàng trùng lặp. Tôi có một khung dữ liệu trông giống như bên dưới với một số cặp mục trùng lặp (vừa vặn và ngồi) và các cặp khác không bị trùng lặp. Mặc dù các cặp mục được sao chép, thông tin chúng chứa là duy nhất (ví dụ: một hàng sẽ có giá trị trong Value1 cho 1 hàng, nhưng không phải là Value2 và Value 3, hàng thứ hai hoặc 'trùng lặp' sẽ có các số cho Value2 và Value3 không phải giá trị1)
khung dữ liệu hiện tại
value1 value2 value3 fit sit
[1,] "1" NA NA "it1" "it2"
[2,] NA "3" "2" "it2" "it1"
[3,] "2" "3" "4" "it3" "it4"
[4,] NA NA NA "it4" "it3"
[5,] "5" NA NA "it5" "it6"
[6,] NA NA "2" "it6" "it5"
[7,] NA "4" NA "it7" "it9"
mã để tạo dataframe ví dụ
value1<-c(1,NA,2,NA,5,NA,NA)
value2<-c(NA,3,3,NA,NA,NA, 4)
value3<-c(NA,2,4,NA,NA,2, NA)
fit<-c("it1","it2","it3","it4", "it5", "it6","it7")
sit<-c("it2","it1","it4","it3", "it6", "it5", "it9")
df.now<-cbind(value1,value2,value3, fit, sit)
những gì tôi muốn là chuyển đổi nó thành một khung dữ liệu trông như thế này:
khung dữ liệu mong muốn
val1 val2 val3 it1 it2
[1,] "1" "3" "2" "it1" "it2"
[2,] "2" "3" "4" "it3" "it4"
[3,] "5" NA "2" "it5" "it6"
[4,] NA "4" NA "it7" "it9"
Tôi đã nghĩ đến việc thực hiện các bước sau: 1. tạo các biến mới bằng cách sử dụng fit và ngồi với mục thấp nhất và các mục cao nhất để xác định các cặp trùng lặp 2. xác định các cặp mục trùng lặp 3. sử dụng ifelse để chọn và điền thông tin duy nhất.
Tôi biết cách thực hiện bước 1 và 3, nhưng bị kẹt ở bước 2. Tôi nghĩ rằng điều tôi cần làm không chỉ là xác định trùng lặp TRUE / FALSE, mà có lẽ có một cột với một mã định danh duy nhất cho mỗi cặp vật phẩm như thế này (có là 2 hàng thừa vì bước 1 của tôi):
value1 value2 value3 fit sit lit hit dup
[1,] "1" NA NA "it1" "it2" "it1" "it2" 1
[2,] NA "3" "2" "it2" "it1" "it1" "it2" 1
[3,] "2" "3" "4" "it3" "it4" "it3" "it4" 2
[4,] NA NA NA "it4" "it3" "it3" "it4" 2
[5,] "5" NA NA "it5" "it6" "it5" "it6" 3
[6,] NA NA "2" "it6" "it5" "it5" "it6" 3
[7,] NA "4" NA "it7" "it9" "it7" "it9" NA
Tôi không chắc chắn làm thế nào để làm điều này.
Những gì tôi đang yêu cầu là giúp đỡ với bước 2 hoặc có lẽ có một cách tốt hơn để giải quyết nó hơn các bước tôi đã vạch ra.