gpt4 book ai didi

linux - ggplot2 的直方图需要一个连续的 x 变量

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:25 25 4
gpt4 key购买 nike

我有一个表格格式的数据集,如下所示:

            test frequency
1 test40 3
2 test33 5
3 test19 2
4 test4521 1
5 test34 1
6 test27 3
7 test42 3
8 test35 1
....

如果我使用这个命令:

library(ggplot2)

ggplot(t, aes("frequency")) +
geom_histogram()

(“t”是我的表的名称)

然后 RStudio 说:“StatBin 需要一个连续的 x 变量:x 变量是离散的。也许你想要 stat="count"?”

我只想看看 3 或 5 等发生了多少次。

感谢您的帮助。

最佳答案

看起来您的数据已经汇总了?也许 ggplot2::geom_histogram() 函数可能不适合您使用?您是否尝试过 geom_col() 函数?这只是获取输入数据框中声明的数字,并显示包含该数据的柱状图。

使用下面的代码

# Declare data frame
t <- data.frame(test = c("test40", "test33", "test19", "test4521",
"test34", "test27", "test42", "test35"),
frequency = c(3, 5, 2, 1,
1, 3, 3, 1))

像这样返回数据框

# View data
print(t)

test frequency
1 test40 3
2 test33 5
3 test19 2
4 test4521 1
5 test34 1
6 test27 3
7 test42 3
8 test35 1

因此你可以这样绘制它

# Load package
library(ggplot2)

# Generate column plot
ggplot(t, aes(test, frequency)) +
geom_col()

Column plot for 't'

如果您只是想计算数字 2 或数字 3 在您的数据框中出现的次数,那么可以使用 geom_histogram() 函数。请看,geom_histogram() 函数计算数据框中某项出现的频率,然后返回结果。它有一个内部验证,查看你试图在 x 轴上绘制的数据类型,并注意到如果它是离散的,那么你需要解析参数 stat="count" 在函数中。如果您不包含此参数,则 ggplot 将尝试对您的数据进行分箱以创建直方图,这是不合逻辑的,因为您想要的只是一个计数。

查看此链接以了解连续数据和离散数据之间的区别:What is the difference between discrete data and continuous data?

考虑到这一点,您可以像这样绘制直方图

# Generate histogram plot
ggplot(t, aes(frequency)) +
geom_histogram(stat="count")

Histogram plot for 't'

我希望这对伴侣有帮助。

关于linux - ggplot2 的直方图需要一个连续的 x 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com