Est-il possible de créer un diagramme de dispersion dans R et de colorier les points par catégorie? Par exemple, j'ai un jeu de données avec une liste de points x et y (les deux colonnes 'Xpoints' et 'Ypoints' ont des échelles de 0 à 100), mais chaque point x combiné correspond à l'une des cinq catégories (dans un troisième colonne "Catégorie"). Je voudrais tracer tous les points combinés x & ET colorier chaque point par sa catégorie respective. Je suppose que les cinq catégories devraient attribuer les numéros 1 à 5 dans une colonne supplémentaire. Mais quel serait le code pour tracer cela?Coloriage diagramme de dispersion par type dans r
Répondre
Utilisez le package ggplot2
qui est largement utilisé pour les applications de ce type.
# toy data
my_data <- data.frame(x = sample(1:100, replace = T, 100),
y = sample(1:100, replace = T, 100),
cat = sample(c('first', 'second', 'third'), replace = T, 100)
)
# required packages
require(ggplot2)
# make the graph
ggplot(data = my_data, aes(x = x, y = y, color = cat)) +
geom_point()
ggsave(height = 4, width = 4, filename = 'SO36801313.png')
C'est une tâche vraiment facile pour le paquet graphique Lattice
. Il est spécialement conçu pour l'analyse multivariée, qui peut gérer très facilement. Je charge l'ensemble de données iris
pour fournir un exemple.
library(lattice)
data("iris")
names(iris)
Lattice
permet parcelles multifacette immédiats, montrant la relation entre deux variables en fonction d'un troisième. Dans ce cas, nous avons examiné la relation entre la longueur de sépale et la largeur de sépale de la fleur, mais pour chaque species
dans l'ensemble de données. Il est exprimé avec la formule x ~ y | z
.
xyplot(Sepal.Length ~ Sepal.Width | Species, data = iris)
Pour votre cas, nous allons tracer toutes les observations dans un seul tracé standard. Dans ce cas, l'argument groups
colorera automatiquement chaque observation en fonction des critères que vous choisissez, dans ce cas, species
à nouveau.