首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用R中的x和y变量在ggplot中创建直方图

使用R中的x和y变量在ggplot中创建直方图
EN

Stack Overflow用户
提问于 2020-10-03 01:32:53
回答 1查看 609关注 0票数 1

我希望制作一个直方图,显示焦虑的个人在年龄组(x轴)上的分布(y轴)。我不确定如何正确地编码,因为我想在一个图上包含2个变量。焦虑变量(MOD_SEV_ANX)是二进制的(如果有焦虑,则为1;如果没有焦虑,则为0),并且年龄是连续的。我已经包含了一个MRE来尝试和说明我正在尝试做的事情。

代码语言:javascript
运行
复制
library(ggplot2)
library(tidyverse)

#Here is the data
data=structure(list(AGE = c(40L, 23L, 24L, 18L, 30L, 33L, 32L, 63L, 
22L, 24L, 22L, 21L, 23L, 27L, 20L, 65L, 25L, 36L, 59L, 47L, 44L, 
31L, 56L, 40L, 53L, 54L, 30L, 23L, 27L, 28L, 38L, 33L, 42L, 39L, 
23L, 22L, 25L, 28L, 24L, 44L), MOD_SEV_ANX = c(0, 1, 1, 0, 1, 
0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 
1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1)), row.names = c(NA, 
40L), class = "data.frame")

ggplot(data=data, aes(x=AGE,y=mean(MOD_SEV_ANX)))+ 
  geom_histogram(binwidth = 3) 

当我尝试运行这一行代码时,我收到以下错误:"Error: stat_bin()只能使用x或y表示形式。“我如何解决这个问题?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-03 02:31:48

有三种选择,分面,并排绘制,或者如果你真的想并排绘制,再加上重新定向以垂直显示直方图。

代码语言:javascript
运行
复制
library(ggplot2)

ggplot(data,aes(x=AGE))+
   geom_histogram(bins = 10)+
   facet_grid(~MOD_SEV_ANX)+
   theme_bw()

代码语言:javascript
运行
复制
ggplot(data,aes(x=AGE,group=MOD_SEV_ANX, fill=factor(MOD_SEV_ANX)))+
   geom_histogram(position="dodge", bins = 10)+ 
   theme_bw()

代码语言:javascript
运行
复制
ggplot(data,aes(x=AGE,group=MOD_SEV_ANX, fill=factor(MOD_SEV_ANX)))+
   geom_histogram(position="dodge", bins = 10)+ 
   coord_flip() +
   theme_bw()

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

https://stackoverflow.com/questions/64175935

复制
相关文章

相似问题

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