Вот простое базовое решение R.
Предполагается, что у вас есть df, похожий по структуре на этот, с одной двоичной переменной, содержащей только 0 и 1, и еще двумя переменными:
df <- data.frame(
Var1 = c(sample(500, 100)),
Var2 = c(rnorm(500, 100)),
binaryVar = c(sample(0:1, 100, replace = T))
)
, затем вы можете назначить цвета для двоичной переменной, используя оператор ifelse
, например:
df$col <- ifelse(binaryVar==0, "red", "blue")
, и, наконец, можете создать свой точечный график, используя df$col
, чтобы определить цвета точек данных:
plot(df$Var1, df$Var2, frame=F, col=df$col)
legend("topright",legend=c("Low quality", "High quality"),
pch=1, col=c("red","blue"), bg="grey")
Результат выглядит так: