Вам необходимо использовать положительное значение для 'col'.
Быстрое исправление: использовать x3 = abs(rnorm(N))
Для большего контроля: использовать реальные цифры вместо цифр.Строки типа 'red', 'blue' будут работать .Или вы можете использовать палитры, такие как colors <- rainbow(10)
, которые дадут вам расширенный набор цветов, которые вы можете назначать в зависимости от того, что вы хотите
пример:
df <- data.frame(id = 1:N, x1 = rnorm(N), x2 = rnorm(N), x3 = sample(rainbow(5),N,replace=T) )
plot(x=df$x1, y=df$x2, col=df$x3, pch=19)
edit:
Вы также можете использовать
rgb(red, green, blue, alpha, maxColorValue = 1)
после изменения масштаба, чтобы иметь контроль над тем, на какой цвет они будут отображаться в зависимости от их значения