从dplyr SUMMARSE()数据创建并排条形图[R]

从dplyr SUMMARSE()数据创建并排条形图[R],r,ggplot2,dplyr,R,Ggplot2,Dplyr,我试图通过对此数据集进行探索性数据分析来学习R:。其思想是同时使用dplyr和ggplot2 我有以下代码: brfss2013 %>% filter(!is.na(menthlth), !is.na(veteran3)) %>% group_by(menthlth) %>% summarise(vcount = sum(veteran3 == "Yes"), nvcount = sum(veteran3 == "No")) 我想创建一个并排的条形图,x轴显示从0

我试图通过对此数据集进行探索性数据分析来学习R:。其思想是同时使用dplyr和ggplot2

我有以下代码:

brfss2013 %>%
  filter(!is.na(menthlth), !is.na(veteran3)) %>%
  group_by(menthlth) %>%
  summarise(vcount = sum(veteran3 == "Yes"), nvcount = sum(veteran3 == "No"))
我想创建一个并排的条形图,x轴显示从0到30(menthlth)的数字,y轴显示左侧的vcount和右侧的nvcount(对于menthlth的每个值)。我知道我可以将代码的最后一行链接到ggplot行,但我不明白如何创建并排图表

我试图将Summary的输出分配给一个变量,以便使用melt命令或类似的命令,但这导致了一个错误(“找不到对象“veteran3”)。有没有更简单的方法来直接并排绘制两个变量

谢谢你的帮助,如果我遗漏了一些明显的东西,我很抱歉

编辑:我现在已经将结果分配给变量a,并且
dput(head(a,10))
给出

structure(list(menthlth = 0:9, vcount = c(46931L, 1221L, 1861L, 1083L, 545L, 1323L, 197L, 466L, 105L, 22L), nvcount = c(287025L, 13964L, 21633L, 12505L, 6111L, 15312L, 1664L, 5882L, 1139L, 175L)), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame" ))
库(tidyverse)

#dat\p>我无法访问您的数据,但根据您的示例,我制作了以下数据集:

dt<-data.frame(menthlth=sample( c(1:10),10),
               vcount=sample( c(1:1000),10),
               nvcount=sample( c(1:1000),10))
结果是:


你好。如果您可以
dput(head(您的数据,10))
,这将有助于大量处理您的数据。就像您通常使用管道一样<代码>..%>%dput(head(,10))
或为其指定名称。无论如何可能会更好你需要
融化
/
收集
你的数据:看这个;或者只需使用上面显示的整个代码,并将
aIt置于混乱状态,但要分配管道操作的结果,您需要将赋值运算符置于整个链之前。因此:
a%filter(…)%%>%mutate(…)
将运行整个管道,并将最终结果分配给变量
a
谢谢您的回答。由于@Tjebo的答案有效,我最终没有使用它,但还是要谢谢你。
dt<-data.frame(menthlth=sample( c(1:10),10),
               vcount=sample( c(1:1000),10),
               nvcount=sample( c(1:1000),10))
NewDT<- data.frame(menthlth= dt$menthlth,
                  category=c(rep("vcount",length(dt$menthlth)),rep("nvcount",length(dt$menthlth) )),
                    value=c(dt$vcount,dt$nvcount)) 
library(ggplot2)

ggplot(data=NewDT, aes(x=menthlth, y=value, fill=category)) +
  geom_bar(stat="identity", position=position_dodge())