Sorunum, farklı bir kod kullanarak, bir faktör düzeyine göre seçmek istediğiniz satırları zaten belirlediğim gerçeğinden kaynaklanıyor. Temelde ne var şudur: değil bütün dataframe df2 yılında, sıranın endeksine ama kimliği bir tek seviyesine içinde tekabülSatırı bir faktör düzeyine göre seçin
df<-data.frame(ID=c("A","B","C"), pos=c(1,3,2))
df2<-data.frame(ID=c(rep("A",5),rep("B",5),rep("C",5)),obs=c(1:15))
df, pos yılında. Bu yüzden, her bir ID için doğru indekse göre satırları seçmenin bir yolunu arıyorum (bu nedenle satır sayısı, df2'un her faktörü seviyesinde).
Bu daha sonra beni verecek:
df3<-data.frame(ID=c("A","B","C"), obs=c(1,8,12))
Mükemmel çalışıyor, teşekkürler! –
İyi fikir. Yine de bir ara veri seti yapmak yerine, 'df2 $ pos <- dizisini (uzunlukları (bölünmüş (df2 $ ID, df2 $ ID))) yapabilirdiniz ve sonra sadece birleştirme yapabilir (df, df2). Bu şekilde dplyr daha çirkin değildir. – Frank
Bu düzenleme ile daha da iyi (ve daha hızlı). –