gpt4 book ai didi

r - 如何为表格的每一列生成直方图?

转载 作者:行者123 更新时间:2023-12-04 02:39:34 24 4
gpt4 key购买 nike

我有一个数据表,其中的一列代表每个研究对象(行)的实验室值。

我想生成一系列直方图,以显示每个实验室测试(即列)的值分布。理想情况下,每组实验室值都应具有不同的bin宽度(有些是整数,范围是数百,有些是数字,范围是2-3)。

我怎么做?

最佳答案

如果将tidyrggplot2软件包组合在一起,则可以使用facet_wrap快速创建data.frame中每个变量的直方图。

您需要使用tidyr::gather将数据重整为长格式,因此具有keyvalue列,例如:



library(tidyr)
library(ggplot2)
# or `library(tidyverse)`

mtcars %>% gather() %>% head()
#> key value
#> 1 mpg 21.0
#> 2 mpg 21.0
#> 3 mpg 22.8
#> 4 mpg 21.4
#> 5 mpg 18.7
#> 6 mpg 18.1


使用它作为我们的数据,我们可以将 value映射为我们的x变量,并使用 facet_wrap分隔 key列:

ggplot(gather(mtcars), aes(value)) + 
geom_histogram(bins = 10) +
facet_wrap(~key, scales = 'free_x')




除非您的数据具有相似的比例,否则 scales = 'free_x'是必需的。

您可以将 bins = 10替换为任何可以计算数字的值,这可以让您通过一些创意来单独设置它们。另外,您可以设置 binwidth,这可能更实用,具体取决于数据的外观。无论如何,分箱将需要一些技巧。

关于r - 如何为表格的每一列生成直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372365/

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