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