如何从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