将分类数据绘制为R中的直方图/条形图?

时间:2017-03-24 03:05:36

标签: r histogram

我是R的新手,并且已经尝试了几天绘制直方图/条形图以查看趋势。我有这个分类变量:countryx并将其编码为1,2,3。 我在下面尝试了这两个脚本,并收到如下错误消息:

输出1:带有x和y轴的空白图表,没有堆栈/条形趋势

qplot(DI$countryx,geom = "histogram",ylab = "count",
xlab = "countryx",binwidth=5,colour=I("blue"),fill=I("wheat"))

输出2:错误消息-ggplot2不知道如何处理类整数的数据

ggplot(DI$countryX, aes(x=countryx)) 
+ geom_bar(aes(y=count), stat = "count",position ="stack",...,
width  =5,aes=true)

感谢所有建议。 非常感谢你的帮助!

2 个答案:

答案 0 :(得分:0)

您的代码存在多个问题。 int main() { map <string, int> name; // Adding the contents into map name["David"] = 1; name["Charlie"] = 2; name["Robert"] = 3; map<string, int>::iterator i1 =name.begin(); cout << "The first element is : " << (*i1).first << "The second element is "<<(*i1).second<<endl; } 采用数据框,而不是矢量,但您需要提供矢量。试试这个

ggplot

答案 1 :(得分:-1)

正如@yeedle所说,你需要一个data.frame(可能使用as.data.frame) 怎么样:

library(ggplot2)
df <- data.frame(countryx = rep(1:3), count = rbinom(3,10,0.3))
p <- ggplot2::ggplot(df, aes(x = countryx, y = count)) + ylab("count")
p + geom_col(aes(x = countryx, fill = factor(countryx)))

enter image description here