2 sütuna göre yinelenen satırları tanımlamak ve işaretlemek istiyorum. Her satır için benzersiz bir tanımlayıcı yapmak istiyorum, bu yüzden sadece satırın bir kopya olduğunu değil, aynı satırın bir kopya olduğunu biliyorum. Aşağıda bazı yinelenen öğe çiftleri (uygun ve oturmak) ve çoğaltılmamış diğer çiftleri ile benzeyen bir veri çerçevesi var. Öğe çiftleri çoğaltılırken içerdikleri bilgiler benzersizdir (örneğin, bir satır 1 satır için Değer1'de bir değere sahip olur, ancak Değer2 ve Değer 3 değil, ikinci veya 'yinelenen' satırda yalnızca Değer2 ve Değer3 için sayılar bulunur Değer Değil1)
mevcut veri çerçevesi
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"
veri çerçevesi oluşturmak için kod
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)
ne istiyorum böyle bir veri çerçevesine dönüştürmek için:
istenen veri çerçevesi
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"
Aşağıdaki adımları yapmayı düşünüyordum: 1. yinelenen çiftleri tanımlamak için en düşük öğe ve en yüksek öğeleri ile uyum ve oturmak kullanarak yeni değişkenler oluşturmak 2. yinelenen öğe çiftlerini tanımlamak 3. benzersiz bilgileri seçmek ve doldurmak için ifelse kullanın.
Adım 1 ve 3'ü nasıl yapacağımı biliyorum, ancak adım 2'de takılı kalıyorum. Yapmam gereken şey sadece DOĞRU / YANLIŞ kopyayı tanımlamak değil, belki de bu gibi her öğe çifti için benzersiz bir tanımlayıcıya sahip bir sütun var (orada 1. adımım nedeniyle 2 ekstra satır var):
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
Bunu nasıl yapacağımdan emin değilim.
İstediğim şey, ya 2. adımla ilgili yardım ya da belki de çözdüğüm adımlardan daha iyi bir yol var.