R语言 累积频率和概率表

R语言 累积频率和概率表

在这篇文章中,我们将看到如何在R编程语言中计算累积频率和概率表。

使用的函数

Table(): R语言中的表是用来更好地组织和总结分类变量的。table()方法将属于一个向量的交叉分类因素建立一个或然率或频率表,在每个值的组合中的计数。或然率表基本上是对多个变量的计数和/或百分比的列表。它排除了对提供给该方法的因素变量的任何缺失值的计算。返回的输出是一个表格的形式,其中第一列包含不同的值,然后是它们各自的计数。这个方法可以用于交叉分析和统计分析。

frequency_table <- table (vec)

Cumsum(): 累积频率可以通过对频率分布表中的每个频率值进行求和来计算,以包括其前几位的总和。这个表的最后一个值将等同于所有观测值的总和。累积频率表可以由频率表计算,使用cumsum()方法。这个方法返回一个向量,其对应的元素是累积和。

cumsum ( frequency_table)

例1: 这里我们要创建一个频率表。

set.seed(1)
vec <- sample(c("Geeks", "CSE", "R", "Python"),
              50 , replace = TRUE)
  
# generating frequency table
data <- table(vec)
  
# frequency table 
print ("Frequency Table")
print (data)
  
print ("Cumulative Frequency Table")
cumfreq_data <- cumsum(data)
print (cumfreq_data)

输出

[1] "Frequency Table"
vec
  CSE  Geeks Python      R
   16     16      7     11
[1] "Cumulative Frequency Table"
  CSE  Geeks Python      R
   16     32     39     50 

例2: 创建一个概率表。

概率表是属于某个特定类别的样本总数的分数。因此,它是由频率表的值除以观察值的总数(即向量的长度)而得到的。输出是以表格的形式出现的,其中第一列包含不同的值,然后是它们各自的出现概率。

prob_table <- freq_table/number of observations

代码

set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
              ,50 , replace = TRUE)
  
# generating frequency table
data <- table(vec)
  
# frequency table 
print ("Frequency Table")
print (data)
  
print ("Probability Table")
prob_data <- data/50
print (prob_data)

输出

[1] "Frequency Table"
vec
  CSE  Geeks Python      R
   16     16      7     11
[1] "Probability Table"
vec
  CSE  Geeks Python      R
 0.32   0.32   0.14   0.22 

例3: 创建累积频率和概率表。

所有获得的列可以合并在一起,形成一个数据框,其中各自的组成部分构成数据框的列。数据框架的列名也可以用colnames(df)方法来指定。

set.seed(1)
vec <- sample(c("Geeks","CSE","R","Python")
              ,50 , replace = TRUE)
  
# generating frequency table
data <- table(vec)
  
# probability
num_obsrv <- 50
prob_data <- data/num_obsrv
  
# cumulative frequency
cumfreq_data <- cumsum(data)
data_frame <- data.frame(data, cumfreq_data,prob_data)
  
colnames(data_frame) <- c("data","frequency",
                          "cumulative_frequency",
                          "data","probability")
print (data_frame)

输出

         data frequency cumulative_frequency   data probability
CSE       CSE        16                   16    CSE        0.32
Geeks   Geeks        16                   32  Geeks        0.32
Python Python         7                   39 Python        0.14
R           R        11                   50      R        0.22

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程