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 中执行其他常见任务: