#r #plot
#r #график
Вопрос:
Я пытаюсь нарисовать парный график, используя pairs.panels()
в R. И разделите диаграмму рассеяния на разные группы с разными цветами, чтобы она выглядела следующим образом:
Вот моя первая попытка:
n = 1000
kindness <- rnorm(n)
beauty <- rnorm(n)
score <- kindness beauty
c50 <- quantile(score, .50)
marriage <- ifelse(score>=c50, 1, 0)
df <- data.frame(marriage, beauty, kindness)
pairs.panels(df, digit = 3)
Но это приводит к следующему:
Кто-нибудь может помочь с этой проблемой разделения цвета диаграммы рассеяния внутри pairs.panels()
? Спасибо.
Ответ №1:
Вы можете настроить цвет фона точек с помощью опции «bg», если сначала измените «форму» точки (pch; например, см. https://www.datanovia.com/en/blog/pch-in-r-best-tips /):
library(psych)
n = 1000
kindness <- rnorm(n)
beauty <- rnorm(n)
score <- kindness beauty
c50 <- quantile(score, .50)
marriage <- ifelse(score>=c50, 0, 1)
df <- data.frame(marriage, beauty, kindness)
pairs.panels(df, digits = 3, pch = 21,
bg=c("red","purple")[factor(df$marriage)])
Или вы можете использовать цветовую палитру, такую как viridis или RColorBrewer, например
pairs.panels(df, digits = 3, pch = 21,
bg=viridis::viridis(2)[factor(df$marriage)])