2017-09-09 2 views
1

J'ai une image avec des coordonnées X, Y et un type. Le dataframe ressemble à ceci:Redéfinition de la liste des coordonnées (pile X sur Y)

structure(list(Typ = c("Blue", "Blue", "Blue", 
"Blue", "Green", "Red", "Blue", "Blue", "Blue", 
"Red", "Red", "Red", "Cyan", "Cyan", "Cyan", "Blue", "Green", 
"Red", "Green", "Cyan", "Cyan", "Green", "Cyan", "Red", "Red", 
"Blue", "Red", "Blue", "Yellow", "Green"), X = c(429L, 
432L, 451L, 324L, 442L, 577L, 597L, 411L, 598L, 371L, 455L, 469L, 
380L, 437L, 316L, 387L, 414L, 482L, 506L, 478L, 496L, 574L, 395L, 
554L, 344L, 496L, 516L, 579L, 586L, 412L), Y = c(310L, 311L, 
311L, 312L, 312L, 312L, 312L, 314L, 314L, 315L, 315L, 315L, 316L, 
316L, 317L, 317L, 318L, 318L, 318L, 320L, 320L, 320L, 321L, 321L, 
322L, 322L, 322L, 322L, 323L, 324L)), .Names = c("Typ", "X", 
"Y"), row.names = c(NA, 30L), class = "data.frame") 

et que pour obtenir une sortie comme ci-dessous. En outre, il serait agréable d'avoir le type inclus comme une couleur de coordonnées X.

Y: X: 
310: 429 
311: 432 451 
312: 324 442 577 597 
314: 411 598 
315: 371 455 469 
316: 380 437 
317: 316 387 
.... 

Répondre

1

Nous pouvons utiliser aggregate de base R pour créer une list de valeurs « X » pour chaque « Y »

aggregate(X~Y, df, I) 
# Y     X 
#1 310    429 
#2 311   432, 451 
#3 312 324, 442, 577, 597 
#4 314   411, 598 
#5 315  371, 455, 469 
#6 316   380, 437 
#7 317   316, 387 
#8 318  414, 482, 506 
#9 320  478, 496, 574 
#10 321   395, 554 
#11 322 344, 496, 516, 579 
#12 323    586 
#13 324    412 
+0

merci, toute idée de se débarrasser de l'espace trailings et quelles sont les options coloriser? –

+0

@ J.Knight Si vous cochez la colonne, c'est une 'liste' – akrun