如何从R中data.frame中的类生成直方图?

如何从R中data.frame中的类生成直方图?,r,ggplot2,R,Ggplot2,我使用下面的代码创建一个包含类的频率表 MyDF <- data.frame(MyCl = c("[1,2)", "[1,2)", "[1,2)"), ClFreq = c(3, 7, 2)) 但结果是一个只有一个条的条形图 条形图有什么问题吗? 我可以从这个数据框制作一个真正的直方图(不是条形图)吗? 利用注释中提供的额外信息,我们可以对MyDF中的原始数据进行反向工程,以创建带有ggp

我使用下面的代码创建一个包含类的频率表

MyDF <- data.frame(MyCl = c("[1,2)", "[1,2)", "[1,2)"), 
                   ClFreq = c(3, 7, 2))
但结果是一个只有一个条的条形图

  • 条形图有什么问题吗?
  • 我可以从这个
    数据框
    制作一个真正的直方图(不是条形图)吗?

  • 利用注释中提供的额外信息,我们可以对
    MyDF
    中的原始数据进行反向工程,以创建带有ggplot2的直方图:


    MyDF MyCl是一个字符向量。r怎么画这个
    x11()hist(MyDF$ClFreq)
    给出了一个直方图,但我不确定这是否是您想要的。你能详细说明一下吗?
    MyCl
    列是一个常数。因此,
    geom\u bar
    将相互设置
    ClFreq
    。您应该添加一个预期结果。这样就不清楚您的期望是什么。您的两个问题的答案是:1)您在MyCl中拥有所有相同的类别(它们都是“[1,2)”)因此,它们都出现在x轴上的同一点上,给你一个单条。如果你想让它们在x轴上的不同位置,你需要指定x轴代表的是什么。可能是一个不同的列,如
    variable=c(“a”、“B”、“c”)
    .2)不可以,您不能根据此数据制作直方图。直方图包含一个连续变量,并将其拆分为“箱”,然后计算每个箱子中有多少个条目。如果
    MyCl
    有不同的范围,你可以重建一个直方图。@Edo,非常感谢……我太笨了。我忘了更改间隔的边界……代码是
    MyDF@AllanCameron谢谢你的两个答案!第一个问题是错的……我没有注意到我的时间间隔是一样的。我想要
    MyDF非常好。非常感谢。很抱歉打扰你……我应该改变第一个问题吗?@Kώ∑τας△ας不,我认为这一连串的评论很好地解释了这个过程。
    
    library(ggplot2)
    
    WrongHist <- ggplot(data=MyDF, aes(x=MyCl, y=ClFreq)) + 
      geom_bar(stat="identity") 
    
    WrongHist