从频率表创建密度

时间:2016-03-15 10:38:47

标签: r ggplot2

我想用带有变量列和计数列的矩阵创建一个带ggplots2的密度图。

a<-as.data.frame(matrix( c(1:10,sample(c(200:300),size=10)), ncol=2,nrow=10))

对于直方图,我只想使用stat = identity

ggplot(a,aes(x=V1,y=V2))+geom_bar(stat="identity")

我想要的是能够使用V2值作为计数来计算V1上的密度。我可以将我的数据标准化并使其平滑,但是想知道是否有任何方式直接使用geom_density或stat_density或类似的东西。日Thnx!

2 个答案:

答案 0 :(得分:1)

首先重新调整数据

a$V2<-a$V2/sum(a$V2)

然后你只需告诉ggplot2第二列是密度计算中数据的权重

ggplot(a,aes(x=V1,weight=V2)) + geom_density(size=1) 

答案 1 :(得分:0)

  density(a[,1])
  density(a[,2])
  plot(density(a[,1]))
  plot(density(a[,2]))

希望这有帮助。