Если у вас есть классы, разделенные во фрейме данных или матрице, вы можете использовать matplot
.Например, если у нас есть
dat<-as.data.frame(cbind(c(1,2,5,7),c(2.1,4.2,-0.5,1),c(9,3,6,2.718)))
plot.new()
plot.window(c(0,nrow(dat)),range(dat))
matplot(dat,col=c("red","blue","yellow"),pch=20)
Тогда вы получите диаграмму рассеяния, где первый столбец dat
изображен красным, второй - синим, а третий - желтым.Конечно, если вы хотите использовать отдельные значения x и y для ваших классов цветов, тогда вы можете иметь datx
и daty
и т. Д.
Альтернативный подход заключается в добавлении дополнительного столбца, указывающего, какой цветВы хотите (или сохранить дополнительный вектор цветов, итеративно заполняя его циклом for
и некоторыми ветвями if
).Например, вы получите тот же сюжет:
dat<-as.data.frame(
cbind(c(1,2,5,7,2.1,4.2,-0.5,1,9,3,6,2.718)
,c(rep("red",4),rep("blue",4),rep("yellow",4))))
dat[,1]=as.numeric(dat[,1]) #This is necessary because
#the second column consisting of strings confuses R
#into thinking that the first column must consist of strings, too
plot(dat[,1],pch=20,col=dat[,2])