A:如何统计有条件的列中的值


您可以使用以下方法来统计R中特定条件下数据框的一列中的值的数量:

方法一:统计有条件的列中的值

 nrow(df[df$column1 == ' value1 ', ])

方法二:带条件统计多列中的值

 nrow(df[df$column1 == ' value1 ' & df$column2 == ' value2 ', ])

以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 12
3 AF 3
4 AF 14
5 BG 22
6 BG 15
7 BF 17
8 BF 17

示例1:对有条件的列中的值进行计数

以下代码展示了如何计算team列中值等于 ‘ A ‘ 的值的数量:

 #count number of rows where team is equal to 'B'
nrow(df[df$team == ' B ', ])

[1] 4

我们可以看到team列中有4 个值等于“B”的值。

示例2:有条件地统计多列中的值

以下代码显示如何计算数据框中团队列等于“B”且位置列等于“F”的行数:

 #count number of rows where team is equal to 'B' and position is equal to 'F'
nrow(df[df$team == ' B ' & df$position == ' F ', ])

[1] 2

我们可以看到数据框中有2行满足这两个条件。

我们可以使用类似的语法来计算满足所需条件数量的行数。

例如,以下代码显示如何计算满足三个条件的行数:

  • 该团队等于“B”
  • 位置等于“G”
  • 积分大于20
 #count rows where team is 'B' and position is 'G' and points > 20
nrow(df[df$team == ' B ' & df$position == ' G ' & df$points > 20 , ])

[1] 1

我们可以看到数据框中只有一行满足这三个条件。

其他资源

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

如何计算R中的行数
如何在R中的数据框中选择单行

添加评论

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