gpt4 book ai didi

r - 如何在R中生成带有累积频率和相对频率的频率表

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

我是 R 新手。我需要生成一个简单的频率表(如书中所示),其中包含累积频率和相对频率。

所以我想从一些简单的数据生成

> x
[1] 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10 12 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10
[36] 12 15 19 20 22 20 19 19 19

表格如下:

            frequency  cumulative   relative
(9.99,11.7] 2 2 0.04545455
(11.7,13.4] 2 4 0.04545455
(13.4,15.1] 1 5 0.02272727
(15.1,16.9] 10 15 0.22727273
(16.9,18.6] 22 37 0.50000000
(18.6,20.3] 6 43 0.13636364
(20.3,22] 1 44 0.02272727

我知道它应该很简单,但我不知道如何。

我使用此代码得到了一些结果:

factorx <- factor(cut(x, breaks=nclass.Sturges(x)))
as.matrix(table(factorx))

最佳答案

你已经很接近了!有几个函数可以让您轻松完成此操作,即 cumsum() 和 prop.table()。这就是我可能如何将它们放在一起的方式。我制作了一些随机数据,但要点是相同的:

#Fake data
x <- sample(10:20, 44, TRUE)
#Your code
factorx <- factor(cut(x, breaks=nclass.Sturges(x)))
#Tabulate and turn into data.frame
xout <- as.data.frame(table(factorx))
#Add cumFreq and proportions
xout <- transform(xout, cumFreq = cumsum(Freq), relative = prop.table(Freq))
#-----
factorx Freq cumFreq relative
1 (9.99,11.4] 11 11 0.25000000
2 (11.4,12.9] 3 14 0.06818182
3 (12.9,14.3] 11 25 0.25000000
4 (14.3,15.7] 2 27 0.04545455
5 (15.7,17.1] 6 33 0.13636364
6 (17.1,18.6] 3 36 0.06818182
7 (18.6,20] 8 44 0.18181818

关于r - 如何在R中生成带有累积频率和相对频率的频率表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148868/

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