R: Укажите цвет для фактора на графике - PullRequest
0 голосов
/ 19 июня 2019

Как я могу явно назначить определенный цвет для определенного фактора / группы, используя команду plot?У меня есть два набора данных, в каждом из которых есть две группы (A3 и A4).Единственная разница между ними заключается в том, что в одном из них удалены две строки (выбросы).Тем не менее, цвета были совершенно разными между двумя наборами данных.И в каждой группе цвета не различаются между двумя группами.Пожалуйста, обратитесь:

All data 2 data removed

И это мой код:

d<-read.csv("data-outlier.csv",header=T)

par(mar=c(5,5.5,4,2)+0.1)
plot(
  formula = Wealth ~ Age,
  data = d,
  pch = 20,
  col = c('blue','red2'),
  xlab = expression(Age),
  ylab = expression(Income),
  xlim=c(0,140),
  las = 1,
  cex = 1.5,
  cex.axis = 1.6, cex.lab = 1.8,
  bty = 'l'
)
A3 <- subset(d, Team=="A3")
A4 <- subset(d, Team=="A4")
rA3 <- lm(Wealth~Age, data=A3);
rA4 <- lm(Wealth~Age, data=A4);
abline(rA3, lty=3, col='blue')
abline(rA4, lty=3, col='red2')

 legend(x = 'bottomright', 
        legend = c('A3','A4'),
        col = c('blue','red2'), 
        pch = c(20,20),
        bty = 'n')

Яизвините, я не знаю, как отформатировать эти данные в вектор для размещения здесь, но вот внешние ссылки: 1. Все данные 2. 2 данных удалены

Есть ли способ указать один цвет для одной группы, кроме черчения, используя «точки» отдельно (и помимо использования ggplot)?

Заранее спасибо!

1 Ответ

1 голос
/ 19 июня 2019

шаг 1: отфильтруйте данные и создайте график для группы A3, используя plot()

d<-read.csv("data-outlier.csv",header=T)
A3 <- subset(d, Team=="A3")


par(mar=c(5,5.5,4,2)+0.1)
plot(A3$Age,A3$Wealth,
  pch = 20,
  col = "blue",
  xlab = expression(Age),
  ylab = expression(Income),
  xlim=c(0,140),
  las = 1,
  cex = 1.5,
  cex.axis = 1.6, cex.lab = 1.8,
  bty = 'l'
)
rA3 <- lm(Wealth~Age, data=A3)
abline(rA3, lty=3, col='blue')

шаг 2: добавьте данные группы A4 на график, используя points()

A4 <- subset(d, Team=="A4")
points(A4$Age,A4$Wealth,
        pch = 20,
        col = "red",
        las = 1,
        cex = 1.5,
        bty = 'l')

rA4 <- lm(Wealth~Age, data=A4)
abline(rA4, lty=3, col='red2')

legend(x = 'bottomright', 
       legend = c('A3','A4'),
       col = c('blue','red2'), 
       pch = c(20,20),
       bty = 'n')
...