R 绘制点按颜色分类的图片

R 绘制点按颜色分类的图片,r,R,我有一个数据框,想画一幅图片,以某种方式对数据进行排序 company <- c("company1","company1","company1","company1","company1","company1","company1","company1","company1","company1","company1", "company1", "company1", "company1", "company1", "company1",

我有一个数据框,想画一幅图片,以某种方式对数据进行排序

company <- c("company1","company1","company1","company1","company1","company1","company1","company1","company1","company1","company1",
               "company1", "company1", "company1", "company1", "company1", 
               "company2","company2","company2","company2","company2","company2","company2","company2","company2","company2","company2",
               "company2", "company2", "company2", "company2", "company2")

salary <- c(24514, 23775, 24389, 23917, 23422, 23045, 24324, 24079, 22570, 23576, 23005, 23206, 23237, 24955, 22274, 22549,
            24655, 24798, 23597, 24921, 23506, 22976, 22967, 24641, 24905, 21413, 24469, 23321, 22858, 22870, 22957, 24646)
age <- c(44, 34, 36, 55, 47, 63, 52, 52, 29, 29, 33, 55, 47, 64, 45, 52,
         34, 44, 56, 45, 67, 33, 42, 32, 39, 59, 23, 45, 37, 54, 55, 62)



table <- data.frame(salary=salary, age=age, company=company)

公司您可以执行以下操作:

# Fist add a column saying if the point should be colored or not
table$should_color=ifelse(table$salary>mean_salary & table$age < mean_age,TRUE,FALSE)

# Then add a color column: black if the point should not be colored, 
# and red or blue depending on the company
table$color=ifelse(table$should_color,
                  ifelse(table$company=="company1","blue","red"),
                  "black")

# Finally use the color column as plot color
plot(table$age, table$salary,col=table$color)

# Add lines for the mean to check the right part is colored
abline(h=mean_salary,lty=3)
abline(v=mean_age,lty=3)

嗨,我回答说,但下次最好是展示你第一次尝试了什么
# Fist add a column saying if the point should be colored or not
table$should_color=ifelse(table$salary>mean_salary & table$age < mean_age,TRUE,FALSE)

# Then add a color column: black if the point should not be colored, 
# and red or blue depending on the company
table$color=ifelse(table$should_color,
                  ifelse(table$company=="company1","blue","red"),
                  "black")

# Finally use the color column as plot color
plot(table$age, table$salary,col=table$color)

# Add lines for the mean to check the right part is colored
abline(h=mean_salary,lty=3)
abline(v=mean_age,lty=3)
table$color=ifelse(table$salary>mean_salary & table$age < mean_age,
                   ifelse(table$company=="company1","blue","red"),
                   "black")