如何在r中创建多个变量的频率表
要计算 R 中数据框中多个变量的频率表,可以使用apply()函数,该函数使用以下语法:
申请(X,有趣的保证金)
金子:
- X:数组、矩阵或数据块
- MARGIN:在行 (1) 或列 (2) 上应用函数
- FUN:要应用的函数
以下示例展示了如何在实践中使用此语法。
示例 1:R 中所有变量的频率表
以下代码显示如何计算数据框中每个变量的频率表:
#create data frame df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #view first few rows of data frame head(df) var1 var2 var3 1 1 To 6 2 1 A 7 3 2 To 7 4 2 To 7 5 2 B 8 6 2 B 8 #calculate frequency table for every variable in data frame apply((df), 2, table) $var1 1 2 3 2 4 1 $var2 AB 4 3 $var3 6 7 8 9 1 3 2 1
结果是三个频率表——一个对应数据框中的每个变量。
以下是如何解释第一个频率表:
- 值1在“var1”列中出现两次
- 值2在“var2”列中出现 4 次
- 值3在“var3”列中出现 1 次
其他频率表可以用同样的方式解释。
示例 2:R 中特定变量的频率表
以下代码显示了如何计算数据框中特定变量的频率表
#create data frame df <- data. frame (var1=c(1, 1, 2, 2, 2, 2, 3), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #calculate frequency table for var1 and var3 columns apply((df[c(' var1 ', ' var3 ')]), 2, table) $var1 1 2 3 2 4 1 $var3 6 7 8 9 1 3 2 1
示例 3:R 中除一个变量之外的所有变量的频率表
假设我们在数据框中有一个索引列,并且我们想要为数据框中除索引列之外的每个变量计算频率表。
以下代码展示了如何执行此操作:
#create data frame df <- data. frame (index=c(1, 2, 3, 4, 5, 6, 7), var2=c('A', 'A', 'A', 'A', 'B', 'B', 'B'), var3=c(6, 7, 7, 7, 8, 8, 9)) #calculate frequency table for all columns except index column apply((df[-1]), 2, table) $var2 AB 4 3 $var3 6 7 8 9 1 3 2 1