如何使用ggplot2提取和绘制密度

时间:2017-02-28 18:53:18

标签: r ggplot2

我有一个随机向量,并尝试使用ggplot制作它的密度图 这是矢量

fridayKlient1<-c(134 ,135, 133, 137, 136)

然后我使用密度

res<-density(data)

然后我尝试将density的结果转换为data.frame以准备绘图:

  framer<-function(data){return  (data.frame(y=data$y, x=data$x)) }

然后绘制

res<-framer(density(fridayKlient1)) 
ggplot() + 
  geom_density(aes(x=x,y=y), colour="red" , data=res)

。     但它抱怨道:

ggplot2: object 'y' not found

2 个答案:

答案 0 :(得分:0)

有关所有组件,请参阅str(res)

> head(data.frame(x = res$x, y = res$y))
         x            y
1 130.0792 0.0009454737
2 130.0985 0.0010042050
3 130.1178 0.0010641591
4 130.1370 0.0011299425
5 130.1563 0.0011970552
6 130.1755 0.0012693376

但是要在ggplot2中绘制密度对象,你可以做

ggplot(data.frame(x = fridayKlient1), aes(x = x)) +
  geom_density()

答案 1 :(得分:0)

ggplot(data = res, aes(x=x)) + 
  geom_density( colour="red" )

这应该可以解决您的问题。请参阅ggplot2文档中的geom_density()。否则,转到here