📌  相关文章
📜  如何计算R中因子中每个级别的值

📅  最后修改于: 2022-05-13 01:55:13.515000             🧑  作者: Mango

如何计算R中因子中每个级别的值

在本文中,我们将讨论如何在 R 编程语言中计算给定因子中每个级别的值。

方法一:使用summary()方法

基础 R 中的 summary() 方法是一个通用函数,用于生成基于传递的参数的类计算的函数结果的结果摘要。 summary()函数生成 R 中数据框给定因子列的每个级别的值的频率输出。此列中每个变量的汇总统计结果以表格格式作为输出。输出简洁明了,易于理解。

例子:

R
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(letters,50,rep=TRUE))
  
# count of variables
summary(data_frame$col1)


R
# importing required libraries
library ("plyr")
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
lapply(data_frame, count)


R
# importing required libraries
library(data.table)
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
setDT(data_frame)[, .N, keyby=col1]


R
# importing required libraries
library ("dplyr")
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
data_frame %>% 
  group_by(col1) %>% 
  tally()


输出:



方法 2:使用lapply()方法

R 中的 plyr 包用于模拟数据增强和操作,可以安装到工作空间中。

R 中的 lapply() 方法返回一个与输入向量长度相同的列表,其中每个元素是对相应元素指定的函数的应用结果。此方法将数据框或列表作为输入,并返回列表作为输出。

输出返回一个列表,其中第一个组件是因子水平,第二列是该水平的频率。行号附加到每个输出行的开头。

电阻

# importing required libraries
library ("plyr")
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
lapply(data_frame, count)

输出

方法 3:使用 data.table 包

R 中的 data.table 包用于处理表以访问、操作和存储数据。

最初,使用 setDT() 命令通过引用将数据帧转换为 data.table。这种方法在处理大型数据集和更多观察时非常有用。

句法:

keyby 属性应用于所需的列名,以便对其中包含的数据进行分组。作为索引,.N 参数用于代替列来访问每个特定因子级别的实例数。输出是频率表。输出以 data.table 的形式返回,其中 row 以行号开头,后跟冒号。

例子:

电阻

# importing required libraries
library(data.table)
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
setDT(data_frame)[, .N, keyby=col1]

输出

方法 4:使用 dplyr 包

“dplyr”包是对 plyr 包的增强,它提供了对数据元素执行的广泛选择和过滤操作。它可以装载并安装到工作空间中。

包中的 group_by() 方法首先用于根据遇到的不同值将数据分组到不同的类别中。属于单个值的行堆叠在一起。 Tally()函数的行为类似于 summarise()函数,用于根据所做的组生成摘要。

句法:

返回的输出采用 tibble 形式,其中包含与输入向量长度相等的行。这些列包含有关遇到的因子水平的频率的信息。此方法可以清楚地了解返回输出的列类型和维度。但是默认只显示十行,可以进一步展开查看其他行。

例子:

电阻

# importing required libraries
library ("dplyr")
  
set.seed(1)
  
# creating data 
data_frame <- data.frame(col1 = sample(
  letters,50,rep=TRUE))
  
# counting frequencies of factor
# levels
data_frame %>% 
  group_by(col1) %>% 
  tally()

输出