如何根据R中某个组的某些观察值对方框图上的数据点进行着色

如何根据R中某个组的某些观察值对方框图上的数据点进行着色,r,ggplot2,boxplot,jitter,R,Ggplot2,Boxplot,Jitter,我试图根据某一组,但仅是该组中观察值的子集,为箱线图上的数据点添加颜色。例如: 我有一个数据集看起来像这样 Value Make Location 40 Honda USA 50 Toyota CHINA 60 Ford FRANCE 70 Subaru CHINA 50 Honda BRAZIL 50 Toyota SPAIN 30 Nissan CANADA 我正在绘制一个方框图,查看y轴上

我试图根据某一组,但仅是该组中观察值的子集,为箱线图上的数据点添加颜色。例如:

我有一个数据集看起来像这样

Value   Make   Location
40      Honda   USA
50      Toyota  CHINA
60      Ford    FRANCE
70      Subaru  CHINA
50      Honda   BRAZIL
50      Toyota  SPAIN
30      Nissan  CANADA
我正在绘制一个方框图,查看y轴上的值变量和x轴上的make变量。然后,我想将所有数据点添加到箱线图中,并仅为位置=中国、巴西和西班牙(所有不同颜色)的数据点添加颜色,而其他非中国、巴西和西班牙的数据点将仅为黑色

这是我的代码:

library(ggplot2)

data %>% ggplot(aes(x=Make, y=Value)) +
         geom_boxplot() +
         geom_jitter(aes(color=Location)) 

但这会根据位置变量为所有数据点着色。我需要的点彩色只有当位置是中国,巴西和西班牙,但仍然显示所有的数据点。我怎样才能做到这一点?如有任何建议,将不胜感激

如果没有您想要的国家,您可以创建一个额外的列,上面写着“Others”。然后,使用
scale\u color\u manual
输入所需的颜色

库(data.table)
df
#>正在附加包:“dplyr”
#>以下对象已从“package:data.table”屏蔽:
#> 
#>在…之间,在…之间
#>以下对象已从“package:stats”屏蔽:
#> 
#>滤波器,滞后
#>以下对象已从“package:base”屏蔽:
#> 
#>相交、setdiff、setequal、并集
图书馆(GG2)
可见百分比
变异(lcat=if_-else(位置%in%visible_-ctr,位置,'Others'))%>%
变异(lcat=因子(lcat,级别=c(可见的ctr,'Others'))%>%重新排序图例
ggplot(aes(x=制造,y=值))+
geom_箱线图()+
几何抖动(aes(颜色=lcat))+
比例颜色手册(数值=c(巴西=蓝色、中国=红色、西班牙=黄色、其他=黑色)


由(v0.3.0)于2020年2月20日创建,如果没有您想要的国家,您可以创建一个额外的列,上面写着“其他”。然后,使用
scale\u color\u manual
输入所需的颜色

库(data.table)
df
#>正在附加包:“dplyr”
#>以下对象已从“package:data.table”屏蔽:
#> 
#>在…之间,在…之间
#>以下对象已从“package:stats”屏蔽:
#> 
#>滤波器,滞后
#>以下对象已从“package:base”屏蔽:
#> 
#>相交、setdiff、setequal、并集
图书馆(GG2)
可见百分比
变异(lcat=if_-else(位置%in%visible_-ctr,位置,'Others'))%>%
变异(lcat=因子(lcat,级别=c(可见的ctr,'Others'))%>%重新排序图例
ggplot(aes(x=制造,y=值))+
geom_箱线图()+
几何抖动(aes(颜色=lcat))+
比例颜色手册(数值=c(巴西=蓝色、中国=红色、西班牙=黄色、其他=黑色)

由(v0.3.0)于2020年2月20日创建