2017-08-15 4 views
0
G= c("P52" ,"P52","P66 - PARK II","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P82 V3","P82 V3","P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P82 V3"  ,"P88","P88","P88","P52","P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P52","P88","P88","P52" ,"P88","P82 V3","P88","P82 V3","P82 V3","P82 V3","P88","P88","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P88","P66 - PARK II" ,"P88"   ,"P52","P52","P52","P52","P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II","P88","P82 V3","P82 V3","P88","P88","P66 - PARK II" ,"P66 - PARK II" ,"P52","P52","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II","P66 - PARK II" ,"P82 V3","P66 - PARK II" ,"P82 V3","P88","P82 V3","P88","P88","P66 - PARK II","P82 V3","P82 V3" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P82 V3","P88","P88","P82 V3","P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P66 - PARK II" ,"P88"   ,"P66 - PARK II" ,"P66 - PARK II","P66 - PARK II") 
GA = runif(100, min=20, max=50) 
GL = runif(100, min=20, max=50) 

df=data.frame(G=G,GA=GA,GL=GL) 
df$Sq <- seq(1:nrow(df)) 
library(MASS) 
library(dplyr) 
by_G<- group_by(df,G) 
fg1 <- summarise(by_G, 
       Row_Index1=row_number(which.max(GA)), 
       Row_Index2=row_number(which.max(GL)), 
       n=n()) 

Au-dessus est le code reproductible, je suis en train d'extraire l'ID de ligne Numéro où la colonne GA a une valeur maximale au sein du Groupe.Identification Number Index rang sur les bases de Max Valeur d'autre colonne dans Group_by

+2

Depuis 'GA' est une variable de regroupement, je ne comprends pas pourquoi vous voulez trouver son maximum dans les groupes. Dans chaque groupe, 'GA' est une constante. –

+0

Je suis d'accord avec Sven, normalement vous feriez 'fg1%>% slice (which.max (GA))', mais dans ce cas, il vous donnera juste la première ligne dans chaque groupe puisque vous êtes groupé par 'GA'. – Axeman

+0

@SvenHohenstein Mes mauvaises données erronées Uploaded, maintenant les données sont selon l'énoncé du problème, Merci de me corriger monsieur –

Répondre

0

En supposant Sq fait référence à la ligne ID dans votre jeu de données, ce qui suit donnera l'ID de ligne avec la plus grande GA au sein de chaque groupe G:

by_G %>% arrange(desc(GA)) %>% summarise(Sq = first(Sq)) 

# A tibble: 4 × 2 
       G Sq 
     <fctr> <int> 
1   P52 46 
2 P66 - PARK II 13 
3  P82 V3 90 
4   P88 55