带计数R的直方图

带计数R的直方图,r,count,bigdata,histogram,frequency,R,Count,Bigdata,Histogram,Frequency,我正在尝试创建我的数据的柱状图。 我的数据框看起来像这样 x counts 4 78 5 45 ... ... 其中x是我想要绘制的变量,counts是观察的数量。如果我做了hist(x),那么该图将产生误导,因为我没有考虑计数。我也尝试过: hist(do.call("c", (mapply(rep, df$x, df$count)))) 不幸的是,这不起作用,因为结果向量太大 sum(df$ount) [1] 7943571126 还有别的办法吗 谢谢解决方案是@Rui Barr

我正在尝试创建我的数据的柱状图。 我的数据框看起来像这样

x  counts
4  78
5  45
... ...
其中x是我想要绘制的变量,counts是观察的数量。如果我做了hist(x),那么该图将产生误导,因为我没有考虑计数。我也尝试过:

hist(do.call("c", (mapply(rep, df$x, df$count))))
不幸的是,这不起作用,因为结果向量太大

sum(df$ount)
[1] 7943571126
还有别的办法吗


谢谢

解决方案是@Rui Barradas建议的条形图。我使用
ggplot
来绘制数据

library(ggplot2)
x <- c(4, 5, 6, 7, 8, 9, 10)
counts <- c(78, 45, 50, 12, 30, 50)
df <- data.frame(x=x, counts=counts)

plt <- ggplot(df) + geom_bar(aes(x=x, y=counts), stat="identity")
print(plt)
库(ggplot2)

x解决方案是@Rui Barradas建议的条形图。我使用
ggplot
来绘制数据

library(ggplot2)
x <- c(4, 5, 6, 7, 8, 9, 10)
counts <- c(78, 45, 50, 12, 30, 50)
df <- data.frame(x=x, counts=counts)

plt <- ggplot(df) + geom_bar(aes(x=x, y=counts), stat="identity")
print(plt)
库(ggplot2)

x由于数据的大小,无法为每次重复的x创建新行,因此可以使用
geom\u直方图在
ggplot2
中使用
weight
绘制密度

library(tidyverse)
set.seed(1)
x <- 1:100
counts <- sample(20:200,100,T)
df <- data.frame(x,counts)

df %>% ggplot() +geom_histogram(aes(x=x, y=..density..,weight=counts))

由于数据的大小,无法为每次重复的x创建新行,因此可以使用
geom\u直方图在
ggplot2
中使用
weight
绘制密度

library(tidyverse)
set.seed(1)
x <- 1:100
counts <- sample(20:200,100,T)
df <- data.frame(x,counts)

df %>% ggplot() +geom_histogram(aes(x=x, y=..density..,weight=counts))

可能是一个
条形图
?x是一个连续变量,我怎么能做条形图?我指的是计数的条形图。您发布的数据没有显示连续变量。@MarcoDeVirgilis这些解决方案解决了您的问题吗?如果您找到其他解决方案,请随意添加您自己的答案,或者接受答案。可能是
条形图
?x是一个continuous变量,如何进行条形图?我指的是计数的条形图。您发布的数据没有显示连续变量。@MarcoDeVirgilis这些解决方案解决了您的问题吗?如果您找到其他解决方案,请随意添加您自己的答案,或接受答案。可以简化为
geom\u col(aes(x=x,y=counts))
可以简化为
geom\u col(aes(x=x,y=counts))