首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >R ggplot:如何使用边框图创建散点图

R ggplot:如何使用边框图创建散点图
EN

Stack Overflow用户
提问于 2018-12-14 01:19:42
回答 1查看 1.4K关注 0票数 0

我的数据如下所示:

代码语言:javascript
复制
d1 <- read.table(header = TRUE, text =                   
                   "a1c   att  status
                 8.500000 23.58333  case
                 8.450000 12.25000 control
                 8.266667 18.91667 control")

a1c   att  status
1  8.500000 23.58333  case
2  8.450000 12.25000 control
12 8.266667 18.91667 control

我想做一个a1catt联合分布的盒子图(比如x轴上的a1c和y轴上的att ),并在第三列中用status给盒子图中的点着色。假设案例是红色的图和控制的蓝点。

到目前为止,我尝试了以下方法:

代码语言:javascript
复制
ggplot(data = d1, aes(x = a1c, y = att, group=status)) +     
 geom_boxplot(colour = d1$status) + geom_jitter(position = position_jitter(
 width = .1, height=0))

我收到以下警告:

此外:警告消息: 1:删除了68行包含缺失值的行(stat_boxplot)。2:删除了包含非限定值(stat_boxplot)的5行。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-14 01:43:56

有更多的方法可以用边框图创建散点图。我知道至少有两个:一个使用ggplotggExtra,另一个使用包car

您的数据:

代码语言:javascript
复制
d1 <- read.table(header = TRUE, text =
    "a1c   att  status
    8.500000 23.58333  case
    8.450000 12.25000 control
    8.266667 18.91667 control")

ggplot和ggExtra

如果你想使用ggplot,我相信你需要ggExtra来完成这项工作。下面的代码做到了这一点

代码语言:javascript
复制
# load the packages
library(ggplot2)
library(ggExtra)

# make a usual ggplot and store it
# point size increased, legend to the bottom
p1 <- ggplot(d1, aes(x=a1c, y=att , color=status)) +
  geom_point(size=2.5) +
  theme(legend.position="bottom")

# marginal boxplot
# relative size of the central plot increased
ggMarginal(p1, type="boxplot", size=7)

这就产生了这个图(当然,你可以尝试主题之类的东西):

另类:汽车套餐

代码语言:javascript
复制
library(car)
scatterplot(d1$a1c ~ d1$att | d1$status, 
            boxplots = "xy", regLine=FALSE, fill=d1$status, cex=2)

结果如下所示:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53767057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档