Me gustaría identificar y marcar filas duplicadas basadas en 2 columnas. Me gustaría hacer un identificador único para cada duplicado, así que sé no solo que la fila es un duplicado, sino con qué fila es un duplicado. Tengo un marco de datos que se ve a continuación con algunos pares de elementos duplicados (en forma y sentado) y otros pares que no están duplicados. Si bien los pares de elementos están duplicados, la información que contienen es única (por ejemplo, una fila tendrá un valor en Value1 para 1 fila, pero no Value2 y Value 3, la segunda fila o 'duplicado' tendrá números para Value2 y Value3 solo no valor1)
marco de datos actual
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"
código para generar un marco de datos de ejemplo
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)
lo que quiero es convertirlo a un marco de datos que se vea así:
marco de datos deseado
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"
Estaba pensando en seguir los siguientes pasos: 1. crear nuevas variables usando fit y sentarse con el elemento más bajo y los elementos más altos para identificar pares duplicados 2. identificar pares de elementos duplicados 3. usar ifelse para seleccionar y completar información única.
Sé cómo hacer los pasos 1 y 3, pero estoy atascado en el paso 2. Creo que lo que tengo que hacer no es solo identificar el duplicado VERDADERO / FALSO, sino quizás tener una columna con un identificador único para cada par de elementos como este (hay son 2 filas adicionales debido a mi paso 1):
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
No estoy seguro de cómo hacer esto.
Lo que estoy pidiendo es ayuda con el paso 2 o tal vez hay una mejor manera de resolverlo que los pasos que describí.