R 带有x和y的直方图/GG图,为真为假

R 带有x和y的直方图/GG图,为真为假,r,ggplot2,histogram,R,Ggplot2,Histogram,我正试图制作一个x轴为年龄,y轴为0或1(真或假)的直方图 这些情节对我不起作用。我想得到的是:X轴应该看起来像50个从1到5的数字,Y轴应该是0或1(真或假) df$dunk这对你有用吗 ggplot(df,aes(x=person,y=age,fill=factor(drunk))) + geom_bar(stat='identity') 这对你有用吗 ggplot(df,aes(x=person,y=age,fill=factor(drunk))) + geom_bar(stat='id

我正试图制作一个x轴为年龄,y轴为0或1(真或假)的直方图

这些情节对我不起作用。我想得到的是:X轴应该看起来像50个从1到5的数字,Y轴应该是0或1(真或假)

df$dunk这对你有用吗

ggplot(df,aes(x=person,y=age,fill=factor(drunk))) + geom_bar(stat='identity')
这对你有用吗

ggplot(df,aes(x=person,y=age,fill=factor(drunk))) + geom_bar(stat='identity')
您需要:

  • aes
    中的x更改为
    person
  • 因子(醉酒)
    添加到您的y中
    aes
  • 添加
    scale\u y\u discrete
    以使用TRUE和FALSE(而不是1和0)标记y轴
  • 添加
    scale\u x\u discrete
    ,使用
    label
    中的帮助函数,将
    person
    勾选标签更改为相应的
    age
    ,并将限制设置为
    df
    中的
    person
    变量的范围

    ggplot(df, aes(x = person, y = factor(drunk))) +
       geom_bar(stat="identity") +
       labs(x = "Age", y = "Drunk") +
       scale_y_discrete(labels = c("FALSE","TRUE")) +
       scale_x_discrete(limits = seq(min(df$person), max(df$person)), labels = function(x) df[df$person == x,]$age)
    
  • 您需要:

  • aes
    中的x更改为
    person
  • 因子(醉酒)
    添加到您的y中
    aes
  • 添加
    scale\u y\u discrete
    以使用TRUE和FALSE(而不是1和0)标记y轴
  • 添加
    scale\u x\u discrete
    ,使用
    label
    中的帮助函数,将
    person
    勾选标签更改为相应的
    age
    ,并将限制设置为
    df
    中的
    person
    变量的范围

    ggplot(df, aes(x = person, y = factor(drunk))) +
       geom_bar(stat="identity") +
       labs(x = "Age", y = "Drunk") +
       scale_y_discrete(labels = c("FALSE","TRUE")) +
       scale_x_discrete(limits = seq(min(df$person), max(df$person)), labels = function(x) df[df$person == x,]$age)
    

  • 我不清楚这一部分:“X轴应该看起来像50个数字,范围从1到5”。你能用手画一张图片并上传吗?@KotaMori我添加了一张图片和一个描述。这部分我不清楚:“X轴应该看起来像50个1-5的数字。”。你能用手画一张图片并上传吗?@KotaMori我添加了一张图片和一个描述,它确实有用,但这不是我想要的。年龄应为x轴,醉汉(0或1)应为y轴。我试着将代码编辑成ggplot(df,aes(x=age,y=dunk,fill=dunk))+geom_-bar(stat='identity'),但这不起作用,它确实起作用,但这不是我想要的。年龄应为x轴,醉汉(0或1)应为y轴。我试着将代码编辑成ggplot(df,aes(x=age,y=dunk,fill=dunk))+geom_-bar(stat='identity'),但这不起作用,谢谢!一个人应该如何处理数百行的个人/年龄?这应该适用于
    df
    中的任意数量的行,只要它们是唯一的。嗨,谢谢!一个人应该如何处理数百行的个人/年龄?这应该适用于
    df
    中的任意数量的行,只要它们是唯一的。