如何在 r 中创建表并包含 na 值


默认情况下,R 中的table()函数创建频率值表,但不包括 NA 值的频率。

但是,您可以使用以下方法创建表并包含 NA 值:

方法1:创建一个表并始终显示NA值的数量

 table(df$my_column, useNA = " always ")

方法二:创建一个表,如果有则只显示NA值的个数

 table(df$my_column, useNA = " ifany ")

以下示例展示了如何在实践中使用每种方法。

示例 1:创建一个表并始终显示 NA 值的数量

假设我们在 R 中有以下数据框,其中包含有关各种篮球运动员的信息:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(20, 25, 14, 18, 19, 12, 12, 15))

#view data frame
df

  team points
1 to 20
2 to 25
3 to 14
4 to 18
5 B 19
6 B 12
7 B 12
8 B 15

我们可以使用以下语法创建team列中值的频率表,并显示 NA 值的数量(无论它们是否存在):

 #create frequency table of values in team column, including NA values
table(df$team, useNA = " always ")

   AB <NA>
   4 4 0 

请注意,结果表显示数据框的 team 列中有0 个NA 值。

由于我们使用了useNA = “always”参数,因此即使没有 NA 值,该表仍然显示 NA 值的数量。

例2:创建一个表,如果有则只显示NA值的个数

我们再次假设 R 中有以下数据框,其中包含有关各种篮球运动员的信息:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(20, 25, 14, 18, 19, 12, 12, 15))

#view data frame
df

  team points
1 to 20
2 to 25
3 to 14
4 to 18
5 B 19
6 B 12
7 B 12
8 B 15

我们可以使用以下语法为team列中值的频率创建一个表,并仅显示 NA 值的数量(如果存在):

 #create frequency table of values in team column, including NA values if any exist
table(df$team, useNA = " ifany ")

AB
4 4

请注意,结果表显示了团队列中“A”和“B”值的频率,但没有显示 NA 值的频率,因为不存在。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在R中创建双向表
如何在R中将数组转换为矩阵
如何在 R 中将表格转换为数据框

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注