R 只有频率时,使用ggplot2绘制直方图

R 只有频率时,使用ggplot2绘制直方图,r,ggplot2,R,Ggplot2,我的实际数据集相当大,处理它需要一些时间。所以我写了一个小C程序来计算每个可能值的频率。(比如说,数据集中可能的值是0,1,2,3),因此我有一个频率分布,它(为了演示)如下所示: 0.1 0.4 0.3 0.2 如果使用geom_直方图将此数据馈送到ggplot2,则无法获得正确的直方图。那么,我如何用上述频率分布绘制直方图呢 您将希望在geom\u栏调用中使用stat='identity' library(ggplot2) dat <- data.frame(x = c(0, 1,

我的实际数据集相当大,处理它需要一些时间。所以我写了一个小C程序来计算每个可能值的频率。(比如说,数据集中可能的值是
0,1,2,3
),因此我有一个频率分布,它(为了演示)如下所示:

0.1 0.4 0.3 0.2

如果使用
geom_直方图
将此数据馈送到
ggplot2
,则无法获得正确的直方图。那么,我如何用上述频率分布绘制直方图呢

您将希望在
geom\u栏
调用中使用
stat='identity'

library(ggplot2)

dat <- data.frame(x = c(0, 1, 2, 3), y = c(0.1, 0.4, 0.3, 0.2))

ggplot(dat) +
  geom_bar(mapping = aes(x = x, y = y), stat = "identity")
库(ggplot2)

dat您将希望在
geom\u栏
调用中使用
stat='identity'

library(ggplot2)

dat <- data.frame(x = c(0, 1, 2, 3), y = c(0.1, 0.4, 0.3, 0.2))

ggplot(dat) +
  geom_bar(mapping = aes(x = x, y = y), stat = "identity")
库(ggplot2)

dat我的方法没有创建额外的数据帧。在x轴上,你可以找到你的频率数

 library(ggplot2)
x<-c(0.1, 0.4, 0.3, 0.2)
ggplot(data.frame(x), aes(y=x, x=1:length(x)))+
  geom_bar(stat = "identity")
库(ggplot2)

我的方法没有创建额外的数据帧。在x轴上,你可以找到你的频率数

 library(ggplot2)
x<-c(0.1, 0.4, 0.3, 0.2)
ggplot(data.frame(x), aes(y=x, x=1:length(x)))+
  geom_bar(stat = "identity")
库(ggplot2)

XMighttry
geom\u col
为初学者。可能尝试
geom\u col
为初学者。回应@joran上面的评论,
geom\u col
避免键入
stat=“identity”
是的,
geom\u col
是一个非常有用的层。请注意,它是在ggplot2 2.2.0版中引入的。x轴标签毫无意义。选择上面的joran注释,
geom\u col
避免键入
stat=“identity”
是,
geom\u col
是一个非常有用的层。请注意,它是在ggplot2 2.2.0版中引入的。x轴标签没有意义