A:如何找到符合条件的第一行


您可以使用以下方法查找 R 中数据帧中满足特定条件的第一行:

方法一:查找满足条件的第一行

 #get first row where value in 'team' column is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],]

方法2:查找满足多个条件的第一行

 #get first row where 'points' column > 15 and 'assists' column > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],]

方法 3:查找满足多个条件之一的第一行

 #get first row where 'points' column > 15 or 'assists' column > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9
5 B 24 12
6 C 21 9
7 C 20 5
8 C 28 12

示例 1:查找满足条件的第一行

我们可以使用以下语法来查找team列中的值等于“B”的第一行:

 #find first row where team is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],] 

  team points assists
4 B 14 9

我们可以看到,团队列中的值等于“B”的第一行是数据框中的第四行。

示例 2:查找满足多个条件的第一行

我们可以使用以下语法来查找第一行,其中列中的值大于 15 并且辅助列中的值大于 10:

 #find first row where points > 15 and assists > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],] 

  team points assists
3 A 19 17

我们可以看到, points列中的值大于 15 且Assists列中的值大于 10 的第一行是数据框的第三行。

示例 3:查找满足多个条件之一的第一行

我们可以使用以下语法来查找第一行,其中列中的值大于 15 或辅助列中的值大于 10:

 #find first row where points > 15 or assists > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

  team points assists
1 to 18 5

我们可以看到, points列中的值大于 15 或Assists列中的值大于 10 的第一行是数据框的第一行。

注意&|运算符在 R 中分别表示“and”和“or”。

其他资源

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

如何在R中找到每一行的最大值
如何计算R中行的中值
如何在 R 中跨多列查找唯一行

添加评论

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