计算R中的绝对,相对和累积频率

时间:2018-11-11 19:18:23

标签: r statistics

我有两个变量X和Y:

x <- c(1.18,1.42,0.69,0.88,1.69,1.09,1.53,1.02,1.19,1.32)
y <- c(1.72,1.42,1.69,0.79,1.79,0.77,1.44,1.29,1.96,0.99)

我想创建一个表格,其中包含R中X和Y的绝对,相对和累积频率。

 plot(table(x)/length(x), type ="h", ylab = "Relative Frequency", xlim = c(0.6,1.8))
 plot(table(y)/length(y), type ="h", ylab = "Relative Frequency", xlim = c(0.6,1.8))

我对相对频率进行了采样,但结果如下:plot of the relative frequency。我认为这是错误的。你怎么看?另外,如何使用hist(x)$counts来获得绝对频率和累积频率?

1 个答案:

答案 0 :(得分:1)

我不确定您为什么要使用hist(x)。可以使用table获得一切:

# Absolute frequencies
table(x)
# x
# 0.69 0.88 1.02 1.09 1.18 1.19 1.32 1.42 1.53 1.69 
#    1    1    1    1    1    1    1    1    1    1 

# Relative frequencies
table(x) / length(x)
# x
# 0.69 0.88 1.02 1.09 1.18 1.19 1.32 1.42 1.53 1.69 
#  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1 

# Cumulative frequencies
cumsum(table(x))
# 0.69 0.88 1.02 1.09 1.18 1.19 1.32 1.42 1.53 1.69 
#    1    2    3    4    5    6    7    8    9   10 

,与y相同。至于把它们放在一起,

rbind(Absolute = table(x), 
      Relative = table(x) / length(x), 
      Cumulative = cumsum(table(x)))
#            0.69 0.88 1.02 1.09 1.18 1.19 1.32 1.42 1.53 1.69
# Absolute    1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0  1.0
# Relative    0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1  0.1
# Cumulative  1.0  2.0  3.0  4.0  5.0  6.0  7.0  8.0  9.0 10.0

结果是正确的,尽管确实有些无聊。如果您有更多数据,并且有重复的话,它将看起来更好。